From ccfeae19d4ae126b6ad0acf73484459086925019 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Tue, 20 Jun 2023 19:13:45 -0700 Subject: [PATCH] Sonic Slash implemented for Warrior. Build updated w/new features. --- Crawler/Animation.h | 5 +- Crawler/Bullet.cpp | 26 +++++++- Crawler/Bullet.h | 15 +++++ Crawler/Crawler.cpp | 110 +++++++++++++++++++++++++++----- Crawler/Crawler.h | 6 ++ Crawler/DEFINES.h | 3 +- Crawler/Player.cpp | 79 ++++++++++++++++++----- Crawler/State.h | 1 + Crawler/Version.h | 2 +- Crawler/assets/nico-warrior.png | Bin 21509 -> 21459 bytes Crawler/assets/nico-warrior.xcf | Bin 32623 -> 32617 bytes Crawler/pge.data | Bin 159489 -> 183290 bytes Crawler/pge.js | 2 +- Crawler/pge.wasm | Bin 435571 -> 445872 bytes 14 files changed, 212 insertions(+), 37 deletions(-) diff --git a/Crawler/Animation.h b/Crawler/Animation.h index 5a6051c6..ad84edee 100644 --- a/Crawler/Animation.h +++ b/Crawler/Animation.h @@ -8,10 +8,11 @@ enum AnimationState{ RED_SLIME_IDLE,RED_SLIME_ROLL,RED_SLIME_JUMP,RED_SLIME_SPIT,RED_SLIME_DIE, YELLOW_SLIME_IDLE,YELLOW_SLIME_ROLL,YELLOW_SLIME_JUMP,YELLOW_SLIME_SPIT,YELLOW_SLIME_DIE, GROUND_SLAM_ATTACK_BACK,GROUND_SLAM_ATTACK_FRONT, - SWINGSWORD_S,SWINGSWORD_E,SWINGSWORD_N,SWINGSWORD_W, + WARRIOR_SWINGSWORD_S,WARRIOR_SWINGSWORD_E,WARRIOR_SWINGSWORD_N,WARRIOR_SWINGSWORD_W, RANGER_WALK_S,RANGER_WALK_E,RANGER_WALK_N,RANGER_WALK_W, RANGER_IDLE_S,RANGER_IDLE_E,RANGER_IDLE_N,RANGER_IDLE_W, WIZARD_WALK_S,WIZARD_WALK_E,WIZARD_WALK_N,WIZARD_WALK_W, WIZARD_IDLE_S,WIZARD_IDLE_E,WIZARD_IDLE_N,WIZARD_IDLE_W, - BATTLECRY_EFFECT, + BATTLECRY_EFFECT,SONICSLASH, + WARRIOR_SWINGSONICSWORD_S,WARRIOR_SWINGSONICSWORD_E,WARRIOR_SWINGSONICSWORD_N,WARRIOR_SWINGSONICSWORD_W, }; \ No newline at end of file diff --git a/Crawler/Bullet.cpp b/Crawler/Bullet.cpp index 9b1e3dba..ed8ed346 100644 --- a/Crawler/Bullet.cpp +++ b/Crawler/Bullet.cpp @@ -1,4 +1,28 @@ #include "Bullet.h" +#include "Crawler.h" +#include "DEFINES.h" + +INCLUDE_ANIMATION_DATA +INCLUDE_game Bullet::Bullet(vf2d pos,vf2d vel,float radius,int damage,Pixel col) - :pos(pos),vel(vel),radius(radius),damage(damage),col(col){}; \ No newline at end of file + :pos(pos),vel(vel),radius(radius),damage(damage),col(col){}; + +Bullet::Bullet(vf2d pos,vf2d vel,float radius,int damage,AnimationState animation,bool hitsMultiple,float lifetime,bool rotatesWithAngle,Pixel col) + :pos(pos),vel(vel),radius(radius),damage(damage),col(col),animated(true),rotates(rotatesWithAngle),lifetime(lifetime),hitsMultiple(hitsMultiple){ + this->animation.AddState(animation,ANIMATION_DATA[animation]); + this->animation.ChangeState(internal_animState,animation); +}; + +Animate2D::Frame Bullet::GetFrame(){ + return animation.GetFrame(internal_animState); +} + +void Bullet::Draw(){ + if(animated){ + game->view.DrawPartialRotatedDecal(pos,GetFrame().GetSourceImage()->Decal(),rotates?atan2(vel.y,vel.x)-PI/2:0,GetFrame().GetSourceRect().size/2,GetFrame().GetSourceRect().pos,GetFrame().GetSourceRect().size,{1,1},col); + } else { + game->view.FillCircle(pos,radius,col); + game->view.DrawCircle(pos,radius,WHITE,0xAA); + } +} \ No newline at end of file diff --git a/Crawler/Bullet.h b/Crawler/Bullet.h index 3a4990dd..006374cb 100644 --- a/Crawler/Bullet.h +++ b/Crawler/Bullet.h @@ -1,5 +1,8 @@ #pragma once #include "olcPixelGameEngine.h" +#include "Animation.h" +#include "olcUTIL_Animate2D.h" +#include "Monster.h" struct Bullet{ vf2d pos; @@ -7,5 +10,17 @@ struct Bullet{ float radius; int damage; Pixel col; + float lifetime=99999; + bool hitsMultiple=false; + bool rotates=false; + bool animated=false; + Animate2D::Animationanimation; + Animate2D::AnimationState internal_animState; + std::maphitList; Bullet(vf2d pos,vf2d vel,float radius,int damage,Pixel col=WHITE); + //Initializes a bullet with an animation. + Bullet(vf2d pos,vf2d vel,float radius,int damage,AnimationState animation,bool hitsMultiple=false,float lifetime=999999,bool rotatesWithAngle=false,Pixel col=WHITE); + public: + Animate2D::Frame GetFrame(); + void Draw(); }; \ No newline at end of file diff --git a/Crawler/Crawler.cpp b/Crawler/Crawler.cpp index 3da5f934..a9533a81 100644 --- a/Crawler/Crawler.cpp +++ b/Crawler/Crawler.cpp @@ -15,6 +15,7 @@ std::vectorMONSTER_LIST; std::vectorSPAWNER_LIST; std::vectorDAMAGENUMBER_LIST; std::vectorBULLET_LIST; +std::vectorPLAYER_BULLET_LIST; Crawler*game; Crawler::Crawler() @@ -43,6 +44,7 @@ bool Crawler::OnUserCreate(){ GFX_Wizard_Sheet.Load("assets/nico-wizard.png"); GFX_Battlecry_Effect.Load("assets/battlecry_effect.png"); GFX_Mana.Load("assets/mana.png"); + GFX_SonicSlash.Load("assets/sonicslash.png"); //Animations InitializeAnimations(); @@ -55,6 +57,14 @@ bool Crawler::OnUserCreate(){ player.AddAnimation(AnimationState::WARRIOR_IDLE_E); player.AddAnimation(AnimationState::WARRIOR_IDLE_S); player.AddAnimation(AnimationState::WARRIOR_IDLE_W); + player.AddAnimation(AnimationState::WARRIOR_SWINGSWORD_E); + player.AddAnimation(AnimationState::WARRIOR_SWINGSWORD_S); + player.AddAnimation(AnimationState::WARRIOR_SWINGSWORD_N); + player.AddAnimation(AnimationState::WARRIOR_SWINGSWORD_W); + player.AddAnimation(AnimationState::WARRIOR_SWINGSONICSWORD_E); + player.AddAnimation(AnimationState::WARRIOR_SWINGSONICSWORD_S); + player.AddAnimation(AnimationState::WARRIOR_SWINGSONICSWORD_N); + player.AddAnimation(AnimationState::WARRIOR_SWINGSONICSWORD_W); player.AddAnimation(AnimationState::RANGER_WALK_N); player.AddAnimation(AnimationState::RANGER_WALK_E); player.AddAnimation(AnimationState::RANGER_WALK_S); @@ -71,10 +81,6 @@ bool Crawler::OnUserCreate(){ player.AddAnimation(AnimationState::WIZARD_IDLE_E); player.AddAnimation(AnimationState::WIZARD_IDLE_S); player.AddAnimation(AnimationState::WIZARD_IDLE_W); - player.AddAnimation(AnimationState::SWINGSWORD_E); - player.AddAnimation(AnimationState::SWINGSWORD_S); - player.AddAnimation(AnimationState::SWINGSWORD_N); - player.AddAnimation(AnimationState::SWINGSWORD_W); view=TileTransformedView{GetScreenSize(),{1,1}}; player.SetClass(WARRIOR); @@ -177,22 +183,31 @@ void Crawler::InitializeAnimations(){ pl_warrior_idle_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{0,1}*24,{24,24}}}); ANIMATION_DATA[AnimationState::WARRIOR_IDLE_N]=pl_warrior_idle_n; Animate2D::FrameSequence pl_warrior_swing_s(0.05),pl_warrior_swing_n(0.05),pl_warrior_swing_e(0.05),pl_warrior_swing_w(0.05); + Animate2D::FrameSequence pl_warrior_sonic_swing_s(0.1,Animate2D::Style::OneShot),pl_warrior_sonic_swing_n(0.1,Animate2D::Style::OneShot),pl_warrior_sonic_swing_e(0.1,Animate2D::Style::OneShot),pl_warrior_sonic_swing_w(0.1,Animate2D::Style::OneShot); for (int i=0;i<4;i++){ pl_warrior_swing_s.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,0}*24,{24,24}}}); + pl_warrior_sonic_swing_s.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,4}*24,{24,24}}}); } for (int i=0;i<4;i++){ pl_warrior_swing_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,1}*24,{24,24}}}); + pl_warrior_sonic_swing_n.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,5}*24,{24,24}}}); } for (int i=0;i<4;i++){ pl_warrior_swing_w.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,2}*24,{24,24}}}); + pl_warrior_sonic_swing_w.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,6}*24,{24,24}}}); } for (int i=0;i<4;i++){ pl_warrior_swing_e.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,3}*24,{24,24}}}); - } - ANIMATION_DATA[AnimationState::SWINGSWORD_N]=pl_warrior_swing_n; - ANIMATION_DATA[AnimationState::SWINGSWORD_E]=pl_warrior_swing_e; - ANIMATION_DATA[AnimationState::SWINGSWORD_S]=pl_warrior_swing_s; - ANIMATION_DATA[AnimationState::SWINGSWORD_W]=pl_warrior_swing_w; + pl_warrior_sonic_swing_e.AddFrame({&GFX_Warrior_Sheet,{vi2d{4+i,7}*24,{24,24}}}); + } + ANIMATION_DATA[AnimationState::WARRIOR_SWINGSWORD_N]=pl_warrior_swing_n; + ANIMATION_DATA[AnimationState::WARRIOR_SWINGSWORD_E]=pl_warrior_swing_e; + ANIMATION_DATA[AnimationState::WARRIOR_SWINGSWORD_S]=pl_warrior_swing_s; + ANIMATION_DATA[AnimationState::WARRIOR_SWINGSWORD_W]=pl_warrior_swing_w; + ANIMATION_DATA[AnimationState::WARRIOR_SWINGSONICSWORD_N]=pl_warrior_sonic_swing_n; + ANIMATION_DATA[AnimationState::WARRIOR_SWINGSONICSWORD_E]=pl_warrior_sonic_swing_e; + ANIMATION_DATA[AnimationState::WARRIOR_SWINGSONICSWORD_S]=pl_warrior_sonic_swing_s; + ANIMATION_DATA[AnimationState::WARRIOR_SWINGSONICSWORD_W]=pl_warrior_sonic_swing_w; //Ranger animations Animate2D::FrameSequence pl_ranger_walk_s{0.2}; @@ -298,6 +313,11 @@ void Crawler::InitializeAnimations(){ battlecry_effect.AddFrame({&GFX_Battlecry_Effect,{{i*84,0},{84,84}}}); } ANIMATION_DATA[AnimationState::BATTLECRY_EFFECT]=battlecry_effect; + Animate2D::FrameSequence sonicslash_effect(0.04f,Animate2D::Style::OneShot); + for(int i=0;i<4;i++){ + sonicslash_effect.AddFrame({&GFX_SonicSlash,{{i*60,0},{60,60}}}); + } + ANIMATION_DATA[AnimationState::SONICSLASH]=sonicslash_effect; } bool Crawler::LeftHeld(){ @@ -470,16 +490,16 @@ void Crawler::HandleUserInput(float fElapsedTime){ setIdleAnimation=false; switch(player.GetFacingDirection()){ case UP:{ - player.UpdateAnimation(AnimationState::SWINGSWORD_N); + player.UpdateAnimation(AnimationState::WARRIOR_SWINGSWORD_N); }break; case DOWN:{ - player.UpdateAnimation(AnimationState::SWINGSWORD_S); + player.UpdateAnimation(AnimationState::WARRIOR_SWINGSWORD_S); }break; case LEFT:{ - player.UpdateAnimation(AnimationState::SWINGSWORD_W); + player.UpdateAnimation(AnimationState::WARRIOR_SWINGSWORD_W); }break; case RIGHT:{ - player.UpdateAnimation(AnimationState::SWINGSWORD_E); + player.UpdateAnimation(AnimationState::WARRIOR_SWINGSWORD_E); }break; } player.SetSwordSwingTimer(player.GetSwordSwingTimer()-fElapsedTime); @@ -489,7 +509,7 @@ void Crawler::HandleUserInput(float fElapsedTime){ } } - if(player.GetState()==State::BLOCK){ + if(player.GetState()!=State::NORMAL){ setIdleAnimation=false; } @@ -518,6 +538,17 @@ void Crawler::HandleUserInput(float fElapsedTime){ } void Crawler::UpdateCamera(float fElapsedTime){ + lastWorldShakeAdjust=std::max(0.f,lastWorldShakeAdjust-fElapsedTime); + if(worldShakeTime-fElapsedTime>0){ + if(lastWorldShakeAdjust==0){ + lastWorldShakeAdjust=float(rand()%int(WORLD_SHAKE_ADJUST_MAX_TIME*1000))/1000+0.05; + worldShakeVel={float(rand()%1000)/1000*100-50,float(rand()%1000)/1000*100-50}; + } + worldShake+=worldShakeVel*fElapsedTime; + } else { + camera.SetTarget(player.GetPos()); + } + worldShakeTime=std::max(0.f,worldShakeTime-fElapsedTime); camera.Update(fElapsedTime); view.SetWorldOffset(vi2d(camera.GetViewPosition())); } @@ -560,6 +591,45 @@ void Crawler::UpdateBullets(float fElapsedTime){ break; } } + b.lifetime-=fElapsedTime; + if(b.lifetime<=0){ + it=BULLET_LIST.erase(it); + if(it==BULLET_LIST.end()){ + break; + } + } + b.animation.UpdateState(b.internal_animState,fElapsedTime); + } + for(std::vector::iterator it=PLAYER_BULLET_LIST.begin();it!=PLAYER_BULLET_LIST.end();++it){ + Bullet&b=*it; + b.pos+=b.vel*fElapsedTime; + for(Monster&m:MONSTER_LIST){ + if(geom2d::overlaps(geom2d::circle(m.GetPos(),12*m.GetSizeMult()),geom2d::circle(b.pos,b.radius))){ + if(b.hitList.find(&m)==b.hitList.end()&&m.Hurt(b.damage)){ + if(!b.hitsMultiple){ + it=PLAYER_BULLET_LIST.erase(it); + if(it==PLAYER_BULLET_LIST.end()){ + break; + } + } + b.hitList[&m]=true; + } + } + } + if(b.pos.xview.GetWorldBR().x||b.pos.yview.GetWorldBR().y){ + it=PLAYER_BULLET_LIST.erase(it); + if(it==PLAYER_BULLET_LIST.end()){ + break; + } + } + b.lifetime-=fElapsedTime; + if(b.lifetime<=0){ + it=PLAYER_BULLET_LIST.erase(it); + if(it==PLAYER_BULLET_LIST.end()){ + break; + } + } + b.animation.UpdateState(b.internal_animState,fElapsedTime); } } void Crawler::HurtEnemies(vf2d pos,float radius,int damage){ @@ -606,8 +676,10 @@ void Crawler::RenderWorld(float fElapsedTime){ e.Draw(); } for(Bullet&b:BULLET_LIST){ - view.FillCircle(b.pos,b.radius,b.col); - view.DrawCircle(b.pos,b.radius,WHITE,0xAA); + b.Draw(); + } + for(Bullet&b:PLAYER_BULLET_LIST){ + b.Draw(); } for(std::vector::iterator it=DAMAGENUMBER_LIST.begin();it!=DAMAGENUMBER_LIST.end();++it){ DamageNumber&dn=*it; @@ -712,6 +784,12 @@ vf2d Crawler::GetWorldMousePos(){ return GetMousePos()+view.GetWorldOffset(); } +void Crawler::SetupWorldShake(float duration){ + worldShakeTime=duration; + worldShake=player.GetPos(); + camera.SetTarget(worldShake); +} + int main() { Crawler demo; diff --git a/Crawler/Crawler.h b/Crawler/Crawler.h index 49de889f..5be77c89 100644 --- a/Crawler/Crawler.h +++ b/Crawler/Crawler.h @@ -17,6 +17,11 @@ class Crawler : public olc::PixelGameEngine GFX_Heart,GFX_BLOCK_BUBBLE,GFX_Ranger_Sheet,GFX_Wizard_Sheet, GFX_Battlecry_Effect,GFX_Mana,GFX_SonicSlash; std::vectorforegroundEffects,backgroundEffects; + vf2d worldShake={}; + float worldShakeTime=0; + float lastWorldShakeAdjust=0; + vf2d worldShakeVel={}; + const float WORLD_SHAKE_ADJUST_MAX_TIME=0.4; public: Crawler(); @@ -47,4 +52,5 @@ public: bool UpReleased(); bool DownReleased(); Player&GetPlayer(); + void SetupWorldShake(float duration); }; \ No newline at end of file diff --git a/Crawler/DEFINES.h b/Crawler/DEFINES.h index ad8624c9..f85e877e 100644 --- a/Crawler/DEFINES.h +++ b/Crawler/DEFINES.h @@ -6,4 +6,5 @@ #define INCLUDE_game extern Crawler*game; #define INCLUDE_MONSTER_DATA extern std::mapMONSTER_DATA; #define INCLUDE_BULLET_LIST extern std::vectorBULLET_LIST; -#define INCLUDE_CLASS_DATA extern std::mapCLASS_DATA; \ No newline at end of file +#define INCLUDE_CLASS_DATA extern std::mapCLASS_DATA; +#define INCLUDE_PLAYER_BULLET_LIST extern std::vectorPLAYER_BULLET_LIST; \ No newline at end of file diff --git a/Crawler/Player.cpp b/Crawler/Player.cpp index 9ebb4363..31af2822 100644 --- a/Crawler/Player.cpp +++ b/Crawler/Player.cpp @@ -2,6 +2,7 @@ #include "Player.h" #include "Crawler.h" #include "DamageNumber.h" +#include "Bullet.h" #include "DEFINES.h" INCLUDE_MONSTER_DATA @@ -10,6 +11,7 @@ INCLUDE_ANIMATION_DATA INCLUDE_SPAWNER_LIST INCLUDE_DAMAGENUMBER_LIST INCLUDE_CLASS_DATA +INCLUDE_PLAYER_BULLET_LIST INCLUDE_game const float Player::GROUND_SLAM_SPIN_TIME=0.6f; @@ -150,7 +152,7 @@ void Player::Update(float fElapsedTime){ z=50*sin(3.3*(GROUND_SLAM_SPIN_TIME-spin_attack_timer)/GROUND_SLAM_SPIN_TIME); spin_attack_timer=std::max(0.f,spin_attack_timer-fElapsedTime); } else { - state=NORMAL; + SetState(NORMAL); spin_angle=0; z=0; game->HurtEnemies(pos,3*12,GetAttack()*2.5); @@ -163,9 +165,29 @@ void Player::Update(float fElapsedTime){ }break; case BLOCK:{ if(rightClickAbility.COOLDOWN_TIME-rightClickAbility.cooldown>3){ - state=NORMAL; + SetState(NORMAL); } }break; + case SWING_SONIC_SWORD:{ + if(ability3.COOLDOWN_TIME-ability3.cooldown>0.5){ + SetState(NORMAL); + switch(facingDirection){ + case DOWN:{ + UpdateAnimation(AnimationState::WARRIOR_IDLE_S); + }break; + case RIGHT:{ + UpdateAnimation(AnimationState::WARRIOR_IDLE_E); + }break; + case LEFT:{ + UpdateAnimation(AnimationState::WARRIOR_IDLE_W); + }break; + case UP:{ + UpdateAnimation(AnimationState::WARRIOR_IDLE_N); + }break; + } + } + animation.UpdateState(internal_animState,fElapsedTime); + }break; default:{ //Update animations normally. animation.UpdateState(internal_animState,fElapsedTime); @@ -226,18 +248,18 @@ void Player::Update(float fElapsedTime){ swordSwingTimer=0.2; SetState(State::SWING_SWORD); switch(facingDirection){ - case DOWN:{ - UpdateAnimation(AnimationState::SWINGSWORD_S); - }break; - case RIGHT:{ - UpdateAnimation(AnimationState::SWINGSWORD_E); - }break; - case LEFT:{ - UpdateAnimation(AnimationState::SWINGSWORD_W); - }break; - case UP:{ - UpdateAnimation(AnimationState::SWINGSWORD_N); - }break; + case DOWN:{ + UpdateAnimation(AnimationState::WARRIOR_SWINGSWORD_S); + }break; + case RIGHT:{ + UpdateAnimation(AnimationState::WARRIOR_SWINGSWORD_E); + }break; + case LEFT:{ + UpdateAnimation(AnimationState::WARRIOR_SWINGSWORD_W); + }break; + case UP:{ + UpdateAnimation(AnimationState::WARRIOR_SWINGSWORD_N); + }break; } } } @@ -308,7 +330,34 @@ void Player::Update(float fElapsedTime){ if(ability3.cooldown==0&&GetMana()>=ability3.manaCost&&game->GetKey(CTRL).bPressed){ switch(cl){ case WARRIOR:{ - //TODO + ability3.cooldown=ability3.COOLDOWN_TIME; + SetState(State::SWING_SONIC_SWORD); + AddBuff(BuffType::SLOWDOWN,0.5,1); + vf2d bulletVel={}; + switch(GetFacingDirection()){ + case UP:{ + vel.y=70; + bulletVel.y=-400; + UpdateAnimation(AnimationState::WARRIOR_SWINGSONICSWORD_N); + }break; + case LEFT:{ + vel.x=70; + bulletVel.x=-400; + UpdateAnimation(AnimationState::WARRIOR_SWINGSONICSWORD_W); + }break; + case RIGHT:{ + vel.x=-70; + bulletVel.x=400; + UpdateAnimation(AnimationState::WARRIOR_SWINGSONICSWORD_E); + }break; + case DOWN:{ + vel.y=-70; + bulletVel.y=400; + UpdateAnimation(AnimationState::WARRIOR_SWINGSONICSWORD_S); + }break; + } + PLAYER_BULLET_LIST.push_back(Bullet(pos,bulletVel,30,GetAttack()*8,AnimationState::SONICSLASH,true,2.25,true)); + game->SetupWorldShake(0.5); }break; case THIEF:{ }break; diff --git a/Crawler/State.h b/Crawler/State.h index 871619e7..13ab9598 100644 --- a/Crawler/State.h +++ b/Crawler/State.h @@ -3,6 +3,7 @@ enum State{ NORMAL, SWING_SWORD, + SWING_SONIC_SWORD, SPIN, MOVE_TOWARDS, MOVE_AWAY, diff --git a/Crawler/Version.h b/Crawler/Version.h index add8899f..9bef5558 100644 --- a/Crawler/Version.h +++ b/Crawler/Version.h @@ -2,7 +2,7 @@ #define VERSION_MAJOR 0 #define VERSION_MINOR 2 #define VERSION_PATCH 0 -#define VERSION_BUILD 57 +#define VERSION_BUILD 74 #define stringify(a) stringify_(a) #define stringify_(a) #a diff --git a/Crawler/assets/nico-warrior.png b/Crawler/assets/nico-warrior.png index 4983f9ac155756c30c984de1a8232de1de83ef87..5f85c2c04de5c86bada628628d19cc5331a86e32 100644 GIT binary patch delta 14054 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 Y4_HL7I6gwaJpcdz07*qoM6N<$f|TfPUjP6A delta 14141 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 diff --git a/Crawler/assets/nico-warrior.xcf b/Crawler/assets/nico-warrior.xcf index 5422fba6282885bfef9763b8ba60462714e1e044..2a39364850af96f434ae11a36279db76b840fffd 100644 GIT binary patch delta 292 zcmaF=kMZR{#tBZ0RU4fTaWP(+cu{z>B=kF>lqq1_a}J?GTxbdt5~|810q`=2&H2oG?)b0@BzXv znE|28>L7Ia0tj6b4yDr}bZs@1J`SPl4npaRQ2HU1{s^I!>KP%7dO;|y2&E07wBzP! HB{#VM#B=*=3 z67l+Z5KdVOgf3qOp=)BHbS{LhZG_TiA#~kwD19ADKZnxaA#^=Elop55>QLGoO1neo K&C^OQa{&Nkx;CHGP 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 delta 9306 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 diff --git a/Crawler/pge.js b/Crawler/pge.js index e8687529..d53b50a1 100644 --- a/Crawler/pge.js +++ b/Crawler/pge.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;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 process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="pge.data";var REMOTE_PACKAGE_BASE="pge.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}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){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"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;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);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",reason=>{throw reason})}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pge.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}else{if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={44460:()=>{window.onunload=Module._olc_OnPageUnload},44504:($0,$1)=>{Module.olc_AspectRatio=$0/$1;Module.olc_AssumeDefaultShells=document.querySelectorAll(".emscripten").length>=3?true:false;var olc_ResizeHandler=function(){let isFullscreen=document.fullscreenElement!=null;let width=isFullscreen?window.innerWidth:Module.canvas.parentNode.clientWidth;let height=isFullscreen?window.innerHeight:Module.canvas.parentNode.clientHeight;let viewWidth=width;let viewHeight=width/Module.olc_AspectRatio;if(viewHeight>height){viewWidth=height*Module.olc_AspectRatio;viewHeight=height}viewWidth=parseInt(viewWidth);viewHeight=parseInt(viewHeight);setTimeout(function(){if(Module.olc_AssumeDefaultShells)Module.canvas.parentNode.setAttribute("style","width: 100%; height: 70vh; margin-left: auto; margin-right: auto;");Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);Module.canvas.setAttribute("style",`width: ${viewWidth}px; height: ${viewHeight}px;`);Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus()},200)};var olc_Init=function(){if(Module.olc_AspectRatio===undefined){setTimeout(function(){Module.olc_Init()},50);return}let resizeObserver=new ResizeObserver(function(entries){Module.olc_ResizeHandler()}).observe(Module.canvas.parentNode);let mutationObserver=new MutationObserver(function(mutationsList,observer){setTimeout(function(){Module.olc_ResizeHandler()},200)}).observe(Module.canvas.parentNode,{attributes:false,childList:true,subtree:false});window.addEventListener("fullscreenchange",function(e){setTimeout(function(){Module.olc_ResizeHandler()},200)})};Module.olc_ResizeHandler=Module.olc_ResizeHandler!=undefined?Module.olc_ResizeHandler:olc_ResizeHandler;Module.olc_Init=Module.olc_Init!=undefined?Module.olc_Init:olc_Init;Module.olc_Init()}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{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(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function initRandomFill(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")}function randomFill(view){return(randomFill=initRandomFill())(view)}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=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=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}var TTY={ttys:[],init:function(){},shutdown:function(){},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(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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;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();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};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);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[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){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(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},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|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}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);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)}var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${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)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath: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:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode: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:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,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}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};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}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts: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:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`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(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(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(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(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);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(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(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(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(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}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(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(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:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438: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){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});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}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;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:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));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));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{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")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{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},createPath:(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){}parent=current}return current},createFile:(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:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(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{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);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return 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(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}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(){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;if(!hasByteServing)chunkSize=datalength;var doXHR=(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!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);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||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);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){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("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);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,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))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){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)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){global.performance=require("perf_hooks").performance}_emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){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=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){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{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;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,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func){if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(()=>{callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,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++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_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{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);preloadedImages[name]=canvas;URL.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};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;preloadedAudios[name]=audio;if(onload)onload(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err("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=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);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){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});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",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;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:2};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){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(callback=>callback());Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;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=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}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)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},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/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;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}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);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}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(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(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);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>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};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){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},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);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglSwapBuffers(dpy,surface){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_date_now(){return Date.now()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},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}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.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings}function stringToAscii(str,buffer){for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx.bindVertexArray(GL.vaos[vao])}var _glBindVertexArrayOES=_glBindVertexArray;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glClear(x0){GLctx.clear(x0)}function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnable(x0){GLctx.enable(x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}var _glGenVertexArraysOES=_glGenVertexArrays;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}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};var readMode=292|73;var writeMode=146;Object.defineProperties(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)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};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)};var preloadedImages={};var preloadedAudios={};var GLctx;var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); +var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;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 process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="pge.data";var REMOTE_PACKAGE_BASE="pge.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}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){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"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;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);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",reason=>{throw reason})}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="pge.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}else{if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateMemoryViews();wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;var ASM_CONSTS={44556:()=>{window.onunload=Module._olc_OnPageUnload},44600:($0,$1)=>{Module.olc_AspectRatio=$0/$1;Module.olc_AssumeDefaultShells=document.querySelectorAll(".emscripten").length>=3?true:false;var olc_ResizeHandler=function(){let isFullscreen=document.fullscreenElement!=null;let width=isFullscreen?window.innerWidth:Module.canvas.parentNode.clientWidth;let height=isFullscreen?window.innerHeight:Module.canvas.parentNode.clientHeight;let viewWidth=width;let viewHeight=width/Module.olc_AspectRatio;if(viewHeight>height){viewWidth=height*Module.olc_AspectRatio;viewHeight=height}viewWidth=parseInt(viewWidth);viewHeight=parseInt(viewHeight);setTimeout(function(){if(Module.olc_AssumeDefaultShells)Module.canvas.parentNode.setAttribute("style","width: 100%; height: 70vh; margin-left: auto; margin-right: auto;");Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);Module.canvas.setAttribute("style",`width: ${viewWidth}px; height: ${viewHeight}px;`);Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus()},200)};var olc_Init=function(){if(Module.olc_AspectRatio===undefined){setTimeout(function(){Module.olc_Init()},50);return}let resizeObserver=new ResizeObserver(function(entries){Module.olc_ResizeHandler()}).observe(Module.canvas.parentNode);let mutationObserver=new MutationObserver(function(mutationsList,observer){setTimeout(function(){Module.olc_ResizeHandler()},200)}).observe(Module.canvas.parentNode,{attributes:false,childList:true,subtree:false});window.addEventListener("fullscreenchange",function(e){setTimeout(function(){Module.olc_ResizeHandler()},200)})};Module.olc_ResizeHandler=Module.olc_ResizeHandler!=undefined?Module.olc_ResizeHandler:olc_ResizeHandler;Module.olc_Init=Module.olc_Init!=undefined?Module.olc_Init:olc_Init;Module.olc_Init()}};function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{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(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function initRandomFill(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")}function randomFill(view){return(randomFill=initRandomFill())(view)}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=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=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}var TTY={ttys:[],init:function(){},shutdown:function(){},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(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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;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();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};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);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[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){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(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},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|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}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);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)}var preloadPlugins=Module["preloadPlugins"]||[];function FS_handledByPreloadPlugin(byteArray,fullname,finish,onerror){if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled}function FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${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)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}}function FS_modeStringToFlags(str){var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags}function FS_getMode(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath: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:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode: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:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,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}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:()=>{for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd=-1)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};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}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts: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:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`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(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(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(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(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);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(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(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(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(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}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(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(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:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438: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){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});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}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;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:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));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));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{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")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{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},createPath:(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){}parent=current}return current},createFile:(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:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(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{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);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return 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(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}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(){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;if(!hasByteServing)chunkSize=datalength;var doXHR=(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!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);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||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);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){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("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);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,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))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}if(mode==0){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)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate=="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=event=>{if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){global.performance=require("perf_hooks").performance}_emscripten_get_now=()=>performance.now();function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){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=browserIterationFunc;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;function checkIsRunning(){if(thisMainLoopId0){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{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}Browser.mainLoop.runIter(browserIterationFunc);if(!checkIsRunning())return;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,1e3/fps)}else{_emscripten_set_main_loop_timing(1,1)}Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function maybeExit(){if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func){if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(()=>{callUserCallback(func)},timeout)}var Browser={mainLoop:{running:false,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++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;setMainLoop(func,0,false,Browser.mainLoop.arg,true);_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{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);preloadedImages[name]=canvas;URL.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};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;preloadedAudios[name]=audio;if(onload)onload(byteArray)}var b=new Blob([byteArray],{type:Browser.getMimetype(name)});var url=URL.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err("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=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;safeSetTimeout(()=>{finish(audio)},1e4)};preloadPlugins.push(audioPlugin);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){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});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",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;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:2};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!="undefined"){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(callback=>callback());Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer=="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas=="undefined")Browser.resizeCanvas=false;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=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}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)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]):null);canvasContainer.requestFullscreen()},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(()=>{});CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeSetTimeout:function(func,timeout){return safeSetTimeout(func,timeout)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(()=>{callUserCallback(func)})},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/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;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}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);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}},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(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(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);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>2];if(param==12321){var alphaSize=HEAP32[attribList+4>>2];EGL.contextAttributes.alpha=alphaSize>0}else if(param==12325){var depthSize=HEAP32[attribList+4>>2];EGL.contextAttributes.depth=depthSize>0}else if(param==12326){var stencilSize=HEAP32[attribList+4>>2];EGL.contextAttributes.stencil=stencilSize>0}else if(param==12337){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples>0}else if(param==12338){var samples=HEAP32[attribList+4>>2];EGL.contextAttributes.antialias=samples==1}else if(param==12544){var requestedPriority=HEAP32[attribList+4>>2];EGL.contextAttributes.lowLatency=requestedPriority!=12547}else if(param==12344){break}attribList+=8}}if((!config||!config_size)&&!numConfigs){EGL.setErrorCode(12300);return 0}if(numConfigs){HEAP32[numConfigs>>2]=1}if(config&&config_size>0){HEAP32[config>>2]=62002}EGL.setErrorCode(12288);return 1}};function _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(HEAP32[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};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){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},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);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglSwapBuffers(dpy,surface){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}var readEmAsmArgsArray=[];function readEmAsmArgs(sigPtr,buf){readEmAsmArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readEmAsmArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readEmAsmArgsArray}function runEmAsmFunction(code,sigPtr,argbuf){var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_asm_const_int(code,sigPtr,argbuf){return runEmAsmFunction(code,sigPtr,argbuf)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_date_now(){return Date.now()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;try{wasmMemory.grow(size-b.byteLength+65535>>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},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}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.precedence2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!="undefined"?document:0,typeof window!="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!="undefined"?document.querySelector(target):undefined);return domElement}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(e=event){var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread)}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread)}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(callbackfunc)(eventTypeId,keyEventData,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:keyEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_keydown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,2,"keydown",targetThread)}function _emscripten_set_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread)}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}function registerMouseEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.mouseEvent)JSEvents.mouseEvent=_malloc(72);target=findEventTarget(target);var mouseEventHandlerFunc=function(e=event){fillMouseEventData(JSEvents.mouseEvent,e,target);if(getWasmTableEntry(callbackfunc)(eventTypeId,JSEvents.mouseEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString!="mousemove"&&eventTypeString!="mouseenter"&&eventTypeString!="mouseleave",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:mouseEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread)}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread)}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread)}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){t=touches[i];HEAP32[idx+0]=t.identifier;HEAP32[idx+1]=t.screenX;HEAP32[idx+2]=t.screenY;HEAP32[idx+3]=t.clientX;HEAP32[idx+4]=t.clientY;HEAP32[idx+5]=t.pageX;HEAP32[idx+6]=t.pageY;HEAP32[idx+7]=t.isChanged;HEAP32[idx+8]=t.onTarget;HEAP32[idx+9]=t.clientX-targetRect.left;HEAP32[idx+10]=t.clientY-targetRect.top;idx+=13;if(++numTouches>31){break}}HEAP32[touchEvent+8>>2]=numTouches;if(getWasmTableEntry(callbackfunc)(eventTypeId,touchEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:eventTypeString=="touchstart"||eventTypeString=="touchend",eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:touchEventHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_touchend_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,23,"touchend",targetThread)}function _emscripten_set_touchmove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,24,"touchmove",targetThread)}function _emscripten_set_touchstart_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){return registerTouchEventCallback(target,userData,useCapture,callbackfunc,22,"touchstart",targetThread)}function registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(e=event){var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};return JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(!target)return-4;if(typeof target.onwheel!="undefined"){return registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread)}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings}function stringToAscii(str,buffer){for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx.bindVertexArray(GL.vaos[vao])}var _glBindVertexArrayOES=_glBindVertexArray;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glClear(x0){GLctx.clear(x0)}function _glClearColor(x0,x1,x2,x3){GLctx.clearColor(x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnable(x0){GLctx.enable(x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}var _glGenVertexArraysOES=_glGenVertexArrays;function _glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)HEAP32[length>>2]=numBytesWrittenExclNull}function _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)return HEAPU32;return HEAPU16}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}function _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}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};var readMode=292|73;var writeMode=146;Object.defineProperties(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)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)};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)};var preloadedImages={};var preloadedAudios={};var GLctx;var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run(); diff --git a/Crawler/pge.wasm b/Crawler/pge.wasm index 7131773dc5efec2985ebef593bb60b3ff0e01eaf..ed23ef91a4dd75a49ad2192f76d25a80c0e11766 100644 GIT binary patch delta 156138 zcmeFa3w&Kwl|O!7_mNk78(Ij>>)g|{q_seywas9)IZ&Z00y50Vj66qBND8*vaTtFv zCrE@Sg@)c>g47{k9V1kY(9zCNAxIrN^Q$v)rfP*cR;^mKLcj`9s{Fs-wfA}4o0~R8 zWajh#|NFS-oOSlvd+oK?UVH7e*WTw>|2BL0-ui0e$`4#;8irwh*;)0)>Mxm&d6Rk5 zBTty=ig*26W@o0xvP|n_%XF+7)2hL}Wo9#ksXqqZ)S9MQYnzVa)EKxW$TZWLlxZ85 zVLG;fd)u~B)+x2bJJmETvru34A=50}U3GD4Nn>N?^@ZoEX1!x+v+L%Ud0wumE#GY0 zhVdtcF{5rq_Kd7yXQnwu_6=2YOoJ~h+niCi{Eairbjo~_Y1Yk{F=Iu$j~A&L8-Gx) zWu%Tjv+&O9PtQ0jm9h;G0UB(}NE<5)H8u0>H&>kf$kLh%&H8grbTZ}|^9#-woK(g% zyR5D*D_vs+raxBr)U>yqb&r{Q-|BZ?e*X0rT>0Ls|LpqJ@4NCU<40y4VHce9=F9(V z%~e;fyZW8iUVqj5{^n1w{m|9MkInRTSFT?DzIPjs+0J|3fA!VI*~REA=9u}Md8fI->^1K)FWg{mGz(@Q^7sV)Z^Hlk z@&9w?=gs}*x2-Q&-?0A8{;2)1^^$puJz_p?{@D4h^+R*a-eB&tZ?-;c-C}iHAF-O< zyf>#Mm^<&J*7*xwxA5dsPF?gx^I`K5^9Sa3^DE|y<~T_Dk-gvkiT#xMl=)Np7xqE> z8T(oM|El>UAWsWLzcmlbb+7q5bFcY(^JTR2t=3-L-)8k#7kQ>y{mioQZllo}tj#MG_xP9SI(g)ImnFlhT z&U_~G*~~+k&t<-l`C{gg%s*znocX8BqnYogf0+Jh`cV4U=@-($i|O(7Z_<11-=<$m zA5QO1cV%wQ+>-f7=GM$pW>4m$nY%I@Gk0e`p6Sorli8FhWco5&%)hq=GM~tNGDC^j zVE!!q^Yky$2h+byKa+koJ%+rVOFy6fReFQ@yY%nUzfZF*UdHbR^JAIYGrv!>HP>hE z$jEb01h_M^K|l9Og5qZuw<-0>)O{)54W{l-eJZuV+?@Ji>dUErNB02JTW_#xTG=DdP3!hGZI{gpw_cN&bP>EBHM7p`}j-_3m2W>qe{@Hd%{ zWpB$K2FpL1y*2wgTzj&&WV^B(%)ht;KX>B)`fP9ZTbW+`RzCYrbvrXJzu$5L=kNTx z3--x|@n)yp@A|FTY8jrDx91psuG2GH41a5{o%^Bf8UDdud#Tmx8ZIubYxuptEnGQs zw)vUD=VzT5{5b8Jey#)QdvCXM&pLU-@44Of5B}0zY8gn}^$c(P^?(@)!hFXZ|4^^( zcdKG;fAd{-?&prbZM{u+?iY@~u_jkat1yEodoUpoGJ)DeK(GpIG-02Bni^-h}r zfurttjH`%;j@I*0cOaq2_yrz1m?P^x0fTj)01Q*#T`1grd_LGzuwA3os`jmQzSEI= z%=V-*=9_EKwyjoHAdnxVL#biX4r%HTXy(p)bB$TWM}b#CDnwvLe_{C}rvCS`nfpg` zw!a&&E>r(|IZ(hoOlatTI^kZxUN(ILe>G&ELQO#SE4&2cfWi_)jdoC>q0lI&F@-l` z1TpLoU`!B0#s!kZJ1h`T8s*e=P-6j6m)9*IRYwi#5s<2(2CWxRASG&0uYk~_qOAHf z1eiL_03e#i5VQ#(Au`4r1W2fi5jQJDAv44rIv9}pM0K_xl>!*jTElqWdJvrf+Tx&f zrm+k++nISutBwGM;?+M*>JFwWY1Ey73HiE0!EAq*LQN1cst^;9-3m=tTqxV4&`@H; zo4pE8Dz0hR2avEhO0-`fAzDC@JRqPX+QAS_*d^tSg?K>KnI8)AVlIyhNJ`X+4r@q^ z*7ZxpV`2qL{<{Ivl?yZP0Z6Ef5!VAGRL14?DnubO#Owo1wV@_qAOfgH-Gt}CUrM6} zxJs)+7xo_C=^0S-LwG$>(!N^&10m|4&UTpTO4@fTU{aBY-`f;sqA|BCJb~!?k0>}?-!7i zs1qH~kQnWthQwH7fatn~c^?7@C|4$X`#4}iW{i1QVFFqH31_;VDQVyC2%y@x2hZ!D zk@j8xOksV)RntHcw6~XDYV}t82MWJ$STh5yKoC+LroP_x%Ryw2bUqAip zE0Dl5&oDkt*w-HUY<}DX?gMj}=W}zI=X+cD`@I(A`N+HG&N9t^FRYz+n)xqS>}Hy2)u-#47h-%p>s z7QZK)($Vyx zD**%gXibOu&0U3S&+#32ZMmjv7Ck$zQ}o>EHWocMxlKjS&2Dq1!t+=j>PD%bMA zWppky(Ct<^?ReT}(5lKkUijX!*~?UdyUk>RK~p6V+)o$18rH80r?ky|BXNy|#;+ii z%(-52Rj~ikuyg|Uh=!$9>Ah_;1D(Uu=L@l_Oyo0Ou!!1u;UW2hct|or$Zutq*(&so>T~& z{$dP02x!4SBWjoX;#~ToT<)z;EOTvUKy?~8$bA#l2JZ;c|eQc5p8_lDy_o;+Qx z-eePWJ*r`u1neOVBdygTSwGSoA+1#*@WmK-Faq8lqjw2<;g;pKiU!yWoEQ#5pN*7Q z44VPN0H^-xv2uv%N-TygfXUbxjo`xyGhs1oRd@-=wm_ljQB}sp?FtViMp=z0M3fnU zb^s*fcLdofkR;kJfh4g;L#%KZhT*z9!~?3X;GPf>xEi!qKvJTH?9-4KZNG-ZSO);n zbqg~(2#^pdc!4rX0TVJ~%tH!O=nPTE0V4|{q7Fv@WifO;Yx&*Jip7A7GV=$*oAtOk z@Zqkmt|nUleMpK|0jC5*xaXYT9}LrO4Ix`X$Vdp;7D9G~kR2gpPY4+eA^QLsDUqoC zfT8Z{U!a+JfC)=P>L6gkyr{lo3N^ujLkcee8CO`E>%!i{3JoPjIdzSx@-T6WVBLW6 zA%^q_B#F0PAktQv^4<_jno7#+3(KgvuCky+RZ+ zL$Z1SD{9of5C9D!5;_3Drst(qaS12;!aS?aGeZ#SNMekIL|i!`rm_%m})os#k3%UQPR3_gt6 zIo$934`aRsmtGe4BZa>@dy)C6LgDN+r#_Wo>gB*RiHW>d;%cE1<(!Go+Mxb8A*6XwS* zGTO{}@{rZRm$=((a>k6`+^|{nV$?*rm?)Qk5656mJUz$3Jd^qMSxEeN9p|g9)_ya7 zalqt@!lJjF@E0;WZnbjq66u#(Gx<*8WIapr0?E~`ns;JRBPUSP1$3r{BLC%{DQUsp zc1-RcFATnAma?Qx4@6c%LTs=?phb`LIo4}Kil1@4Z7^F%4(=xo7=}J235MUHX z{MD(pD9jKNpdSq@#1I6?R)r>*8gHAzLy1vV+Z7(lj6fp*NtcNrI|PzM+bIx@r7YQ9 zAzIvNMngQHY7%ybh``mLJpz&vHDs@b#Ay38B*xkgh^||tCk_B6RK|!00TMD}%rS*2 zWQH^x0*ow(h#HRoN(XlzLMJ^$q2@)6teXKFL8AuJu$uNE08za9r(s)|u%uOo0TcS8 zBDX5c1QFX5UIMaRVd;vC`WQKcB>+`il+_M}C>7T<>;y=793|Q%5MV}-QGq0}c86HP zEh%qLhz3lRci`_05o0dz6OfdsDcG+e5uSfQLt?ChfauDFO*00N5Es?L_G{xQLA?SIt1ue#dFWERjd9ww3lAMf{B8S;q?MEd6jLLRnrY$ucdHeeo<8u zl&ew&h0ncxhWU8m@wdAbTdB$#I&xbJ2j0E}PQ%9YPOIJo4=|kcg7wJ9{?xVlKRsfu zHlOOReF8xfPxa@%YF=YL_2s|)s=2_NO_gMODYxpJ8l$S(smi^}sLEZ2|L^Mm%9CcZ z`FQ{LoPbW&1?EjI6krQ~R{C|TJ3JdJ zi+Q*+7g(#leA>J17BhIM)|wGGH(}AC%k1>hP;q;oWflG1wH|hcy2ov-M%|9v9(d?tcwwJSaPB3GVAF5or z$9|Ll&Etb#N(oIU8VxfVHVm8Q3g5c!;Wq0UH_fL@)YDZ+wM4fb!OM~2TuBjFZMa{B z_jQT)t$;03Ikez*p_@LFbl%d{HL_wE4HnmMvtU5l-;c7>{!aN_$lDx^fx3>|A(Qk& z1ahR2BYK^eU1~YF$E8{=_-9%=u-J8o@|JhN4W~o0=K6N4HFJgog9(zApXFvqwL>ck z?XUpCcN{O-{7k$7u-XdTS#E8gS9?48a{i?hrXdi(ChNMP3W6NC{bQTW6N0>n+vDP7 z$0d_ZbIp8(o5@3!=CdHN9VS$o-04B1Zf5sOW0&PW@xk)sy*8DKz-Z+7HOyS*rn0GU)O$RcE7 zy2M}9;Z_QMNohLaLMB9JUbUn~Gpp35Z=nFU+MP}vSLJ3IsZf%ICb(4y&bk#rhfv%a zQapn=WhspbZHWkN35zZ%MHA{46Y7Sk6NCn&6it@X{@Q$%pN5>UiQVkkpk*4FS_A1u z3sgf`q1ARPI=spN=;)$KT#m?mU37IsV|7?+NhvyEwwT6jn7WuoEUsXV)0xNM z=$oB++pny0tDyNh+*}8`0vh415UDIhH|v@lI-x}{U_t&paICGgCt!YoCaXZLpgW{i z6zKNO7V2w8zC#{zw;6&O?^S!f~ZlA^IrsU${YX^oTt&nMMLCN+{|2J=B_BwVPG z%p+-}nsO@1ID$$_xll!}nRlR)szBnX(dku8&`D57lvQYDUb4s!s}4C&;?1a&QlU;l zb|72pB-}zL1yoSQI;m3FoOeVgRUsS6+h+f$;GAnYvlmIW6rhfJ*iChyaglii<=GN> zmgH@v$*HzMGPQlSBS3mcbRzwd()2l`PeE*0!44#c1SgU&DotK3$w3H34ap(7k{sg^ z#LjTBxO1Lo)pv5lt@MMmYt=(lbU-m06g)}h!YgA#=ZgTM7P_$)MrDx|B1$9;n#~7g z2I~xyjYBd-PX+5$VN~og@mw|EGy|AvFJ^L2(|YUuwpeeAF?m*ZaOr=?@>8_qN({X{ z-_eHNI1<3n>wo*rrVHco`kT!<^YJg=cC-1Isn>zvQE;lJi>(PuR|g<~dRV%6R_onj z!@j%f!)9dqGQqpS9&|JZH>BLd+8R7pdS!K8xG;5j1iB~$tq@Q^(OMG1nxkYhL(udH zq-N~0TwHZu%5;Lz9DoRuMD(EyTP;JTTDhw|>Hn4ka#H>dGY7Yb<I1YZiG7ElAQQ^l2jyn{dCVt*5s zWi~zY$j$Glv;weAugc)9W+Rp(u=K*`YpRwMaq*gvi`OvUI?upRY`UPd0oF5T1*+QT z!4BbK4T)hABacM>W(BZdt8(D>dtj4$7Hulm;vlOr@~~`>l)0j8I4|Dz=M5)nC&(pq zYyg=oqp6R#U4Pz$Y0Z6qz7)UT{&V+uq^!Eiv;!YYLo6Q%{_wMf>US1KnO@QDu<*|m1vGL=p@0>e*y<`Uq+<*@0eYWtzJO9$$S9r(8ryp<9U1)upT*7>8gh}(sIzFP7`oK35>t2TU0`!0KyS-9dajt@-#-%pxv z7|V?5PzGODw-|@~$JH(5gE^moJh#oD-M$UMvgWAyGrx_ZmR@H!P54>85i}hx+qoB43xAp zE-9F_DvN|ix+)K_s9O_Nxv!NWO@@n1`&IsRxZR*`Nx*F}0WTM^(qr>P1O$`wvWS3B zl@jpxC$$>JQlps!sQiThbt?p@TQd9QdBS(ymUBSBo{)gx6*uM!DpThFOi}(KrD6U@ z%l-Q>Xw{0~euf3xt8OOC(D^na|fz{Jo0ew^`liZVVP8IK)P#^^mi zQ|-)*e-tU^rGI`t^EtM=%9 zHkTCi4J?(B2VtN6jj9Q4j zp{U++B?U?K1KXl2gOLUXndKi!LrtpP5!RXCxaX1Q;nNr$!OF`xtU#*FgSb+&9pH5@ zQm4)wAZ<1xE>w!$c!PqW_BfRoWx9h%=ioY;?#R6#BQJJJz-Y(VFqXy`RGdTIGD~t0 zT&o?UO!h4tozBDyPRNx-Lgc*&60HUVxBGC5^&4+2zO|z%3nxP zMl~%C%00 zAaMY;`~zuBP+@A|6=z2Xo zl-I6`W!82iXFF`e)!(gUbeopZP(=4k6j2I%P@F+hP^CX0`{I_|5lidN5^3ENwWTT? z)n=)ov{H6CZK(=JwOMLXg14|{BA&Wf zk>Eis!I1By1phJ07V%6}Iha^>m}E-zUWzJ)5-hczssuZeNU*H&98H4J*ss0>Z_^Tt zj#wtaQMd$a^YzLOIC$0%FGGg0MW zV%cGmDb;%^su)VJ)OxBCY)>M=)>L#brr)o=1P^KnMn^1`V2UA|GLqn7Ex|A!`e=yJ z%6$e_ZtoKi+5t8(u9Qj&FQqcFZx5%`%R{(QWXEvz*P}qh3Z-D!T2nK@Qi^#pezjrk zI5feWsW1=D+_IEYn}SD%Ap*ic3z7IIL`LGl7Se^Qb7b;TUqKY@b> z$Rvm#`9ltpKM@Ca@gW>Qci@2>9AV16!oiVa;9zzV4rZpp!OS0ngL^awAqT}ABrh<* zi#d28rG_AM;9V0qI7%jggX9l6Nd80|+{y>xAe879JdlG!Ou0iiICKmg%uK?;^i((~ zV-HmHt2&Vy(Hw*v6myWgXtj3692|`~xHaV9&pFYj3fx8};Y$9HgTf#1dK2N$l~KY$ zov=?Q?3L?MtGhH|k4|`)^Ks-jF4v{jL0r%LMv%yIj1ZK)U#HxsQ|^|O2|c|>C)~vZ z*toeJf14%-r!j=KemQ7{Zg8Id53CiXS#qa;sYOYhA` zmX;n}`1(ZQC_B)F_hN1yw@Ufad!%&svm>!(=P|J*0Q0-FxOA5lmz^aoR<6OiL|oXj zC-7zH$b1Q~Q&)AP&Bct-d>NVoUj~IQ?7C(6VztMfK{NCWI(Zus#%0jJ!$NTmPTxF7 zG#hbdTsX!mp?C&O-{pX2!;y%kS-b(Q^bFec3}Q)GJcCF?l_GM4CZq<3I29SzEf6oT z(N%A`l*yeiBI=!q858PcKyGce+g zFo&j4t2G=mXWKC_$1BgAe8`;ONc}4R$7fD3wSKivi_X4;=m>LYtF>AOoJexU9O+k6 zlALAdIYBw4voz$+k(jgeRbdW8DyZ=O5T!G$nKN9<9Gac2*0z{ABNLbtOjOCC(pg$w zbY4Fd=DdEY%)$6ig`HH%uS&m)y48SY&Oj-1XlWzja4_c1&;;&G&YahmXU>wTFlR}E zIl(cGSFbK}b~=Gl$vaEA!>J8U7m1m(=NOpNR-QS_$}k5JrzL~=vIKYj_{@R+DOnqg z2lFm1I$fpA;oPg$>WP`tOXk4-Ib?Ga2P_SEV~W?Wq2ej$2XUqCae&voNPS81@-vd` z#w%As8n`WRlnDzB zsXD4jX^FB@JxPhl0+(7rNezpf%#lHwiVV_F`^`}@jJQ^+=g1!Q%E+)5;c%te^u2@# zA5#a1S9W3tpSZj|b$j%Htvfg@^J1%llE}7>2F`IzwJF1t%Ca)NFChn%VG+$8NL?&} zoc_pCt!liptZlgQcWV*eRwBZCCW^33x4G7Svct^+(H??yhx3T5WrWy8R@9k2AO`lmf^t?86KHLhKukEpDl!{VI9=M3N=(L ztQ0vmXe6w|T3BK7O0yQNX0x3kr{q56l=2rT*~8cbC2tQ|N;=1I_1B|7EMr6EzkCoj?Q+|KS^<&p7&#O*S+=m*GI2s)T5Y$s16w(sIYIAZU> z16A<|t~ky?*gkR$Y+q2G?enL?_W32kjwtA*ITHsdL%RAzhAn>_8|#uHJTOs&Lw|i;O1>tlko(gtf@`sllx-+7BMP(P-yXucn z!KJ86=yjCpO;v^$mY3nzm6PEK{*2cpg!q5fpV6xoF*H=M3{yX_p(7a{)G|z|EGxr3 zT87yMlwpz0gNR{CT^0?6bPI8F%55i%o zRq+^Zldk2isF76xs2X!l%J4xHUxqd%!w~SK3{P-p9K7TYFFSN+MD@}#+-((3yG3Mp zk_s+GT|ya_>P=OKPbn|MCr?R+PySyc!{Z2hqfZX~w^)WLiEQXdhI_OOQ!2~K@EC;v zmIB*=GAy#WdlDIj8NLhYD8oCMe!rICoh34S05KgUrbHOV72y}|`M66@!|qs)_LRu* z0XZj$1*rm%nmH$BcsJfgmS&Wxzj)5QPm3_RZ?Ond5ZTU=2#=Z3 zEJRv6ISbjt=7;pMRVclb%1HHY=YxSwxj3*+WOf)=e-{e0{9#J0)ow-mCXe9dIJG>- zPnnG4Nrs=YG>EOY*I?kAINc7y5SN{rg(Iz}VQv}ukZv3sn_JLzy`=at}KXoc>KQ)$f9pmsnHQgQ#G}|F@#cU@B z5g!r@`bf-nVPul+Lr6@vlc{7oc^a{OJs(0NqZbA7->j9Za&i5zUT24l7l#cUTwCfVML#AG{}O16`! z5!=_{Ubv27akXOlHAvPil8%ECm4XSvo!OCwndss;P4T?c#j$8|p2sc@1nx%D!*U8H zc+DaVyEM-sZ3&jkR0M28$VSZbUg5c%UxMxE@PQgCG=29MU=rA_7tT#w5tNm|3c=vj~tHiqvANkHN?5aEupj2TcF5IR!qNy>a-@q8{X&s2m zm-EL=p)0gYreF)mGrWW9hWNXb(kF9JDpubGacEv$e7@zS%Iw zm-^(0LN=L2G7Q;zYyMp?c*hqS0$qus&O$Y{7hYzCah zD(4x2n>=G2$5j_jxxbNL6IAl@vCnV#F&u%LzltsnF=9`r{7^rV; z1ml_e>n}!~Rz`xcYJy;JlR%rug;iXHE`hnC1V~_;%KTy_b(a*bd_bgblFTm-rA}q8 zg)T**v(TrepwSx3YqW-hMhhm5C~tU$(&m(twn<|<>4HC6MENmD+Y}ko6fuUur*UXg zV}di2GN$p>WK1wAXQsfI3sg7c@w!Fb5Iv*Sx;W~FS18kc2R1H6C(DHWDPXT-r@#eL z%3g==;4h>bdpA1DNM&@a4Ay?o#c(hWPnB_zXt_F5#)a&w!`!j}w(~=9P}arhyOBNd ziHS~tBW2EqB6PR}B!<9SQ1hPuehkg%3_&fQA}N~QZNj04xG{{GB1Owo=_{j7BP8I;)Xes$;y>c zQUnXI+O+~f|MQMu6D^K9N>M*KeJcIr^r`fd06N+IV+TODseaN{(oG=mI0&gd>L;sI zKY{EgyUEWmHtpxW%teqdCC2O}>;QG_CEM9cGEpy~)gXsHv6oaMQH$y&)yZChll`QN zY{w}!5%O{#TrFLsx~PlboJn*rhzW31LnCEzJ7Yhc?jWMI;||iw4iZvWhx>8VAW;g> zGh7(=kO?I*`714ID?~n7)P#~)8LXu+-4x2e$%e7m9$9Lal$YAYWu$gu@b%)Ui0!K; zwMPoRc9q!Tl;|Su4m}E4h@=+lW&%-%MvDBj(#WEr&98{?OCbV<;Tb|NilBjYaSSfC z(^MASW|SJUhdA}71bi?7-Q(A`%*DM0}1$+1bjFF-;sdtOu+XBi5L44FAgQ(;|cisbX;&R&d3f4+MIw7CE(i= z@R0<3w}#6JGJ6s)4ki%BA~+7{<9W#$-^zX3!o^eM}=NJaw6?F0JZvlDf=Om-*_lP+eZ9E(_G+rw^Jd|5552o-{Vr%Zp6l9&1qRs!iWAha{}dZk;VCMdvSrnK z_uys#RrgK*L7BU>+c{;aQX#RZj={%xXtWfpV z2;Ukf8+B(Gb#mlz250Ld4F@wLx3;k6^E2O0-HXFzZ;*47K^NT>>S*OOCZD7CcXxH| z`zi`r!&;P9im()aa0a~Jl6$J~&Cg$2*!akaQju%E@LE;`r!lV`o^`fV2ZV3h91?y> zIl>dIaY3RrE=Id>^+h*EYa#c=cf5v;AqPgIF)oN31u1WIQOGakoWMaT27WF5(NUzcduoYbX>UUuMR9sY~$Xg@`ZG6Q&{* zW%+`U1>8_QCaZKrf-m3uC&ib+e~kFj0=`h?tKNdc_tUQ-Q%=x5#fX`L!^z>weEQL* z)6|#}9#(I6`VH54aHVh_`EQ#y{;Pq*Suosi+<}+U;mEUK`wH`^LdW*ItMqu30(PPD zD|Y}o@Rg6Z>r?F!C>Wl?F5Sh^!&e?_r+5Li2KOZy38Bh{MPQll*~0aYHJR@!-0|3- zK!<<*vBp}G@4y4nV&KaQ@};lB3y-}QrCs*;BUN}AK^sOcwr;iy9~}9p`S`{s{sJlf z@`;WB7@xS^a!w4YZ!&K*|4w}kA>D!j)y2kbcv*boTzr1W%4g_V02HvE>C;k{ZNTYY zZ%0AgC4s=eQmTd;$atGcI#(Qk3Zg1%AG(-6vV3hs&2Qn`?!j#h@`k z-(u1il6Trf@=how4;*mv5;mk5>5zj*r7|ccvjGg2dPHPyBAIA+slI<&F^Q)oNjyCw zk-9|M`Z$8{B>V$`$m^VZ1r558#$f8L9e=?fZt#Y34K5^O?Ld)ydNIkTCrLgn7by8m ziODN8Yqkp2(^RXY+MkJ9#$O_7OT-&0LsgmL4WYp^D~--~dYnAwP?S6n7R9L-$Ejn9 zj8an~!>r%TF9c>>Ct07cyCtfl=_#ttlDInfKK5yGk+GCTMQV1$6dt)g$66hHY(ZyT zu0A0P67|uYvZy|b z)J3~Z%>HtpLRaFwsK?-Prk7iJ!Rg=_1)FMmwrC38;k!!a2hf|;Fcy}Nj(%F_GzZ^Z zwDF0>47%wjEPQDrP z81qpoXN)cRdR`jx4ZJMDFy&y;9-jo{pvA#a?i>t`ZoS(iO1{r)DsaTi7QA}5zR!hr zmFH^pyb;Q_61GeB;f-DsUj6;Qxxp;@jB?(IJi(~iAH*lAPQbOLBVUIL7GJ&NVQS=O zV>NyjKRH&<(jCwOe>lh>(AmfjI94O?dfY8>XVEyS^6|lD57S?=j`yr&B@`qws-&5b z^D5n{w{qVG+(YtG9g+noUB0P&mP|xK$E)NaSs2G~` zd>lE{4R`Q;WWf@Mi|baSB)g7l?X74JTw1(JGBD*<;v0SVBux!sA>2w%C_x!G$v6Iu zYvEmRb#jGVb(OR`U!!EwCiP@$*hAn2mx!x~k8e6vxl&{s>x#Si7Tqe!eyfE?s~St! z-gI0rPfLX&B8^qJe^FtOQGhb6_aHTuFH$vT#f7@&_}>E=UF01ss$MnQ$u$-}}bw zpwg>B>U^bq#i1&n6^T?Qpy5NBB9SR_1fSJ(D;d<0%?owlkP=CNDUuK7xc!P3S zXue9vbRZE$64D@LD^W}#Rx5~4L~cPn&Rq&#YPdvB{!YwVI&nC`otJFaqBCu7g z0HR0qxoz39=eEtj!ILTWh`#`nr=eoP*y)8A{(V+Z=^lqqAg*RUGLwWq>ALMVTb&V3G)i_I&JVuYg!JoEU!{$X% zob|Z1(hf3+r^IzU9dlFvK<0f9Llu5#<=t%vP^p#AGU8mi@MC8we@GNB&)7`4)eEdP zrATqNoc%*!?QJ4GfURtU;0kP2n=~$9=eFU~?gG1@jcw>2&(CAwi)(U+KoPVuVYy}K zLvmM#rRgQOoh=EM69~mY=TeGcNK_co{uGK;cw3E#bGX^`Z8vVuMN5?<4}iQ_X)A=>rLa2_@e4uV-`@qiyhsOnj$QzNU;8S(}&d6r#7i4ef;nT!T&k0@bHAWvO3C>Jynbft9`x zEt+yqKp&$*z}GBe<`q{x>RGwt^OYyA8LftuSCa?&ZUE&^zD#CXTzLh+}+F zpRx--ahL7Hx9qNiJR|Rv|HCJ5o6cGL4{+734_zZEP_K1RvMKznd`ms5Irf7mGw0Xi z__6?`5%K&QnUk8Up^(s9tEiHJimzK|y=f?4t62yq6fFfv?w~&LO;^IIDL`_UqX5a> zObU?P)lqKYMlQ5>0g%|(x1RwXSC@ca!m$EX$ zwMDMjrP$QA5-cRVC_lr^@rmD_oq^anVinH+uZ9!x@)B<*Q%gQqcxb6B<8GUpk8%^F&e$i;8ge^QxQ!-6Sx@31FniT#6@G=j5 zjvGcOs)j_X>8}++X;@JCeBCLjF-YY87XEa!7?lAVluLg243t8JuD}h=10(!?p=73P z0$@Q4A;U^$=vCrlhdLwZsqm}mah}PXBm-zQDh^RM=ss8;_zij)QlcOj zFc^B|1??UxKHYKA0m%)7$QI?dBS*F&|A#d;!EMBtXG zP;VVkr*skUYquByU|Mai^(x@<8|sj+{ZWIXgW_}UH8NmS;FCpvFJHXJK?}9YTTp=& zoAyqq6<`n5dTCX^3=JBQOu2)4$ijx_u*_i<*7;1K9XECTkGGr02V?^XDq@3$nI$@` zaDga!nFwHXMZ5%R3ridvhaDvuL)!UmSQLSn3w~5KE0q;dZ9vVX?}$x_WH5s99sy2& ztx%TZs7-vCmPAYMWR>#FLTZ*){HlT1;e&8Gsft>VWqz*}Dc~!R6pDodiiMjJ92_Xi z!A%JczA%2b zsv2w6FN+w%*S0(17dCAAg=6?&G)Yb)6Ew!Cnt5M>FVovTLdgbEA%=nnKZWKVh4V_) zv>V@8qc%m>T{2x1e_DK(q8*BvK26wsTGR_(I$j01o_;faGH%7%H`mBCJmprr4RbJ5 zW(_Pv8lgxEyH?#8o<(gJgeEB7RVyy{LBc2xXb5aywW$Nt?%rfIK%$SG8DTXh)FKnr zg5Sml)xNdX&0OojrSNu`+dkY8z6IN1vp!%_Og)gSxPCrA(F-0)B`e&j zwc4Y}I`YfVnKk(e+S?V{-ey&ORHUe~UIm}xs3g0}?5Wq1>zF~rh+(a&T@V)RYMd5%W zeywyJ+@&$=;bjd@-4>~jMZ|Ze#5ZV+h;PESvmj$(MatGARaB1@s82~fcz3jV&;&rO zj;S80Db)iqURn?9$o0q+)guGyGg1%U9jzXjS5S}4leEsW z-W{zTG+B!=VgiJHW}aK5@^9E8K>{qbuL@p5Q(BQ`!E&N&{Vf@!}t?_*CwGn-BQ& zmi7m}1V<4#t@=21hU)9;3KtT~#VltxHfQh_Bh?<9$thFt*;E8GG2Uc}<0|i69f6xI z43nI7)^#lXGoC|K@o>I@z1l_RG;HbK2K#hY9XgcT3<{EimDqF`>R{S6cvJ#X)Wdn# zt;lma;TF1nJNvi_>YA)u!LOxP&=$6W{zWI6vx6_|`Z?_ncqiSXANKk0Mm{G!h}v?y zQ`Zeu@Gt6F3J#)E?pz8usM>8|8xhKZC)NOQeKK$m++$dgK z@leBx%{^$&X1y>oLhEOgNf~lOCg69%+6hE19M9A&~Fv0r72FFgJIdRd9b!aWM2DB(^` zP2PI6l8BQ>Z%xzjr=}({x{gllp+ETDaq~u{gOzr7b~?lvMT((-q&eshA6vO50+kSH z3pPwSlr(Drd|NnYM#zJf=xAL6qOvEn<4_8hzL^^=YS--(LDG`V=Z)|QT=N4jXmA_) zE+=oS+z@Ah7?*Fz;~Rfgv?RbWO_mBWpN4a2z*8ZSh)I zra{yeqV_2fFv5xOW%aC-#1hE~?d#105lwxd4w?nUhfRz% zW7U{w;KKKRJS#vI;Wedv&Qk>dp#fz~Ku9!(OLE!v4I9;r#03Qn+AJE0wHhrBT^wSS z{{@11vN2nj3`Ia*;|mLz_1dsPCJgLnr%~|)B{2Z)S=xIpUM%0#4+fdxRg6b?3 zaYb99;I+6dT9c~RVk^Y2v0~e|F+in}QyUEi)+o*ZJP5UIq8_;qV_c>gg4Mh_v=Wkt zsPUN{SGuP==Tg>kDri9xFF(h%=w}RV6p=GbQxvPp+IB-6aZ7BxV=?jOU}zJE#AG&J zlUq?(`x|$nb?2s(bqBLb2xKHP*7HK(S)f)lT0djmzY#6FE?3jn&PCQF#l(b*Xp%1=;nmuV#1{KXmir$B66ESWV4XV zyQ7iYJXLbDKc9r$33E@xN`x#g%iVktxp@$o7jk)bG;;G(CHJS3kxTI?bqgJlT(^i^ z7eu;3F7FcLmi1h?QzSR(@p1ov8RkB$z97Cb{7V&cjn>%wN;tc4XH(>^ZiHw7>Bbvyh zaPC`TCIeeh%|}ubW-`tnJRO0RN#n8(bD*?GpPtPLN&oiS%sL6wR+AA~J77A!dI9q- znj(rX8Q)J<@!>^-2HS_au|yN6UHa_gA5xD9F7=WE5tBIhBV}{cUTV&04Tdo z4-R2^3^pjB6?4>Zm|vF7AB= zw&309rLho4PqbIl|HNhXEcAyoz1CPIGS_+Z&pB=tR%bK*gWr1aTLzYAGgzL@;9QY! zJ!o=$HUs~5xID{%0eZWSK!t{9f$^CHW3fZxXpBYQBL7J07O-rHJhdQO z#tIQIXa_zRd8L>0O{m>XVGYSXZQdZd--0b?2awOkl6%x;bbOd>J@nnQ!^*H4Vw^c0+aF$V%Q?|fDS{oc%Jpg4?*m)p2S!+ zj8;^09O&q1!y>tiM>uH7QKqMFugj-Yz+Mg3D{FjgP_O2e4;bi-Ly|iQBT0+zP_!uK zh2WLAim?9(Z8GLFlq5~wfJG=BrKB0u(E`K5Jj3wRg;o)sU~K>=2R+VXRz^5mC_&-5H4bOu1J4%5R?oB+ zzqRm%Yi3!C&nw(@eN!4?e2%}k;9qxU&?hcZGOH-G4IT$nAPQ}>%7(UOsMb3$j;QE1 z^h>zVmUvY(uiYetCr{-hPhQmD@F)1LC6l)dr}N|t5OSXhz#n)u~@QTlu?5s zT}c=jl-ZS`bJ=mLqXi>oz+p%)7-1}p))aMIo00;qDwZs?fxMN-Rk41hFgCDOahy^y z6#j1II>!0&a>Fqc?WrX~?nENwP6CVMP6CT?Cvj#xngMqhCNP$RAx863qZu~NLJWj# zNDRG7KKRmVLFht@q+<|TE9#Y&Lt@YnOd5(3*ovu|L@LVA&Ao2G_m{v6BS{g`rZZ>Y zsklnpJbcfdsZq>w2AD1f744nClCxy^F2&=qVBNrnhh_xZmUsx&MuX@8vlIi&bUa~( zY)^506N(A6AjZ2xMZE}-Z5V-B@0H7}m8wh$f3if7xvs|GI(qXM$%W)>GD?Gy%OV_&{@z$imyRjHk#hSLj5t&|XrQwv%t=fp+|HYiSNqp;dz=KCoV zwjaRe4u@2Pd#(bATyAeyvxxgS;1NNLk_$?CxE#qv++Q&d--+g$XzpP|*=Hf{Dm3jg zp^v^srVy}8&;;m!-Ab;M!q^=-^I3wxzd zaa%UHu8X9uifScVc4w4k^&x!YyqU9!l~B6H%t zLcUS;1BwXoxQNgU=3<#)o=%czt{_@UfQrz~=2GM9rGyBIhL+rvH<>F5SUO<#kU+Lw zGdQjxC=i}>0jdVg#0?r!)To=4UoM8mPAniaQ)rTqFk6(|7`3r38T@wH))1$#smCzyF>hUiHQ;xH&-0K+NJf4ze+)JmWJCTn60 z0ygxtK&|3}ft?m0%U_Rfl#&<(=_y$*N0AQ<%?l&#lmi{%yfn_#JOcuS?xgn|vl3E6 zFpiEJRpGj@gEo}ZP*htZ8l-E5Qh8EaRnfb>M(SehcXrJ_vu$ z{Wmyf^=rrkR2&1r#(X~R+>MM_VDHBASRXlq(F4LC>&pp!I6tp!&xV==GtiO4H9}}& z1%M8fl{Z`kg2LvpXA3Z2k06~)ygnGF$j20*ffGGj7RQp1Fk6(IS3MiTs7uBu<>t|| z&@_ag#WShIRpAo@A}esYs|r07u2W1I?Rd%vkSoD?n0wd^Fyy=gX$yM}|YQ> z!@%-5i>Z{eA0m)X z1tr=I(6SoJh4-gER#OmaG$4n!W6;+q5bOBG`Wkl1R1`J`iCl+2*Z(HIeQsd6C-;x) z04i)^r27QJ2sRr)N-N>gK<`Ahx09>qQ^(g2Q9WVYWRMx7xEV)A{}Apl3~G0P+Tsa! z6q}|A?_ikEbS>rrXAfNh;vmBKgHyR(OFIC#kKSFuY&rWQ029T;(9 zDb7<0hz1Xa4jA^lQT}W(GNH>vC%sFKsGt$3O{8Y}tTX6Kfh@Ve`lprG>^9R{2q%(v z$rLhome^OYf$Ej*3ALqc&qmBv#2N)AOioq0o_AsjIES+<7v*O{a>)mSpi0W8J~Q#+)8M86s0o09IC5)#>j;hOXEh&o}e}0l7nVN z%{W1Y#V1xRW~hBGqf0PF>JvS);tFgF!rxBQ|yKV=TT*ln*KiM%)STF~?a1(a!T#hYWvrx@tXr?Fb?b$5?$ElO8v?|-ohzOK5mVTh-bMuL)w=-Z>*0Ha zanRpeX*LB%v0_6hca;@8Cn^CFh#;eSOrFCMv=!^Zisj-fmv|7>Cf$>kL9%;_Fo~}! zbl%7uRn28F>y({%G=Cu=X!RvX&-eq=&B)rtBR|=7&k8Jbkf(~Tu!yJGhH2Td(x(hV zS=@mf&@kjqBfn}bwi?0ER2xs=zwxWyHk~_9cpJxWoX{%!lCWUI?I*U4BD6i|S1F6o zW|yKKeD3ee<8AD%>aWO{jaLPpb1d)ieavpA7K`*@~Zao$P11N4vKVRF*7yK($lR(W_c)h zDLI^pA+tPIdzCUsIy4(uHjN_qM7+?K7~2X_lQyU!LB1Uq0zLRIP>Ql1Bqmz>E#b+e zKarly*q;cO3VIBI`Ou$e2tASqhK#%>1rGXhq=*9q-YRih)3>S3nS^8H)o^gCRSz)( z$(MDmDfY%XRn?$f>WLR?*vzzD*WiM0%XqMg!A3UBMsBgfffiU!!D9<4|ETO7V%h=^YU<+*5byD$o^ceR8t2e>6qFT`OKzj*VHHB+x-iE; zxCBD^=~LH4I&OersuRZlb@-1csSFJG4CewE=JceEE8sRpFvP+A4XiD^LmEe=(MK+* zl-xQAt?y!i1!gJ8v6br8lmfd6q1q2n>?8PeR4-$}bhMYyOa2YfKgEMyJyZ1^TrxIOw# z#z{%tW7I-=iNCB7#n%IsqMyIUEk-Ww>?UflCn*ovCLc1d_TLZrg{C zk(ELeA<~{t)l;cDp9(ZjpKQ3)$Yg|)KX^zJ@&_j@RE6q} zEaeXn)^G=w9O5oAP7f3u6IoYWPmp-Ho&ub9C8i=C!9J*{b6IW;8`7;|a1jh#?D3Oe zk_))?iV^~&+&8h}auMf$CQi(va;8$QI-zk`<`4dtV{-e>m~j5T!S=N@Pt^648^n zo3TilsBVE+98o4{T^@R@;^!QU%=o*&+Ft9LJn3VOGMLl_>m_rrjjYycXA(rlG|71c zMgZ#zFqP;MNFBz;+76CGbC__XHc#8vHE@y`rh$O$tVOmTS_vml?4F&IaLZ@e_ z4Qun2qDpb(2EGc2UBzkugDQW2;vt)Ss7^lQk`FTz4}o8oc=8*v14fuep&_)p3|c2FU10TSEO3gu73Y#TiO2(28H(lb(4t+nILsTx2_!|x zs6f*0+%_xd263ciHJZ2w_x{i`GJ3*+fupb_)RggbSjM=s8(+!bcek!Un=e8@5rUX{ zC2%%hgRu`fo2N%e{m^`{TW2`1BrrH*^(F1^gIa)5=;UQ#zZ!-+o{an|m%d{(K7(&( zx>!MIz%mFfb?_QvP{bDrAeF9KNitS!ywjUxiABZcdN#k9T7xZ)lZrB%)1_UHDAa$& z39&3Ar!K9)W16Ilauhj9r*I(~7`f36!i*SoFB!H-P7E+(0(`|QEC~g(K$kS) z9kvMIeOA54k)JK-mOHnL5s~{)nO+a8Umr912(N;7f7bS3{ zOPVt!1eVM5po#v>sf}f|helZ{j73u?G*~dD&|+8;;0f!FtR$kThD{vGfa_LMOgB^r zhq-YiN7VnYd=M?|Z-JDjav!3TjYB-TGL`?-%DDo)jQMZY{|1YY6q;TpV7>9(C434=!kT`GmekUdsOG{9N`svKMAg54Zhb-4wr= z1#*-dX~#Hl6_Oy?0w9*Y$I5M+b%pde^ei;x&KX$TmSdUG19Q)F`~wSX!2=xYrVnjU z25BmHAGJ?A&X1aeU17SH;hG52C8N zv2u#FHF9j1$;wlue5|{xYmh1hdvmBEbZR!rHPA==h7fMA!tFXF!1po}2`&Qk5|!Wr z++NI_gC%*=g}WtfklwV5QI|3C3yF9iB%RqU;?F{UdM@oB5@p9P&Qf>bJM3A{ z$8$?olAQ)N3%uJ6?+xQUYeD--4{<_i;J6c#FcTyo8#(9YmF1%bYgA9N^HO9FhgqDB zDl3Alr#>Nr;FcJ?FispS(qIfB*kYX~lVgzyC7!bU#75OQq`SxyI)~vOpcGR~L_7}P z($zHrr@xYON)ujCPDH*zQKIL{PP_mbE0>U3bv_?^0#4^+PtXUS=xuw+o}iM3GxSvG zNr_Tkimt%v9VA#(OgJS@MWO%bHGxe6N|Rdc{x&s#PWju_4bJs4{O$h%bI!WeuA(K7{^D3KrjuOu9eiC>M3wC-^*E>4--Y*63J& zn`d5R{;>ZJ&s_SZG&G;F(0F#bI+{C;p0FQ>EL!@kPUI(Bb+epz;3YmkIGvqwI^(5s zKkPT>m~VI!y_(2lLr&$9L4s~dV|3mp+z8n2D|z50IG96{o}A9(LvzfNE`dGj_vSh@ zitUfvvSFF|enID3fh3!eZ+MQVM9_!%;w1((<~yYG#a2w)-;8Xs{lA-IE)AZ_yPq>B7K+J^@DNh5k1z?jcQU2K0DWp}yGQ*ZEoLSnyJ2~bU2Yf?J z@>!MnlR9&l#=0`NL;c|zmAtVTuGQKmd2bK%R@`2Q9Kmhmy_|QF_Y&mY-bqW0g#SqA z4Ihur8+S2pu}ipBzERm~?G3Y5jc~4u@6yoK#V@oY;7{_t2zjHMg_+;tD6YWU6lIPe z4l)=h*nS1%8+j+l>(m_v=+zVrDSBLLb(lqy+FKAJ7-J$FZz3u>7{4b(y2sV`A$2X; z)ub}g8vrC*HE>&$k`1YW0}7}NSH}FopzQ-aG;r7B>Ni3Z;Ks+EJ!&^h;Skxvz(Q~q z4Cz02p4s-N+!F(d=T{Nw>SSx+BfV6gfXyTfI%Tt+ho@ReQBmQ@$rB?-Vmv^7ukB^~ zzcbHlTm>gtBn*iT1u(i1e;l=!gd76F+!?7D-oQI8Wtb84FFy(ANaB@)xe6|ZH?7l8 z{k50l91{x~7!>6TRxiK&@(RAkDb=0cbl>@FZw96>mF^7ev!3qn!)qRcjeUAt1tAjm zSy%e0b%?jjSJVBLT9?PS1l$~MFmFQDtc9@B<@o*;l~HYQ7mJ@fM70s}aH>0r#nJZ2 z3o{DIvVT^qIR_!d=rgS7H25iP65?WW3#Qe$ggu;(m`RaIl)@|<69uqs>5t{{Z|sP; zljfPJ?$CIWF9%~xrlu2BsIc%<&0z>n0Z*LAoKATQKm%6xsqPv3Y5B7{7aE3=EpEUR zA)JP@nq`2;5E^a~kFwYKN`5#-8;qSsBuExp2F?f}1~P%~(n?WgtkVllk<_N!A;kPa@=buuHUxo&a53+Ol zrv6|7+&oQmnRT6sk$5LKLxHN}3HFEifNK}C2e83||M(DrxbjQCe0hVqtW(f6>arT+ z-Kf#&WiWC>5%~k?_;4HGhatZF6aK^j8(~<;^tRyZ66bajy4121X zrj34U#(%HmJM8RXPODV9b_Ai|0Ecb4`nE{Q0AdPyMfC*DhkNxtOZnX z1jQCa1OcsBNDDB_Q2|k^g5njSOacn>ek9mo8F z!8kG*D4V6RSo553*bXTW%Inft%RXP>R^U|#8U^Cj6oHX_d8Q zudgjJdWS`04fBy|IB$_d(pUreNIDDeP)VD9M4RkYW3O(LVFiyNb_+Cx#9wk_I_u1K z%Ah8!Q{qm>!RvwwS<0N7!Uy$jo{%G(uv)>0i-dnl6IPv_lM;D?!TMp2$Zwjk{*FJR zX}P~?2CFWgYs%XDMOK%`{Q{7}mvfq*AEi{6$1=)uHfhHCI;BkU^Y8KVH)vj-W|E(O zyPqF$FLt;BpG0td3f5 zZ2{t0MifqVLEm=ZefRu2XaHkwi3Vmpjg!Nxx3$){{ zJPbUNTFZD2?I(n_+J}l{i5W|9Tr1X&h01GMvGkT00OYK^0DB7p{K?k^yn~!5;Cnde zA2sV8G|R@6Wx83Y7jkG9?Qy7M>ce`w3jQ}23-d=`|N6FO3EiCjAz?9c&HmgE0%}d7 zj_AcuV9s*AJ~_FpWyr&US<729PhSIKO%gqURWcII!%ju2m?P!IlwMH`Dlfgfa+%bI zC78a7U_^qtB)hd?o|?L%qRT6ixyaJp$$~;LAXn*85rI-ME20oP$jf?^kBWc>C*;BM znhLI{iEyKdQ&XC2p}loN_w&`(=_&{#N4I6M>RL2LP1(mVvI$;`d>Q^MFQv>E=$KVO z%2Hq8JLM^t`2xQw4=nKoZY>WiMqpR$jZyvj^3c^fDZR9WCB|LeWT&z6`SvXRI+SY9 zC!6PW=2M#Mi}Ja@*`8!qT}%`^W9V@OLjysptdq%-?aT1s>$J>~05@BZGBAh&<~Gn# z@m~>XE=XsocHHY3?F9Aq1!X%yjeS9GCkULYol*00bisyaLxh65t|<&tcc4d`OBH-NyUcm(zmNMoL1E0O6#|f&>Tc0wX`oMs5pH&0k3(YAK*^098{r!g9rLhRN(+Oghx2}_r`Q!OE@c$ zwJf%s?U%n=tUX&&v&ZV#dtaEHl%cV>4XWM~)Q z{Y3dt7uE>QD_vL?9-{^UB53*Zna1aWg<()r>g>yDrzH~in1*dcrtATMpc0G%OV~$4B^|Ik$tX23L#(*#0 z#|N`{lq2y5c4s9yQf1aaW|n8Wr#I_G*&ZFiYE_%9q{o1%IU6;&g*n^1d<6T0A%58? z*5>buZ8lmpWXx!4hPp@V7!}8Hh!{6hAHLTTiF!k zh`o(X#w3_~8_S{s@Yz?^xdSs{y?5pvm_i6!eJ)9*u>>fBZ#;~v992>(P zg)?p}n;tb^p&?mXs$$Cb#<2#->}_}#2rt|_?`98DVc*}w#xN=Sj%PpNtK|eXq)H)6 z#%(C#{t5L8<-!Rpt;S>(qA`!+6yi4(Q-p3j=*7S>tM){y#C=%4T14;1U z(@zKK=enoL?)S5Ys@t!OVHaox-$!Zz4CV;s7x%OFxS%4VA7GE6OLHG!wBWq=fLd_Q zKA@&)+=DEs9<`dfQvNi!E8=d>bD@LGa1I5QfmwUy&q%MW2@rPK?QK+ z$7r=7?C9%eB&*coouJP1){1#%?s?hERmN5S04BEo@i=3_QY z6^Ip5xqQp9K|U2PM?b=D1TJoTge_si z94-4l%6219?KOK;jX3?4fH>0_ zEikA8xPbLQ;}ODd@n3gzxEo2aKr8X~@MJWD@MpN2veUA3^W$ngdJf&Xjex~1>@%S6 za0_F=U^lH7vuJUl106TV&j@ zoyFIjNeVPd^O{PgLIDCq4w%jou_ld$Q|pRi@FH<}F^i|O?7mR7sZduGhmsZ5qKFxa zq=mHemmnr^et&}XXZI6R)Er+EXRx`|Q7mY(i>MNg zJsF)SVaaySWC`G8GG{V(+>`p9VJ4Wrfn^d|ZFtrU^_$1Uik=rIoYU z-0)vQ&^{1F^B37?4oga*VPz0*VN_$OT?RI+L@Ety#!gqa#E4)}B{_Qz=A4vE=CE%; z?jL&!bQ?0rLZ=gRcmgL zRZqRS6=c1MU>sRG!F$dEQCuV^Tuf)JixJD*p;jba&(5*-s#sdI@d_&HS%#I3#CwZz zhO1I|aE0DliA;uh7@P%xHSZpJh!wVod?jOW%Zn^6FVZUUB|+tW)gJPtDepk8wTRk` zgud3}TnDnFGTlLf*Ismi+!F2b)x@{peZo@vdo6vV8=J^o84Yl$u2Gg{(G=C*RfZ_| z4nVAp$Wr=(dqBPS2G3pus2a#cU+K7AVZmk{!4JWua*mSwr=SseJ)A}a`{AH87fym{ zuN-7Sa{!>j93||>XL}bOe8$X;z~CTz7FANCf z24~@}N*`7!aU!d!6E;s0WUYzLp{7!7ak&@zsZMAKL7=^h5*$*YswA>|2V{y?0Km}M zsdKH;^5oO1DC~__Q6t>xRF`Lvk1duKQP$_-q0{p+~2-hjw{nK_I15%;@ z*9`5_G;wuq-i8;Ei+1M~1-BvTl=>iZppdCze5w+5Kx(JwD{co{n1%ot-o1Y3_s6QV z5u5QCH!1%DCrWd7VSp9DtI+@|?>S_#2e1sGsK^G38uTMq29;hJv{x0UGE9rHOLkea z^}0hCX}xM%Rm?+pU=P;36z*BGl{QVXu=2GBG??0<39gTd5xwo=B6U3+j>SR`4+fd^ zw|LuA9p5SFDsY144`ePlS6=QmmUnhfpQay#7En4y2>l{37@?q<^6+BT0Ft1nC9DBX zmt4J&z}1U1v+(FW)&?l$;5m1mZRKg(vRGFe(liOJ>cW}{NroMf%PRmg|E+YKl6`V|FQqq=M}1$TA|Rj#r`R$S19E}-3fiu2Bs|_sx!Ulwg)Iu zK>J*r6+*WG17>9R0~7o{SVvNRAVCk}aYrYX7&APEYkr8yPpXT`qDV6I9+Vu+9fFZp zW+9Qo0BweJ6cYt(pB%Z2#lt>3UZ|XqlLl;zybtU~;b0f^vX$6hm~0f$@uSM?7G$@v!tx?Lb4{WeFVeeyluEE@&+( zmn^H{7M5GkB>?!LJ!bo$P~#36>&D7O_F}=Y9wkDLULYqrivq2TZgisy{dI@X^V907 za9mzeLe((qLP$?QBMg)SHwr>XO#qF=Tj``r9S}@k zk=BJ%#4Z!4sdc=IZ4ovWSK)gsVBnrDzJbWjJ9KWI|AKOrQ5Bx z!5A%=0V3rjHC~+9$Z4d`I0I*h+?s}itM}Vl8?wxUG#xlSK9EO;B}o)Z$67mETk9#7 z=mJW=fDS`J7ateEf39k6U zTNe;5UwVVp4B3@x{Xrk=>EokR>v#J2_6?R`TY7vSRAw>_5fmkO0mv6u~1sULXXo*6-!L?Hjj1Ii3J?@P;7~c-GkVV+|~vi zD+}IaHH{DPAy>SKhIz@ioqX?-?^pP8-_c3ARjoDg9C)DvdIMaYcox>ORynaTiVIPi zd5B$$YWBuk7u(t0!(-cPC~pC-;BadVV$a7|r=8g9>b8NfR;pM!bbYUiHC@NbY0J^X zY50&YE=R+rlJ6t(<&p0j_;UYfYgdziEdo`uHi)VzLP6Uitiw($EQMhEA*{VBb`fG{ zeD1Q&;n-G>0S;gaDgLyI2Vt~6D0ZoXZ5>}r(^V@!m`X1|{2IhRwFOT$=mfPP_M!sb zR0-%b^gSe)jU!PVUq`+74vi8OKO6BY5dWkv-mOF>!aAhlv46K7NBj(5e6rft2`evz z8UVFs>oLTCWH}x5DBHZkTBPFh5I+U+(|!5tl8T^{5f*hfSNB;>JK7-kK!U|80d62#PomrSvnwZ-wJYL_RXmiQtrdvJ zpB=v&@w74>Q1RJgtTzyiKRfyhM3X(}b1J%nI#IXklA?e{h&_mJi}->FYF}F&|2bMO ztyLJ1ty#J%ISOC7%Te@pr)OUyXBu)IQ909cRK*`Uh|r3T`GhqMM)SGVFvps+)kS}H zt$UF-1<^$+It2tV%R1~7ybqCXM6OklZViyn5Syt0wja?+h~BHBlX9$STU^%1PUdeA zi>J=4(<&CPseRnm+7f~8G<_Q#*wEJ6j1N`Lw@8TxAFMZ{sEM$Zx4y0QsT27fA|nyG zSw%(yET|+el(H&lABw^iiGzUsaw4kjoJ zcU)AUr>d0%>j%MZQva*k8;Xu}+rX8qR!2BkZJ7s`8tp|2+R|9TP;VqL1kvEu;Z$)O z>8>iCnBruUV$`;{A4;)xk)z#JY=utv&?sz`p^*>GKPnZ?L6G@#2(89;NEOQ2!(%3@ zICqTOOf-Lj!d4_eqw0jC>P%F1QjLjP-LkS8?c!molZ-*+`qgN zFk;vgPyhjSZ$xDeRa&leJ2ctOZ}*Y%L$mwuv*VHh^^jEDsNHB^Ff|`TOe_LjlE+dW zZIFd1l0vHCmpfLoS`f`0U2VU=gq&m0V`ZO?vcO=Tl5M!q1L`%MetYOj84!f*`w<7M zWFferN}?pioCI4@{t2_$HxM>d zNktZL#4&L>xbOs%4_qPsa161^;TS@r1h!xEerc{hZGjY6?XoIr2)GrUN1|kmwpPTI zRlTg|b!CbhC#o6h!PeLf-d=Bb^;QZyT^w#>Cxx97q@;S6gz=$W62^w;TBrq{flORd z#v_>GvKwu_lT5azuqDgLTJP6GNV4{fG!m zA~55WS`BMB8iIKTmOI!wv1U;;4J)z+TT}=sV$)4|dhv=hKSD^ABGOGRwg?EvoK=@# z@U7CJ7O0!bVehlSk&xSKc_ENou6v*5z#fc?)IGSm(}tnSutjFvjROgE1FDbMuMnNm z${R=y;AE>!1l`wHRgv-P2u&5#Gy#qg1fp%i;E6;^npiL}p?q|AsV%sF!!5_X4;cvV z)9M{4;NY|`oJxkVpsU6};6{=P!mWm+*N!HkGzjNCQJ6ar1fhSlO3|`_Kp$bEY$>$# zg(Ctvq34aPx!7vxB7&XVNS8+UhqI9`8*1ljKM%sj(J>aZA7au&#BX}jer!FcO=5l4rIH9PV`y=Y?O*4hf2kfiYwuTR_{WisqHoyA)xB(Pin@Kv0c?k zI{Nlado&31yog>=50e=m;aGl?eEcKUdN7GZG_?j-snn=3pBG_1TT^%@GcnI03S0)6 z3Ly-3E(kIA2ngp9q&%g#Kv{5_lQ9y|0O(Xld*I4y>sZrVC1pcC64wD`R63Gys*6E7 zA@n?>orQ#8<8ks3H~=PaGFYY5%2h7nqJ%(Sl$wCccM!WmRp|2A$f_<`yp9>k)f7M= zmd8mkouuT)05Fy-qKXTr4cyvPCVyVX+C;y3f?F$3&_p)}MVyss>)EvELVeFLnA%== zT&`QsdgC}ayqI;*C{R(5iW-r6I_e8!Skk(}`vYu&1d(NGN_B0@R}P}*{t6h@&Pa7VX~_O^w$2jX!X z5ApKUXUvKzI>F6TighE)5jx_(D>GZ3+{`)|?=th0x8>*TS{7V*65Tl|=WJnjl4{2m z=$Z|aPi$rR_=?-cn(-+@_TI)CMBp4#>vNbRy_2`G?u@-CKiST<8f2AF&fCHEXy08s z9bfkn$mITr#K9nYRG#R}Vn@P~4@5jzHiE1br(dp#Wy5+4F5x1?M9R{SN6`9@>+|>* zrerhngIy6=D1vZEt+UZWLHAC5Pa{H-MW1r`jUpaaq?O@iXf)u02;Fgn&sIuQK4o|r zK3f%0D0M+SF$J+F*geqDC}OI74VC^Oh9(W1ImVYJx~))%bYv-*t~?-6>HgiGLHWt> zvQCSu7IxwElvFSk-ImrdN=_I+&r0cMb&$(vcR2(k0;I=KX44>DYYCc#6Mo0;GHh_j zvS2VHs9Q+_73Ecpf}Ld)Y^ye^D*EVsBB%j~jMii%s-~?!s}zH%5reQKD2+DN4fSx8 zS{Nb0rtXn4BbwcZ7&`@gVx%GCC!;?~K8N?}X&hZ1vc4pghAARRE=I|5CTuT__=d^> z8HH0md$15@4_1(Gu;8-?E66ukfIhZ{dYpn_bgCixgrhdtWd>|uEkr+o3Pu+I6jqAn z(%w+7Yl67r9DsO6@D^|4RJp#eSoy%**H}e{WLU5!ATGY5riL7a6)ssCdVR- zAnBM47j9gR>xxncHi*MM9P1_u=#w0+mnaj|J4ofJh7}RbilR+cjDnDfr35^aN%BO) z9SvIIshV5`0}PIlxepQx^p;j>LX6#CW zDN(395)^`ZNUf}Lm5xCdru$_*t5V)Gstr3N6ri^QSemI#3Vf0&z`dFxmud z;_&D-F;7*(DR)&hHuxsineP07#TbHcctb&P!2%H=q6w0Q+UB86l-r0Ru0m~C5D7j6 zfxuIsBd5)|V&KTf-PQDd)6^@TzzCVS*y%tH4N9%HETD_Ts(}g^*nxmEBZiJ>0+fwF z@2G`HsxKUp0W4h6haE*bcSRj$U65UZ%8C^q9aVN0l%g26IhMSqgw-rxcAv(A!eJS>+4pOf8m;zhJ!(^yXKrQ#V>)Rq1%b9F1l)Vi-xq z(4qRc@=#cTcS2KuZ&7F~B~}XW@{cc|f3!q4+k@*_OJw&wXvPvbc8}A*82Q^C*41g{ zAiq|={-x7O|JDyc(wn|wJ?&QZ_qFnG+vBud>)$J$GlN=5`XFc}o>4&KX}U0L_DR|9 zYt|?n{EG8E?rYXC?i406y4;nr5%iI*2W6AXzh-e!S~+T^(s?V9yT4{RXk*8{>^cZ9 zp54m^Ra*!}HJ;N)m zpPG2Sw`hWVZ_zwEWnhe4^eu}f5kh_E$SxTk`Te&nAsRvYP#Qsbr)7tlJU)#2k6pox z)6)2kO|F9j51Qp_a*u_2K?K$oGU-I8Z4a66d5gYdLm1k3{vg{$9OSlAmJ*5n`X;%& zPzr`~wY=?nmfCJL&;m5rR4%kEm5WW5a&Z+;xv)&7+&J4!f-5(F4;}jbveOT^%&=Mx z`GK|mFADqY2UedNd;ABM;?M5N+CQTB^|I}c>~>rtEc%hXA2&^@pJBWdHeu8i;R6K6 zA7aula$Vz7Zj3xVu+m^H5M zf6h(x9TTGHw0!C?s~-w(2DO+U%C(1CR@4tdtL?afMg=nTCtTK@DrD!M*frfCQ-SUz zgfCD^!J+w7K^Eok4Z~irn&QDSL~8_sAP|BNN+Wu?4+Y+a5~>otA13$z#0EwDNX%#! zG%(H6vfa;Y5<4tc|IF&K3v&O@ERjEE$g@AQ&sl-oa0FL03gn+hST;tf!!N8OjBiZ( zh4o-V@%8G{3AIIWMWueg_{`?#3)||o=9Ux;Lwy=-pm0A+CDM7a@0_4gC z^=P%Rm!poc&b6p9+)5!RDD`a)olQbP;2~;QcMJ;>u5xMT_hVF_H|{vr683@YU&cNL z633hX{rEuMb^;r{M_)aAf*EY9Ja+~PrrYFKzq5sKCY)vU5xC$i>yf^l_9iHw*fJ74 zVcP+%{~h=OmFb~~8#V#N0@JWWpJQ?9)J8;Rlt;F-DIY>LJycl~J(Sm;W20&Ay?c(; zBlo~L))0LNI_Ie}y6lp{OZ{(Bq?$tMQRjIIj-KOU}ozT~Y{M4^FD!HxVhBBVb+}q$C(^ zCqhC);RzyY5)MiNVY@pL)I`=cc-@NRzOTXCvNhi61`lJ|{_PJUY%&xop*0P$%_nvp zOE+}RoHizvhq@_L?hNA9YuX*azSGG9@`cDhgSaAlt%CWTHJr9$KZVHwl@6R5pdYJ) z`LGHkJ|Tp^j~jY>Lil_@c}%DR_S{hFymw6~Z_hy7PKEI{a2kj6+A$YlhAN_KTzc0* zedoNfEpYyC_FT@K!Z0@Y%_N@|aGe))$!< z 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

(IoJSqf!pr}NDRVHO5wSqm7+>&5 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 delta 143900 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 c{s0rb(N4fX2c{IT1rtKua@i-CRYb4&f2=