crc64.js 947 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990
  1. (function () {
  2. var CRC_BASE = (function () {
  3. // The Module object: Our interface to the outside world. We import
  4. // and export values on it, and do the work to get that through
  5. // closure compiler if necessary. There are various ways Module can be used:
  6. // 1. Not defined. We create it here
  7. // 2. A function parameter, function(Module) { ..generated code.. }
  8. // 3. pre-run appended it, var Module = {}; ..generated code..
  9. // 4. External script tag defines var Module.
  10. // We need to do an eval in order to handle the closure compiler
  11. // case, where this code here is minified but Module was defined
  12. // elsewhere (e.g. case 4 above). We also need to check if Module
  13. // already exists (e.g. case 3 above).
  14. // Note that if you want to run closure, and also to use Module
  15. // after the generated code, you will need to define var Module = {};
  16. // before the code. Then that object will be used in the code, and you
  17. // can continue to use Module afterwards as well.
  18. var Module;
  19. if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {};
  20. // Sometimes an existing Module object exists with properties
  21. // meant to overwrite the default module functionality. Here
  22. // we collect those properties and reapply _after_ we configure
  23. // the current environment's defaults to avoid having to be so
  24. // defensive during initialization.
  25. var moduleOverrides = {};
  26. for (var key in Module) {
  27. if (Module.hasOwnProperty(key)) {
  28. moduleOverrides[key] = Module[key];
  29. }
  30. }
  31. // The environment setup code below is customized to use Module.
  32. // *** Environment setup code ***
  33. var ENVIRONMENT_IS_WEB = false;
  34. var ENVIRONMENT_IS_WORKER = false;
  35. var ENVIRONMENT_IS_NODE = false;
  36. var ENVIRONMENT_IS_SHELL = false;
  37. // Three configurations we can be running in:
  38. // 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
  39. // 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
  40. // 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
  41. if (Module['ENVIRONMENT']) {
  42. if (Module['ENVIRONMENT'] === 'WEB') {
  43. ENVIRONMENT_IS_WEB = true;
  44. } else if (Module['ENVIRONMENT'] === 'WORKER') {
  45. ENVIRONMENT_IS_WORKER = true;
  46. } else if (Module['ENVIRONMENT'] === 'NODE') {
  47. ENVIRONMENT_IS_NODE = true;
  48. } else if (Module['ENVIRONMENT'] === 'SHELL') {
  49. ENVIRONMENT_IS_SHELL = true;
  50. } else {
  51. throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.');
  52. }
  53. } else {
  54. ENVIRONMENT_IS_WEB = typeof window === 'object';
  55. ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
  56. ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
  57. ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
  58. }
  59. if (ENVIRONMENT_IS_NODE) {
  60. // Expose functionality in the same simple way that the shells work
  61. // Note that we pollute the global namespace here, otherwise we break in node
  62. if (!Module['print']) Module['print'] = console.log;
  63. if (!Module['printErr']) Module['printErr'] = console.warn;
  64. var nodeFS;
  65. var nodePath;
  66. Module['read'] = function shell_read(filename, binary) {
  67. if (!nodeFS) nodeFS = require('fs');
  68. if (!nodePath) nodePath = require('path');
  69. filename = nodePath['normalize'](filename);
  70. var ret = nodeFS['readFileSync'](filename);
  71. return binary ? ret : ret.toString();
  72. };
  73. Module['readBinary'] = function readBinary(filename) {
  74. var ret = Module['read'](filename, true);
  75. if (!ret.buffer) {
  76. ret = new Uint8Array(ret);
  77. }
  78. assert(ret.buffer);
  79. return ret;
  80. };
  81. Module['load'] = function load(f) {
  82. globalEval(read(f));
  83. };
  84. if (!Module['thisProgram']) {
  85. if (process['argv'].length > 1) {
  86. Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
  87. } else {
  88. Module['thisProgram'] = 'unknown-program';
  89. }
  90. }
  91. Module['arguments'] = process['argv'].slice(2);
  92. if (typeof module !== 'undefined') {
  93. module['exports'] = Module;
  94. }
  95. process['on']('uncaughtException', function(ex) {
  96. // suppress ExitStatus exceptions from showing an error
  97. if (!(ex instanceof ExitStatus)) {
  98. throw ex;
  99. }
  100. });
  101. Module['inspect'] = function () { return '[Emscripten Module object]'; };
  102. }
  103. else if (ENVIRONMENT_IS_SHELL) {
  104. if (!Module['print']) Module['print'] = print;
  105. if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
  106. if (typeof read != 'undefined') {
  107. Module['read'] = read;
  108. } else {
  109. Module['read'] = function shell_read() { throw 'no read() available' };
  110. }
  111. Module['readBinary'] = function readBinary(f) {
  112. if (typeof readbuffer === 'function') {
  113. return new Uint8Array(readbuffer(f));
  114. }
  115. var data = read(f, 'binary');
  116. assert(typeof data === 'object');
  117. return data;
  118. };
  119. if (typeof scriptArgs != 'undefined') {
  120. Module['arguments'] = scriptArgs;
  121. } else if (typeof arguments != 'undefined') {
  122. Module['arguments'] = arguments;
  123. }
  124. if (typeof quit === 'function') {
  125. Module['quit'] = function(status, toThrow) {
  126. quit(status);
  127. }
  128. }
  129. }
  130. else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  131. Module['read'] = function shell_read(url) {
  132. var xhr = new XMLHttpRequest();
  133. xhr.open('GET', url, false);
  134. xhr.send(null);
  135. return xhr.responseText;
  136. };
  137. if (ENVIRONMENT_IS_WORKER) {
  138. Module['readBinary'] = function readBinary(url) {
  139. var xhr = new XMLHttpRequest();
  140. xhr.open('GET', url, false);
  141. xhr.responseType = 'arraybuffer';
  142. xhr.send(null);
  143. return new Uint8Array(xhr.response);
  144. };
  145. }
  146. Module['readAsync'] = function readAsync(url, onload, onerror) {
  147. var xhr = new XMLHttpRequest();
  148. xhr.open('GET', url, true);
  149. xhr.responseType = 'arraybuffer';
  150. xhr.onload = function xhr_onload() {
  151. if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
  152. onload(xhr.response);
  153. } else {
  154. onerror();
  155. }
  156. };
  157. xhr.onerror = onerror;
  158. xhr.send(null);
  159. };
  160. if (typeof arguments != 'undefined') {
  161. Module['arguments'] = arguments;
  162. }
  163. if (typeof console !== 'undefined') {
  164. if (!Module['print']) Module['print'] = function shell_print(x) {
  165. console.log(x);
  166. };
  167. if (!Module['printErr']) Module['printErr'] = function shell_printErr(x) {
  168. console.warn(x);
  169. };
  170. } else {
  171. // Probably a worker, and without console.log. We can do very little here...
  172. var TRY_USE_DUMP = false;
  173. if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
  174. dump(x);
  175. }) : (function(x) {
  176. // self.postMessage(x); // enable this if you want stdout to be sent as messages
  177. }));
  178. }
  179. if (ENVIRONMENT_IS_WORKER) {
  180. Module['load'] = importScripts;
  181. }
  182. if (typeof Module['setWindowTitle'] === 'undefined') {
  183. Module['setWindowTitle'] = function(title) { document.title = title };
  184. }
  185. }
  186. else {
  187. // Unreachable because SHELL is dependant on the others
  188. throw 'Unknown runtime environment. Where are we?';
  189. }
  190. function globalEval(x) {
  191. eval.call(null, x);
  192. }
  193. if (!Module['load'] && Module['read']) {
  194. Module['load'] = function load(f) {
  195. globalEval(Module['read'](f));
  196. };
  197. }
  198. if (!Module['print']) {
  199. Module['print'] = function(){};
  200. }
  201. if (!Module['printErr']) {
  202. Module['printErr'] = Module['print'];
  203. }
  204. if (!Module['arguments']) {
  205. Module['arguments'] = [];
  206. }
  207. if (!Module['thisProgram']) {
  208. Module['thisProgram'] = './this.program';
  209. }
  210. if (!Module['quit']) {
  211. Module['quit'] = function(status, toThrow) {
  212. throw toThrow;
  213. }
  214. }
  215. // *** Environment setup code ***
  216. // Closure helpers
  217. Module.print = Module['print'];
  218. Module.printErr = Module['printErr'];
  219. // Callbacks
  220. Module['preRun'] = [];
  221. Module['postRun'] = [];
  222. // Merge back in the overrides
  223. for (var key in moduleOverrides) {
  224. if (moduleOverrides.hasOwnProperty(key)) {
  225. Module[key] = moduleOverrides[key];
  226. }
  227. }
  228. // Free the object hierarchy contained in the overrides, this lets the GC
  229. // reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
  230. moduleOverrides = undefined;
  231. // {{PREAMBLE_ADDITIONS}}
  232. // === Preamble library stuff ===
  233. // Documentation for the public APIs defined in this file must be updated in:
  234. // site/source/docs/api_reference/preamble.js.rst
  235. // A prebuilt local version of the documentation is available at:
  236. // site/build/text/docs/api_reference/preamble.js.txt
  237. // You can also build docs locally as HTML or other formats in site/
  238. // An online HTML version (which may be of a different version of Emscripten)
  239. // is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
  240. //========================================
  241. // Runtime code shared with compiler
  242. //========================================
  243. var Runtime = {
  244. setTempRet0: function (value) {
  245. tempRet0 = value;
  246. return value;
  247. },
  248. getTempRet0: function () {
  249. return tempRet0;
  250. },
  251. stackSave: function () {
  252. return STACKTOP;
  253. },
  254. stackRestore: function (stackTop) {
  255. STACKTOP = stackTop;
  256. },
  257. getNativeTypeSize: function (type) {
  258. switch (type) {
  259. case 'i1': case 'i8': return 1;
  260. case 'i16': return 2;
  261. case 'i32': return 4;
  262. case 'i64': return 8;
  263. case 'float': return 4;
  264. case 'double': return 8;
  265. default: {
  266. if (type[type.length-1] === '*') {
  267. return Runtime.QUANTUM_SIZE; // A pointer
  268. } else if (type[0] === 'i') {
  269. var bits = parseInt(type.substr(1));
  270. assert(bits % 8 === 0);
  271. return bits/8;
  272. } else {
  273. return 0;
  274. }
  275. }
  276. }
  277. },
  278. getNativeFieldSize: function (type) {
  279. return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
  280. },
  281. STACK_ALIGN: 16,
  282. prepVararg: function (ptr, type) {
  283. if (type === 'double' || type === 'i64') {
  284. // move so the load is aligned
  285. if (ptr & 7) {
  286. assert((ptr & 7) === 4);
  287. ptr += 4;
  288. }
  289. } else {
  290. assert((ptr & 3) === 0);
  291. }
  292. return ptr;
  293. },
  294. getAlignSize: function (type, size, vararg) {
  295. // we align i64s and doubles on 64-bit boundaries, unlike x86
  296. if (!vararg && (type == 'i64' || type == 'double')) return 8;
  297. if (!type) return Math.min(size, 8); // align structures internally to 64 bits
  298. return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE);
  299. },
  300. dynCall: function (sig, ptr, args) {
  301. if (args && args.length) {
  302. assert(args.length == sig.length-1);
  303. assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
  304. return Module['dynCall_' + sig].apply(null, [ptr].concat(args));
  305. } else {
  306. assert(sig.length == 1);
  307. assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
  308. return Module['dynCall_' + sig].call(null, ptr);
  309. }
  310. },
  311. functionPointers: [],
  312. addFunction: function (func) {
  313. for (var i = 0; i < Runtime.functionPointers.length; i++) {
  314. if (!Runtime.functionPointers[i]) {
  315. Runtime.functionPointers[i] = func;
  316. return 2*(1 + i);
  317. }
  318. }
  319. throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
  320. },
  321. removeFunction: function (index) {
  322. Runtime.functionPointers[(index-2)/2] = null;
  323. },
  324. warnOnce: function (text) {
  325. if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
  326. if (!Runtime.warnOnce.shown[text]) {
  327. Runtime.warnOnce.shown[text] = 1;
  328. Module.printErr(text);
  329. }
  330. },
  331. funcWrappers: {},
  332. getFuncWrapper: function (func, sig) {
  333. assert(sig);
  334. if (!Runtime.funcWrappers[sig]) {
  335. Runtime.funcWrappers[sig] = {};
  336. }
  337. var sigCache = Runtime.funcWrappers[sig];
  338. if (!sigCache[func]) {
  339. // optimize away arguments usage in common cases
  340. if (sig.length === 1) {
  341. sigCache[func] = function dynCall_wrapper() {
  342. return Runtime.dynCall(sig, func);
  343. };
  344. } else if (sig.length === 2) {
  345. sigCache[func] = function dynCall_wrapper(arg) {
  346. return Runtime.dynCall(sig, func, [arg]);
  347. };
  348. } else {
  349. // general case
  350. sigCache[func] = function dynCall_wrapper() {
  351. return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments));
  352. };
  353. }
  354. }
  355. return sigCache[func];
  356. },
  357. getCompilerSetting: function (name) {
  358. throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work';
  359. },
  360. stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; },
  361. staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; },
  362. dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;},
  363. alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; },
  364. makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; },
  365. GLOBAL_BASE: 8,
  366. QUANTUM_SIZE: 4,
  367. __dummy__: 0
  368. }
  369. Module["Runtime"] = Runtime;
  370. //========================================
  371. // Runtime essentials
  372. //========================================
  373. var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort()
  374. var EXITSTATUS = 0;
  375. /** @type {function(*, string=)} */
  376. function assert(condition, text) {
  377. if (!condition) {
  378. abort('Assertion failed: ' + text);
  379. }
  380. }
  381. var globalScope = this;
  382. // Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
  383. function getCFunc(ident) {
  384. var func = Module['_' + ident]; // closure exported function
  385. if (!func) {
  386. try { func = eval('_' + ident); } catch(e) {}
  387. }
  388. assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
  389. return func;
  390. }
  391. var cwrap, ccall;
  392. (function(){
  393. var JSfuncs = {
  394. // Helpers for cwrap -- it can't refer to Runtime directly because it might
  395. // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
  396. // out what the minified function name is.
  397. 'stackSave': function() {
  398. Runtime.stackSave()
  399. },
  400. 'stackRestore': function() {
  401. Runtime.stackRestore()
  402. },
  403. // type conversion from js to c
  404. 'arrayToC' : function(arr) {
  405. var ret = Runtime.stackAlloc(arr.length);
  406. writeArrayToMemory(arr, ret);
  407. return ret;
  408. },
  409. 'stringToC' : function(str) {
  410. var ret = 0;
  411. if (str !== null && str !== undefined && str !== 0) { // null string
  412. // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
  413. var len = (str.length << 2) + 1;
  414. ret = Runtime.stackAlloc(len);
  415. stringToUTF8(str, ret, len);
  416. }
  417. return ret;
  418. }
  419. };
  420. // For fast lookup of conversion functions
  421. var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']};
  422. // C calling interface.
  423. ccall = function ccallFunc(ident, returnType, argTypes, args, opts) {
  424. var func = getCFunc(ident);
  425. var cArgs = [];
  426. var stack = 0;
  427. assert(returnType !== 'array', 'Return type should not be "array".');
  428. if (args) {
  429. for (var i = 0; i < args.length; i++) {
  430. var converter = toC[argTypes[i]];
  431. if (converter) {
  432. if (stack === 0) stack = Runtime.stackSave();
  433. cArgs[i] = converter(args[i]);
  434. } else {
  435. cArgs[i] = args[i];
  436. }
  437. }
  438. }
  439. var ret = func.apply(null, cArgs);
  440. if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') {
  441. assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall');
  442. }
  443. if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values');
  444. if (returnType === 'string') ret = Pointer_stringify(ret);
  445. if (stack !== 0) {
  446. if (opts && opts.async) {
  447. EmterpreterAsync.asyncFinalizers.push(function() {
  448. Runtime.stackRestore(stack);
  449. });
  450. return;
  451. }
  452. Runtime.stackRestore(stack);
  453. }
  454. return ret;
  455. }
  456. var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;
  457. function parseJSFunc(jsfunc) {
  458. // Match the body and the return value of a javascript function source
  459. var parsed = jsfunc.toString().match(sourceRegex).slice(1);
  460. return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]}
  461. }
  462. // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file
  463. var JSsource = null;
  464. function ensureJSsource() {
  465. if (!JSsource) {
  466. JSsource = {};
  467. for (var fun in JSfuncs) {
  468. if (JSfuncs.hasOwnProperty(fun)) {
  469. // Elements of toCsource are arrays of three items:
  470. // the code, and the return value
  471. JSsource[fun] = parseJSFunc(JSfuncs[fun]);
  472. }
  473. }
  474. }
  475. }
  476. cwrap = function cwrap(ident, returnType, argTypes) {
  477. argTypes = argTypes || [];
  478. var cfunc = getCFunc(ident);
  479. // When the function takes numbers and returns a number, we can just return
  480. // the original function
  481. var numericArgs = argTypes.every(function(type){ return type === 'number'});
  482. var numericRet = (returnType !== 'string');
  483. if ( numericRet && numericArgs) {
  484. return cfunc;
  485. }
  486. // Creation of the arguments list (["$1","$2",...,"$nargs"])
  487. var argNames = argTypes.map(function(x,i){return '$'+i});
  488. var funcstr = "(function(" + argNames.join(',') + ") {";
  489. var nargs = argTypes.length;
  490. if (!numericArgs) {
  491. // Generate the code needed to convert the arguments from javascript
  492. // values to pointers
  493. ensureJSsource();
  494. funcstr += 'var stack = ' + JSsource['stackSave'].body + ';';
  495. for (var i = 0; i < nargs; i++) {
  496. var arg = argNames[i], type = argTypes[i];
  497. if (type === 'number') continue;
  498. var convertCode = JSsource[type + 'ToC']; // [code, return]
  499. funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';';
  500. funcstr += convertCode.body + ';';
  501. funcstr += arg + '=(' + convertCode.returnValue + ');';
  502. }
  503. }
  504. // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore
  505. var cfuncname = parseJSFunc(function(){return cfunc}).returnValue;
  506. // Call the function
  507. funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');';
  508. if (!numericRet) { // Return type can only by 'string' or 'number'
  509. // Convert the result to a string
  510. var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue;
  511. funcstr += 'ret = ' + strgfy + '(ret);';
  512. }
  513. funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }";
  514. if (!numericArgs) {
  515. // If we had a stack, restore it
  516. ensureJSsource();
  517. funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';';
  518. }
  519. funcstr += 'return ret})';
  520. return eval(funcstr);
  521. };
  522. })();
  523. Module["ccall"] = ccall;
  524. Module["cwrap"] = cwrap;
  525. /** @type {function(number, number, string, boolean=)} */
  526. function setValue(ptr, value, type, noSafe) {
  527. type = type || 'i8';
  528. if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
  529. switch(type) {
  530. case 'i1': HEAP8[((ptr)>>0)]=value; break;
  531. case 'i8': HEAP8[((ptr)>>0)]=value; break;
  532. case 'i16': HEAP16[((ptr)>>1)]=value; break;
  533. case 'i32': HEAP32[((ptr)>>2)]=value; break;
  534. case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
  535. case 'float': HEAPF32[((ptr)>>2)]=value; break;
  536. case 'double': HEAPF64[((ptr)>>3)]=value; break;
  537. default: abort('invalid type for setValue: ' + type);
  538. }
  539. }
  540. Module["setValue"] = setValue;
  541. /** @type {function(number, string, boolean=)} */
  542. function getValue(ptr, type, noSafe) {
  543. type = type || 'i8';
  544. if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
  545. switch(type) {
  546. case 'i1': return HEAP8[((ptr)>>0)];
  547. case 'i8': return HEAP8[((ptr)>>0)];
  548. case 'i16': return HEAP16[((ptr)>>1)];
  549. case 'i32': return HEAP32[((ptr)>>2)];
  550. case 'i64': return HEAP32[((ptr)>>2)];
  551. case 'float': return HEAPF32[((ptr)>>2)];
  552. case 'double': return HEAPF64[((ptr)>>3)];
  553. default: abort('invalid type for setValue: ' + type);
  554. }
  555. return null;
  556. }
  557. Module["getValue"] = getValue;
  558. var ALLOC_NORMAL = 0; // Tries to use _malloc()
  559. var ALLOC_STACK = 1; // Lives for the duration of the current function call
  560. var ALLOC_STATIC = 2; // Cannot be freed
  561. var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
  562. var ALLOC_NONE = 4; // Do not allocate
  563. Module["ALLOC_NORMAL"] = ALLOC_NORMAL;
  564. Module["ALLOC_STACK"] = ALLOC_STACK;
  565. Module["ALLOC_STATIC"] = ALLOC_STATIC;
  566. Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC;
  567. Module["ALLOC_NONE"] = ALLOC_NONE;
  568. // allocate(): This is for internal use. You can use it yourself as well, but the interface
  569. // is a little tricky (see docs right below). The reason is that it is optimized
  570. // for multiple syntaxes to save space in generated code. So you should
  571. // normally not use allocate(), and instead allocate memory using _malloc(),
  572. // initialize it with setValue(), and so forth.
  573. // @slab: An array of data, or a number. If a number, then the size of the block to allocate,
  574. // in *bytes* (note that this is sometimes confusing: the next parameter does not
  575. // affect this!)
  576. // @types: Either an array of types, one for each byte (or 0 if no type at that position),
  577. // or a single type which is used for the entire block. This only matters if there
  578. // is initial data - if @slab is a number, then this does not matter at all and is
  579. // ignored.
  580. // @allocator: How to allocate memory, see ALLOC_*
  581. /** @type {function((TypedArray|Array<number>|number), string, number, number=)} */
  582. function allocate(slab, types, allocator, ptr) {
  583. var zeroinit, size;
  584. if (typeof slab === 'number') {
  585. zeroinit = true;
  586. size = slab;
  587. } else {
  588. zeroinit = false;
  589. size = slab.length;
  590. }
  591. var singleType = typeof types === 'string' ? types : null;
  592. var ret;
  593. if (allocator == ALLOC_NONE) {
  594. ret = ptr;
  595. } else {
  596. ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
  597. }
  598. if (zeroinit) {
  599. var ptr = ret, stop;
  600. assert((ret & 3) == 0);
  601. stop = ret + (size & ~3);
  602. for (; ptr < stop; ptr += 4) {
  603. HEAP32[((ptr)>>2)]=0;
  604. }
  605. stop = ret + size;
  606. while (ptr < stop) {
  607. HEAP8[((ptr++)>>0)]=0;
  608. }
  609. return ret;
  610. }
  611. if (singleType === 'i8') {
  612. if (slab.subarray || slab.slice) {
  613. HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret);
  614. } else {
  615. HEAPU8.set(new Uint8Array(slab), ret);
  616. }
  617. return ret;
  618. }
  619. var i = 0, type, typeSize, previousType;
  620. while (i < size) {
  621. var curr = slab[i];
  622. if (typeof curr === 'function') {
  623. curr = Runtime.getFunctionIndex(curr);
  624. }
  625. type = singleType || types[i];
  626. if (type === 0) {
  627. i++;
  628. continue;
  629. }
  630. assert(type, 'Must know what type to store in allocate!');
  631. if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
  632. setValue(ret+i, curr, type);
  633. // no need to look up size unless type changes, so cache it
  634. if (previousType !== type) {
  635. typeSize = Runtime.getNativeTypeSize(type);
  636. previousType = type;
  637. }
  638. i += typeSize;
  639. }
  640. return ret;
  641. }
  642. Module["allocate"] = allocate;
  643. // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready
  644. function getMemory(size) {
  645. if (!staticSealed) return Runtime.staticAlloc(size);
  646. if (!runtimeInitialized) return Runtime.dynamicAlloc(size);
  647. return _malloc(size);
  648. }
  649. Module["getMemory"] = getMemory;
  650. /** @type {function(number, number=)} */
  651. function Pointer_stringify(ptr, length) {
  652. if (length === 0 || !ptr) return '';
  653. // TODO: use TextDecoder
  654. // Find the length, and check for UTF while doing so
  655. var hasUtf = 0;
  656. var t;
  657. var i = 0;
  658. while (1) {
  659. assert(ptr + i < TOTAL_MEMORY);
  660. t = HEAPU8[(((ptr)+(i))>>0)];
  661. hasUtf |= t;
  662. if (t == 0 && !length) break;
  663. i++;
  664. if (length && i == length) break;
  665. }
  666. if (!length) length = i;
  667. var ret = '';
  668. if (hasUtf < 128) {
  669. var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
  670. var curr;
  671. while (length > 0) {
  672. curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
  673. ret = ret ? ret + curr : curr;
  674. ptr += MAX_CHUNK;
  675. length -= MAX_CHUNK;
  676. }
  677. return ret;
  678. }
  679. return Module['UTF8ToString'](ptr);
  680. }
  681. Module["Pointer_stringify"] = Pointer_stringify;
  682. // Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
  683. // a copy of that string as a Javascript String object.
  684. function AsciiToString(ptr) {
  685. var str = '';
  686. while (1) {
  687. var ch = HEAP8[((ptr++)>>0)];
  688. if (!ch) return str;
  689. str += String.fromCharCode(ch);
  690. }
  691. }
  692. Module["AsciiToString"] = AsciiToString;
  693. // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
  694. // null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
  695. function stringToAscii(str, outPtr) {
  696. return writeAsciiToMemory(str, outPtr, false);
  697. }
  698. Module["stringToAscii"] = stringToAscii;
  699. // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
  700. // a copy of that string as a Javascript String object.
  701. var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
  702. function UTF8ArrayToString(u8Array, idx) {
  703. var endPtr = idx;
  704. // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
  705. // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
  706. while (u8Array[endPtr]) ++endPtr;
  707. if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
  708. return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
  709. } else {
  710. var u0, u1, u2, u3, u4, u5;
  711. var str = '';
  712. while (1) {
  713. // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
  714. u0 = u8Array[idx++];
  715. if (!u0) return str;
  716. if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
  717. u1 = u8Array[idx++] & 63;
  718. if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
  719. u2 = u8Array[idx++] & 63;
  720. if ((u0 & 0xF0) == 0xE0) {
  721. u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
  722. } else {
  723. u3 = u8Array[idx++] & 63;
  724. if ((u0 & 0xF8) == 0xF0) {
  725. u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
  726. } else {
  727. u4 = u8Array[idx++] & 63;
  728. if ((u0 & 0xFC) == 0xF8) {
  729. u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;
  730. } else {
  731. u5 = u8Array[idx++] & 63;
  732. u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;
  733. }
  734. }
  735. }
  736. if (u0 < 0x10000) {
  737. str += String.fromCharCode(u0);
  738. } else {
  739. var ch = u0 - 0x10000;
  740. str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
  741. }
  742. }
  743. }
  744. }
  745. Module["UTF8ArrayToString"] = UTF8ArrayToString;
  746. // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns
  747. // a copy of that string as a Javascript String object.
  748. function UTF8ToString(ptr) {
  749. return UTF8ArrayToString(HEAPU8,ptr);
  750. }
  751. Module["UTF8ToString"] = UTF8ToString;
  752. // Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
  753. // encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.
  754. // Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
  755. // Parameters:
  756. // str: the Javascript string to copy.
  757. // outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
  758. // outIdx: The starting offset in the array to begin the copying.
  759. // maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
  760. // terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
  761. // maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
  762. // Returns the number of bytes written, EXCLUDING the null terminator.
  763. function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
  764. if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
  765. return 0;
  766. var startIdx = outIdx;
  767. var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
  768. for (var i = 0; i < str.length; ++i) {
  769. // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
  770. // See http://unicode.org/faq/utf_bom.html#utf16-3
  771. // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
  772. var u = str.charCodeAt(i); // possibly a lead surrogate
  773. if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
  774. if (u <= 0x7F) {
  775. if (outIdx >= endIdx) break;
  776. outU8Array[outIdx++] = u;
  777. } else if (u <= 0x7FF) {
  778. if (outIdx + 1 >= endIdx) break;
  779. outU8Array[outIdx++] = 0xC0 | (u >> 6);
  780. outU8Array[outIdx++] = 0x80 | (u & 63);
  781. } else if (u <= 0xFFFF) {
  782. if (outIdx + 2 >= endIdx) break;
  783. outU8Array[outIdx++] = 0xE0 | (u >> 12);
  784. outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
  785. outU8Array[outIdx++] = 0x80 | (u & 63);
  786. } else if (u <= 0x1FFFFF) {
  787. if (outIdx + 3 >= endIdx) break;
  788. outU8Array[outIdx++] = 0xF0 | (u >> 18);
  789. outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
  790. outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
  791. outU8Array[outIdx++] = 0x80 | (u & 63);
  792. } else if (u <= 0x3FFFFFF) {
  793. if (outIdx + 4 >= endIdx) break;
  794. outU8Array[outIdx++] = 0xF8 | (u >> 24);
  795. outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
  796. outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
  797. outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
  798. outU8Array[outIdx++] = 0x80 | (u & 63);
  799. } else {
  800. if (outIdx + 5 >= endIdx) break;
  801. outU8Array[outIdx++] = 0xFC | (u >> 30);
  802. outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);
  803. outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
  804. outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
  805. outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
  806. outU8Array[outIdx++] = 0x80 | (u & 63);
  807. }
  808. }
  809. // Null-terminate the pointer to the buffer.
  810. outU8Array[outIdx] = 0;
  811. return outIdx - startIdx;
  812. }
  813. Module["stringToUTF8Array"] = stringToUTF8Array;
  814. // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
  815. // null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.
  816. // Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write.
  817. // Returns the number of bytes written, EXCLUDING the null terminator.
  818. function stringToUTF8(str, outPtr, maxBytesToWrite) {
  819. assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
  820. return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
  821. }
  822. Module["stringToUTF8"] = stringToUTF8;
  823. // Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
  824. function lengthBytesUTF8(str) {
  825. var len = 0;
  826. for (var i = 0; i < str.length; ++i) {
  827. // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
  828. // See http://unicode.org/faq/utf_bom.html#utf16-3
  829. var u = str.charCodeAt(i); // possibly a lead surrogate
  830. if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
  831. if (u <= 0x7F) {
  832. ++len;
  833. } else if (u <= 0x7FF) {
  834. len += 2;
  835. } else if (u <= 0xFFFF) {
  836. len += 3;
  837. } else if (u <= 0x1FFFFF) {
  838. len += 4;
  839. } else if (u <= 0x3FFFFFF) {
  840. len += 5;
  841. } else {
  842. len += 6;
  843. }
  844. }
  845. return len;
  846. }
  847. Module["lengthBytesUTF8"] = lengthBytesUTF8;
  848. // Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
  849. // a copy of that string as a Javascript String object.
  850. var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
  851. function UTF16ToString(ptr) {
  852. assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
  853. var endPtr = ptr;
  854. // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
  855. // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
  856. var idx = endPtr >> 1;
  857. while (HEAP16[idx]) ++idx;
  858. endPtr = idx << 1;
  859. if (endPtr - ptr > 32 && UTF16Decoder) {
  860. return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr));
  861. } else {
  862. var i = 0;
  863. var str = '';
  864. while (1) {
  865. var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
  866. if (codeUnit == 0) return str;
  867. ++i;
  868. // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
  869. str += String.fromCharCode(codeUnit);
  870. }
  871. }
  872. }
  873. // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
  874. // null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP.
  875. // Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write.
  876. // Parameters:
  877. // str: the Javascript string to copy.
  878. // outPtr: Byte address in Emscripten HEAP where to write the string to.
  879. // maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
  880. // terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else.
  881. // maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator.
  882. // Returns the number of bytes written, EXCLUDING the null terminator.
  883. function stringToUTF16(str, outPtr, maxBytesToWrite) {
  884. assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!');
  885. assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
  886. // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
  887. if (maxBytesToWrite === undefined) {
  888. maxBytesToWrite = 0x7FFFFFFF;
  889. }
  890. if (maxBytesToWrite < 2) return 0;
  891. maxBytesToWrite -= 2; // Null terminator.
  892. var startPtr = outPtr;
  893. var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
  894. for (var i = 0; i < numCharsToWrite; ++i) {
  895. // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
  896. var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
  897. HEAP16[((outPtr)>>1)]=codeUnit;
  898. outPtr += 2;
  899. }
  900. // Null-terminate the pointer to the HEAP.
  901. HEAP16[((outPtr)>>1)]=0;
  902. return outPtr - startPtr;
  903. }
  904. // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
  905. function lengthBytesUTF16(str) {
  906. return str.length*2;
  907. }
  908. function UTF32ToString(ptr) {
  909. assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
  910. var i = 0;
  911. var str = '';
  912. while (1) {
  913. var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
  914. if (utf32 == 0)
  915. return str;
  916. ++i;
  917. // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
  918. // See http://unicode.org/faq/utf_bom.html#utf16-3
  919. if (utf32 >= 0x10000) {
  920. var ch = utf32 - 0x10000;
  921. str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
  922. } else {
  923. str += String.fromCharCode(utf32);
  924. }
  925. }
  926. }
  927. // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
  928. // null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP.
  929. // Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write.
  930. // Parameters:
  931. // str: the Javascript string to copy.
  932. // outPtr: Byte address in Emscripten HEAP where to write the string to.
  933. // maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
  934. // terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else.
  935. // maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator.
  936. // Returns the number of bytes written, EXCLUDING the null terminator.
  937. function stringToUTF32(str, outPtr, maxBytesToWrite) {
  938. assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!');
  939. assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
  940. // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
  941. if (maxBytesToWrite === undefined) {
  942. maxBytesToWrite = 0x7FFFFFFF;
  943. }
  944. if (maxBytesToWrite < 4) return 0;
  945. var startPtr = outPtr;
  946. var endPtr = startPtr + maxBytesToWrite - 4;
  947. for (var i = 0; i < str.length; ++i) {
  948. // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
  949. // See http://unicode.org/faq/utf_bom.html#utf16-3
  950. var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
  951. if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
  952. var trailSurrogate = str.charCodeAt(++i);
  953. codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
  954. }
  955. HEAP32[((outPtr)>>2)]=codeUnit;
  956. outPtr += 4;
  957. if (outPtr + 4 > endPtr) break;
  958. }
  959. // Null-terminate the pointer to the HEAP.
  960. HEAP32[((outPtr)>>2)]=0;
  961. return outPtr - startPtr;
  962. }
  963. // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
  964. function lengthBytesUTF32(str) {
  965. var len = 0;
  966. for (var i = 0; i < str.length; ++i) {
  967. // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
  968. // See http://unicode.org/faq/utf_bom.html#utf16-3
  969. var codeUnit = str.charCodeAt(i);
  970. if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
  971. len += 4;
  972. }
  973. return len;
  974. }
  975. function demangle(func) {
  976. var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle'];
  977. if (__cxa_demangle_func) {
  978. try {
  979. var s =
  980. func.substr(1);
  981. var len = lengthBytesUTF8(s)+1;
  982. var buf = _malloc(len);
  983. stringToUTF8(s, buf, len);
  984. var status = _malloc(4);
  985. var ret = __cxa_demangle_func(buf, 0, 0, status);
  986. if (getValue(status, 'i32') === 0 && ret) {
  987. return Pointer_stringify(ret);
  988. }
  989. // otherwise, libcxxabi failed
  990. } catch(e) {
  991. // ignore problems here
  992. } finally {
  993. if (buf) _free(buf);
  994. if (status) _free(status);
  995. if (ret) _free(ret);
  996. }
  997. // failure when using libcxxabi, don't demangle
  998. return func;
  999. }
  1000. Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling');
  1001. return func;
  1002. }
  1003. function demangleAll(text) {
  1004. var regex =
  1005. /__Z[\w\d_]+/g;
  1006. return text.replace(regex,
  1007. function(x) {
  1008. var y = demangle(x);
  1009. return x === y ? x : (x + ' [' + y + ']');
  1010. });
  1011. }
  1012. function jsStackTrace() {
  1013. var err = new Error();
  1014. if (!err.stack) {
  1015. // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
  1016. // so try that as a special-case.
  1017. try {
  1018. throw new Error(0);
  1019. } catch(e) {
  1020. err = e;
  1021. }
  1022. if (!err.stack) {
  1023. return '(no stack trace available)';
  1024. }
  1025. }
  1026. return err.stack.toString();
  1027. }
  1028. function stackTrace() {
  1029. var js = jsStackTrace();
  1030. if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
  1031. return demangleAll(js);
  1032. }
  1033. Module["stackTrace"] = stackTrace;
  1034. // Memory management
  1035. var PAGE_SIZE = 16384;
  1036. var WASM_PAGE_SIZE = 65536;
  1037. var ASMJS_PAGE_SIZE = 16777216;
  1038. var MIN_TOTAL_MEMORY = 16777216;
  1039. function alignUp(x, multiple) {
  1040. if (x % multiple > 0) {
  1041. x += multiple - (x % multiple);
  1042. }
  1043. return x;
  1044. }
  1045. var HEAP,
  1046. /** @type {ArrayBuffer} */
  1047. buffer,
  1048. /** @type {Int8Array} */
  1049. HEAP8,
  1050. /** @type {Uint8Array} */
  1051. HEAPU8,
  1052. /** @type {Int16Array} */
  1053. HEAP16,
  1054. /** @type {Uint16Array} */
  1055. HEAPU16,
  1056. /** @type {Int32Array} */
  1057. HEAP32,
  1058. /** @type {Uint32Array} */
  1059. HEAPU32,
  1060. /** @type {Float32Array} */
  1061. HEAPF32,
  1062. /** @type {Float64Array} */
  1063. HEAPF64;
  1064. function updateGlobalBuffer(buf) {
  1065. Module['buffer'] = buffer = buf;
  1066. }
  1067. function updateGlobalBufferViews() {
  1068. Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
  1069. Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
  1070. Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
  1071. Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
  1072. Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
  1073. Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
  1074. Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
  1075. Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
  1076. }
  1077. var STATIC_BASE, STATICTOP, staticSealed; // static area
  1078. var STACK_BASE, STACKTOP, STACK_MAX; // stack area
  1079. var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk
  1080. STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;
  1081. staticSealed = false;
  1082. // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode.
  1083. function writeStackCookie() {
  1084. assert((STACK_MAX & 3) == 0);
  1085. HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467;
  1086. HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE;
  1087. }
  1088. function checkStackCookie() {
  1089. if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) {
  1090. abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16));
  1091. }
  1092. // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own.
  1093. if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!';
  1094. }
  1095. function abortStackOverflow(allocSize) {
  1096. abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - Module['asm'].stackSave() + allocSize) + ' bytes available!');
  1097. }
  1098. function abortOnCannotGrowMemory() {
  1099. abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ');
  1100. }
  1101. function enlargeMemory() {
  1102. abortOnCannotGrowMemory();
  1103. }
  1104. var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
  1105. var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
  1106. if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')');
  1107. // Initialize the runtime's memory
  1108. // check for full engine support (use string 'subarray' to avoid closure compiler confusion)
  1109. assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined,
  1110. 'JS engine does not provide full typed array support');
  1111. // Use a provided buffer, if there is one, or else allocate a new one
  1112. if (Module['buffer']) {
  1113. buffer = Module['buffer'];
  1114. assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
  1115. } else {
  1116. // Use a WebAssembly memory where available
  1117. {
  1118. buffer = new ArrayBuffer(TOTAL_MEMORY);
  1119. }
  1120. assert(buffer.byteLength === TOTAL_MEMORY);
  1121. }
  1122. updateGlobalBufferViews();
  1123. function getTotalMemory() {
  1124. return TOTAL_MEMORY;
  1125. }
  1126. // Endianness check (note: assumes compiler arch was little-endian)
  1127. HEAP32[0] = 0x63736d65; /* 'emsc' */
  1128. HEAP16[1] = 0x6373;
  1129. if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
  1130. Module['HEAP'] = HEAP;
  1131. Module['buffer'] = buffer;
  1132. Module['HEAP8'] = HEAP8;
  1133. Module['HEAP16'] = HEAP16;
  1134. Module['HEAP32'] = HEAP32;
  1135. Module['HEAPU8'] = HEAPU8;
  1136. Module['HEAPU16'] = HEAPU16;
  1137. Module['HEAPU32'] = HEAPU32;
  1138. Module['HEAPF32'] = HEAPF32;
  1139. Module['HEAPF64'] = HEAPF64;
  1140. function callRuntimeCallbacks(callbacks) {
  1141. while(callbacks.length > 0) {
  1142. var callback = callbacks.shift();
  1143. if (typeof callback == 'function') {
  1144. callback();
  1145. continue;
  1146. }
  1147. var func = callback.func;
  1148. if (typeof func === 'number') {
  1149. if (callback.arg === undefined) {
  1150. Module['dynCall_v'](func);
  1151. } else {
  1152. Module['dynCall_vi'](func, callback.arg);
  1153. }
  1154. } else {
  1155. func(callback.arg === undefined ? null : callback.arg);
  1156. }
  1157. }
  1158. }
  1159. var __ATPRERUN__ = []; // functions called before the runtime is initialized
  1160. var __ATINIT__ = []; // functions called during startup
  1161. var __ATMAIN__ = []; // functions called when main() is to be run
  1162. var __ATEXIT__ = []; // functions called during shutdown
  1163. var __ATPOSTRUN__ = []; // functions called after the runtime has exited
  1164. var runtimeInitialized = false;
  1165. var runtimeExited = false;
  1166. function preRun() {
  1167. // compatibility - merge in anything from Module['preRun'] at this time
  1168. if (Module['preRun']) {
  1169. if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
  1170. while (Module['preRun'].length) {
  1171. addOnPreRun(Module['preRun'].shift());
  1172. }
  1173. }
  1174. callRuntimeCallbacks(__ATPRERUN__);
  1175. }
  1176. function ensureInitRuntime() {
  1177. checkStackCookie();
  1178. if (runtimeInitialized) return;
  1179. runtimeInitialized = true;
  1180. callRuntimeCallbacks(__ATINIT__);
  1181. }
  1182. function preMain() {
  1183. checkStackCookie();
  1184. callRuntimeCallbacks(__ATMAIN__);
  1185. }
  1186. function exitRuntime() {
  1187. checkStackCookie();
  1188. callRuntimeCallbacks(__ATEXIT__);
  1189. runtimeExited = true;
  1190. }
  1191. function postRun() {
  1192. checkStackCookie();
  1193. // compatibility - merge in anything from Module['postRun'] at this time
  1194. if (Module['postRun']) {
  1195. if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
  1196. while (Module['postRun'].length) {
  1197. addOnPostRun(Module['postRun'].shift());
  1198. }
  1199. }
  1200. callRuntimeCallbacks(__ATPOSTRUN__);
  1201. }
  1202. function addOnPreRun(cb) {
  1203. __ATPRERUN__.unshift(cb);
  1204. }
  1205. Module["addOnPreRun"] = addOnPreRun;
  1206. function addOnInit(cb) {
  1207. __ATINIT__.unshift(cb);
  1208. }
  1209. Module["addOnInit"] = addOnInit;
  1210. function addOnPreMain(cb) {
  1211. __ATMAIN__.unshift(cb);
  1212. }
  1213. Module["addOnPreMain"] = addOnPreMain;
  1214. function addOnExit(cb) {
  1215. __ATEXIT__.unshift(cb);
  1216. }
  1217. Module["addOnExit"] = addOnExit;
  1218. function addOnPostRun(cb) {
  1219. __ATPOSTRUN__.unshift(cb);
  1220. }
  1221. Module["addOnPostRun"] = addOnPostRun;
  1222. // Tools
  1223. /** @type {function(string, boolean=, number=)} */
  1224. function intArrayFromString(stringy, dontAddNull, length) {
  1225. var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
  1226. var u8array = new Array(len);
  1227. var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
  1228. if (dontAddNull) u8array.length = numBytesWritten;
  1229. return u8array;
  1230. }
  1231. Module["intArrayFromString"] = intArrayFromString;
  1232. function intArrayToString(array) {
  1233. var ret = [];
  1234. for (var i = 0; i < array.length; i++) {
  1235. var chr = array[i];
  1236. if (chr > 0xFF) {
  1237. assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.');
  1238. chr &= 0xFF;
  1239. }
  1240. ret.push(String.fromCharCode(chr));
  1241. }
  1242. return ret.join('');
  1243. }
  1244. Module["intArrayToString"] = intArrayToString;
  1245. // Deprecated: This function should not be called because it is unsafe and does not provide
  1246. // a maximum length limit of how many bytes it is allowed to write. Prefer calling the
  1247. // function stringToUTF8Array() instead, which takes in a maximum length that can be used
  1248. // to be secure from out of bounds writes.
  1249. /** @deprecated */
  1250. function writeStringToMemory(string, buffer, dontAddNull) {
  1251. Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
  1252. var /** @type {number} */ lastChar, /** @type {number} */ end;
  1253. if (dontAddNull) {
  1254. // stringToUTF8Array always appends null. If we don't want to do that, remember the
  1255. // character that existed at the location where the null will be placed, and restore
  1256. // that after the write (below).
  1257. end = buffer + lengthBytesUTF8(string);
  1258. lastChar = HEAP8[end];
  1259. }
  1260. stringToUTF8(string, buffer, Infinity);
  1261. if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
  1262. }
  1263. Module["writeStringToMemory"] = writeStringToMemory;
  1264. function writeArrayToMemory(array, buffer) {
  1265. assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)')
  1266. HEAP8.set(array, buffer);
  1267. }
  1268. Module["writeArrayToMemory"] = writeArrayToMemory;
  1269. function writeAsciiToMemory(str, buffer, dontAddNull) {
  1270. for (var i = 0; i < str.length; ++i) {
  1271. assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
  1272. HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
  1273. }
  1274. // Null-terminate the pointer to the HEAP.
  1275. if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
  1276. }
  1277. Module["writeAsciiToMemory"] = writeAsciiToMemory;
  1278. function unSign(value, bits, ignore) {
  1279. if (value >= 0) {
  1280. return value;
  1281. }
  1282. return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
  1283. : Math.pow(2, bits) + value;
  1284. }
  1285. function reSign(value, bits, ignore) {
  1286. if (value <= 0) {
  1287. return value;
  1288. }
  1289. var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
  1290. : Math.pow(2, bits-1);
  1291. if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
  1292. // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
  1293. // TODO: In i64 mode 1, resign the two parts separately and safely
  1294. value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
  1295. }
  1296. return value;
  1297. }
  1298. // check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 )
  1299. if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) {
  1300. var ah = a >>> 16;
  1301. var al = a & 0xffff;
  1302. var bh = b >>> 16;
  1303. var bl = b & 0xffff;
  1304. return (al*bl + ((ah*bl + al*bh) << 16))|0;
  1305. };
  1306. Math.imul = Math['imul'];
  1307. if (!Math['clz32']) Math['clz32'] = function(x) {
  1308. x = x >>> 0;
  1309. for (var i = 0; i < 32; i++) {
  1310. if (x & (1 << (31 - i))) return i;
  1311. }
  1312. return 32;
  1313. };
  1314. Math.clz32 = Math['clz32']
  1315. if (!Math['trunc']) Math['trunc'] = function(x) {
  1316. return x < 0 ? Math.ceil(x) : Math.floor(x);
  1317. };
  1318. Math.trunc = Math['trunc'];
  1319. var Math_abs = Math.abs;
  1320. var Math_cos = Math.cos;
  1321. var Math_sin = Math.sin;
  1322. var Math_tan = Math.tan;
  1323. var Math_acos = Math.acos;
  1324. var Math_asin = Math.asin;
  1325. var Math_atan = Math.atan;
  1326. var Math_atan2 = Math.atan2;
  1327. var Math_exp = Math.exp;
  1328. var Math_log = Math.log;
  1329. var Math_sqrt = Math.sqrt;
  1330. var Math_ceil = Math.ceil;
  1331. var Math_floor = Math.floor;
  1332. var Math_pow = Math.pow;
  1333. var Math_imul = Math.imul;
  1334. var Math_fround = Math.fround;
  1335. var Math_round = Math.round;
  1336. var Math_min = Math.min;
  1337. var Math_clz32 = Math.clz32;
  1338. var Math_trunc = Math.trunc;
  1339. // A counter of dependencies for calling run(). If we need to
  1340. // do asynchronous work before running, increment this and
  1341. // decrement it. Incrementing must happen in a place like
  1342. // PRE_RUN_ADDITIONS (used by emcc to add file preloading).
  1343. // Note that you can add dependencies in preRun, even though
  1344. // it happens right before run - run will be postponed until
  1345. // the dependencies are met.
  1346. var runDependencies = 0;
  1347. var runDependencyWatcher = null;
  1348. var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
  1349. var runDependencyTracking = {};
  1350. function getUniqueRunDependency(id) {
  1351. var orig = id;
  1352. while (1) {
  1353. if (!runDependencyTracking[id]) return id;
  1354. id = orig + Math.random();
  1355. }
  1356. return id;
  1357. }
  1358. function addRunDependency(id) {
  1359. runDependencies++;
  1360. if (Module['monitorRunDependencies']) {
  1361. Module['monitorRunDependencies'](runDependencies);
  1362. }
  1363. if (id) {
  1364. assert(!runDependencyTracking[id]);
  1365. runDependencyTracking[id] = 1;
  1366. if (runDependencyWatcher === null && typeof setInterval !== 'undefined') {
  1367. // Check for missing dependencies every few seconds
  1368. runDependencyWatcher = setInterval(function() {
  1369. if (ABORT) {
  1370. clearInterval(runDependencyWatcher);
  1371. runDependencyWatcher = null;
  1372. return;
  1373. }
  1374. var shown = false;
  1375. for (var dep in runDependencyTracking) {
  1376. if (!shown) {
  1377. shown = true;
  1378. Module.printErr('still waiting on run dependencies:');
  1379. }
  1380. Module.printErr('dependency: ' + dep);
  1381. }
  1382. if (shown) {
  1383. Module.printErr('(end of list)');
  1384. }
  1385. }, 10000);
  1386. }
  1387. } else {
  1388. Module.printErr('warning: run dependency added without ID');
  1389. }
  1390. }
  1391. Module["addRunDependency"] = addRunDependency;
  1392. function removeRunDependency(id) {
  1393. runDependencies--;
  1394. if (Module['monitorRunDependencies']) {
  1395. Module['monitorRunDependencies'](runDependencies);
  1396. }
  1397. if (id) {
  1398. assert(runDependencyTracking[id]);
  1399. delete runDependencyTracking[id];
  1400. } else {
  1401. Module.printErr('warning: run dependency removed without ID');
  1402. }
  1403. if (runDependencies == 0) {
  1404. if (runDependencyWatcher !== null) {
  1405. clearInterval(runDependencyWatcher);
  1406. runDependencyWatcher = null;
  1407. }
  1408. if (dependenciesFulfilled) {
  1409. var callback = dependenciesFulfilled;
  1410. dependenciesFulfilled = null;
  1411. callback(); // can add another dependenciesFulfilled
  1412. }
  1413. }
  1414. }
  1415. Module["removeRunDependency"] = removeRunDependency;
  1416. Module["preloadedImages"] = {}; // maps url to image data
  1417. Module["preloadedAudios"] = {}; // maps url to audio data
  1418. var memoryInitializer = null;
  1419. var /* show errors on likely calls to FS when it was not included */ FS = {
  1420. error: function() {
  1421. abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1');
  1422. },
  1423. init: function() { FS.error() },
  1424. createDataFile: function() { FS.error() },
  1425. createPreloadedFile: function() { FS.error() },
  1426. createLazyFile: function() { FS.error() },
  1427. open: function() { FS.error() },
  1428. mkdev: function() { FS.error() },
  1429. registerDevice: function() { FS.error() },
  1430. analyzePath: function() { FS.error() },
  1431. loadFilesFromDB: function() { FS.error() },
  1432. ErrnoError: function ErrnoError() { FS.error() },
  1433. };
  1434. Module['FS_createDataFile'] = FS.createDataFile;
  1435. Module['FS_createPreloadedFile'] = FS.createPreloadedFile;
  1436. // === Body ===
  1437. var ASM_CONSTS = [];
  1438. STATIC_BASE = Runtime.GLOBAL_BASE;
  1439. STATICTOP = STATIC_BASE + 40000;
  1440. /* global initializers */ __ATINIT__.push({ func: function() { __GLOBAL__sub_I_bind_cpp() } });
  1441. /* memory initializer */ allocate([108,4,0,0,26,8,0,0,108,4,0,0,57,8,0,0,108,4,0,0,88,8,0,0,108,4,0,0,119,8,0,0,108,4,0,0,150,8,0,0,108,4,0,0,181,8,0,0,108,4,0,0,212,8,0,0,108,4,0,0,243,8,0,0,108,4,0,0,18,9,0,0,108,4,0,0,49,9,0,0,108,4,0,0,80,9,0,0,108,4,0,0,111,9,0,0,108,4,0,0,142,9,0,0,216,4,0,0,161,9,0,0,0,0,0,0,1,0,0,0,136,0,0,0,0,0,0,0,108,4,0,0,224,9,0,0,216,4,0,0,6,10,0,0,0,0,0,0,1,0,0,0,136,0,0,0,0,0,0,0,216,4,0,0,69,10,0,0,0,0,0,0,1,0,0,0,136,0,0,0,0,0,0,0,148,4,0,0,100,21,0,0,208,0,0,0,0,0,0,0,148,4,0,0,17,21,0,0,224,0,0,0,0,0,0,0,108,4,0,0,50,21,0,0,148,4,0,0,63,21,0,0,192,0,0,0,0,0,0,0,148,4,0,0,134,21,0,0,208,0,0,0,0,0,0,0,188,4,0,0,174,21,0,0,188,4,0,0,176,21,0,0,188,4,0,0,178,21,0,0,188,4,0,0,180,21,0,0,188,4,0,0,182,21,0,0,188,4,0,0,184,21,0,0,188,4,0,0,186,21,0,0,188,4,0,0,188,21,0,0,188,4,0,0,190,21,0,0,188,4,0,0,192,21,0,0,188,4,0,0,194,21,0,0,188,4,0,0,196,21,0,0,188,4,0,0,198,21,0,0,148,4,0,0,200,21,0,0,192,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,57,152,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,0,0,0,0,192,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,232,0,0,0,5,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,248,0,0,0,5,0,0,0,17,0,0,0,7,0,0,0,8,0,0,0,18,0,0,0,0,0,0,0,112,1,0,0,5,0,0,0,19,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,37,108,108,117,0,118,111,105,100,0,98,111,111,108,0,99,104,97,114,0,115,105,103,110,101,100,32,99,104,97,114,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,115,104,111,114,116,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,105,110,116,0,117,110,115,105,103,110,101,100,32,105,110,116,0,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,115,116,100,58,58,115,116,114,105,110,103,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,115,116,100,58,58,119,115,116,114,105,110,103,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,78,83,116,51,95,95,50,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,78,83,116,51,95,95,50,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,78,83,116,51,95,95,50,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,78,83,116,51,95,95,50,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,118,0,98,0,99,0,104,0,97,0,115,0,116,0,105,0,106,0,108,0,109,0,102,0,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
  1442. /* no memory initializer */
  1443. var tempDoublePtr = STATICTOP; STATICTOP += 16;
  1444. assert(tempDoublePtr % 8 == 0);
  1445. function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
  1446. HEAP8[tempDoublePtr] = HEAP8[ptr];
  1447. HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
  1448. HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
  1449. HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
  1450. }
  1451. function copyTempDouble(ptr) {
  1452. HEAP8[tempDoublePtr] = HEAP8[ptr];
  1453. HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
  1454. HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
  1455. HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
  1456. HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
  1457. HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
  1458. HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
  1459. HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
  1460. }
  1461. // {{PRE_LIBRARY}}
  1462. function embind_init_charCodes() {
  1463. var codes = new Array(256);
  1464. for (var i = 0; i < 256; ++i) {
  1465. codes[i] = String.fromCharCode(i);
  1466. }
  1467. embind_charCodes = codes;
  1468. }var embind_charCodes=undefined;function readLatin1String(ptr) {
  1469. var ret = "";
  1470. var c = ptr;
  1471. while (HEAPU8[c]) {
  1472. ret += embind_charCodes[HEAPU8[c++]];
  1473. }
  1474. return ret;
  1475. }
  1476. var awaitingDependencies={};
  1477. var registeredTypes={};
  1478. var typeDependencies={};
  1479. var char_0=48;
  1480. var char_9=57;function makeLegalFunctionName(name) {
  1481. if (undefined === name) {
  1482. return '_unknown';
  1483. }
  1484. name = name.replace(/[^a-zA-Z0-9_]/g, '$');
  1485. var f = name.charCodeAt(0);
  1486. if (f >= char_0 && f <= char_9) {
  1487. return '_' + name;
  1488. } else {
  1489. return name;
  1490. }
  1491. }function createNamedFunction(name, body) {
  1492. name = makeLegalFunctionName(name);
  1493. /*jshint evil:true*/
  1494. return new Function(
  1495. "body",
  1496. "return function " + name + "() {\n" +
  1497. " \"use strict\";" +
  1498. " return body.apply(this, arguments);\n" +
  1499. "};\n"
  1500. )(body);
  1501. }function extendError(baseErrorType, errorName) {
  1502. var errorClass = createNamedFunction(errorName, function(message) {
  1503. this.name = errorName;
  1504. this.message = message;
  1505. var stack = (new Error(message)).stack;
  1506. if (stack !== undefined) {
  1507. this.stack = this.toString() + '\n' +
  1508. stack.replace(/^Error(:[^\n]*)?\n/, '');
  1509. }
  1510. });
  1511. errorClass.prototype = Object.create(baseErrorType.prototype);
  1512. errorClass.prototype.constructor = errorClass;
  1513. errorClass.prototype.toString = function() {
  1514. if (this.message === undefined) {
  1515. return this.name;
  1516. } else {
  1517. return this.name + ': ' + this.message;
  1518. }
  1519. };
  1520. return errorClass;
  1521. }var BindingError=undefined;function throwBindingError(message) {
  1522. throw new BindingError(message);
  1523. }
  1524. var InternalError=undefined;function throwInternalError(message) {
  1525. throw new InternalError(message);
  1526. }function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) {
  1527. myTypes.forEach(function(type) {
  1528. typeDependencies[type] = dependentTypes;
  1529. });
  1530. function onComplete(typeConverters) {
  1531. var myTypeConverters = getTypeConverters(typeConverters);
  1532. if (myTypeConverters.length !== myTypes.length) {
  1533. throwInternalError('Mismatched type converter count');
  1534. }
  1535. for (var i = 0; i < myTypes.length; ++i) {
  1536. registerType(myTypes[i], myTypeConverters[i]);
  1537. }
  1538. }
  1539. var typeConverters = new Array(dependentTypes.length);
  1540. var unregisteredTypes = [];
  1541. var registered = 0;
  1542. dependentTypes.forEach(function(dt, i) {
  1543. if (registeredTypes.hasOwnProperty(dt)) {
  1544. typeConverters[i] = registeredTypes[dt];
  1545. } else {
  1546. unregisteredTypes.push(dt);
  1547. if (!awaitingDependencies.hasOwnProperty(dt)) {
  1548. awaitingDependencies[dt] = [];
  1549. }
  1550. awaitingDependencies[dt].push(function() {
  1551. typeConverters[i] = registeredTypes[dt];
  1552. ++registered;
  1553. if (registered === unregisteredTypes.length) {
  1554. onComplete(typeConverters);
  1555. }
  1556. });
  1557. }
  1558. });
  1559. if (0 === unregisteredTypes.length) {
  1560. onComplete(typeConverters);
  1561. }
  1562. }function registerType(rawType, registeredInstance, options) {
  1563. options = options || {};
  1564. if (!('argPackAdvance' in registeredInstance)) {
  1565. throw new TypeError('registerType registeredInstance requires argPackAdvance');
  1566. }
  1567. var name = registeredInstance.name;
  1568. if (!rawType) {
  1569. throwBindingError('type "' + name + '" must have a positive integer typeid pointer');
  1570. }
  1571. if (registeredTypes.hasOwnProperty(rawType)) {
  1572. if (options.ignoreDuplicateRegistrations) {
  1573. return;
  1574. } else {
  1575. throwBindingError("Cannot register type '" + name + "' twice");
  1576. }
  1577. }
  1578. registeredTypes[rawType] = registeredInstance;
  1579. delete typeDependencies[rawType];
  1580. if (awaitingDependencies.hasOwnProperty(rawType)) {
  1581. var callbacks = awaitingDependencies[rawType];
  1582. delete awaitingDependencies[rawType];
  1583. callbacks.forEach(function(cb) {
  1584. cb();
  1585. });
  1586. }
  1587. }function __embind_register_void(rawType, name) {
  1588. name = readLatin1String(name);
  1589. registerType(rawType, {
  1590. isVoid: true, // void return values can be optimized out sometimes
  1591. name: name,
  1592. 'argPackAdvance': 0,
  1593. 'fromWireType': function() {
  1594. return undefined;
  1595. },
  1596. 'toWireType': function(destructors, o) {
  1597. // TODO: assert if anything else is given?
  1598. return undefined;
  1599. },
  1600. });
  1601. }
  1602. function _embind_repr(v) {
  1603. if (v === null) {
  1604. return 'null';
  1605. }
  1606. var t = typeof v;
  1607. if (t === 'object' || t === 'array' || t === 'function') {
  1608. return v.toString();
  1609. } else {
  1610. return '' + v;
  1611. }
  1612. }
  1613. function floatReadValueFromPointer(name, shift) {
  1614. switch (shift) {
  1615. case 2: return function(pointer) {
  1616. return this['fromWireType'](HEAPF32[pointer >> 2]);
  1617. };
  1618. case 3: return function(pointer) {
  1619. return this['fromWireType'](HEAPF64[pointer >> 3]);
  1620. };
  1621. default:
  1622. throw new TypeError("Unknown float type: " + name);
  1623. }
  1624. }
  1625. function getShiftFromSize(size) {
  1626. switch (size) {
  1627. case 1: return 0;
  1628. case 2: return 1;
  1629. case 4: return 2;
  1630. case 8: return 3;
  1631. default:
  1632. throw new TypeError('Unknown type size: ' + size);
  1633. }
  1634. }function __embind_register_float(rawType, name, size) {
  1635. var shift = getShiftFromSize(size);
  1636. name = readLatin1String(name);
  1637. registerType(rawType, {
  1638. name: name,
  1639. 'fromWireType': function(value) {
  1640. return value;
  1641. },
  1642. 'toWireType': function(destructors, value) {
  1643. // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: we could
  1644. // avoid the following if() and assume value is of proper type.
  1645. if (typeof value !== "number" && typeof value !== "boolean") {
  1646. throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
  1647. }
  1648. return value;
  1649. },
  1650. 'argPackAdvance': 8,
  1651. 'readValueFromPointer': floatReadValueFromPointer(name, shift),
  1652. destructorFunction: null, // This type does not need a destructor
  1653. });
  1654. }
  1655. function __embind_register_bool(rawType, name, size, trueValue, falseValue) {
  1656. var shift = getShiftFromSize(size);
  1657. name = readLatin1String(name);
  1658. registerType(rawType, {
  1659. name: name,
  1660. 'fromWireType': function(wt) {
  1661. // ambiguous emscripten ABI: sometimes return values are
  1662. // true or false, and sometimes integers (0 or 1)
  1663. return !!wt;
  1664. },
  1665. 'toWireType': function(destructors, o) {
  1666. return o ? trueValue : falseValue;
  1667. },
  1668. 'argPackAdvance': 8,
  1669. 'readValueFromPointer': function(pointer) {
  1670. // TODO: if heap is fixed (like in asm.js) this could be executed outside
  1671. var heap;
  1672. if (size === 1) {
  1673. heap = HEAP8;
  1674. } else if (size === 2) {
  1675. heap = HEAP16;
  1676. } else if (size === 4) {
  1677. heap = HEAP32;
  1678. } else {
  1679. throw new TypeError("Unknown boolean type size: " + name);
  1680. }
  1681. return this['fromWireType'](heap[pointer >> shift]);
  1682. },
  1683. destructorFunction: null, // This type does not need a destructor
  1684. });
  1685. }
  1686. function simpleReadValueFromPointer(pointer) {
  1687. return this['fromWireType'](HEAPU32[pointer >> 2]);
  1688. }function __embind_register_std_string(rawType, name) {
  1689. name = readLatin1String(name);
  1690. registerType(rawType, {
  1691. name: name,
  1692. 'fromWireType': function(value) {
  1693. var length = HEAPU32[value >> 2];
  1694. var a = new Array(length);
  1695. for (var i = 0; i < length; ++i) {
  1696. a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
  1697. }
  1698. _free(value);
  1699. return a.join('');
  1700. },
  1701. 'toWireType': function(destructors, value) {
  1702. if (value instanceof ArrayBuffer) {
  1703. value = new Uint8Array(value);
  1704. }
  1705. function getTAElement(ta, index) {
  1706. return ta[index];
  1707. }
  1708. function getStringElement(string, index) {
  1709. return string.charCodeAt(index);
  1710. }
  1711. var getElement;
  1712. if (value instanceof Uint8Array) {
  1713. getElement = getTAElement;
  1714. } else if (value instanceof Uint8ClampedArray) {
  1715. getElement = getTAElement;
  1716. } else if (value instanceof Int8Array) {
  1717. getElement = getTAElement;
  1718. } else if (typeof value === 'string') {
  1719. getElement = getStringElement;
  1720. } else {
  1721. throwBindingError('Cannot pass non-string to std::string');
  1722. }
  1723. // assumes 4-byte alignment
  1724. var length = value.length;
  1725. var ptr = _malloc(4 + length);
  1726. HEAPU32[ptr >> 2] = length;
  1727. for (var i = 0; i < length; ++i) {
  1728. var charCode = getElement(value, i);
  1729. if (charCode > 255) {
  1730. _free(ptr);
  1731. throwBindingError('String has UTF-16 code units that do not fit in 8 bits');
  1732. }
  1733. HEAPU8[ptr + 4 + i] = charCode;
  1734. }
  1735. if (destructors !== null) {
  1736. destructors.push(_free, ptr);
  1737. }
  1738. return ptr;
  1739. },
  1740. 'argPackAdvance': 8,
  1741. 'readValueFromPointer': simpleReadValueFromPointer,
  1742. destructorFunction: function(ptr) { _free(ptr); },
  1743. });
  1744. }
  1745. function integerReadValueFromPointer(name, shift, signed) {
  1746. // integers are quite common, so generate very specialized functions
  1747. switch (shift) {
  1748. case 0: return signed ?
  1749. function readS8FromPointer(pointer) { return HEAP8[pointer]; } :
  1750. function readU8FromPointer(pointer) { return HEAPU8[pointer]; };
  1751. case 1: return signed ?
  1752. function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } :
  1753. function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; };
  1754. case 2: return signed ?
  1755. function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } :
  1756. function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; };
  1757. default:
  1758. throw new TypeError("Unknown integer type: " + name);
  1759. }
  1760. }function __embind_register_integer(primitiveType, name, size, minRange, maxRange) {
  1761. name = readLatin1String(name);
  1762. if (maxRange === -1) { // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come out as 'i32 -1'. Always treat those as max u32.
  1763. maxRange = 4294967295;
  1764. }
  1765. var shift = getShiftFromSize(size);
  1766. var fromWireType = function(value) {
  1767. return value;
  1768. };
  1769. if (minRange === 0) {
  1770. var bitshift = 32 - 8*size;
  1771. fromWireType = function(value) {
  1772. return (value << bitshift) >>> bitshift;
  1773. };
  1774. }
  1775. var isUnsignedType = (name.indexOf('unsigned') != -1);
  1776. registerType(primitiveType, {
  1777. name: name,
  1778. 'fromWireType': fromWireType,
  1779. 'toWireType': function(destructors, value) {
  1780. // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: we could
  1781. // avoid the following two if()s and assume value is of proper type.
  1782. if (typeof value !== "number" && typeof value !== "boolean") {
  1783. throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name);
  1784. }
  1785. if (value < minRange || value > maxRange) {
  1786. throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ', ' + maxRange + ']!');
  1787. }
  1788. return isUnsignedType ? (value >>> 0) : (value | 0);
  1789. },
  1790. 'argPackAdvance': 8,
  1791. 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0),
  1792. destructorFunction: null, // This type does not need a destructor
  1793. });
  1794. }
  1795. function ___lock() {}
  1796. function ___unlock() {}
  1797. var SYSCALLS={varargs:0,get:function (varargs) {
  1798. SYSCALLS.varargs += 4;
  1799. var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
  1800. return ret;
  1801. },getStr:function () {
  1802. var ret = Pointer_stringify(SYSCALLS.get());
  1803. return ret;
  1804. },get64:function () {
  1805. var low = SYSCALLS.get(), high = SYSCALLS.get();
  1806. if (low >= 0) assert(high === 0);
  1807. else assert(high === -1);
  1808. return low;
  1809. },getZero:function () {
  1810. assert(SYSCALLS.get() === 0);
  1811. }};function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
  1812. try {
  1813. // close
  1814. var stream = SYSCALLS.getStreamFromFD();
  1815. FS.close(stream);
  1816. return 0;
  1817. } catch (e) {
  1818. if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
  1819. return -e.errno;
  1820. }
  1821. }
  1822. var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC);
  1823. function ___setErrNo(value) {
  1824. if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
  1825. else Module.printErr('failed to set errno from JS');
  1826. return value;
  1827. }
  1828. function __embind_register_std_wstring(rawType, charSize, name) {
  1829. // nb. do not cache HEAPU16 and HEAPU32, they may be destroyed by enlargeMemory().
  1830. name = readLatin1String(name);
  1831. var getHeap, shift;
  1832. if (charSize === 2) {
  1833. getHeap = function() { return HEAPU16; };
  1834. shift = 1;
  1835. } else if (charSize === 4) {
  1836. getHeap = function() { return HEAPU32; };
  1837. shift = 2;
  1838. }
  1839. registerType(rawType, {
  1840. name: name,
  1841. 'fromWireType': function(value) {
  1842. var HEAP = getHeap();
  1843. var length = HEAPU32[value >> 2];
  1844. var a = new Array(length);
  1845. var start = (value + 4) >> shift;
  1846. for (var i = 0; i < length; ++i) {
  1847. a[i] = String.fromCharCode(HEAP[start + i]);
  1848. }
  1849. _free(value);
  1850. return a.join('');
  1851. },
  1852. 'toWireType': function(destructors, value) {
  1853. // assumes 4-byte alignment
  1854. var HEAP = getHeap();
  1855. var length = value.length;
  1856. var ptr = _malloc(4 + length * charSize);
  1857. HEAPU32[ptr >> 2] = length;
  1858. var start = (ptr + 4) >> shift;
  1859. for (var i = 0; i < length; ++i) {
  1860. HEAP[start + i] = value.charCodeAt(i);
  1861. }
  1862. if (destructors !== null) {
  1863. destructors.push(_free, ptr);
  1864. }
  1865. return ptr;
  1866. },
  1867. 'argPackAdvance': 8,
  1868. 'readValueFromPointer': simpleReadValueFromPointer,
  1869. destructorFunction: function(ptr) { _free(ptr); },
  1870. });
  1871. }
  1872. function __ZSt18uncaught_exceptionv() { // std::uncaught_exception()
  1873. return !!__ZSt18uncaught_exceptionv.uncaught_exception;
  1874. }
  1875. var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function (adjusted) {
  1876. if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted;
  1877. for (var ptr in EXCEPTIONS.infos) {
  1878. var info = EXCEPTIONS.infos[ptr];
  1879. if (info.adjusted === adjusted) {
  1880. return ptr;
  1881. }
  1882. }
  1883. return adjusted;
  1884. },addRef:function (ptr) {
  1885. if (!ptr) return;
  1886. var info = EXCEPTIONS.infos[ptr];
  1887. info.refcount++;
  1888. },decRef:function (ptr) {
  1889. if (!ptr) return;
  1890. var info = EXCEPTIONS.infos[ptr];
  1891. assert(info.refcount > 0);
  1892. info.refcount--;
  1893. // A rethrown exception can reach refcount 0; it must not be discarded
  1894. // Its next handler will clear the rethrown flag and addRef it, prior to
  1895. // final decRef and destruction here
  1896. if (info.refcount === 0 && !info.rethrown) {
  1897. if (info.destructor) {
  1898. Module['dynCall_vi'](info.destructor, ptr);
  1899. }
  1900. delete EXCEPTIONS.infos[ptr];
  1901. ___cxa_free_exception(ptr);
  1902. }
  1903. },clearRef:function (ptr) {
  1904. if (!ptr) return;
  1905. var info = EXCEPTIONS.infos[ptr];
  1906. info.refcount = 0;
  1907. }};
  1908. function ___resumeException(ptr) {
  1909. if (!EXCEPTIONS.last) { EXCEPTIONS.last = ptr; }
  1910. throw ptr;
  1911. }function ___cxa_find_matching_catch() {
  1912. var thrown = EXCEPTIONS.last;
  1913. if (!thrown) {
  1914. // just pass through the null ptr
  1915. return ((Runtime.setTempRet0(0),0)|0);
  1916. }
  1917. var info = EXCEPTIONS.infos[thrown];
  1918. var throwntype = info.type;
  1919. if (!throwntype) {
  1920. // just pass through the thrown ptr
  1921. return ((Runtime.setTempRet0(0),thrown)|0);
  1922. }
  1923. var typeArray = Array.prototype.slice.call(arguments);
  1924. var pointer = Module['___cxa_is_pointer_type'](throwntype);
  1925. // can_catch receives a **, add indirection
  1926. if (!___cxa_find_matching_catch.buffer) ___cxa_find_matching_catch.buffer = _malloc(4);
  1927. HEAP32[((___cxa_find_matching_catch.buffer)>>2)]=thrown;
  1928. thrown = ___cxa_find_matching_catch.buffer;
  1929. // The different catch blocks are denoted by different types.
  1930. // Due to inheritance, those types may not precisely match the
  1931. // type of the thrown object. Find one which matches, and
  1932. // return the type of the catch block which should be called.
  1933. for (var i = 0; i < typeArray.length; i++) {
  1934. if (typeArray[i] && Module['___cxa_can_catch'](typeArray[i], throwntype, thrown)) {
  1935. thrown = HEAP32[((thrown)>>2)]; // undo indirection
  1936. info.adjusted = thrown;
  1937. return ((Runtime.setTempRet0(typeArray[i]),thrown)|0);
  1938. }
  1939. }
  1940. // Shouldn't happen unless we have bogus data in typeArray
  1941. // or encounter a type for which emscripten doesn't have suitable
  1942. // typeinfo defined. Best-efforts match just in case.
  1943. thrown = HEAP32[((thrown)>>2)]; // undo indirection
  1944. return ((Runtime.setTempRet0(throwntype),thrown)|0);
  1945. }function ___gxx_personality_v0() {
  1946. }
  1947. function _emscripten_memcpy_big(dest, src, num) {
  1948. HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
  1949. return dest;
  1950. }
  1951. var emval_free_list=[];
  1952. var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle) {
  1953. if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
  1954. emval_handle_array[handle] = undefined;
  1955. emval_free_list.push(handle);
  1956. }
  1957. }
  1958. function count_emval_handles() {
  1959. var count = 0;
  1960. for (var i = 5; i < emval_handle_array.length; ++i) {
  1961. if (emval_handle_array[i] !== undefined) {
  1962. ++count;
  1963. }
  1964. }
  1965. return count;
  1966. }
  1967. function get_first_emval() {
  1968. for (var i = 5; i < emval_handle_array.length; ++i) {
  1969. if (emval_handle_array[i] !== undefined) {
  1970. return emval_handle_array[i];
  1971. }
  1972. }
  1973. return null;
  1974. }function init_emval() {
  1975. Module['count_emval_handles'] = count_emval_handles;
  1976. Module['get_first_emval'] = get_first_emval;
  1977. }function __emval_register(value) {
  1978. switch(value){
  1979. case undefined :{ return 1; }
  1980. case null :{ return 2; }
  1981. case true :{ return 3; }
  1982. case false :{ return 4; }
  1983. default:{
  1984. var handle = emval_free_list.length ?
  1985. emval_free_list.pop() :
  1986. emval_handle_array.length;
  1987. emval_handle_array[handle] = {refcount: 1, value: value};
  1988. return handle;
  1989. }
  1990. }
  1991. }function __embind_register_emval(rawType, name) {
  1992. name = readLatin1String(name);
  1993. registerType(rawType, {
  1994. name: name,
  1995. 'fromWireType': function(handle) {
  1996. var rv = emval_handle_array[handle].value;
  1997. __emval_decref(handle);
  1998. return rv;
  1999. },
  2000. 'toWireType': function(destructors, value) {
  2001. return __emval_register(value);
  2002. },
  2003. 'argPackAdvance': 8,
  2004. 'readValueFromPointer': simpleReadValueFromPointer,
  2005. destructorFunction: null, // This type does not need a destructor
  2006. // TODO: do we need a deleteObject here? write a test where
  2007. // emval is passed into JS via an interface
  2008. });
  2009. }
  2010. function __embind_register_memory_view(rawType, dataTypeIndex, name) {
  2011. var typeMapping = [
  2012. Int8Array,
  2013. Uint8Array,
  2014. Int16Array,
  2015. Uint16Array,
  2016. Int32Array,
  2017. Uint32Array,
  2018. Float32Array,
  2019. Float64Array,
  2020. ];
  2021. var TA = typeMapping[dataTypeIndex];
  2022. function decodeMemoryView(handle) {
  2023. handle = handle >> 2;
  2024. var heap = HEAPU32;
  2025. var size = heap[handle]; // in elements
  2026. var data = heap[handle + 1]; // byte offset into emscripten heap
  2027. return new TA(heap['buffer'], data, size);
  2028. }
  2029. name = readLatin1String(name);
  2030. registerType(rawType, {
  2031. name: name,
  2032. 'fromWireType': decodeMemoryView,
  2033. 'argPackAdvance': 8,
  2034. 'readValueFromPointer': decodeMemoryView,
  2035. }, {
  2036. ignoreDuplicateRegistrations: true,
  2037. });
  2038. }
  2039. function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
  2040. try {
  2041. // llseek
  2042. var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
  2043. // NOTE: offset_high is unused - Emscripten's off_t is 32-bit
  2044. var offset = offset_low;
  2045. FS.llseek(stream, offset, whence);
  2046. HEAP32[((result)>>2)]=stream.position;
  2047. if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
  2048. return 0;
  2049. } catch (e) {
  2050. if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
  2051. return -e.errno;
  2052. }
  2053. }
  2054. function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
  2055. try {
  2056. // writev
  2057. // hack to support printf in NO_FILESYSTEM
  2058. var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
  2059. var ret = 0;
  2060. if (!___syscall146.buffer) {
  2061. ___syscall146.buffers = [null, [], []]; // 1 => stdout, 2 => stderr
  2062. ___syscall146.printChar = function(stream, curr) {
  2063. var buffer = ___syscall146.buffers[stream];
  2064. assert(buffer);
  2065. if (curr === 0 || curr === 10) {
  2066. (stream === 1 ? Module['print'] : Module['printErr'])(UTF8ArrayToString(buffer, 0));
  2067. buffer.length = 0;
  2068. } else {
  2069. buffer.push(curr);
  2070. }
  2071. };
  2072. }
  2073. for (var i = 0; i < iovcnt; i++) {
  2074. var ptr = HEAP32[(((iov)+(i*8))>>2)];
  2075. var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
  2076. for (var j = 0; j < len; j++) {
  2077. ___syscall146.printChar(stream, HEAPU8[ptr+j]);
  2078. }
  2079. ret += len;
  2080. }
  2081. return ret;
  2082. } catch (e) {
  2083. if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
  2084. return -e.errno;
  2085. }
  2086. }
  2087. function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
  2088. try {
  2089. // ioctl
  2090. return 0;
  2091. } catch (e) {
  2092. if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
  2093. return -e.errno;
  2094. }
  2095. }
  2096. embind_init_charCodes();
  2097. BindingError = Module['BindingError'] = extendError(Error, 'BindingError');;
  2098. InternalError = Module['InternalError'] = extendError(Error, 'InternalError');;
  2099. init_emval();;
  2100. /* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { var fflush = Module["_fflush"]; if (fflush) fflush(0); var printChar = ___syscall146.printChar; if (!printChar) return; var buffers = ___syscall146.buffers; if (buffers[1].length) printChar(1, 10); if (buffers[2].length) printChar(2, 10); });;
  2101. DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC);
  2102. STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
  2103. STACK_MAX = STACK_BASE + TOTAL_STACK;
  2104. DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX);
  2105. HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
  2106. staticSealed = true; // seal the static portion of memory
  2107. assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
  2108. function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
  2109. function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
  2110. function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
  2111. function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
  2112. function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
  2113. function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
  2114. function invoke_iiii(index,a1,a2,a3) {
  2115. try {
  2116. return Module["dynCall_iiii"](index,a1,a2,a3);
  2117. } catch(e) {
  2118. if (typeof e !== 'number' && e !== 'longjmp') throw e;
  2119. Module["setThrew"](1, 0);
  2120. }
  2121. }
  2122. function invoke_viiiii(index,a1,a2,a3,a4,a5) {
  2123. try {
  2124. Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5);
  2125. } catch(e) {
  2126. if (typeof e !== 'number' && e !== 'longjmp') throw e;
  2127. Module["setThrew"](1, 0);
  2128. }
  2129. }
  2130. function invoke_vi(index,a1) {
  2131. try {
  2132. Module["dynCall_vi"](index,a1);
  2133. } catch(e) {
  2134. if (typeof e !== 'number' && e !== 'longjmp') throw e;
  2135. Module["setThrew"](1, 0);
  2136. }
  2137. }
  2138. function invoke_ii(index,a1) {
  2139. try {
  2140. return Module["dynCall_ii"](index,a1);
  2141. } catch(e) {
  2142. if (typeof e !== 'number' && e !== 'longjmp') throw e;
  2143. Module["setThrew"](1, 0);
  2144. }
  2145. }
  2146. function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
  2147. try {
  2148. Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6);
  2149. } catch(e) {
  2150. if (typeof e !== 'number' && e !== 'longjmp') throw e;
  2151. Module["setThrew"](1, 0);
  2152. }
  2153. }
  2154. function invoke_viiii(index,a1,a2,a3,a4) {
  2155. try {
  2156. Module["dynCall_viiii"](index,a1,a2,a3,a4);
  2157. } catch(e) {
  2158. if (typeof e !== 'number' && e !== 'longjmp') throw e;
  2159. Module["setThrew"](1, 0);
  2160. }
  2161. }
  2162. Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
  2163. Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vi": nullFunc_vi, "nullFunc_ii": nullFunc_ii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viiii": nullFunc_viiii, "invoke_iiii": invoke_iiii, "invoke_viiiii": invoke_viiiii, "invoke_vi": invoke_vi, "invoke_ii": invoke_ii, "invoke_viiiiii": invoke_viiiiii, "invoke_viiii": invoke_viiii, "floatReadValueFromPointer": floatReadValueFromPointer, "simpleReadValueFromPointer": simpleReadValueFromPointer, "integerReadValueFromPointer": integerReadValueFromPointer, "__embind_register_memory_view": __embind_register_memory_view, "throwInternalError": throwInternalError, "get_first_emval": get_first_emval, "___gxx_personality_v0": ___gxx_personality_v0, "extendError": extendError, "__embind_register_void": __embind_register_void, "__ZSt18uncaught_exceptionv": __ZSt18uncaught_exceptionv, "getShiftFromSize": getShiftFromSize, "embind_init_charCodes": embind_init_charCodes, "___setErrNo": ___setErrNo, "__emval_register": __emval_register, "__embind_register_std_wstring": __embind_register_std_wstring, "_emscripten_memcpy_big": _emscripten_memcpy_big, "__embind_register_bool": __embind_register_bool, "___resumeException": ___resumeException, "___cxa_find_matching_catch": ___cxa_find_matching_catch, "_embind_repr": _embind_repr, "__embind_register_std_string": __embind_register_std_string, "createNamedFunction": createNamedFunction, "__embind_register_emval": __embind_register_emval, "readLatin1String": readLatin1String, "__embind_register_integer": __embind_register_integer, "__emval_decref": __emval_decref, "__embind_register_float": __embind_register_float, "makeLegalFunctionName": makeLegalFunctionName, "___syscall54": ___syscall54, "___unlock": ___unlock, "init_emval": init_emval, "whenDependentTypesAreResolved": whenDependentTypesAreResolved, "registerType": registerType, "___lock": ___lock, "___syscall6": ___syscall6, "throwBindingError": throwBindingError, "count_emval_handles": count_emval_handles, "___syscall140": ___syscall140, "___syscall146": ___syscall146, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 };
  2164. // EMSCRIPTEN_START_ASM
  2165. var asm = (function(global, env, buffer) {
  2166. 'almost asm';
  2167. var HEAP8 = new global.Int8Array(buffer);
  2168. var HEAP16 = new global.Int16Array(buffer);
  2169. var HEAP32 = new global.Int32Array(buffer);
  2170. var HEAPU8 = new global.Uint8Array(buffer);
  2171. var HEAPU16 = new global.Uint16Array(buffer);
  2172. var HEAPU32 = new global.Uint32Array(buffer);
  2173. var HEAPF32 = new global.Float32Array(buffer);
  2174. var HEAPF64 = new global.Float64Array(buffer);
  2175. var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0;
  2176. var tempDoublePtr=env.tempDoublePtr|0;
  2177. var ABORT=env.ABORT|0;
  2178. var STACKTOP=env.STACKTOP|0;
  2179. var STACK_MAX=env.STACK_MAX|0;
  2180. var cttz_i8=env.cttz_i8|0;
  2181. var __THREW__ = 0;
  2182. var threwValue = 0;
  2183. var setjmpId = 0;
  2184. var undef = 0;
  2185. var nan = global.NaN, inf = global.Infinity;
  2186. var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0;
  2187. var tempRet0 = 0;
  2188. var Math_floor=global.Math.floor;
  2189. var Math_abs=global.Math.abs;
  2190. var Math_sqrt=global.Math.sqrt;
  2191. var Math_pow=global.Math.pow;
  2192. var Math_cos=global.Math.cos;
  2193. var Math_sin=global.Math.sin;
  2194. var Math_tan=global.Math.tan;
  2195. var Math_acos=global.Math.acos;
  2196. var Math_asin=global.Math.asin;
  2197. var Math_atan=global.Math.atan;
  2198. var Math_atan2=global.Math.atan2;
  2199. var Math_exp=global.Math.exp;
  2200. var Math_log=global.Math.log;
  2201. var Math_ceil=global.Math.ceil;
  2202. var Math_imul=global.Math.imul;
  2203. var Math_min=global.Math.min;
  2204. var Math_max=global.Math.max;
  2205. var Math_clz32=global.Math.clz32;
  2206. var abort=env.abort;
  2207. var assert=env.assert;
  2208. var enlargeMemory=env.enlargeMemory;
  2209. var getTotalMemory=env.getTotalMemory;
  2210. var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory;
  2211. var abortStackOverflow=env.abortStackOverflow;
  2212. var nullFunc_iiii=env.nullFunc_iiii;
  2213. var nullFunc_viiiii=env.nullFunc_viiiii;
  2214. var nullFunc_vi=env.nullFunc_vi;
  2215. var nullFunc_ii=env.nullFunc_ii;
  2216. var nullFunc_viiiiii=env.nullFunc_viiiiii;
  2217. var nullFunc_viiii=env.nullFunc_viiii;
  2218. var invoke_iiii=env.invoke_iiii;
  2219. var invoke_viiiii=env.invoke_viiiii;
  2220. var invoke_vi=env.invoke_vi;
  2221. var invoke_ii=env.invoke_ii;
  2222. var invoke_viiiiii=env.invoke_viiiiii;
  2223. var invoke_viiii=env.invoke_viiii;
  2224. var floatReadValueFromPointer=env.floatReadValueFromPointer;
  2225. var simpleReadValueFromPointer=env.simpleReadValueFromPointer;
  2226. var integerReadValueFromPointer=env.integerReadValueFromPointer;
  2227. var __embind_register_memory_view=env.__embind_register_memory_view;
  2228. var throwInternalError=env.throwInternalError;
  2229. var get_first_emval=env.get_first_emval;
  2230. var ___gxx_personality_v0=env.___gxx_personality_v0;
  2231. var extendError=env.extendError;
  2232. var __embind_register_void=env.__embind_register_void;
  2233. var __ZSt18uncaught_exceptionv=env.__ZSt18uncaught_exceptionv;
  2234. var getShiftFromSize=env.getShiftFromSize;
  2235. var embind_init_charCodes=env.embind_init_charCodes;
  2236. var ___setErrNo=env.___setErrNo;
  2237. var __emval_register=env.__emval_register;
  2238. var __embind_register_std_wstring=env.__embind_register_std_wstring;
  2239. var _emscripten_memcpy_big=env._emscripten_memcpy_big;
  2240. var __embind_register_bool=env.__embind_register_bool;
  2241. var ___resumeException=env.___resumeException;
  2242. var ___cxa_find_matching_catch=env.___cxa_find_matching_catch;
  2243. var _embind_repr=env._embind_repr;
  2244. var __embind_register_std_string=env.__embind_register_std_string;
  2245. var createNamedFunction=env.createNamedFunction;
  2246. var __embind_register_emval=env.__embind_register_emval;
  2247. var readLatin1String=env.readLatin1String;
  2248. var __embind_register_integer=env.__embind_register_integer;
  2249. var __emval_decref=env.__emval_decref;
  2250. var __embind_register_float=env.__embind_register_float;
  2251. var makeLegalFunctionName=env.makeLegalFunctionName;
  2252. var ___syscall54=env.___syscall54;
  2253. var ___unlock=env.___unlock;
  2254. var init_emval=env.init_emval;
  2255. var whenDependentTypesAreResolved=env.whenDependentTypesAreResolved;
  2256. var registerType=env.registerType;
  2257. var ___lock=env.___lock;
  2258. var ___syscall6=env.___syscall6;
  2259. var throwBindingError=env.throwBindingError;
  2260. var count_emval_handles=env.count_emval_handles;
  2261. var ___syscall140=env.___syscall140;
  2262. var ___syscall146=env.___syscall146;
  2263. var tempFloat = 0.0;
  2264. // EMSCRIPTEN_START_FUNCS
  2265. function stackAlloc(size) {
  2266. size = size|0;
  2267. var ret = 0;
  2268. ret = STACKTOP;
  2269. STACKTOP = (STACKTOP + size)|0;
  2270. STACKTOP = (STACKTOP + 15)&-16;
  2271. if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0);
  2272. return ret|0;
  2273. }
  2274. function stackSave() {
  2275. return STACKTOP|0;
  2276. }
  2277. function stackRestore(top) {
  2278. top = top|0;
  2279. STACKTOP = top;
  2280. }
  2281. function establishStackSpace(stackBase, stackMax) {
  2282. stackBase = stackBase|0;
  2283. stackMax = stackMax|0;
  2284. STACKTOP = stackBase;
  2285. STACK_MAX = stackMax;
  2286. }
  2287. function setThrew(threw, value) {
  2288. threw = threw|0;
  2289. value = value|0;
  2290. if ((__THREW__|0) == 0) {
  2291. __THREW__ = threw;
  2292. threwValue = value;
  2293. }
  2294. }
  2295. function setTempRet0(value) {
  2296. value = value|0;
  2297. tempRet0 = value;
  2298. }
  2299. function getTempRet0() {
  2300. return tempRet0|0;
  2301. }
  2302. function _crc64_init() {
  2303. var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
  2304. sp = STACKTOP;
  2305. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  2306. $0 = sp;
  2307. $1 = $0;
  2308. $2 = $1;
  2309. HEAP32[$2>>2] = 1;
  2310. $3 = (($1) + 4)|0;
  2311. $4 = $3;
  2312. HEAP32[$4>>2] = 0;
  2313. $5 = HEAP8[$0>>0]|0;
  2314. $6 = ($5<<24>>24)!=(0);
  2315. if ($6) {
  2316. __ZL17crc64_little_initv();
  2317. STACKTOP = sp;return;
  2318. } else {
  2319. __ZL14crc64_big_initv();
  2320. STACKTOP = sp;return;
  2321. }
  2322. }
  2323. function __ZL17crc64_little_initv() {
  2324. var label = 0, sp = 0;
  2325. sp = STACKTOP;
  2326. __ZL11crc64_init_PA256_y(5616);
  2327. return;
  2328. }
  2329. function __ZL14crc64_big_initv() {
  2330. var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
  2331. var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  2332. sp = STACKTOP;
  2333. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  2334. __ZL11crc64_init_PA256_y(22000);
  2335. $0 = 0;
  2336. while(1) {
  2337. $2 = $0;
  2338. $3 = ($2>>>0)<(8);
  2339. if (!($3)) {
  2340. break;
  2341. }
  2342. $1 = 0;
  2343. while(1) {
  2344. $4 = $1;
  2345. $5 = ($4>>>0)<(256);
  2346. $6 = $0;
  2347. if (!($5)) {
  2348. break;
  2349. }
  2350. $7 = (22000 + ($6<<11)|0);
  2351. $8 = $1;
  2352. $9 = (($7) + ($8<<3)|0);
  2353. $10 = $9;
  2354. $11 = $10;
  2355. $12 = HEAP32[$11>>2]|0;
  2356. $13 = (($10) + 4)|0;
  2357. $14 = $13;
  2358. $15 = HEAP32[$14>>2]|0;
  2359. $16 = (__ZL4rev8y($12,$15)|0);
  2360. $17 = tempRet0;
  2361. $18 = $0;
  2362. $19 = (22000 + ($18<<11)|0);
  2363. $20 = $1;
  2364. $21 = (($19) + ($20<<3)|0);
  2365. $22 = $21;
  2366. $23 = $22;
  2367. HEAP32[$23>>2] = $16;
  2368. $24 = (($22) + 4)|0;
  2369. $25 = $24;
  2370. HEAP32[$25>>2] = $17;
  2371. $26 = $1;
  2372. $27 = (($26) + 1)|0;
  2373. $1 = $27;
  2374. }
  2375. $28 = (($6) + 1)|0;
  2376. $0 = $28;
  2377. }
  2378. STACKTOP = sp;return;
  2379. }
  2380. function _crc64($0,$1,$2) {
  2381. $0 = $0|0;
  2382. $1 = $1|0;
  2383. $2 = $2|0;
  2384. var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
  2385. var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  2386. sp = STACKTOP;
  2387. STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
  2388. $6 = sp;
  2389. $3 = $0;
  2390. $4 = $1;
  2391. $5 = $2;
  2392. $7 = $6;
  2393. $8 = $7;
  2394. HEAP32[$8>>2] = 1;
  2395. $9 = (($7) + 4)|0;
  2396. $10 = $9;
  2397. HEAP32[$10>>2] = 0;
  2398. $11 = HEAP8[$6>>0]|0;
  2399. $12 = ($11<<24>>24)!=(0);
  2400. $13 = $3;
  2401. $14 = $13;
  2402. $15 = $14;
  2403. $16 = HEAP32[$15>>2]|0;
  2404. $17 = (($14) + 4)|0;
  2405. $18 = $17;
  2406. $19 = HEAP32[$18>>2]|0;
  2407. $20 = $4;
  2408. $21 = $5;
  2409. if ($12) {
  2410. $22 = (__ZL12crc64_littleyPvj($16,$19,$20,$21)|0);
  2411. $23 = tempRet0;
  2412. $29 = $22;$32 = $23;
  2413. } else {
  2414. $24 = (__ZL9crc64_bigyPvj($16,$19,$20,$21)|0);
  2415. $25 = tempRet0;
  2416. $29 = $24;$32 = $25;
  2417. }
  2418. $26 = $3;
  2419. $27 = $26;
  2420. $28 = $27;
  2421. HEAP32[$28>>2] = $29;
  2422. $30 = (($27) + 4)|0;
  2423. $31 = $30;
  2424. HEAP32[$31>>2] = $32;
  2425. STACKTOP = sp;return;
  2426. }
  2427. function __ZL12crc64_littleyPvj($0,$1,$2,$3) {
  2428. $0 = $0|0;
  2429. $1 = $1|0;
  2430. $2 = $2|0;
  2431. $3 = $3|0;
  2432. var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
  2433. var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
  2434. var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
  2435. var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
  2436. var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
  2437. var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
  2438. var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
  2439. var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
  2440. var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
  2441. var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
  2442. var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
  2443. var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
  2444. var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
  2445. var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
  2446. sp = STACKTOP;
  2447. STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
  2448. $4 = sp;
  2449. $8 = $4;
  2450. $9 = $8;
  2451. HEAP32[$9>>2] = $0;
  2452. $10 = (($8) + 4)|0;
  2453. $11 = $10;
  2454. HEAP32[$11>>2] = $1;
  2455. $5 = $2;
  2456. $6 = $3;
  2457. $12 = $5;
  2458. $7 = $12;
  2459. $13 = $4;
  2460. $14 = $13;
  2461. $15 = HEAP32[$14>>2]|0;
  2462. $16 = (($13) + 4)|0;
  2463. $17 = $16;
  2464. $18 = HEAP32[$17>>2]|0;
  2465. $19 = $15 ^ -1;
  2466. $20 = $18 ^ -1;
  2467. $21 = $4;
  2468. $22 = $21;
  2469. HEAP32[$22>>2] = $19;
  2470. $23 = (($21) + 4)|0;
  2471. $24 = $23;
  2472. HEAP32[$24>>2] = $20;
  2473. while(1) {
  2474. $25 = $6;
  2475. $26 = ($25|0)!=(0);
  2476. if (!($26)) {
  2477. break;
  2478. }
  2479. $27 = $7;
  2480. $28 = $27;
  2481. $29 = $28 & 7;
  2482. $30 = ($29|0)!=(0);
  2483. if (!($30)) {
  2484. break;
  2485. }
  2486. $31 = $4;
  2487. $32 = $31;
  2488. $33 = HEAP32[$32>>2]|0;
  2489. $34 = (($31) + 4)|0;
  2490. $35 = $34;
  2491. $36 = HEAP32[$35>>2]|0;
  2492. $37 = $7;
  2493. $38 = ((($37)) + 1|0);
  2494. $7 = $38;
  2495. $39 = HEAP8[$37>>0]|0;
  2496. $40 = $39&255;
  2497. $41 = $33 ^ $40;
  2498. $42 = $41 & 255;
  2499. $43 = (5616 + ($42<<3)|0);
  2500. $44 = $43;
  2501. $45 = $44;
  2502. $46 = HEAP32[$45>>2]|0;
  2503. $47 = (($44) + 4)|0;
  2504. $48 = $47;
  2505. $49 = HEAP32[$48>>2]|0;
  2506. $50 = $4;
  2507. $51 = $50;
  2508. $52 = HEAP32[$51>>2]|0;
  2509. $53 = (($50) + 4)|0;
  2510. $54 = $53;
  2511. $55 = HEAP32[$54>>2]|0;
  2512. $56 = (_bitshift64Lshr(($52|0),($55|0),8)|0);
  2513. $57 = tempRet0;
  2514. $58 = $46 ^ $56;
  2515. $59 = $49 ^ $57;
  2516. $60 = $4;
  2517. $61 = $60;
  2518. HEAP32[$61>>2] = $58;
  2519. $62 = (($60) + 4)|0;
  2520. $63 = $62;
  2521. HEAP32[$63>>2] = $59;
  2522. $64 = $6;
  2523. $65 = (($64) + -1)|0;
  2524. $6 = $65;
  2525. }
  2526. while(1) {
  2527. $66 = $6;
  2528. $67 = ($66>>>0)>=(8);
  2529. if (!($67)) {
  2530. break;
  2531. }
  2532. $68 = $7;
  2533. $69 = $68;
  2534. $70 = $69;
  2535. $71 = HEAP32[$70>>2]|0;
  2536. $72 = (($69) + 4)|0;
  2537. $73 = $72;
  2538. $74 = HEAP32[$73>>2]|0;
  2539. $75 = $4;
  2540. $76 = $75;
  2541. $77 = HEAP32[$76>>2]|0;
  2542. $78 = (($75) + 4)|0;
  2543. $79 = $78;
  2544. $80 = HEAP32[$79>>2]|0;
  2545. $81 = $77 ^ $71;
  2546. $82 = $80 ^ $74;
  2547. $83 = $4;
  2548. $84 = $83;
  2549. HEAP32[$84>>2] = $81;
  2550. $85 = (($83) + 4)|0;
  2551. $86 = $85;
  2552. HEAP32[$86>>2] = $82;
  2553. $87 = $4;
  2554. $88 = $87;
  2555. $89 = HEAP32[$88>>2]|0;
  2556. $90 = (($87) + 4)|0;
  2557. $91 = $90;
  2558. $92 = HEAP32[$91>>2]|0;
  2559. $93 = $89 & 255;
  2560. $94 = ((19952) + ($93<<3)|0);
  2561. $95 = $94;
  2562. $96 = $95;
  2563. $97 = HEAP32[$96>>2]|0;
  2564. $98 = (($95) + 4)|0;
  2565. $99 = $98;
  2566. $100 = HEAP32[$99>>2]|0;
  2567. $101 = $4;
  2568. $102 = $101;
  2569. $103 = HEAP32[$102>>2]|0;
  2570. $104 = (($101) + 4)|0;
  2571. $105 = $104;
  2572. $106 = HEAP32[$105>>2]|0;
  2573. $107 = (_bitshift64Lshr(($103|0),($106|0),8)|0);
  2574. $108 = tempRet0;
  2575. $109 = $107 & 255;
  2576. $110 = ((17904) + ($109<<3)|0);
  2577. $111 = $110;
  2578. $112 = $111;
  2579. $113 = HEAP32[$112>>2]|0;
  2580. $114 = (($111) + 4)|0;
  2581. $115 = $114;
  2582. $116 = HEAP32[$115>>2]|0;
  2583. $117 = $97 ^ $113;
  2584. $118 = $100 ^ $116;
  2585. $119 = $4;
  2586. $120 = $119;
  2587. $121 = HEAP32[$120>>2]|0;
  2588. $122 = (($119) + 4)|0;
  2589. $123 = $122;
  2590. $124 = HEAP32[$123>>2]|0;
  2591. $125 = (_bitshift64Lshr(($121|0),($124|0),16)|0);
  2592. $126 = tempRet0;
  2593. $127 = $125 & 255;
  2594. $128 = ((15856) + ($127<<3)|0);
  2595. $129 = $128;
  2596. $130 = $129;
  2597. $131 = HEAP32[$130>>2]|0;
  2598. $132 = (($129) + 4)|0;
  2599. $133 = $132;
  2600. $134 = HEAP32[$133>>2]|0;
  2601. $135 = $117 ^ $131;
  2602. $136 = $118 ^ $134;
  2603. $137 = $4;
  2604. $138 = $137;
  2605. $139 = HEAP32[$138>>2]|0;
  2606. $140 = (($137) + 4)|0;
  2607. $141 = $140;
  2608. $142 = HEAP32[$141>>2]|0;
  2609. $143 = (_bitshift64Lshr(($139|0),($142|0),24)|0);
  2610. $144 = tempRet0;
  2611. $145 = $143 & 255;
  2612. $146 = ((13808) + ($145<<3)|0);
  2613. $147 = $146;
  2614. $148 = $147;
  2615. $149 = HEAP32[$148>>2]|0;
  2616. $150 = (($147) + 4)|0;
  2617. $151 = $150;
  2618. $152 = HEAP32[$151>>2]|0;
  2619. $153 = $135 ^ $149;
  2620. $154 = $136 ^ $152;
  2621. $155 = $4;
  2622. $156 = $155;
  2623. $157 = HEAP32[$156>>2]|0;
  2624. $158 = (($155) + 4)|0;
  2625. $159 = $158;
  2626. $160 = HEAP32[$159>>2]|0;
  2627. $161 = $160 & 255;
  2628. $162 = ((11760) + ($161<<3)|0);
  2629. $163 = $162;
  2630. $164 = $163;
  2631. $165 = HEAP32[$164>>2]|0;
  2632. $166 = (($163) + 4)|0;
  2633. $167 = $166;
  2634. $168 = HEAP32[$167>>2]|0;
  2635. $169 = $153 ^ $165;
  2636. $170 = $154 ^ $168;
  2637. $171 = $4;
  2638. $172 = $171;
  2639. $173 = HEAP32[$172>>2]|0;
  2640. $174 = (($171) + 4)|0;
  2641. $175 = $174;
  2642. $176 = HEAP32[$175>>2]|0;
  2643. $177 = (_bitshift64Lshr(($173|0),($176|0),40)|0);
  2644. $178 = tempRet0;
  2645. $179 = $177 & 255;
  2646. $180 = ((9712) + ($179<<3)|0);
  2647. $181 = $180;
  2648. $182 = $181;
  2649. $183 = HEAP32[$182>>2]|0;
  2650. $184 = (($181) + 4)|0;
  2651. $185 = $184;
  2652. $186 = HEAP32[$185>>2]|0;
  2653. $187 = $169 ^ $183;
  2654. $188 = $170 ^ $186;
  2655. $189 = $4;
  2656. $190 = $189;
  2657. $191 = HEAP32[$190>>2]|0;
  2658. $192 = (($189) + 4)|0;
  2659. $193 = $192;
  2660. $194 = HEAP32[$193>>2]|0;
  2661. $195 = (_bitshift64Lshr(($191|0),($194|0),48)|0);
  2662. $196 = tempRet0;
  2663. $197 = $195 & 255;
  2664. $198 = ((7664) + ($197<<3)|0);
  2665. $199 = $198;
  2666. $200 = $199;
  2667. $201 = HEAP32[$200>>2]|0;
  2668. $202 = (($199) + 4)|0;
  2669. $203 = $202;
  2670. $204 = HEAP32[$203>>2]|0;
  2671. $205 = $187 ^ $201;
  2672. $206 = $188 ^ $204;
  2673. $207 = $4;
  2674. $208 = $207;
  2675. $209 = HEAP32[$208>>2]|0;
  2676. $210 = (($207) + 4)|0;
  2677. $211 = $210;
  2678. $212 = HEAP32[$211>>2]|0;
  2679. $213 = (_bitshift64Lshr(($209|0),($212|0),56)|0);
  2680. $214 = tempRet0;
  2681. $215 = (5616 + ($213<<3)|0);
  2682. $216 = $215;
  2683. $217 = $216;
  2684. $218 = HEAP32[$217>>2]|0;
  2685. $219 = (($216) + 4)|0;
  2686. $220 = $219;
  2687. $221 = HEAP32[$220>>2]|0;
  2688. $222 = $205 ^ $218;
  2689. $223 = $206 ^ $221;
  2690. $224 = $4;
  2691. $225 = $224;
  2692. HEAP32[$225>>2] = $222;
  2693. $226 = (($224) + 4)|0;
  2694. $227 = $226;
  2695. HEAP32[$227>>2] = $223;
  2696. $228 = $7;
  2697. $229 = ((($228)) + 8|0);
  2698. $7 = $229;
  2699. $230 = $6;
  2700. $231 = (($230) - 8)|0;
  2701. $6 = $231;
  2702. }
  2703. while(1) {
  2704. $232 = $6;
  2705. $233 = ($232|0)!=(0);
  2706. $234 = $4;
  2707. $235 = $234;
  2708. $236 = HEAP32[$235>>2]|0;
  2709. $237 = (($234) + 4)|0;
  2710. $238 = $237;
  2711. $239 = HEAP32[$238>>2]|0;
  2712. if (!($233)) {
  2713. break;
  2714. }
  2715. $240 = $7;
  2716. $241 = ((($240)) + 1|0);
  2717. $7 = $241;
  2718. $242 = HEAP8[$240>>0]|0;
  2719. $243 = $242&255;
  2720. $244 = $236 ^ $243;
  2721. $245 = $244 & 255;
  2722. $246 = (5616 + ($245<<3)|0);
  2723. $247 = $246;
  2724. $248 = $247;
  2725. $249 = HEAP32[$248>>2]|0;
  2726. $250 = (($247) + 4)|0;
  2727. $251 = $250;
  2728. $252 = HEAP32[$251>>2]|0;
  2729. $253 = $4;
  2730. $254 = $253;
  2731. $255 = HEAP32[$254>>2]|0;
  2732. $256 = (($253) + 4)|0;
  2733. $257 = $256;
  2734. $258 = HEAP32[$257>>2]|0;
  2735. $259 = (_bitshift64Lshr(($255|0),($258|0),8)|0);
  2736. $260 = tempRet0;
  2737. $261 = $249 ^ $259;
  2738. $262 = $252 ^ $260;
  2739. $263 = $4;
  2740. $264 = $263;
  2741. HEAP32[$264>>2] = $261;
  2742. $265 = (($263) + 4)|0;
  2743. $266 = $265;
  2744. HEAP32[$266>>2] = $262;
  2745. $267 = $6;
  2746. $268 = (($267) + -1)|0;
  2747. $6 = $268;
  2748. }
  2749. $269 = $236 ^ -1;
  2750. $270 = $239 ^ -1;
  2751. tempRet0 = ($270);
  2752. STACKTOP = sp;return ($269|0);
  2753. }
  2754. function __ZL9crc64_bigyPvj($0,$1,$2,$3) {
  2755. $0 = $0|0;
  2756. $1 = $1|0;
  2757. $2 = $2|0;
  2758. $3 = $3|0;
  2759. var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
  2760. var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
  2761. var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
  2762. var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
  2763. var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
  2764. var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
  2765. var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
  2766. var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
  2767. var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
  2768. var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0;
  2769. var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
  2770. var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
  2771. var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
  2772. var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
  2773. sp = STACKTOP;
  2774. STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
  2775. $4 = sp;
  2776. $8 = $4;
  2777. $9 = $8;
  2778. HEAP32[$9>>2] = $0;
  2779. $10 = (($8) + 4)|0;
  2780. $11 = $10;
  2781. HEAP32[$11>>2] = $1;
  2782. $5 = $2;
  2783. $6 = $3;
  2784. $12 = $5;
  2785. $7 = $12;
  2786. $13 = $4;
  2787. $14 = $13;
  2788. $15 = HEAP32[$14>>2]|0;
  2789. $16 = (($13) + 4)|0;
  2790. $17 = $16;
  2791. $18 = HEAP32[$17>>2]|0;
  2792. $19 = (__ZL4rev8y($15,$18)|0);
  2793. $20 = tempRet0;
  2794. $21 = $19 ^ -1;
  2795. $22 = $20 ^ -1;
  2796. $23 = $4;
  2797. $24 = $23;
  2798. HEAP32[$24>>2] = $21;
  2799. $25 = (($23) + 4)|0;
  2800. $26 = $25;
  2801. HEAP32[$26>>2] = $22;
  2802. while(1) {
  2803. $27 = $6;
  2804. $28 = ($27|0)!=(0);
  2805. if (!($28)) {
  2806. break;
  2807. }
  2808. $29 = $7;
  2809. $30 = $29;
  2810. $31 = $30 & 7;
  2811. $32 = ($31|0)!=(0);
  2812. if (!($32)) {
  2813. break;
  2814. }
  2815. $33 = $4;
  2816. $34 = $33;
  2817. $35 = HEAP32[$34>>2]|0;
  2818. $36 = (($33) + 4)|0;
  2819. $37 = $36;
  2820. $38 = HEAP32[$37>>2]|0;
  2821. $39 = (_bitshift64Lshr(($35|0),($38|0),56)|0);
  2822. $40 = tempRet0;
  2823. $41 = $7;
  2824. $42 = ((($41)) + 1|0);
  2825. $7 = $42;
  2826. $43 = HEAP8[$41>>0]|0;
  2827. $44 = $43&255;
  2828. $45 = $39 ^ $44;
  2829. $46 = (22000 + ($45<<3)|0);
  2830. $47 = $46;
  2831. $48 = $47;
  2832. $49 = HEAP32[$48>>2]|0;
  2833. $50 = (($47) + 4)|0;
  2834. $51 = $50;
  2835. $52 = HEAP32[$51>>2]|0;
  2836. $53 = $4;
  2837. $54 = $53;
  2838. $55 = HEAP32[$54>>2]|0;
  2839. $56 = (($53) + 4)|0;
  2840. $57 = $56;
  2841. $58 = HEAP32[$57>>2]|0;
  2842. $59 = (_bitshift64Shl(($55|0),($58|0),8)|0);
  2843. $60 = tempRet0;
  2844. $61 = $49 ^ $59;
  2845. $62 = $52 ^ $60;
  2846. $63 = $4;
  2847. $64 = $63;
  2848. HEAP32[$64>>2] = $61;
  2849. $65 = (($63) + 4)|0;
  2850. $66 = $65;
  2851. HEAP32[$66>>2] = $62;
  2852. $67 = $6;
  2853. $68 = (($67) + -1)|0;
  2854. $6 = $68;
  2855. }
  2856. while(1) {
  2857. $69 = $6;
  2858. $70 = ($69>>>0)>=(8);
  2859. if (!($70)) {
  2860. break;
  2861. }
  2862. $71 = $7;
  2863. $72 = $71;
  2864. $73 = $72;
  2865. $74 = HEAP32[$73>>2]|0;
  2866. $75 = (($72) + 4)|0;
  2867. $76 = $75;
  2868. $77 = HEAP32[$76>>2]|0;
  2869. $78 = $4;
  2870. $79 = $78;
  2871. $80 = HEAP32[$79>>2]|0;
  2872. $81 = (($78) + 4)|0;
  2873. $82 = $81;
  2874. $83 = HEAP32[$82>>2]|0;
  2875. $84 = $80 ^ $74;
  2876. $85 = $83 ^ $77;
  2877. $86 = $4;
  2878. $87 = $86;
  2879. HEAP32[$87>>2] = $84;
  2880. $88 = (($86) + 4)|0;
  2881. $89 = $88;
  2882. HEAP32[$89>>2] = $85;
  2883. $90 = $4;
  2884. $91 = $90;
  2885. $92 = HEAP32[$91>>2]|0;
  2886. $93 = (($90) + 4)|0;
  2887. $94 = $93;
  2888. $95 = HEAP32[$94>>2]|0;
  2889. $96 = $92 & 255;
  2890. $97 = (22000 + ($96<<3)|0);
  2891. $98 = $97;
  2892. $99 = $98;
  2893. $100 = HEAP32[$99>>2]|0;
  2894. $101 = (($98) + 4)|0;
  2895. $102 = $101;
  2896. $103 = HEAP32[$102>>2]|0;
  2897. $104 = $4;
  2898. $105 = $104;
  2899. $106 = HEAP32[$105>>2]|0;
  2900. $107 = (($104) + 4)|0;
  2901. $108 = $107;
  2902. $109 = HEAP32[$108>>2]|0;
  2903. $110 = (_bitshift64Lshr(($106|0),($109|0),8)|0);
  2904. $111 = tempRet0;
  2905. $112 = $110 & 255;
  2906. $113 = ((24048) + ($112<<3)|0);
  2907. $114 = $113;
  2908. $115 = $114;
  2909. $116 = HEAP32[$115>>2]|0;
  2910. $117 = (($114) + 4)|0;
  2911. $118 = $117;
  2912. $119 = HEAP32[$118>>2]|0;
  2913. $120 = $100 ^ $116;
  2914. $121 = $103 ^ $119;
  2915. $122 = $4;
  2916. $123 = $122;
  2917. $124 = HEAP32[$123>>2]|0;
  2918. $125 = (($122) + 4)|0;
  2919. $126 = $125;
  2920. $127 = HEAP32[$126>>2]|0;
  2921. $128 = (_bitshift64Lshr(($124|0),($127|0),16)|0);
  2922. $129 = tempRet0;
  2923. $130 = $128 & 255;
  2924. $131 = ((26096) + ($130<<3)|0);
  2925. $132 = $131;
  2926. $133 = $132;
  2927. $134 = HEAP32[$133>>2]|0;
  2928. $135 = (($132) + 4)|0;
  2929. $136 = $135;
  2930. $137 = HEAP32[$136>>2]|0;
  2931. $138 = $120 ^ $134;
  2932. $139 = $121 ^ $137;
  2933. $140 = $4;
  2934. $141 = $140;
  2935. $142 = HEAP32[$141>>2]|0;
  2936. $143 = (($140) + 4)|0;
  2937. $144 = $143;
  2938. $145 = HEAP32[$144>>2]|0;
  2939. $146 = (_bitshift64Lshr(($142|0),($145|0),24)|0);
  2940. $147 = tempRet0;
  2941. $148 = $146 & 255;
  2942. $149 = ((28144) + ($148<<3)|0);
  2943. $150 = $149;
  2944. $151 = $150;
  2945. $152 = HEAP32[$151>>2]|0;
  2946. $153 = (($150) + 4)|0;
  2947. $154 = $153;
  2948. $155 = HEAP32[$154>>2]|0;
  2949. $156 = $138 ^ $152;
  2950. $157 = $139 ^ $155;
  2951. $158 = $4;
  2952. $159 = $158;
  2953. $160 = HEAP32[$159>>2]|0;
  2954. $161 = (($158) + 4)|0;
  2955. $162 = $161;
  2956. $163 = HEAP32[$162>>2]|0;
  2957. $164 = $163 & 255;
  2958. $165 = ((30192) + ($164<<3)|0);
  2959. $166 = $165;
  2960. $167 = $166;
  2961. $168 = HEAP32[$167>>2]|0;
  2962. $169 = (($166) + 4)|0;
  2963. $170 = $169;
  2964. $171 = HEAP32[$170>>2]|0;
  2965. $172 = $156 ^ $168;
  2966. $173 = $157 ^ $171;
  2967. $174 = $4;
  2968. $175 = $174;
  2969. $176 = HEAP32[$175>>2]|0;
  2970. $177 = (($174) + 4)|0;
  2971. $178 = $177;
  2972. $179 = HEAP32[$178>>2]|0;
  2973. $180 = (_bitshift64Lshr(($176|0),($179|0),40)|0);
  2974. $181 = tempRet0;
  2975. $182 = $180 & 255;
  2976. $183 = ((32240) + ($182<<3)|0);
  2977. $184 = $183;
  2978. $185 = $184;
  2979. $186 = HEAP32[$185>>2]|0;
  2980. $187 = (($184) + 4)|0;
  2981. $188 = $187;
  2982. $189 = HEAP32[$188>>2]|0;
  2983. $190 = $172 ^ $186;
  2984. $191 = $173 ^ $189;
  2985. $192 = $4;
  2986. $193 = $192;
  2987. $194 = HEAP32[$193>>2]|0;
  2988. $195 = (($192) + 4)|0;
  2989. $196 = $195;
  2990. $197 = HEAP32[$196>>2]|0;
  2991. $198 = (_bitshift64Lshr(($194|0),($197|0),48)|0);
  2992. $199 = tempRet0;
  2993. $200 = $198 & 255;
  2994. $201 = ((34288) + ($200<<3)|0);
  2995. $202 = $201;
  2996. $203 = $202;
  2997. $204 = HEAP32[$203>>2]|0;
  2998. $205 = (($202) + 4)|0;
  2999. $206 = $205;
  3000. $207 = HEAP32[$206>>2]|0;
  3001. $208 = $190 ^ $204;
  3002. $209 = $191 ^ $207;
  3003. $210 = $4;
  3004. $211 = $210;
  3005. $212 = HEAP32[$211>>2]|0;
  3006. $213 = (($210) + 4)|0;
  3007. $214 = $213;
  3008. $215 = HEAP32[$214>>2]|0;
  3009. $216 = (_bitshift64Lshr(($212|0),($215|0),56)|0);
  3010. $217 = tempRet0;
  3011. $218 = ((36336) + ($216<<3)|0);
  3012. $219 = $218;
  3013. $220 = $219;
  3014. $221 = HEAP32[$220>>2]|0;
  3015. $222 = (($219) + 4)|0;
  3016. $223 = $222;
  3017. $224 = HEAP32[$223>>2]|0;
  3018. $225 = $208 ^ $221;
  3019. $226 = $209 ^ $224;
  3020. $227 = $4;
  3021. $228 = $227;
  3022. HEAP32[$228>>2] = $225;
  3023. $229 = (($227) + 4)|0;
  3024. $230 = $229;
  3025. HEAP32[$230>>2] = $226;
  3026. $231 = $7;
  3027. $232 = ((($231)) + 8|0);
  3028. $7 = $232;
  3029. $233 = $6;
  3030. $234 = (($233) - 8)|0;
  3031. $6 = $234;
  3032. }
  3033. while(1) {
  3034. $235 = $6;
  3035. $236 = ($235|0)!=(0);
  3036. $237 = $4;
  3037. $238 = $237;
  3038. $239 = HEAP32[$238>>2]|0;
  3039. $240 = (($237) + 4)|0;
  3040. $241 = $240;
  3041. $242 = HEAP32[$241>>2]|0;
  3042. if (!($236)) {
  3043. break;
  3044. }
  3045. $243 = (_bitshift64Lshr(($239|0),($242|0),56)|0);
  3046. $244 = tempRet0;
  3047. $245 = $7;
  3048. $246 = ((($245)) + 1|0);
  3049. $7 = $246;
  3050. $247 = HEAP8[$245>>0]|0;
  3051. $248 = $247&255;
  3052. $249 = $243 ^ $248;
  3053. $250 = (22000 + ($249<<3)|0);
  3054. $251 = $250;
  3055. $252 = $251;
  3056. $253 = HEAP32[$252>>2]|0;
  3057. $254 = (($251) + 4)|0;
  3058. $255 = $254;
  3059. $256 = HEAP32[$255>>2]|0;
  3060. $257 = $4;
  3061. $258 = $257;
  3062. $259 = HEAP32[$258>>2]|0;
  3063. $260 = (($257) + 4)|0;
  3064. $261 = $260;
  3065. $262 = HEAP32[$261>>2]|0;
  3066. $263 = (_bitshift64Shl(($259|0),($262|0),8)|0);
  3067. $264 = tempRet0;
  3068. $265 = $253 ^ $263;
  3069. $266 = $256 ^ $264;
  3070. $267 = $4;
  3071. $268 = $267;
  3072. HEAP32[$268>>2] = $265;
  3073. $269 = (($267) + 4)|0;
  3074. $270 = $269;
  3075. HEAP32[$270>>2] = $266;
  3076. $271 = $6;
  3077. $272 = (($271) + -1)|0;
  3078. $6 = $272;
  3079. }
  3080. $273 = (__ZL4rev8y($239,$242)|0);
  3081. $274 = tempRet0;
  3082. $275 = $273 ^ -1;
  3083. $276 = $274 ^ -1;
  3084. tempRet0 = ($276);
  3085. STACKTOP = sp;return ($275|0);
  3086. }
  3087. function _str_to_uint64($0,$1) {
  3088. $0 = $0|0;
  3089. $1 = $1|0;
  3090. var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
  3091. sp = STACKTOP;
  3092. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3093. $vararg_buffer = sp;
  3094. $2 = $0;
  3095. $3 = $1;
  3096. $4 = $2;
  3097. $5 = $3;
  3098. HEAP32[$vararg_buffer>>2] = $5;
  3099. (_sscanf($4,1272,$vararg_buffer)|0);
  3100. STACKTOP = sp;return;
  3101. }
  3102. function _uint64_to_str($0,$1) {
  3103. $0 = $0|0;
  3104. $1 = $1|0;
  3105. var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
  3106. sp = STACKTOP;
  3107. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3108. $vararg_buffer = sp;
  3109. $2 = $0;
  3110. $3 = $1;
  3111. $4 = $2;
  3112. $5 = $3;
  3113. $6 = $5;
  3114. $7 = $6;
  3115. $8 = HEAP32[$7>>2]|0;
  3116. $9 = (($6) + 4)|0;
  3117. $10 = $9;
  3118. $11 = HEAP32[$10>>2]|0;
  3119. $12 = $vararg_buffer;
  3120. $13 = $12;
  3121. HEAP32[$13>>2] = $8;
  3122. $14 = (($12) + 4)|0;
  3123. $15 = $14;
  3124. HEAP32[$15>>2] = $11;
  3125. (_sprintf($4,1272,$vararg_buffer)|0);
  3126. STACKTOP = sp;return;
  3127. }
  3128. function __ZL11crc64_init_PA256_y($0) {
  3129. $0 = $0|0;
  3130. var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $12 = 0;
  3131. var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
  3132. var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
  3133. var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
  3134. var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
  3135. var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
  3136. sp = STACKTOP;
  3137. STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
  3138. $4 = sp;
  3139. $1 = $0;
  3140. $2 = 0;
  3141. while(1) {
  3142. $5 = $2;
  3143. $6 = ($5>>>0)<(256);
  3144. if (!($6)) {
  3145. break;
  3146. }
  3147. $7 = $2;
  3148. $8 = $4;
  3149. $9 = $8;
  3150. HEAP32[$9>>2] = $7;
  3151. $10 = (($8) + 4)|0;
  3152. $11 = $10;
  3153. HEAP32[$11>>2] = 0;
  3154. $3 = 0;
  3155. while(1) {
  3156. $12 = $3;
  3157. $13 = ($12>>>0)<(8);
  3158. $14 = $4;
  3159. $15 = $14;
  3160. $16 = HEAP32[$15>>2]|0;
  3161. $17 = (($14) + 4)|0;
  3162. $18 = $17;
  3163. $19 = HEAP32[$18>>2]|0;
  3164. if (!($13)) {
  3165. break;
  3166. }
  3167. $20 = $16 & 1;
  3168. $21 = ($20|0)!=(0);
  3169. $22 = (0)!=(0);
  3170. $23 = $21 | $22;
  3171. $24 = $4;
  3172. $25 = $24;
  3173. $26 = HEAP32[$25>>2]|0;
  3174. $27 = (($24) + 4)|0;
  3175. $28 = $27;
  3176. $29 = HEAP32[$28>>2]|0;
  3177. $30 = (_bitshift64Lshr(($26|0),($29|0),1)|0);
  3178. $31 = tempRet0;
  3179. $32 = -679014590 ^ $30;
  3180. $33 = -915646571 ^ $31;
  3181. $34 = $23 ? $32 : $30;
  3182. $35 = $23 ? $33 : $31;
  3183. $36 = $4;
  3184. $37 = $36;
  3185. HEAP32[$37>>2] = $34;
  3186. $38 = (($36) + 4)|0;
  3187. $39 = $38;
  3188. HEAP32[$39>>2] = $35;
  3189. $40 = $3;
  3190. $41 = (($40) + 1)|0;
  3191. $3 = $41;
  3192. }
  3193. $42 = $1;
  3194. $43 = $2;
  3195. $44 = (($42) + ($43<<3)|0);
  3196. $45 = $44;
  3197. $46 = $45;
  3198. HEAP32[$46>>2] = $16;
  3199. $47 = (($45) + 4)|0;
  3200. $48 = $47;
  3201. HEAP32[$48>>2] = $19;
  3202. $49 = $2;
  3203. $50 = (($49) + 1)|0;
  3204. $2 = $50;
  3205. }
  3206. $2 = 0;
  3207. while(1) {
  3208. $51 = $2;
  3209. $52 = ($51>>>0)<(256);
  3210. if (!($52)) {
  3211. break;
  3212. }
  3213. $53 = $1;
  3214. $54 = $2;
  3215. $55 = (($53) + ($54<<3)|0);
  3216. $56 = $55;
  3217. $57 = $56;
  3218. $58 = HEAP32[$57>>2]|0;
  3219. $59 = (($56) + 4)|0;
  3220. $60 = $59;
  3221. $61 = HEAP32[$60>>2]|0;
  3222. $62 = $4;
  3223. $63 = $62;
  3224. HEAP32[$63>>2] = $58;
  3225. $64 = (($62) + 4)|0;
  3226. $65 = $64;
  3227. HEAP32[$65>>2] = $61;
  3228. $3 = 1;
  3229. while(1) {
  3230. $66 = $3;
  3231. $67 = ($66>>>0)<(8);
  3232. if (!($67)) {
  3233. break;
  3234. }
  3235. $68 = $1;
  3236. $69 = $4;
  3237. $70 = $69;
  3238. $71 = HEAP32[$70>>2]|0;
  3239. $72 = (($69) + 4)|0;
  3240. $73 = $72;
  3241. $74 = HEAP32[$73>>2]|0;
  3242. $75 = $71 & 255;
  3243. $76 = (($68) + ($75<<3)|0);
  3244. $77 = $76;
  3245. $78 = $77;
  3246. $79 = HEAP32[$78>>2]|0;
  3247. $80 = (($77) + 4)|0;
  3248. $81 = $80;
  3249. $82 = HEAP32[$81>>2]|0;
  3250. $83 = $4;
  3251. $84 = $83;
  3252. $85 = HEAP32[$84>>2]|0;
  3253. $86 = (($83) + 4)|0;
  3254. $87 = $86;
  3255. $88 = HEAP32[$87>>2]|0;
  3256. $89 = (_bitshift64Lshr(($85|0),($88|0),8)|0);
  3257. $90 = tempRet0;
  3258. $91 = $79 ^ $89;
  3259. $92 = $82 ^ $90;
  3260. $93 = $4;
  3261. $94 = $93;
  3262. HEAP32[$94>>2] = $91;
  3263. $95 = (($93) + 4)|0;
  3264. $96 = $95;
  3265. HEAP32[$96>>2] = $92;
  3266. $97 = $4;
  3267. $98 = $97;
  3268. $99 = HEAP32[$98>>2]|0;
  3269. $100 = (($97) + 4)|0;
  3270. $101 = $100;
  3271. $102 = HEAP32[$101>>2]|0;
  3272. $103 = $1;
  3273. $104 = $3;
  3274. $105 = (($103) + ($104<<11)|0);
  3275. $106 = $2;
  3276. $107 = (($105) + ($106<<3)|0);
  3277. $108 = $107;
  3278. $109 = $108;
  3279. HEAP32[$109>>2] = $99;
  3280. $110 = (($108) + 4)|0;
  3281. $111 = $110;
  3282. HEAP32[$111>>2] = $102;
  3283. $112 = $3;
  3284. $113 = (($112) + 1)|0;
  3285. $3 = $113;
  3286. }
  3287. $114 = $2;
  3288. $115 = (($114) + 1)|0;
  3289. $2 = $115;
  3290. }
  3291. STACKTOP = sp;return;
  3292. }
  3293. function __ZL4rev8y($0,$1) {
  3294. $0 = $0|0;
  3295. $1 = $1|0;
  3296. var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
  3297. var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
  3298. var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
  3299. var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
  3300. var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
  3301. var $98 = 0, $99 = 0, label = 0, sp = 0;
  3302. sp = STACKTOP;
  3303. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3304. $2 = sp + 8|0;
  3305. $3 = sp;
  3306. $4 = $2;
  3307. $5 = $4;
  3308. HEAP32[$5>>2] = $0;
  3309. $6 = (($4) + 4)|0;
  3310. $7 = $6;
  3311. HEAP32[$7>>2] = $1;
  3312. $8 = $3;
  3313. $9 = $8;
  3314. HEAP32[$9>>2] = 16711935;
  3315. $10 = (($8) + 4)|0;
  3316. $11 = $10;
  3317. HEAP32[$11>>2] = 16711935;
  3318. $12 = $2;
  3319. $13 = $12;
  3320. $14 = HEAP32[$13>>2]|0;
  3321. $15 = (($12) + 4)|0;
  3322. $16 = $15;
  3323. $17 = HEAP32[$16>>2]|0;
  3324. $18 = (_bitshift64Lshr(($14|0),($17|0),8)|0);
  3325. $19 = tempRet0;
  3326. $20 = $3;
  3327. $21 = $20;
  3328. $22 = HEAP32[$21>>2]|0;
  3329. $23 = (($20) + 4)|0;
  3330. $24 = $23;
  3331. $25 = HEAP32[$24>>2]|0;
  3332. $26 = $18 & $22;
  3333. $27 = $19 & $25;
  3334. $28 = $2;
  3335. $29 = $28;
  3336. $30 = HEAP32[$29>>2]|0;
  3337. $31 = (($28) + 4)|0;
  3338. $32 = $31;
  3339. $33 = HEAP32[$32>>2]|0;
  3340. $34 = $3;
  3341. $35 = $34;
  3342. $36 = HEAP32[$35>>2]|0;
  3343. $37 = (($34) + 4)|0;
  3344. $38 = $37;
  3345. $39 = HEAP32[$38>>2]|0;
  3346. $40 = $30 & $36;
  3347. $41 = $33 & $39;
  3348. $42 = (_bitshift64Shl(($40|0),($41|0),8)|0);
  3349. $43 = tempRet0;
  3350. $44 = $26 | $42;
  3351. $45 = $27 | $43;
  3352. $46 = $2;
  3353. $47 = $46;
  3354. HEAP32[$47>>2] = $44;
  3355. $48 = (($46) + 4)|0;
  3356. $49 = $48;
  3357. HEAP32[$49>>2] = $45;
  3358. $50 = $3;
  3359. $51 = $50;
  3360. HEAP32[$51>>2] = 65535;
  3361. $52 = (($50) + 4)|0;
  3362. $53 = $52;
  3363. HEAP32[$53>>2] = 65535;
  3364. $54 = $2;
  3365. $55 = $54;
  3366. $56 = HEAP32[$55>>2]|0;
  3367. $57 = (($54) + 4)|0;
  3368. $58 = $57;
  3369. $59 = HEAP32[$58>>2]|0;
  3370. $60 = (_bitshift64Lshr(($56|0),($59|0),16)|0);
  3371. $61 = tempRet0;
  3372. $62 = $3;
  3373. $63 = $62;
  3374. $64 = HEAP32[$63>>2]|0;
  3375. $65 = (($62) + 4)|0;
  3376. $66 = $65;
  3377. $67 = HEAP32[$66>>2]|0;
  3378. $68 = $60 & $64;
  3379. $69 = $61 & $67;
  3380. $70 = $2;
  3381. $71 = $70;
  3382. $72 = HEAP32[$71>>2]|0;
  3383. $73 = (($70) + 4)|0;
  3384. $74 = $73;
  3385. $75 = HEAP32[$74>>2]|0;
  3386. $76 = $3;
  3387. $77 = $76;
  3388. $78 = HEAP32[$77>>2]|0;
  3389. $79 = (($76) + 4)|0;
  3390. $80 = $79;
  3391. $81 = HEAP32[$80>>2]|0;
  3392. $82 = $72 & $78;
  3393. $83 = $75 & $81;
  3394. $84 = (_bitshift64Shl(($82|0),($83|0),16)|0);
  3395. $85 = tempRet0;
  3396. $86 = $68 | $84;
  3397. $87 = $69 | $85;
  3398. $88 = $2;
  3399. $89 = $88;
  3400. HEAP32[$89>>2] = $86;
  3401. $90 = (($88) + 4)|0;
  3402. $91 = $90;
  3403. HEAP32[$91>>2] = $87;
  3404. $92 = $2;
  3405. $93 = $92;
  3406. $94 = HEAP32[$93>>2]|0;
  3407. $95 = (($92) + 4)|0;
  3408. $96 = $95;
  3409. $97 = HEAP32[$96>>2]|0;
  3410. $98 = $2;
  3411. $99 = $98;
  3412. $100 = HEAP32[$99>>2]|0;
  3413. $101 = (($98) + 4)|0;
  3414. $102 = $101;
  3415. $103 = HEAP32[$102>>2]|0;
  3416. tempRet0 = ($100);
  3417. STACKTOP = sp;return ($97|0);
  3418. }
  3419. function __GLOBAL__sub_I_bind_cpp() {
  3420. var label = 0, sp = 0;
  3421. sp = STACKTOP;
  3422. ___cxx_global_var_init();
  3423. return;
  3424. }
  3425. function ___cxx_global_var_init() {
  3426. var label = 0, sp = 0;
  3427. sp = STACKTOP;
  3428. __ZN53EmscriptenBindingInitializer_native_and_builtin_typesC2Ev(38960);
  3429. return;
  3430. }
  3431. function __ZN53EmscriptenBindingInitializer_native_and_builtin_typesC2Ev($0) {
  3432. $0 = $0|0;
  3433. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
  3434. sp = STACKTOP;
  3435. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3436. $1 = $0;
  3437. $2 = (__ZN10emscripten8internal6TypeIDIvE3getEv()|0);
  3438. __embind_register_void(($2|0),(1277|0));
  3439. $3 = (__ZN10emscripten8internal6TypeIDIbE3getEv()|0);
  3440. __embind_register_bool(($3|0),(1282|0),1,1,0);
  3441. __ZN12_GLOBAL__N_1L16register_integerIcEEvPKc(1287);
  3442. __ZN12_GLOBAL__N_1L16register_integerIaEEvPKc(1292);
  3443. __ZN12_GLOBAL__N_1L16register_integerIhEEvPKc(1304);
  3444. __ZN12_GLOBAL__N_1L16register_integerIsEEvPKc(1318);
  3445. __ZN12_GLOBAL__N_1L16register_integerItEEvPKc(1324);
  3446. __ZN12_GLOBAL__N_1L16register_integerIiEEvPKc(1339);
  3447. __ZN12_GLOBAL__N_1L16register_integerIjEEvPKc(1343);
  3448. __ZN12_GLOBAL__N_1L16register_integerIlEEvPKc(1356);
  3449. __ZN12_GLOBAL__N_1L16register_integerImEEvPKc(1361);
  3450. __ZN12_GLOBAL__N_1L14register_floatIfEEvPKc(1375);
  3451. __ZN12_GLOBAL__N_1L14register_floatIdEEvPKc(1381);
  3452. $4 = (__ZN10emscripten8internal6TypeIDINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE3getEv()|0);
  3453. __embind_register_std_string(($4|0),(1388|0));
  3454. $5 = (__ZN10emscripten8internal6TypeIDINSt3__212basic_stringIhNS2_11char_traitsIhEENS2_9allocatorIhEEEEE3getEv()|0);
  3455. __embind_register_std_string(($5|0),(1400|0));
  3456. $6 = (__ZN10emscripten8internal6TypeIDINSt3__212basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEE3getEv()|0);
  3457. __embind_register_std_wstring(($6|0),4,(1433|0));
  3458. $7 = (__ZN10emscripten8internal6TypeIDINS_3valEE3getEv()|0);
  3459. __embind_register_emval(($7|0),(1446|0));
  3460. __ZN12_GLOBAL__N_1L20register_memory_viewIcEEvPKc(1462);
  3461. __ZN12_GLOBAL__N_1L20register_memory_viewIaEEvPKc(1492);
  3462. __ZN12_GLOBAL__N_1L20register_memory_viewIhEEvPKc(1529);
  3463. __ZN12_GLOBAL__N_1L20register_memory_viewIsEEvPKc(1568);
  3464. __ZN12_GLOBAL__N_1L20register_memory_viewItEEvPKc(1599);
  3465. __ZN12_GLOBAL__N_1L20register_memory_viewIiEEvPKc(1639);
  3466. __ZN12_GLOBAL__N_1L20register_memory_viewIjEEvPKc(1668);
  3467. __ZN12_GLOBAL__N_1L20register_memory_viewIlEEvPKc(1706);
  3468. __ZN12_GLOBAL__N_1L20register_memory_viewImEEvPKc(1736);
  3469. __ZN12_GLOBAL__N_1L20register_memory_viewIaEEvPKc(1775);
  3470. __ZN12_GLOBAL__N_1L20register_memory_viewIhEEvPKc(1807);
  3471. __ZN12_GLOBAL__N_1L20register_memory_viewIsEEvPKc(1840);
  3472. __ZN12_GLOBAL__N_1L20register_memory_viewItEEvPKc(1873);
  3473. __ZN12_GLOBAL__N_1L20register_memory_viewIiEEvPKc(1907);
  3474. __ZN12_GLOBAL__N_1L20register_memory_viewIjEEvPKc(1940);
  3475. __ZN12_GLOBAL__N_1L20register_memory_viewIfEEvPKc(1974);
  3476. __ZN12_GLOBAL__N_1L20register_memory_viewIdEEvPKc(2005);
  3477. __ZN12_GLOBAL__N_1L20register_memory_viewIeEEvPKc(2037);
  3478. STACKTOP = sp;return;
  3479. }
  3480. function __ZN10emscripten8internal6TypeIDIvE3getEv() {
  3481. var $0 = 0, label = 0, sp = 0;
  3482. sp = STACKTOP;
  3483. $0 = (__ZN10emscripten8internal11LightTypeIDIvE3getEv()|0);
  3484. return ($0|0);
  3485. }
  3486. function __ZN10emscripten8internal6TypeIDIbE3getEv() {
  3487. var $0 = 0, label = 0, sp = 0;
  3488. sp = STACKTOP;
  3489. $0 = (__ZN10emscripten8internal11LightTypeIDIbE3getEv()|0);
  3490. return ($0|0);
  3491. }
  3492. function __ZN12_GLOBAL__N_1L16register_integerIcEEvPKc($0) {
  3493. $0 = $0|0;
  3494. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
  3495. sp = STACKTOP;
  3496. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3497. $1 = $0;
  3498. $2 = (__ZN10emscripten8internal6TypeIDIcE3getEv()|0);
  3499. $3 = $1;
  3500. $4 = -128 << 24 >> 24;
  3501. $5 = 127 << 24 >> 24;
  3502. __embind_register_integer(($2|0),($3|0),1,($4|0),($5|0));
  3503. STACKTOP = sp;return;
  3504. }
  3505. function __ZN12_GLOBAL__N_1L16register_integerIaEEvPKc($0) {
  3506. $0 = $0|0;
  3507. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
  3508. sp = STACKTOP;
  3509. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3510. $1 = $0;
  3511. $2 = (__ZN10emscripten8internal6TypeIDIaE3getEv()|0);
  3512. $3 = $1;
  3513. $4 = -128 << 24 >> 24;
  3514. $5 = 127 << 24 >> 24;
  3515. __embind_register_integer(($2|0),($3|0),1,($4|0),($5|0));
  3516. STACKTOP = sp;return;
  3517. }
  3518. function __ZN12_GLOBAL__N_1L16register_integerIhEEvPKc($0) {
  3519. $0 = $0|0;
  3520. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
  3521. sp = STACKTOP;
  3522. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3523. $1 = $0;
  3524. $2 = (__ZN10emscripten8internal6TypeIDIhE3getEv()|0);
  3525. $3 = $1;
  3526. $4 = 0;
  3527. $5 = 255;
  3528. __embind_register_integer(($2|0),($3|0),1,($4|0),($5|0));
  3529. STACKTOP = sp;return;
  3530. }
  3531. function __ZN12_GLOBAL__N_1L16register_integerIsEEvPKc($0) {
  3532. $0 = $0|0;
  3533. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
  3534. sp = STACKTOP;
  3535. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3536. $1 = $0;
  3537. $2 = (__ZN10emscripten8internal6TypeIDIsE3getEv()|0);
  3538. $3 = $1;
  3539. $4 = -32768 << 16 >> 16;
  3540. $5 = 32767 << 16 >> 16;
  3541. __embind_register_integer(($2|0),($3|0),2,($4|0),($5|0));
  3542. STACKTOP = sp;return;
  3543. }
  3544. function __ZN12_GLOBAL__N_1L16register_integerItEEvPKc($0) {
  3545. $0 = $0|0;
  3546. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
  3547. sp = STACKTOP;
  3548. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3549. $1 = $0;
  3550. $2 = (__ZN10emscripten8internal6TypeIDItE3getEv()|0);
  3551. $3 = $1;
  3552. $4 = 0;
  3553. $5 = 65535;
  3554. __embind_register_integer(($2|0),($3|0),2,($4|0),($5|0));
  3555. STACKTOP = sp;return;
  3556. }
  3557. function __ZN12_GLOBAL__N_1L16register_integerIiEEvPKc($0) {
  3558. $0 = $0|0;
  3559. var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  3560. sp = STACKTOP;
  3561. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3562. $1 = $0;
  3563. $2 = (__ZN10emscripten8internal6TypeIDIiE3getEv()|0);
  3564. $3 = $1;
  3565. __embind_register_integer(($2|0),($3|0),4,-2147483648,2147483647);
  3566. STACKTOP = sp;return;
  3567. }
  3568. function __ZN12_GLOBAL__N_1L16register_integerIjEEvPKc($0) {
  3569. $0 = $0|0;
  3570. var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  3571. sp = STACKTOP;
  3572. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3573. $1 = $0;
  3574. $2 = (__ZN10emscripten8internal6TypeIDIjE3getEv()|0);
  3575. $3 = $1;
  3576. __embind_register_integer(($2|0),($3|0),4,0,-1);
  3577. STACKTOP = sp;return;
  3578. }
  3579. function __ZN12_GLOBAL__N_1L16register_integerIlEEvPKc($0) {
  3580. $0 = $0|0;
  3581. var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  3582. sp = STACKTOP;
  3583. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3584. $1 = $0;
  3585. $2 = (__ZN10emscripten8internal6TypeIDIlE3getEv()|0);
  3586. $3 = $1;
  3587. __embind_register_integer(($2|0),($3|0),4,-2147483648,2147483647);
  3588. STACKTOP = sp;return;
  3589. }
  3590. function __ZN12_GLOBAL__N_1L16register_integerImEEvPKc($0) {
  3591. $0 = $0|0;
  3592. var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  3593. sp = STACKTOP;
  3594. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3595. $1 = $0;
  3596. $2 = (__ZN10emscripten8internal6TypeIDImE3getEv()|0);
  3597. $3 = $1;
  3598. __embind_register_integer(($2|0),($3|0),4,0,-1);
  3599. STACKTOP = sp;return;
  3600. }
  3601. function __ZN12_GLOBAL__N_1L14register_floatIfEEvPKc($0) {
  3602. $0 = $0|0;
  3603. var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  3604. sp = STACKTOP;
  3605. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3606. $1 = $0;
  3607. $2 = (__ZN10emscripten8internal6TypeIDIfE3getEv()|0);
  3608. $3 = $1;
  3609. __embind_register_float(($2|0),($3|0),4);
  3610. STACKTOP = sp;return;
  3611. }
  3612. function __ZN12_GLOBAL__N_1L14register_floatIdEEvPKc($0) {
  3613. $0 = $0|0;
  3614. var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  3615. sp = STACKTOP;
  3616. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3617. $1 = $0;
  3618. $2 = (__ZN10emscripten8internal6TypeIDIdE3getEv()|0);
  3619. $3 = $1;
  3620. __embind_register_float(($2|0),($3|0),8);
  3621. STACKTOP = sp;return;
  3622. }
  3623. function __ZN10emscripten8internal6TypeIDINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE3getEv() {
  3624. var $0 = 0, label = 0, sp = 0;
  3625. sp = STACKTOP;
  3626. $0 = (__ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE3getEv()|0);
  3627. return ($0|0);
  3628. }
  3629. function __ZN10emscripten8internal6TypeIDINSt3__212basic_stringIhNS2_11char_traitsIhEENS2_9allocatorIhEEEEE3getEv() {
  3630. var $0 = 0, label = 0, sp = 0;
  3631. sp = STACKTOP;
  3632. $0 = (__ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIhNS2_11char_traitsIhEENS2_9allocatorIhEEEEE3getEv()|0);
  3633. return ($0|0);
  3634. }
  3635. function __ZN10emscripten8internal6TypeIDINSt3__212basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEE3getEv() {
  3636. var $0 = 0, label = 0, sp = 0;
  3637. sp = STACKTOP;
  3638. $0 = (__ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEE3getEv()|0);
  3639. return ($0|0);
  3640. }
  3641. function __ZN10emscripten8internal6TypeIDINS_3valEE3getEv() {
  3642. var $0 = 0, label = 0, sp = 0;
  3643. sp = STACKTOP;
  3644. $0 = (__ZN10emscripten8internal11LightTypeIDINS_3valEE3getEv()|0);
  3645. return ($0|0);
  3646. }
  3647. function __ZN12_GLOBAL__N_1L20register_memory_viewIcEEvPKc($0) {
  3648. $0 = $0|0;
  3649. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3650. sp = STACKTOP;
  3651. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3652. $1 = $0;
  3653. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIcEEE3getEv()|0);
  3654. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIcEENS_15TypedArrayIndexEv()|0);
  3655. $4 = $1;
  3656. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3657. STACKTOP = sp;return;
  3658. }
  3659. function __ZN12_GLOBAL__N_1L20register_memory_viewIaEEvPKc($0) {
  3660. $0 = $0|0;
  3661. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3662. sp = STACKTOP;
  3663. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3664. $1 = $0;
  3665. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIaEEE3getEv()|0);
  3666. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIaEENS_15TypedArrayIndexEv()|0);
  3667. $4 = $1;
  3668. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3669. STACKTOP = sp;return;
  3670. }
  3671. function __ZN12_GLOBAL__N_1L20register_memory_viewIhEEvPKc($0) {
  3672. $0 = $0|0;
  3673. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3674. sp = STACKTOP;
  3675. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3676. $1 = $0;
  3677. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIhEEE3getEv()|0);
  3678. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIhEENS_15TypedArrayIndexEv()|0);
  3679. $4 = $1;
  3680. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3681. STACKTOP = sp;return;
  3682. }
  3683. function __ZN12_GLOBAL__N_1L20register_memory_viewIsEEvPKc($0) {
  3684. $0 = $0|0;
  3685. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3686. sp = STACKTOP;
  3687. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3688. $1 = $0;
  3689. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIsEEE3getEv()|0);
  3690. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIsEENS_15TypedArrayIndexEv()|0);
  3691. $4 = $1;
  3692. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3693. STACKTOP = sp;return;
  3694. }
  3695. function __ZN12_GLOBAL__N_1L20register_memory_viewItEEvPKc($0) {
  3696. $0 = $0|0;
  3697. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3698. sp = STACKTOP;
  3699. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3700. $1 = $0;
  3701. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewItEEE3getEv()|0);
  3702. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexItEENS_15TypedArrayIndexEv()|0);
  3703. $4 = $1;
  3704. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3705. STACKTOP = sp;return;
  3706. }
  3707. function __ZN12_GLOBAL__N_1L20register_memory_viewIiEEvPKc($0) {
  3708. $0 = $0|0;
  3709. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3710. sp = STACKTOP;
  3711. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3712. $1 = $0;
  3713. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIiEEE3getEv()|0);
  3714. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIiEENS_15TypedArrayIndexEv()|0);
  3715. $4 = $1;
  3716. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3717. STACKTOP = sp;return;
  3718. }
  3719. function __ZN12_GLOBAL__N_1L20register_memory_viewIjEEvPKc($0) {
  3720. $0 = $0|0;
  3721. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3722. sp = STACKTOP;
  3723. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3724. $1 = $0;
  3725. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIjEEE3getEv()|0);
  3726. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIjEENS_15TypedArrayIndexEv()|0);
  3727. $4 = $1;
  3728. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3729. STACKTOP = sp;return;
  3730. }
  3731. function __ZN12_GLOBAL__N_1L20register_memory_viewIlEEvPKc($0) {
  3732. $0 = $0|0;
  3733. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3734. sp = STACKTOP;
  3735. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3736. $1 = $0;
  3737. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIlEEE3getEv()|0);
  3738. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIlEENS_15TypedArrayIndexEv()|0);
  3739. $4 = $1;
  3740. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3741. STACKTOP = sp;return;
  3742. }
  3743. function __ZN12_GLOBAL__N_1L20register_memory_viewImEEvPKc($0) {
  3744. $0 = $0|0;
  3745. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3746. sp = STACKTOP;
  3747. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3748. $1 = $0;
  3749. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewImEEE3getEv()|0);
  3750. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexImEENS_15TypedArrayIndexEv()|0);
  3751. $4 = $1;
  3752. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3753. STACKTOP = sp;return;
  3754. }
  3755. function __ZN12_GLOBAL__N_1L20register_memory_viewIfEEvPKc($0) {
  3756. $0 = $0|0;
  3757. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3758. sp = STACKTOP;
  3759. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3760. $1 = $0;
  3761. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIfEEE3getEv()|0);
  3762. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIfEENS_15TypedArrayIndexEv()|0);
  3763. $4 = $1;
  3764. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3765. STACKTOP = sp;return;
  3766. }
  3767. function __ZN12_GLOBAL__N_1L20register_memory_viewIdEEvPKc($0) {
  3768. $0 = $0|0;
  3769. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3770. sp = STACKTOP;
  3771. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3772. $1 = $0;
  3773. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIdEEE3getEv()|0);
  3774. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIdEENS_15TypedArrayIndexEv()|0);
  3775. $4 = $1;
  3776. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3777. STACKTOP = sp;return;
  3778. }
  3779. function __ZN12_GLOBAL__N_1L20register_memory_viewIeEEvPKc($0) {
  3780. $0 = $0|0;
  3781. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  3782. sp = STACKTOP;
  3783. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  3784. $1 = $0;
  3785. $2 = (__ZN10emscripten8internal6TypeIDINS_11memory_viewIeEEE3getEv()|0);
  3786. $3 = (__ZN12_GLOBAL__N_118getTypedArrayIndexIeEENS_15TypedArrayIndexEv()|0);
  3787. $4 = $1;
  3788. __embind_register_memory_view(($2|0),($3|0),($4|0));
  3789. STACKTOP = sp;return;
  3790. }
  3791. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIeEEE3getEv() {
  3792. var $0 = 0, label = 0, sp = 0;
  3793. sp = STACKTOP;
  3794. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIeEEE3getEv()|0);
  3795. return ($0|0);
  3796. }
  3797. function __ZN12_GLOBAL__N_118getTypedArrayIndexIeEENS_15TypedArrayIndexEv() {
  3798. var label = 0, sp = 0;
  3799. sp = STACKTOP;
  3800. return 7;
  3801. }
  3802. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIeEEE3getEv() {
  3803. var label = 0, sp = 0;
  3804. sp = STACKTOP;
  3805. return (8|0);
  3806. }
  3807. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIdEEE3getEv() {
  3808. var $0 = 0, label = 0, sp = 0;
  3809. sp = STACKTOP;
  3810. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIdEEE3getEv()|0);
  3811. return ($0|0);
  3812. }
  3813. function __ZN12_GLOBAL__N_118getTypedArrayIndexIdEENS_15TypedArrayIndexEv() {
  3814. var label = 0, sp = 0;
  3815. sp = STACKTOP;
  3816. return 7;
  3817. }
  3818. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIdEEE3getEv() {
  3819. var label = 0, sp = 0;
  3820. sp = STACKTOP;
  3821. return (16|0);
  3822. }
  3823. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIfEEE3getEv() {
  3824. var $0 = 0, label = 0, sp = 0;
  3825. sp = STACKTOP;
  3826. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIfEEE3getEv()|0);
  3827. return ($0|0);
  3828. }
  3829. function __ZN12_GLOBAL__N_118getTypedArrayIndexIfEENS_15TypedArrayIndexEv() {
  3830. var label = 0, sp = 0;
  3831. sp = STACKTOP;
  3832. return 6;
  3833. }
  3834. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIfEEE3getEv() {
  3835. var label = 0, sp = 0;
  3836. sp = STACKTOP;
  3837. return (24|0);
  3838. }
  3839. function __ZN10emscripten8internal6TypeIDINS_11memory_viewImEEE3getEv() {
  3840. var $0 = 0, label = 0, sp = 0;
  3841. sp = STACKTOP;
  3842. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewImEEE3getEv()|0);
  3843. return ($0|0);
  3844. }
  3845. function __ZN12_GLOBAL__N_118getTypedArrayIndexImEENS_15TypedArrayIndexEv() {
  3846. var label = 0, sp = 0;
  3847. sp = STACKTOP;
  3848. return 5;
  3849. }
  3850. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewImEEE3getEv() {
  3851. var label = 0, sp = 0;
  3852. sp = STACKTOP;
  3853. return (32|0);
  3854. }
  3855. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIlEEE3getEv() {
  3856. var $0 = 0, label = 0, sp = 0;
  3857. sp = STACKTOP;
  3858. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIlEEE3getEv()|0);
  3859. return ($0|0);
  3860. }
  3861. function __ZN12_GLOBAL__N_118getTypedArrayIndexIlEENS_15TypedArrayIndexEv() {
  3862. var label = 0, sp = 0;
  3863. sp = STACKTOP;
  3864. return 4;
  3865. }
  3866. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIlEEE3getEv() {
  3867. var label = 0, sp = 0;
  3868. sp = STACKTOP;
  3869. return (40|0);
  3870. }
  3871. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIjEEE3getEv() {
  3872. var $0 = 0, label = 0, sp = 0;
  3873. sp = STACKTOP;
  3874. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIjEEE3getEv()|0);
  3875. return ($0|0);
  3876. }
  3877. function __ZN12_GLOBAL__N_118getTypedArrayIndexIjEENS_15TypedArrayIndexEv() {
  3878. var label = 0, sp = 0;
  3879. sp = STACKTOP;
  3880. return 5;
  3881. }
  3882. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIjEEE3getEv() {
  3883. var label = 0, sp = 0;
  3884. sp = STACKTOP;
  3885. return (48|0);
  3886. }
  3887. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIiEEE3getEv() {
  3888. var $0 = 0, label = 0, sp = 0;
  3889. sp = STACKTOP;
  3890. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIiEEE3getEv()|0);
  3891. return ($0|0);
  3892. }
  3893. function __ZN12_GLOBAL__N_118getTypedArrayIndexIiEENS_15TypedArrayIndexEv() {
  3894. var label = 0, sp = 0;
  3895. sp = STACKTOP;
  3896. return 4;
  3897. }
  3898. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIiEEE3getEv() {
  3899. var label = 0, sp = 0;
  3900. sp = STACKTOP;
  3901. return (56|0);
  3902. }
  3903. function __ZN10emscripten8internal6TypeIDINS_11memory_viewItEEE3getEv() {
  3904. var $0 = 0, label = 0, sp = 0;
  3905. sp = STACKTOP;
  3906. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewItEEE3getEv()|0);
  3907. return ($0|0);
  3908. }
  3909. function __ZN12_GLOBAL__N_118getTypedArrayIndexItEENS_15TypedArrayIndexEv() {
  3910. var label = 0, sp = 0;
  3911. sp = STACKTOP;
  3912. return 3;
  3913. }
  3914. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewItEEE3getEv() {
  3915. var label = 0, sp = 0;
  3916. sp = STACKTOP;
  3917. return (64|0);
  3918. }
  3919. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIsEEE3getEv() {
  3920. var $0 = 0, label = 0, sp = 0;
  3921. sp = STACKTOP;
  3922. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIsEEE3getEv()|0);
  3923. return ($0|0);
  3924. }
  3925. function __ZN12_GLOBAL__N_118getTypedArrayIndexIsEENS_15TypedArrayIndexEv() {
  3926. var label = 0, sp = 0;
  3927. sp = STACKTOP;
  3928. return 2;
  3929. }
  3930. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIsEEE3getEv() {
  3931. var label = 0, sp = 0;
  3932. sp = STACKTOP;
  3933. return (72|0);
  3934. }
  3935. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIhEEE3getEv() {
  3936. var $0 = 0, label = 0, sp = 0;
  3937. sp = STACKTOP;
  3938. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIhEEE3getEv()|0);
  3939. return ($0|0);
  3940. }
  3941. function __ZN12_GLOBAL__N_118getTypedArrayIndexIhEENS_15TypedArrayIndexEv() {
  3942. var label = 0, sp = 0;
  3943. sp = STACKTOP;
  3944. return 1;
  3945. }
  3946. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIhEEE3getEv() {
  3947. var label = 0, sp = 0;
  3948. sp = STACKTOP;
  3949. return (80|0);
  3950. }
  3951. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIaEEE3getEv() {
  3952. var $0 = 0, label = 0, sp = 0;
  3953. sp = STACKTOP;
  3954. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIaEEE3getEv()|0);
  3955. return ($0|0);
  3956. }
  3957. function __ZN12_GLOBAL__N_118getTypedArrayIndexIaEENS_15TypedArrayIndexEv() {
  3958. var label = 0, sp = 0;
  3959. sp = STACKTOP;
  3960. return 0;
  3961. }
  3962. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIaEEE3getEv() {
  3963. var label = 0, sp = 0;
  3964. sp = STACKTOP;
  3965. return (88|0);
  3966. }
  3967. function __ZN10emscripten8internal6TypeIDINS_11memory_viewIcEEE3getEv() {
  3968. var $0 = 0, label = 0, sp = 0;
  3969. sp = STACKTOP;
  3970. $0 = (__ZN10emscripten8internal11LightTypeIDINS_11memory_viewIcEEE3getEv()|0);
  3971. return ($0|0);
  3972. }
  3973. function __ZN12_GLOBAL__N_118getTypedArrayIndexIcEENS_15TypedArrayIndexEv() {
  3974. var label = 0, sp = 0;
  3975. sp = STACKTOP;
  3976. return 0;
  3977. }
  3978. function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIcEEE3getEv() {
  3979. var label = 0, sp = 0;
  3980. sp = STACKTOP;
  3981. return (96|0);
  3982. }
  3983. function __ZN10emscripten8internal11LightTypeIDINS_3valEE3getEv() {
  3984. var label = 0, sp = 0;
  3985. sp = STACKTOP;
  3986. return (104|0);
  3987. }
  3988. function __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEE3getEv() {
  3989. var label = 0, sp = 0;
  3990. sp = STACKTOP;
  3991. return (112|0);
  3992. }
  3993. function __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIhNS2_11char_traitsIhEENS2_9allocatorIhEEEEE3getEv() {
  3994. var label = 0, sp = 0;
  3995. sp = STACKTOP;
  3996. return (144|0);
  3997. }
  3998. function __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE3getEv() {
  3999. var label = 0, sp = 0;
  4000. sp = STACKTOP;
  4001. return (168|0);
  4002. }
  4003. function __ZN10emscripten8internal6TypeIDIdE3getEv() {
  4004. var $0 = 0, label = 0, sp = 0;
  4005. sp = STACKTOP;
  4006. $0 = (__ZN10emscripten8internal11LightTypeIDIdE3getEv()|0);
  4007. return ($0|0);
  4008. }
  4009. function __ZN10emscripten8internal11LightTypeIDIdE3getEv() {
  4010. var label = 0, sp = 0;
  4011. sp = STACKTOP;
  4012. return (360|0);
  4013. }
  4014. function __ZN10emscripten8internal6TypeIDIfE3getEv() {
  4015. var $0 = 0, label = 0, sp = 0;
  4016. sp = STACKTOP;
  4017. $0 = (__ZN10emscripten8internal11LightTypeIDIfE3getEv()|0);
  4018. return ($0|0);
  4019. }
  4020. function __ZN10emscripten8internal11LightTypeIDIfE3getEv() {
  4021. var label = 0, sp = 0;
  4022. sp = STACKTOP;
  4023. return (352|0);
  4024. }
  4025. function __ZN10emscripten8internal6TypeIDImE3getEv() {
  4026. var $0 = 0, label = 0, sp = 0;
  4027. sp = STACKTOP;
  4028. $0 = (__ZN10emscripten8internal11LightTypeIDImE3getEv()|0);
  4029. return ($0|0);
  4030. }
  4031. function __ZN10emscripten8internal11LightTypeIDImE3getEv() {
  4032. var label = 0, sp = 0;
  4033. sp = STACKTOP;
  4034. return (344|0);
  4035. }
  4036. function __ZN10emscripten8internal6TypeIDIlE3getEv() {
  4037. var $0 = 0, label = 0, sp = 0;
  4038. sp = STACKTOP;
  4039. $0 = (__ZN10emscripten8internal11LightTypeIDIlE3getEv()|0);
  4040. return ($0|0);
  4041. }
  4042. function __ZN10emscripten8internal11LightTypeIDIlE3getEv() {
  4043. var label = 0, sp = 0;
  4044. sp = STACKTOP;
  4045. return (336|0);
  4046. }
  4047. function __ZN10emscripten8internal6TypeIDIjE3getEv() {
  4048. var $0 = 0, label = 0, sp = 0;
  4049. sp = STACKTOP;
  4050. $0 = (__ZN10emscripten8internal11LightTypeIDIjE3getEv()|0);
  4051. return ($0|0);
  4052. }
  4053. function __ZN10emscripten8internal11LightTypeIDIjE3getEv() {
  4054. var label = 0, sp = 0;
  4055. sp = STACKTOP;
  4056. return (328|0);
  4057. }
  4058. function __ZN10emscripten8internal6TypeIDIiE3getEv() {
  4059. var $0 = 0, label = 0, sp = 0;
  4060. sp = STACKTOP;
  4061. $0 = (__ZN10emscripten8internal11LightTypeIDIiE3getEv()|0);
  4062. return ($0|0);
  4063. }
  4064. function __ZN10emscripten8internal11LightTypeIDIiE3getEv() {
  4065. var label = 0, sp = 0;
  4066. sp = STACKTOP;
  4067. return (320|0);
  4068. }
  4069. function __ZN10emscripten8internal6TypeIDItE3getEv() {
  4070. var $0 = 0, label = 0, sp = 0;
  4071. sp = STACKTOP;
  4072. $0 = (__ZN10emscripten8internal11LightTypeIDItE3getEv()|0);
  4073. return ($0|0);
  4074. }
  4075. function __ZN10emscripten8internal11LightTypeIDItE3getEv() {
  4076. var label = 0, sp = 0;
  4077. sp = STACKTOP;
  4078. return (312|0);
  4079. }
  4080. function __ZN10emscripten8internal6TypeIDIsE3getEv() {
  4081. var $0 = 0, label = 0, sp = 0;
  4082. sp = STACKTOP;
  4083. $0 = (__ZN10emscripten8internal11LightTypeIDIsE3getEv()|0);
  4084. return ($0|0);
  4085. }
  4086. function __ZN10emscripten8internal11LightTypeIDIsE3getEv() {
  4087. var label = 0, sp = 0;
  4088. sp = STACKTOP;
  4089. return (304|0);
  4090. }
  4091. function __ZN10emscripten8internal6TypeIDIhE3getEv() {
  4092. var $0 = 0, label = 0, sp = 0;
  4093. sp = STACKTOP;
  4094. $0 = (__ZN10emscripten8internal11LightTypeIDIhE3getEv()|0);
  4095. return ($0|0);
  4096. }
  4097. function __ZN10emscripten8internal11LightTypeIDIhE3getEv() {
  4098. var label = 0, sp = 0;
  4099. sp = STACKTOP;
  4100. return (288|0);
  4101. }
  4102. function __ZN10emscripten8internal6TypeIDIaE3getEv() {
  4103. var $0 = 0, label = 0, sp = 0;
  4104. sp = STACKTOP;
  4105. $0 = (__ZN10emscripten8internal11LightTypeIDIaE3getEv()|0);
  4106. return ($0|0);
  4107. }
  4108. function __ZN10emscripten8internal11LightTypeIDIaE3getEv() {
  4109. var label = 0, sp = 0;
  4110. sp = STACKTOP;
  4111. return (296|0);
  4112. }
  4113. function __ZN10emscripten8internal6TypeIDIcE3getEv() {
  4114. var $0 = 0, label = 0, sp = 0;
  4115. sp = STACKTOP;
  4116. $0 = (__ZN10emscripten8internal11LightTypeIDIcE3getEv()|0);
  4117. return ($0|0);
  4118. }
  4119. function __ZN10emscripten8internal11LightTypeIDIcE3getEv() {
  4120. var label = 0, sp = 0;
  4121. sp = STACKTOP;
  4122. return (280|0);
  4123. }
  4124. function __ZN10emscripten8internal11LightTypeIDIbE3getEv() {
  4125. var label = 0, sp = 0;
  4126. sp = STACKTOP;
  4127. return (272|0);
  4128. }
  4129. function __ZN10emscripten8internal11LightTypeIDIvE3getEv() {
  4130. var label = 0, sp = 0;
  4131. sp = STACKTOP;
  4132. return (264|0);
  4133. }
  4134. function ___getTypeName($0) {
  4135. $0 = $0|0;
  4136. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
  4137. sp = STACKTOP;
  4138. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  4139. $2 = $0;
  4140. $3 = $2;
  4141. $1 = $3;
  4142. $4 = $1;
  4143. $5 = ((($4)) + 4|0);
  4144. $6 = HEAP32[$5>>2]|0;
  4145. $7 = (___strdup($6)|0);
  4146. STACKTOP = sp;return ($7|0);
  4147. }
  4148. function _malloc($0) {
  4149. $0 = $0|0;
  4150. var $$$0172$i = 0, $$$0173$i = 0, $$$4236$i = 0, $$$4329$i = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i20$i = 0, $$01$i$i = 0, $$0172$lcssa$i = 0, $$01726$i = 0, $$0173$lcssa$i = 0, $$01735$i = 0, $$0192 = 0, $$0194 = 0, $$0201$i$i = 0, $$0202$i$i = 0, $$0206$i$i = 0;
  4151. var $$0207$i$i = 0, $$024370$i = 0, $$0260$i$i = 0, $$0261$i$i = 0, $$0262$i$i = 0, $$0268$i$i = 0, $$0269$i$i = 0, $$0320$i = 0, $$0322$i = 0, $$0323$i = 0, $$0325$i = 0, $$0331$i = 0, $$0336$i = 0, $$0337$$i = 0, $$0337$i = 0, $$0339$i = 0, $$0340$i = 0, $$0345$i = 0, $$1176$i = 0, $$1178$i = 0;
  4152. var $$124469$i = 0, $$1264$i$i = 0, $$1266$i$i = 0, $$1321$i = 0, $$1326$i = 0, $$1341$i = 0, $$1347$i = 0, $$1351$i = 0, $$2234243136$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2333$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i200 = 0, $$3328$i = 0, $$3349$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$411$i = 0;
  4153. var $$4236$i = 0, $$4329$lcssa$i = 0, $$432910$i = 0, $$4335$$4$i = 0, $$4335$ph$i = 0, $$43359$i = 0, $$723947$i = 0, $$748$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i17$i = 0, $$pre$i195 = 0, $$pre$i210 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i18$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phiZ2D = 0, $$sink1$i = 0;
  4154. var $$sink1$i$i = 0, $$sink14$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
  4155. var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
  4156. var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
  4157. var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
  4158. var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
  4159. var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0;
  4160. var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
  4161. var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0;
  4162. var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0;
  4163. var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0;
  4164. var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0;
  4165. var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0;
  4166. var $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0;
  4167. var $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0;
  4168. var $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0;
  4169. var $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0;
  4170. var $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0;
  4171. var $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0;
  4172. var $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0;
  4173. var $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0;
  4174. var $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0;
  4175. var $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0;
  4176. var $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0;
  4177. var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0;
  4178. var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0;
  4179. var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0;
  4180. var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0;
  4181. var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0;
  4182. var $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0;
  4183. var $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0;
  4184. var $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0;
  4185. var $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0;
  4186. var $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0;
  4187. var $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0;
  4188. var $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0;
  4189. var $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0;
  4190. var $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0;
  4191. var $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0;
  4192. var $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0;
  4193. var $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0;
  4194. var $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0;
  4195. var $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0;
  4196. var $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0;
  4197. var $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0;
  4198. var $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0;
  4199. var $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0;
  4200. var $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0;
  4201. var $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0;
  4202. var $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $98 = 0, $99 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0;
  4203. var $not$$i$i = 0, $not$$i197 = 0, $not$$i209 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$3$i = 0, $not$5$i = 0, $or$cond$i = 0, $or$cond$i201 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i199 = 0, $or$cond49$i = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond7$i = 0;
  4204. var label = 0, sp = 0;
  4205. sp = STACKTOP;
  4206. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  4207. $1 = sp;
  4208. $2 = ($0>>>0)<(245);
  4209. do {
  4210. if ($2) {
  4211. $3 = ($0>>>0)<(11);
  4212. $4 = (($0) + 11)|0;
  4213. $5 = $4 & -8;
  4214. $6 = $3 ? 16 : $5;
  4215. $7 = $6 >>> 3;
  4216. $8 = HEAP32[9596]|0;
  4217. $9 = $8 >>> $7;
  4218. $10 = $9 & 3;
  4219. $11 = ($10|0)==(0);
  4220. if (!($11)) {
  4221. $12 = $9 & 1;
  4222. $13 = $12 ^ 1;
  4223. $14 = (($13) + ($7))|0;
  4224. $15 = $14 << 1;
  4225. $16 = (38424 + ($15<<2)|0);
  4226. $17 = ((($16)) + 8|0);
  4227. $18 = HEAP32[$17>>2]|0;
  4228. $19 = ((($18)) + 8|0);
  4229. $20 = HEAP32[$19>>2]|0;
  4230. $21 = ($16|0)==($20|0);
  4231. if ($21) {
  4232. $22 = 1 << $14;
  4233. $23 = $22 ^ -1;
  4234. $24 = $8 & $23;
  4235. HEAP32[9596] = $24;
  4236. } else {
  4237. $25 = ((($20)) + 12|0);
  4238. HEAP32[$25>>2] = $16;
  4239. HEAP32[$17>>2] = $20;
  4240. }
  4241. $26 = $14 << 3;
  4242. $27 = $26 | 3;
  4243. $28 = ((($18)) + 4|0);
  4244. HEAP32[$28>>2] = $27;
  4245. $29 = (($18) + ($26)|0);
  4246. $30 = ((($29)) + 4|0);
  4247. $31 = HEAP32[$30>>2]|0;
  4248. $32 = $31 | 1;
  4249. HEAP32[$30>>2] = $32;
  4250. $$0 = $19;
  4251. STACKTOP = sp;return ($$0|0);
  4252. }
  4253. $33 = HEAP32[(38392)>>2]|0;
  4254. $34 = ($6>>>0)>($33>>>0);
  4255. if ($34) {
  4256. $35 = ($9|0)==(0);
  4257. if (!($35)) {
  4258. $36 = $9 << $7;
  4259. $37 = 2 << $7;
  4260. $38 = (0 - ($37))|0;
  4261. $39 = $37 | $38;
  4262. $40 = $36 & $39;
  4263. $41 = (0 - ($40))|0;
  4264. $42 = $40 & $41;
  4265. $43 = (($42) + -1)|0;
  4266. $44 = $43 >>> 12;
  4267. $45 = $44 & 16;
  4268. $46 = $43 >>> $45;
  4269. $47 = $46 >>> 5;
  4270. $48 = $47 & 8;
  4271. $49 = $48 | $45;
  4272. $50 = $46 >>> $48;
  4273. $51 = $50 >>> 2;
  4274. $52 = $51 & 4;
  4275. $53 = $49 | $52;
  4276. $54 = $50 >>> $52;
  4277. $55 = $54 >>> 1;
  4278. $56 = $55 & 2;
  4279. $57 = $53 | $56;
  4280. $58 = $54 >>> $56;
  4281. $59 = $58 >>> 1;
  4282. $60 = $59 & 1;
  4283. $61 = $57 | $60;
  4284. $62 = $58 >>> $60;
  4285. $63 = (($61) + ($62))|0;
  4286. $64 = $63 << 1;
  4287. $65 = (38424 + ($64<<2)|0);
  4288. $66 = ((($65)) + 8|0);
  4289. $67 = HEAP32[$66>>2]|0;
  4290. $68 = ((($67)) + 8|0);
  4291. $69 = HEAP32[$68>>2]|0;
  4292. $70 = ($65|0)==($69|0);
  4293. if ($70) {
  4294. $71 = 1 << $63;
  4295. $72 = $71 ^ -1;
  4296. $73 = $8 & $72;
  4297. HEAP32[9596] = $73;
  4298. $90 = $73;
  4299. } else {
  4300. $74 = ((($69)) + 12|0);
  4301. HEAP32[$74>>2] = $65;
  4302. HEAP32[$66>>2] = $69;
  4303. $90 = $8;
  4304. }
  4305. $75 = $63 << 3;
  4306. $76 = (($75) - ($6))|0;
  4307. $77 = $6 | 3;
  4308. $78 = ((($67)) + 4|0);
  4309. HEAP32[$78>>2] = $77;
  4310. $79 = (($67) + ($6)|0);
  4311. $80 = $76 | 1;
  4312. $81 = ((($79)) + 4|0);
  4313. HEAP32[$81>>2] = $80;
  4314. $82 = (($79) + ($76)|0);
  4315. HEAP32[$82>>2] = $76;
  4316. $83 = ($33|0)==(0);
  4317. if (!($83)) {
  4318. $84 = HEAP32[(38404)>>2]|0;
  4319. $85 = $33 >>> 3;
  4320. $86 = $85 << 1;
  4321. $87 = (38424 + ($86<<2)|0);
  4322. $88 = 1 << $85;
  4323. $89 = $90 & $88;
  4324. $91 = ($89|0)==(0);
  4325. if ($91) {
  4326. $92 = $90 | $88;
  4327. HEAP32[9596] = $92;
  4328. $$pre = ((($87)) + 8|0);
  4329. $$0194 = $87;$$pre$phiZ2D = $$pre;
  4330. } else {
  4331. $93 = ((($87)) + 8|0);
  4332. $94 = HEAP32[$93>>2]|0;
  4333. $$0194 = $94;$$pre$phiZ2D = $93;
  4334. }
  4335. HEAP32[$$pre$phiZ2D>>2] = $84;
  4336. $95 = ((($$0194)) + 12|0);
  4337. HEAP32[$95>>2] = $84;
  4338. $96 = ((($84)) + 8|0);
  4339. HEAP32[$96>>2] = $$0194;
  4340. $97 = ((($84)) + 12|0);
  4341. HEAP32[$97>>2] = $87;
  4342. }
  4343. HEAP32[(38392)>>2] = $76;
  4344. HEAP32[(38404)>>2] = $79;
  4345. $$0 = $68;
  4346. STACKTOP = sp;return ($$0|0);
  4347. }
  4348. $98 = HEAP32[(38388)>>2]|0;
  4349. $99 = ($98|0)==(0);
  4350. if ($99) {
  4351. $$0192 = $6;
  4352. } else {
  4353. $100 = (0 - ($98))|0;
  4354. $101 = $98 & $100;
  4355. $102 = (($101) + -1)|0;
  4356. $103 = $102 >>> 12;
  4357. $104 = $103 & 16;
  4358. $105 = $102 >>> $104;
  4359. $106 = $105 >>> 5;
  4360. $107 = $106 & 8;
  4361. $108 = $107 | $104;
  4362. $109 = $105 >>> $107;
  4363. $110 = $109 >>> 2;
  4364. $111 = $110 & 4;
  4365. $112 = $108 | $111;
  4366. $113 = $109 >>> $111;
  4367. $114 = $113 >>> 1;
  4368. $115 = $114 & 2;
  4369. $116 = $112 | $115;
  4370. $117 = $113 >>> $115;
  4371. $118 = $117 >>> 1;
  4372. $119 = $118 & 1;
  4373. $120 = $116 | $119;
  4374. $121 = $117 >>> $119;
  4375. $122 = (($120) + ($121))|0;
  4376. $123 = (38688 + ($122<<2)|0);
  4377. $124 = HEAP32[$123>>2]|0;
  4378. $125 = ((($124)) + 4|0);
  4379. $126 = HEAP32[$125>>2]|0;
  4380. $127 = $126 & -8;
  4381. $128 = (($127) - ($6))|0;
  4382. $129 = ((($124)) + 16|0);
  4383. $130 = HEAP32[$129>>2]|0;
  4384. $not$3$i = ($130|0)==(0|0);
  4385. $$sink14$i = $not$3$i&1;
  4386. $131 = (((($124)) + 16|0) + ($$sink14$i<<2)|0);
  4387. $132 = HEAP32[$131>>2]|0;
  4388. $133 = ($132|0)==(0|0);
  4389. if ($133) {
  4390. $$0172$lcssa$i = $124;$$0173$lcssa$i = $128;
  4391. } else {
  4392. $$01726$i = $124;$$01735$i = $128;$135 = $132;
  4393. while(1) {
  4394. $134 = ((($135)) + 4|0);
  4395. $136 = HEAP32[$134>>2]|0;
  4396. $137 = $136 & -8;
  4397. $138 = (($137) - ($6))|0;
  4398. $139 = ($138>>>0)<($$01735$i>>>0);
  4399. $$$0173$i = $139 ? $138 : $$01735$i;
  4400. $$$0172$i = $139 ? $135 : $$01726$i;
  4401. $140 = ((($135)) + 16|0);
  4402. $141 = HEAP32[$140>>2]|0;
  4403. $not$$i = ($141|0)==(0|0);
  4404. $$sink1$i = $not$$i&1;
  4405. $142 = (((($135)) + 16|0) + ($$sink1$i<<2)|0);
  4406. $143 = HEAP32[$142>>2]|0;
  4407. $144 = ($143|0)==(0|0);
  4408. if ($144) {
  4409. $$0172$lcssa$i = $$$0172$i;$$0173$lcssa$i = $$$0173$i;
  4410. break;
  4411. } else {
  4412. $$01726$i = $$$0172$i;$$01735$i = $$$0173$i;$135 = $143;
  4413. }
  4414. }
  4415. }
  4416. $145 = (($$0172$lcssa$i) + ($6)|0);
  4417. $146 = ($$0172$lcssa$i>>>0)<($145>>>0);
  4418. if ($146) {
  4419. $147 = ((($$0172$lcssa$i)) + 24|0);
  4420. $148 = HEAP32[$147>>2]|0;
  4421. $149 = ((($$0172$lcssa$i)) + 12|0);
  4422. $150 = HEAP32[$149>>2]|0;
  4423. $151 = ($150|0)==($$0172$lcssa$i|0);
  4424. do {
  4425. if ($151) {
  4426. $156 = ((($$0172$lcssa$i)) + 20|0);
  4427. $157 = HEAP32[$156>>2]|0;
  4428. $158 = ($157|0)==(0|0);
  4429. if ($158) {
  4430. $159 = ((($$0172$lcssa$i)) + 16|0);
  4431. $160 = HEAP32[$159>>2]|0;
  4432. $161 = ($160|0)==(0|0);
  4433. if ($161) {
  4434. $$3$i = 0;
  4435. break;
  4436. } else {
  4437. $$1176$i = $160;$$1178$i = $159;
  4438. }
  4439. } else {
  4440. $$1176$i = $157;$$1178$i = $156;
  4441. }
  4442. while(1) {
  4443. $162 = ((($$1176$i)) + 20|0);
  4444. $163 = HEAP32[$162>>2]|0;
  4445. $164 = ($163|0)==(0|0);
  4446. if (!($164)) {
  4447. $$1176$i = $163;$$1178$i = $162;
  4448. continue;
  4449. }
  4450. $165 = ((($$1176$i)) + 16|0);
  4451. $166 = HEAP32[$165>>2]|0;
  4452. $167 = ($166|0)==(0|0);
  4453. if ($167) {
  4454. break;
  4455. } else {
  4456. $$1176$i = $166;$$1178$i = $165;
  4457. }
  4458. }
  4459. HEAP32[$$1178$i>>2] = 0;
  4460. $$3$i = $$1176$i;
  4461. } else {
  4462. $152 = ((($$0172$lcssa$i)) + 8|0);
  4463. $153 = HEAP32[$152>>2]|0;
  4464. $154 = ((($153)) + 12|0);
  4465. HEAP32[$154>>2] = $150;
  4466. $155 = ((($150)) + 8|0);
  4467. HEAP32[$155>>2] = $153;
  4468. $$3$i = $150;
  4469. }
  4470. } while(0);
  4471. $168 = ($148|0)==(0|0);
  4472. do {
  4473. if (!($168)) {
  4474. $169 = ((($$0172$lcssa$i)) + 28|0);
  4475. $170 = HEAP32[$169>>2]|0;
  4476. $171 = (38688 + ($170<<2)|0);
  4477. $172 = HEAP32[$171>>2]|0;
  4478. $173 = ($$0172$lcssa$i|0)==($172|0);
  4479. if ($173) {
  4480. HEAP32[$171>>2] = $$3$i;
  4481. $cond$i = ($$3$i|0)==(0|0);
  4482. if ($cond$i) {
  4483. $174 = 1 << $170;
  4484. $175 = $174 ^ -1;
  4485. $176 = $98 & $175;
  4486. HEAP32[(38388)>>2] = $176;
  4487. break;
  4488. }
  4489. } else {
  4490. $177 = ((($148)) + 16|0);
  4491. $178 = HEAP32[$177>>2]|0;
  4492. $not$1$i = ($178|0)!=($$0172$lcssa$i|0);
  4493. $$sink2$i = $not$1$i&1;
  4494. $179 = (((($148)) + 16|0) + ($$sink2$i<<2)|0);
  4495. HEAP32[$179>>2] = $$3$i;
  4496. $180 = ($$3$i|0)==(0|0);
  4497. if ($180) {
  4498. break;
  4499. }
  4500. }
  4501. $181 = ((($$3$i)) + 24|0);
  4502. HEAP32[$181>>2] = $148;
  4503. $182 = ((($$0172$lcssa$i)) + 16|0);
  4504. $183 = HEAP32[$182>>2]|0;
  4505. $184 = ($183|0)==(0|0);
  4506. if (!($184)) {
  4507. $185 = ((($$3$i)) + 16|0);
  4508. HEAP32[$185>>2] = $183;
  4509. $186 = ((($183)) + 24|0);
  4510. HEAP32[$186>>2] = $$3$i;
  4511. }
  4512. $187 = ((($$0172$lcssa$i)) + 20|0);
  4513. $188 = HEAP32[$187>>2]|0;
  4514. $189 = ($188|0)==(0|0);
  4515. if (!($189)) {
  4516. $190 = ((($$3$i)) + 20|0);
  4517. HEAP32[$190>>2] = $188;
  4518. $191 = ((($188)) + 24|0);
  4519. HEAP32[$191>>2] = $$3$i;
  4520. }
  4521. }
  4522. } while(0);
  4523. $192 = ($$0173$lcssa$i>>>0)<(16);
  4524. if ($192) {
  4525. $193 = (($$0173$lcssa$i) + ($6))|0;
  4526. $194 = $193 | 3;
  4527. $195 = ((($$0172$lcssa$i)) + 4|0);
  4528. HEAP32[$195>>2] = $194;
  4529. $196 = (($$0172$lcssa$i) + ($193)|0);
  4530. $197 = ((($196)) + 4|0);
  4531. $198 = HEAP32[$197>>2]|0;
  4532. $199 = $198 | 1;
  4533. HEAP32[$197>>2] = $199;
  4534. } else {
  4535. $200 = $6 | 3;
  4536. $201 = ((($$0172$lcssa$i)) + 4|0);
  4537. HEAP32[$201>>2] = $200;
  4538. $202 = $$0173$lcssa$i | 1;
  4539. $203 = ((($145)) + 4|0);
  4540. HEAP32[$203>>2] = $202;
  4541. $204 = (($145) + ($$0173$lcssa$i)|0);
  4542. HEAP32[$204>>2] = $$0173$lcssa$i;
  4543. $205 = ($33|0)==(0);
  4544. if (!($205)) {
  4545. $206 = HEAP32[(38404)>>2]|0;
  4546. $207 = $33 >>> 3;
  4547. $208 = $207 << 1;
  4548. $209 = (38424 + ($208<<2)|0);
  4549. $210 = 1 << $207;
  4550. $211 = $8 & $210;
  4551. $212 = ($211|0)==(0);
  4552. if ($212) {
  4553. $213 = $8 | $210;
  4554. HEAP32[9596] = $213;
  4555. $$pre$i = ((($209)) + 8|0);
  4556. $$0$i = $209;$$pre$phi$iZ2D = $$pre$i;
  4557. } else {
  4558. $214 = ((($209)) + 8|0);
  4559. $215 = HEAP32[$214>>2]|0;
  4560. $$0$i = $215;$$pre$phi$iZ2D = $214;
  4561. }
  4562. HEAP32[$$pre$phi$iZ2D>>2] = $206;
  4563. $216 = ((($$0$i)) + 12|0);
  4564. HEAP32[$216>>2] = $206;
  4565. $217 = ((($206)) + 8|0);
  4566. HEAP32[$217>>2] = $$0$i;
  4567. $218 = ((($206)) + 12|0);
  4568. HEAP32[$218>>2] = $209;
  4569. }
  4570. HEAP32[(38392)>>2] = $$0173$lcssa$i;
  4571. HEAP32[(38404)>>2] = $145;
  4572. }
  4573. $219 = ((($$0172$lcssa$i)) + 8|0);
  4574. $$0 = $219;
  4575. STACKTOP = sp;return ($$0|0);
  4576. } else {
  4577. $$0192 = $6;
  4578. }
  4579. }
  4580. } else {
  4581. $$0192 = $6;
  4582. }
  4583. } else {
  4584. $220 = ($0>>>0)>(4294967231);
  4585. if ($220) {
  4586. $$0192 = -1;
  4587. } else {
  4588. $221 = (($0) + 11)|0;
  4589. $222 = $221 & -8;
  4590. $223 = HEAP32[(38388)>>2]|0;
  4591. $224 = ($223|0)==(0);
  4592. if ($224) {
  4593. $$0192 = $222;
  4594. } else {
  4595. $225 = (0 - ($222))|0;
  4596. $226 = $221 >>> 8;
  4597. $227 = ($226|0)==(0);
  4598. if ($227) {
  4599. $$0336$i = 0;
  4600. } else {
  4601. $228 = ($222>>>0)>(16777215);
  4602. if ($228) {
  4603. $$0336$i = 31;
  4604. } else {
  4605. $229 = (($226) + 1048320)|0;
  4606. $230 = $229 >>> 16;
  4607. $231 = $230 & 8;
  4608. $232 = $226 << $231;
  4609. $233 = (($232) + 520192)|0;
  4610. $234 = $233 >>> 16;
  4611. $235 = $234 & 4;
  4612. $236 = $235 | $231;
  4613. $237 = $232 << $235;
  4614. $238 = (($237) + 245760)|0;
  4615. $239 = $238 >>> 16;
  4616. $240 = $239 & 2;
  4617. $241 = $236 | $240;
  4618. $242 = (14 - ($241))|0;
  4619. $243 = $237 << $240;
  4620. $244 = $243 >>> 15;
  4621. $245 = (($242) + ($244))|0;
  4622. $246 = $245 << 1;
  4623. $247 = (($245) + 7)|0;
  4624. $248 = $222 >>> $247;
  4625. $249 = $248 & 1;
  4626. $250 = $249 | $246;
  4627. $$0336$i = $250;
  4628. }
  4629. }
  4630. $251 = (38688 + ($$0336$i<<2)|0);
  4631. $252 = HEAP32[$251>>2]|0;
  4632. $253 = ($252|0)==(0|0);
  4633. L74: do {
  4634. if ($253) {
  4635. $$2333$i = 0;$$3$i200 = 0;$$3328$i = $225;
  4636. label = 57;
  4637. } else {
  4638. $254 = ($$0336$i|0)==(31);
  4639. $255 = $$0336$i >>> 1;
  4640. $256 = (25 - ($255))|0;
  4641. $257 = $254 ? 0 : $256;
  4642. $258 = $222 << $257;
  4643. $$0320$i = 0;$$0325$i = $225;$$0331$i = $252;$$0337$i = $258;$$0340$i = 0;
  4644. while(1) {
  4645. $259 = ((($$0331$i)) + 4|0);
  4646. $260 = HEAP32[$259>>2]|0;
  4647. $261 = $260 & -8;
  4648. $262 = (($261) - ($222))|0;
  4649. $263 = ($262>>>0)<($$0325$i>>>0);
  4650. if ($263) {
  4651. $264 = ($262|0)==(0);
  4652. if ($264) {
  4653. $$411$i = $$0331$i;$$432910$i = 0;$$43359$i = $$0331$i;
  4654. label = 61;
  4655. break L74;
  4656. } else {
  4657. $$1321$i = $$0331$i;$$1326$i = $262;
  4658. }
  4659. } else {
  4660. $$1321$i = $$0320$i;$$1326$i = $$0325$i;
  4661. }
  4662. $265 = ((($$0331$i)) + 20|0);
  4663. $266 = HEAP32[$265>>2]|0;
  4664. $267 = $$0337$i >>> 31;
  4665. $268 = (((($$0331$i)) + 16|0) + ($267<<2)|0);
  4666. $269 = HEAP32[$268>>2]|0;
  4667. $270 = ($266|0)==(0|0);
  4668. $271 = ($266|0)==($269|0);
  4669. $or$cond2$i199 = $270 | $271;
  4670. $$1341$i = $or$cond2$i199 ? $$0340$i : $266;
  4671. $272 = ($269|0)==(0|0);
  4672. $not$5$i = $272 ^ 1;
  4673. $273 = $not$5$i&1;
  4674. $$0337$$i = $$0337$i << $273;
  4675. if ($272) {
  4676. $$2333$i = $$1341$i;$$3$i200 = $$1321$i;$$3328$i = $$1326$i;
  4677. label = 57;
  4678. break;
  4679. } else {
  4680. $$0320$i = $$1321$i;$$0325$i = $$1326$i;$$0331$i = $269;$$0337$i = $$0337$$i;$$0340$i = $$1341$i;
  4681. }
  4682. }
  4683. }
  4684. } while(0);
  4685. if ((label|0) == 57) {
  4686. $274 = ($$2333$i|0)==(0|0);
  4687. $275 = ($$3$i200|0)==(0|0);
  4688. $or$cond$i201 = $274 & $275;
  4689. if ($or$cond$i201) {
  4690. $276 = 2 << $$0336$i;
  4691. $277 = (0 - ($276))|0;
  4692. $278 = $276 | $277;
  4693. $279 = $223 & $278;
  4694. $280 = ($279|0)==(0);
  4695. if ($280) {
  4696. $$0192 = $222;
  4697. break;
  4698. }
  4699. $281 = (0 - ($279))|0;
  4700. $282 = $279 & $281;
  4701. $283 = (($282) + -1)|0;
  4702. $284 = $283 >>> 12;
  4703. $285 = $284 & 16;
  4704. $286 = $283 >>> $285;
  4705. $287 = $286 >>> 5;
  4706. $288 = $287 & 8;
  4707. $289 = $288 | $285;
  4708. $290 = $286 >>> $288;
  4709. $291 = $290 >>> 2;
  4710. $292 = $291 & 4;
  4711. $293 = $289 | $292;
  4712. $294 = $290 >>> $292;
  4713. $295 = $294 >>> 1;
  4714. $296 = $295 & 2;
  4715. $297 = $293 | $296;
  4716. $298 = $294 >>> $296;
  4717. $299 = $298 >>> 1;
  4718. $300 = $299 & 1;
  4719. $301 = $297 | $300;
  4720. $302 = $298 >>> $300;
  4721. $303 = (($301) + ($302))|0;
  4722. $304 = (38688 + ($303<<2)|0);
  4723. $305 = HEAP32[$304>>2]|0;
  4724. $$4$ph$i = 0;$$4335$ph$i = $305;
  4725. } else {
  4726. $$4$ph$i = $$3$i200;$$4335$ph$i = $$2333$i;
  4727. }
  4728. $306 = ($$4335$ph$i|0)==(0|0);
  4729. if ($306) {
  4730. $$4$lcssa$i = $$4$ph$i;$$4329$lcssa$i = $$3328$i;
  4731. } else {
  4732. $$411$i = $$4$ph$i;$$432910$i = $$3328$i;$$43359$i = $$4335$ph$i;
  4733. label = 61;
  4734. }
  4735. }
  4736. if ((label|0) == 61) {
  4737. while(1) {
  4738. label = 0;
  4739. $307 = ((($$43359$i)) + 4|0);
  4740. $308 = HEAP32[$307>>2]|0;
  4741. $309 = $308 & -8;
  4742. $310 = (($309) - ($222))|0;
  4743. $311 = ($310>>>0)<($$432910$i>>>0);
  4744. $$$4329$i = $311 ? $310 : $$432910$i;
  4745. $$4335$$4$i = $311 ? $$43359$i : $$411$i;
  4746. $312 = ((($$43359$i)) + 16|0);
  4747. $313 = HEAP32[$312>>2]|0;
  4748. $not$1$i203 = ($313|0)==(0|0);
  4749. $$sink2$i204 = $not$1$i203&1;
  4750. $314 = (((($$43359$i)) + 16|0) + ($$sink2$i204<<2)|0);
  4751. $315 = HEAP32[$314>>2]|0;
  4752. $316 = ($315|0)==(0|0);
  4753. if ($316) {
  4754. $$4$lcssa$i = $$4335$$4$i;$$4329$lcssa$i = $$$4329$i;
  4755. break;
  4756. } else {
  4757. $$411$i = $$4335$$4$i;$$432910$i = $$$4329$i;$$43359$i = $315;
  4758. label = 61;
  4759. }
  4760. }
  4761. }
  4762. $317 = ($$4$lcssa$i|0)==(0|0);
  4763. if ($317) {
  4764. $$0192 = $222;
  4765. } else {
  4766. $318 = HEAP32[(38392)>>2]|0;
  4767. $319 = (($318) - ($222))|0;
  4768. $320 = ($$4329$lcssa$i>>>0)<($319>>>0);
  4769. if ($320) {
  4770. $321 = (($$4$lcssa$i) + ($222)|0);
  4771. $322 = ($$4$lcssa$i>>>0)<($321>>>0);
  4772. if (!($322)) {
  4773. $$0 = 0;
  4774. STACKTOP = sp;return ($$0|0);
  4775. }
  4776. $323 = ((($$4$lcssa$i)) + 24|0);
  4777. $324 = HEAP32[$323>>2]|0;
  4778. $325 = ((($$4$lcssa$i)) + 12|0);
  4779. $326 = HEAP32[$325>>2]|0;
  4780. $327 = ($326|0)==($$4$lcssa$i|0);
  4781. do {
  4782. if ($327) {
  4783. $332 = ((($$4$lcssa$i)) + 20|0);
  4784. $333 = HEAP32[$332>>2]|0;
  4785. $334 = ($333|0)==(0|0);
  4786. if ($334) {
  4787. $335 = ((($$4$lcssa$i)) + 16|0);
  4788. $336 = HEAP32[$335>>2]|0;
  4789. $337 = ($336|0)==(0|0);
  4790. if ($337) {
  4791. $$3349$i = 0;
  4792. break;
  4793. } else {
  4794. $$1347$i = $336;$$1351$i = $335;
  4795. }
  4796. } else {
  4797. $$1347$i = $333;$$1351$i = $332;
  4798. }
  4799. while(1) {
  4800. $338 = ((($$1347$i)) + 20|0);
  4801. $339 = HEAP32[$338>>2]|0;
  4802. $340 = ($339|0)==(0|0);
  4803. if (!($340)) {
  4804. $$1347$i = $339;$$1351$i = $338;
  4805. continue;
  4806. }
  4807. $341 = ((($$1347$i)) + 16|0);
  4808. $342 = HEAP32[$341>>2]|0;
  4809. $343 = ($342|0)==(0|0);
  4810. if ($343) {
  4811. break;
  4812. } else {
  4813. $$1347$i = $342;$$1351$i = $341;
  4814. }
  4815. }
  4816. HEAP32[$$1351$i>>2] = 0;
  4817. $$3349$i = $$1347$i;
  4818. } else {
  4819. $328 = ((($$4$lcssa$i)) + 8|0);
  4820. $329 = HEAP32[$328>>2]|0;
  4821. $330 = ((($329)) + 12|0);
  4822. HEAP32[$330>>2] = $326;
  4823. $331 = ((($326)) + 8|0);
  4824. HEAP32[$331>>2] = $329;
  4825. $$3349$i = $326;
  4826. }
  4827. } while(0);
  4828. $344 = ($324|0)==(0|0);
  4829. do {
  4830. if ($344) {
  4831. $426 = $223;
  4832. } else {
  4833. $345 = ((($$4$lcssa$i)) + 28|0);
  4834. $346 = HEAP32[$345>>2]|0;
  4835. $347 = (38688 + ($346<<2)|0);
  4836. $348 = HEAP32[$347>>2]|0;
  4837. $349 = ($$4$lcssa$i|0)==($348|0);
  4838. if ($349) {
  4839. HEAP32[$347>>2] = $$3349$i;
  4840. $cond$i208 = ($$3349$i|0)==(0|0);
  4841. if ($cond$i208) {
  4842. $350 = 1 << $346;
  4843. $351 = $350 ^ -1;
  4844. $352 = $223 & $351;
  4845. HEAP32[(38388)>>2] = $352;
  4846. $426 = $352;
  4847. break;
  4848. }
  4849. } else {
  4850. $353 = ((($324)) + 16|0);
  4851. $354 = HEAP32[$353>>2]|0;
  4852. $not$$i209 = ($354|0)!=($$4$lcssa$i|0);
  4853. $$sink3$i = $not$$i209&1;
  4854. $355 = (((($324)) + 16|0) + ($$sink3$i<<2)|0);
  4855. HEAP32[$355>>2] = $$3349$i;
  4856. $356 = ($$3349$i|0)==(0|0);
  4857. if ($356) {
  4858. $426 = $223;
  4859. break;
  4860. }
  4861. }
  4862. $357 = ((($$3349$i)) + 24|0);
  4863. HEAP32[$357>>2] = $324;
  4864. $358 = ((($$4$lcssa$i)) + 16|0);
  4865. $359 = HEAP32[$358>>2]|0;
  4866. $360 = ($359|0)==(0|0);
  4867. if (!($360)) {
  4868. $361 = ((($$3349$i)) + 16|0);
  4869. HEAP32[$361>>2] = $359;
  4870. $362 = ((($359)) + 24|0);
  4871. HEAP32[$362>>2] = $$3349$i;
  4872. }
  4873. $363 = ((($$4$lcssa$i)) + 20|0);
  4874. $364 = HEAP32[$363>>2]|0;
  4875. $365 = ($364|0)==(0|0);
  4876. if ($365) {
  4877. $426 = $223;
  4878. } else {
  4879. $366 = ((($$3349$i)) + 20|0);
  4880. HEAP32[$366>>2] = $364;
  4881. $367 = ((($364)) + 24|0);
  4882. HEAP32[$367>>2] = $$3349$i;
  4883. $426 = $223;
  4884. }
  4885. }
  4886. } while(0);
  4887. $368 = ($$4329$lcssa$i>>>0)<(16);
  4888. do {
  4889. if ($368) {
  4890. $369 = (($$4329$lcssa$i) + ($222))|0;
  4891. $370 = $369 | 3;
  4892. $371 = ((($$4$lcssa$i)) + 4|0);
  4893. HEAP32[$371>>2] = $370;
  4894. $372 = (($$4$lcssa$i) + ($369)|0);
  4895. $373 = ((($372)) + 4|0);
  4896. $374 = HEAP32[$373>>2]|0;
  4897. $375 = $374 | 1;
  4898. HEAP32[$373>>2] = $375;
  4899. } else {
  4900. $376 = $222 | 3;
  4901. $377 = ((($$4$lcssa$i)) + 4|0);
  4902. HEAP32[$377>>2] = $376;
  4903. $378 = $$4329$lcssa$i | 1;
  4904. $379 = ((($321)) + 4|0);
  4905. HEAP32[$379>>2] = $378;
  4906. $380 = (($321) + ($$4329$lcssa$i)|0);
  4907. HEAP32[$380>>2] = $$4329$lcssa$i;
  4908. $381 = $$4329$lcssa$i >>> 3;
  4909. $382 = ($$4329$lcssa$i>>>0)<(256);
  4910. if ($382) {
  4911. $383 = $381 << 1;
  4912. $384 = (38424 + ($383<<2)|0);
  4913. $385 = HEAP32[9596]|0;
  4914. $386 = 1 << $381;
  4915. $387 = $385 & $386;
  4916. $388 = ($387|0)==(0);
  4917. if ($388) {
  4918. $389 = $385 | $386;
  4919. HEAP32[9596] = $389;
  4920. $$pre$i210 = ((($384)) + 8|0);
  4921. $$0345$i = $384;$$pre$phi$i211Z2D = $$pre$i210;
  4922. } else {
  4923. $390 = ((($384)) + 8|0);
  4924. $391 = HEAP32[$390>>2]|0;
  4925. $$0345$i = $391;$$pre$phi$i211Z2D = $390;
  4926. }
  4927. HEAP32[$$pre$phi$i211Z2D>>2] = $321;
  4928. $392 = ((($$0345$i)) + 12|0);
  4929. HEAP32[$392>>2] = $321;
  4930. $393 = ((($321)) + 8|0);
  4931. HEAP32[$393>>2] = $$0345$i;
  4932. $394 = ((($321)) + 12|0);
  4933. HEAP32[$394>>2] = $384;
  4934. break;
  4935. }
  4936. $395 = $$4329$lcssa$i >>> 8;
  4937. $396 = ($395|0)==(0);
  4938. if ($396) {
  4939. $$0339$i = 0;
  4940. } else {
  4941. $397 = ($$4329$lcssa$i>>>0)>(16777215);
  4942. if ($397) {
  4943. $$0339$i = 31;
  4944. } else {
  4945. $398 = (($395) + 1048320)|0;
  4946. $399 = $398 >>> 16;
  4947. $400 = $399 & 8;
  4948. $401 = $395 << $400;
  4949. $402 = (($401) + 520192)|0;
  4950. $403 = $402 >>> 16;
  4951. $404 = $403 & 4;
  4952. $405 = $404 | $400;
  4953. $406 = $401 << $404;
  4954. $407 = (($406) + 245760)|0;
  4955. $408 = $407 >>> 16;
  4956. $409 = $408 & 2;
  4957. $410 = $405 | $409;
  4958. $411 = (14 - ($410))|0;
  4959. $412 = $406 << $409;
  4960. $413 = $412 >>> 15;
  4961. $414 = (($411) + ($413))|0;
  4962. $415 = $414 << 1;
  4963. $416 = (($414) + 7)|0;
  4964. $417 = $$4329$lcssa$i >>> $416;
  4965. $418 = $417 & 1;
  4966. $419 = $418 | $415;
  4967. $$0339$i = $419;
  4968. }
  4969. }
  4970. $420 = (38688 + ($$0339$i<<2)|0);
  4971. $421 = ((($321)) + 28|0);
  4972. HEAP32[$421>>2] = $$0339$i;
  4973. $422 = ((($321)) + 16|0);
  4974. $423 = ((($422)) + 4|0);
  4975. HEAP32[$423>>2] = 0;
  4976. HEAP32[$422>>2] = 0;
  4977. $424 = 1 << $$0339$i;
  4978. $425 = $426 & $424;
  4979. $427 = ($425|0)==(0);
  4980. if ($427) {
  4981. $428 = $426 | $424;
  4982. HEAP32[(38388)>>2] = $428;
  4983. HEAP32[$420>>2] = $321;
  4984. $429 = ((($321)) + 24|0);
  4985. HEAP32[$429>>2] = $420;
  4986. $430 = ((($321)) + 12|0);
  4987. HEAP32[$430>>2] = $321;
  4988. $431 = ((($321)) + 8|0);
  4989. HEAP32[$431>>2] = $321;
  4990. break;
  4991. }
  4992. $432 = HEAP32[$420>>2]|0;
  4993. $433 = ($$0339$i|0)==(31);
  4994. $434 = $$0339$i >>> 1;
  4995. $435 = (25 - ($434))|0;
  4996. $436 = $433 ? 0 : $435;
  4997. $437 = $$4329$lcssa$i << $436;
  4998. $$0322$i = $437;$$0323$i = $432;
  4999. while(1) {
  5000. $438 = ((($$0323$i)) + 4|0);
  5001. $439 = HEAP32[$438>>2]|0;
  5002. $440 = $439 & -8;
  5003. $441 = ($440|0)==($$4329$lcssa$i|0);
  5004. if ($441) {
  5005. label = 97;
  5006. break;
  5007. }
  5008. $442 = $$0322$i >>> 31;
  5009. $443 = (((($$0323$i)) + 16|0) + ($442<<2)|0);
  5010. $444 = $$0322$i << 1;
  5011. $445 = HEAP32[$443>>2]|0;
  5012. $446 = ($445|0)==(0|0);
  5013. if ($446) {
  5014. label = 96;
  5015. break;
  5016. } else {
  5017. $$0322$i = $444;$$0323$i = $445;
  5018. }
  5019. }
  5020. if ((label|0) == 96) {
  5021. HEAP32[$443>>2] = $321;
  5022. $447 = ((($321)) + 24|0);
  5023. HEAP32[$447>>2] = $$0323$i;
  5024. $448 = ((($321)) + 12|0);
  5025. HEAP32[$448>>2] = $321;
  5026. $449 = ((($321)) + 8|0);
  5027. HEAP32[$449>>2] = $321;
  5028. break;
  5029. }
  5030. else if ((label|0) == 97) {
  5031. $450 = ((($$0323$i)) + 8|0);
  5032. $451 = HEAP32[$450>>2]|0;
  5033. $452 = ((($451)) + 12|0);
  5034. HEAP32[$452>>2] = $321;
  5035. HEAP32[$450>>2] = $321;
  5036. $453 = ((($321)) + 8|0);
  5037. HEAP32[$453>>2] = $451;
  5038. $454 = ((($321)) + 12|0);
  5039. HEAP32[$454>>2] = $$0323$i;
  5040. $455 = ((($321)) + 24|0);
  5041. HEAP32[$455>>2] = 0;
  5042. break;
  5043. }
  5044. }
  5045. } while(0);
  5046. $456 = ((($$4$lcssa$i)) + 8|0);
  5047. $$0 = $456;
  5048. STACKTOP = sp;return ($$0|0);
  5049. } else {
  5050. $$0192 = $222;
  5051. }
  5052. }
  5053. }
  5054. }
  5055. }
  5056. } while(0);
  5057. $457 = HEAP32[(38392)>>2]|0;
  5058. $458 = ($457>>>0)<($$0192>>>0);
  5059. if (!($458)) {
  5060. $459 = (($457) - ($$0192))|0;
  5061. $460 = HEAP32[(38404)>>2]|0;
  5062. $461 = ($459>>>0)>(15);
  5063. if ($461) {
  5064. $462 = (($460) + ($$0192)|0);
  5065. HEAP32[(38404)>>2] = $462;
  5066. HEAP32[(38392)>>2] = $459;
  5067. $463 = $459 | 1;
  5068. $464 = ((($462)) + 4|0);
  5069. HEAP32[$464>>2] = $463;
  5070. $465 = (($462) + ($459)|0);
  5071. HEAP32[$465>>2] = $459;
  5072. $466 = $$0192 | 3;
  5073. $467 = ((($460)) + 4|0);
  5074. HEAP32[$467>>2] = $466;
  5075. } else {
  5076. HEAP32[(38392)>>2] = 0;
  5077. HEAP32[(38404)>>2] = 0;
  5078. $468 = $457 | 3;
  5079. $469 = ((($460)) + 4|0);
  5080. HEAP32[$469>>2] = $468;
  5081. $470 = (($460) + ($457)|0);
  5082. $471 = ((($470)) + 4|0);
  5083. $472 = HEAP32[$471>>2]|0;
  5084. $473 = $472 | 1;
  5085. HEAP32[$471>>2] = $473;
  5086. }
  5087. $474 = ((($460)) + 8|0);
  5088. $$0 = $474;
  5089. STACKTOP = sp;return ($$0|0);
  5090. }
  5091. $475 = HEAP32[(38396)>>2]|0;
  5092. $476 = ($475>>>0)>($$0192>>>0);
  5093. if ($476) {
  5094. $477 = (($475) - ($$0192))|0;
  5095. HEAP32[(38396)>>2] = $477;
  5096. $478 = HEAP32[(38408)>>2]|0;
  5097. $479 = (($478) + ($$0192)|0);
  5098. HEAP32[(38408)>>2] = $479;
  5099. $480 = $477 | 1;
  5100. $481 = ((($479)) + 4|0);
  5101. HEAP32[$481>>2] = $480;
  5102. $482 = $$0192 | 3;
  5103. $483 = ((($478)) + 4|0);
  5104. HEAP32[$483>>2] = $482;
  5105. $484 = ((($478)) + 8|0);
  5106. $$0 = $484;
  5107. STACKTOP = sp;return ($$0|0);
  5108. }
  5109. $485 = HEAP32[9714]|0;
  5110. $486 = ($485|0)==(0);
  5111. if ($486) {
  5112. HEAP32[(38864)>>2] = 4096;
  5113. HEAP32[(38860)>>2] = 4096;
  5114. HEAP32[(38868)>>2] = -1;
  5115. HEAP32[(38872)>>2] = -1;
  5116. HEAP32[(38876)>>2] = 0;
  5117. HEAP32[(38828)>>2] = 0;
  5118. $487 = $1;
  5119. $488 = $487 & -16;
  5120. $489 = $488 ^ 1431655768;
  5121. HEAP32[$1>>2] = $489;
  5122. HEAP32[9714] = $489;
  5123. $493 = 4096;
  5124. } else {
  5125. $$pre$i195 = HEAP32[(38864)>>2]|0;
  5126. $493 = $$pre$i195;
  5127. }
  5128. $490 = (($$0192) + 48)|0;
  5129. $491 = (($$0192) + 47)|0;
  5130. $492 = (($493) + ($491))|0;
  5131. $494 = (0 - ($493))|0;
  5132. $495 = $492 & $494;
  5133. $496 = ($495>>>0)>($$0192>>>0);
  5134. if (!($496)) {
  5135. $$0 = 0;
  5136. STACKTOP = sp;return ($$0|0);
  5137. }
  5138. $497 = HEAP32[(38824)>>2]|0;
  5139. $498 = ($497|0)==(0);
  5140. if (!($498)) {
  5141. $499 = HEAP32[(38816)>>2]|0;
  5142. $500 = (($499) + ($495))|0;
  5143. $501 = ($500>>>0)<=($499>>>0);
  5144. $502 = ($500>>>0)>($497>>>0);
  5145. $or$cond1$i = $501 | $502;
  5146. if ($or$cond1$i) {
  5147. $$0 = 0;
  5148. STACKTOP = sp;return ($$0|0);
  5149. }
  5150. }
  5151. $503 = HEAP32[(38828)>>2]|0;
  5152. $504 = $503 & 4;
  5153. $505 = ($504|0)==(0);
  5154. L167: do {
  5155. if ($505) {
  5156. $506 = HEAP32[(38408)>>2]|0;
  5157. $507 = ($506|0)==(0|0);
  5158. L169: do {
  5159. if ($507) {
  5160. label = 118;
  5161. } else {
  5162. $$0$i20$i = (38832);
  5163. while(1) {
  5164. $508 = HEAP32[$$0$i20$i>>2]|0;
  5165. $509 = ($508>>>0)>($506>>>0);
  5166. if (!($509)) {
  5167. $510 = ((($$0$i20$i)) + 4|0);
  5168. $511 = HEAP32[$510>>2]|0;
  5169. $512 = (($508) + ($511)|0);
  5170. $513 = ($512>>>0)>($506>>>0);
  5171. if ($513) {
  5172. break;
  5173. }
  5174. }
  5175. $514 = ((($$0$i20$i)) + 8|0);
  5176. $515 = HEAP32[$514>>2]|0;
  5177. $516 = ($515|0)==(0|0);
  5178. if ($516) {
  5179. label = 118;
  5180. break L169;
  5181. } else {
  5182. $$0$i20$i = $515;
  5183. }
  5184. }
  5185. $539 = (($492) - ($475))|0;
  5186. $540 = $539 & $494;
  5187. $541 = ($540>>>0)<(2147483647);
  5188. if ($541) {
  5189. $542 = (_sbrk(($540|0))|0);
  5190. $543 = HEAP32[$$0$i20$i>>2]|0;
  5191. $544 = HEAP32[$510>>2]|0;
  5192. $545 = (($543) + ($544)|0);
  5193. $546 = ($542|0)==($545|0);
  5194. if ($546) {
  5195. $547 = ($542|0)==((-1)|0);
  5196. if ($547) {
  5197. $$2234243136$i = $540;
  5198. } else {
  5199. $$723947$i = $540;$$748$i = $542;
  5200. label = 135;
  5201. break L167;
  5202. }
  5203. } else {
  5204. $$2247$ph$i = $542;$$2253$ph$i = $540;
  5205. label = 126;
  5206. }
  5207. } else {
  5208. $$2234243136$i = 0;
  5209. }
  5210. }
  5211. } while(0);
  5212. do {
  5213. if ((label|0) == 118) {
  5214. $517 = (_sbrk(0)|0);
  5215. $518 = ($517|0)==((-1)|0);
  5216. if ($518) {
  5217. $$2234243136$i = 0;
  5218. } else {
  5219. $519 = $517;
  5220. $520 = HEAP32[(38860)>>2]|0;
  5221. $521 = (($520) + -1)|0;
  5222. $522 = $521 & $519;
  5223. $523 = ($522|0)==(0);
  5224. $524 = (($521) + ($519))|0;
  5225. $525 = (0 - ($520))|0;
  5226. $526 = $524 & $525;
  5227. $527 = (($526) - ($519))|0;
  5228. $528 = $523 ? 0 : $527;
  5229. $$$i = (($528) + ($495))|0;
  5230. $529 = HEAP32[(38816)>>2]|0;
  5231. $530 = (($$$i) + ($529))|0;
  5232. $531 = ($$$i>>>0)>($$0192>>>0);
  5233. $532 = ($$$i>>>0)<(2147483647);
  5234. $or$cond$i = $531 & $532;
  5235. if ($or$cond$i) {
  5236. $533 = HEAP32[(38824)>>2]|0;
  5237. $534 = ($533|0)==(0);
  5238. if (!($534)) {
  5239. $535 = ($530>>>0)<=($529>>>0);
  5240. $536 = ($530>>>0)>($533>>>0);
  5241. $or$cond2$i = $535 | $536;
  5242. if ($or$cond2$i) {
  5243. $$2234243136$i = 0;
  5244. break;
  5245. }
  5246. }
  5247. $537 = (_sbrk(($$$i|0))|0);
  5248. $538 = ($537|0)==($517|0);
  5249. if ($538) {
  5250. $$723947$i = $$$i;$$748$i = $517;
  5251. label = 135;
  5252. break L167;
  5253. } else {
  5254. $$2247$ph$i = $537;$$2253$ph$i = $$$i;
  5255. label = 126;
  5256. }
  5257. } else {
  5258. $$2234243136$i = 0;
  5259. }
  5260. }
  5261. }
  5262. } while(0);
  5263. do {
  5264. if ((label|0) == 126) {
  5265. $548 = (0 - ($$2253$ph$i))|0;
  5266. $549 = ($$2247$ph$i|0)!=((-1)|0);
  5267. $550 = ($$2253$ph$i>>>0)<(2147483647);
  5268. $or$cond7$i = $550 & $549;
  5269. $551 = ($490>>>0)>($$2253$ph$i>>>0);
  5270. $or$cond10$i = $551 & $or$cond7$i;
  5271. if (!($or$cond10$i)) {
  5272. $561 = ($$2247$ph$i|0)==((-1)|0);
  5273. if ($561) {
  5274. $$2234243136$i = 0;
  5275. break;
  5276. } else {
  5277. $$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i;
  5278. label = 135;
  5279. break L167;
  5280. }
  5281. }
  5282. $552 = HEAP32[(38864)>>2]|0;
  5283. $553 = (($491) - ($$2253$ph$i))|0;
  5284. $554 = (($553) + ($552))|0;
  5285. $555 = (0 - ($552))|0;
  5286. $556 = $554 & $555;
  5287. $557 = ($556>>>0)<(2147483647);
  5288. if (!($557)) {
  5289. $$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i;
  5290. label = 135;
  5291. break L167;
  5292. }
  5293. $558 = (_sbrk(($556|0))|0);
  5294. $559 = ($558|0)==((-1)|0);
  5295. if ($559) {
  5296. (_sbrk(($548|0))|0);
  5297. $$2234243136$i = 0;
  5298. break;
  5299. } else {
  5300. $560 = (($556) + ($$2253$ph$i))|0;
  5301. $$723947$i = $560;$$748$i = $$2247$ph$i;
  5302. label = 135;
  5303. break L167;
  5304. }
  5305. }
  5306. } while(0);
  5307. $562 = HEAP32[(38828)>>2]|0;
  5308. $563 = $562 | 4;
  5309. HEAP32[(38828)>>2] = $563;
  5310. $$4236$i = $$2234243136$i;
  5311. label = 133;
  5312. } else {
  5313. $$4236$i = 0;
  5314. label = 133;
  5315. }
  5316. } while(0);
  5317. if ((label|0) == 133) {
  5318. $564 = ($495>>>0)<(2147483647);
  5319. if ($564) {
  5320. $565 = (_sbrk(($495|0))|0);
  5321. $566 = (_sbrk(0)|0);
  5322. $567 = ($565|0)!=((-1)|0);
  5323. $568 = ($566|0)!=((-1)|0);
  5324. $or$cond5$i = $567 & $568;
  5325. $569 = ($565>>>0)<($566>>>0);
  5326. $or$cond11$i = $569 & $or$cond5$i;
  5327. $570 = $566;
  5328. $571 = $565;
  5329. $572 = (($570) - ($571))|0;
  5330. $573 = (($$0192) + 40)|0;
  5331. $574 = ($572>>>0)>($573>>>0);
  5332. $$$4236$i = $574 ? $572 : $$4236$i;
  5333. $or$cond11$not$i = $or$cond11$i ^ 1;
  5334. $575 = ($565|0)==((-1)|0);
  5335. $not$$i197 = $574 ^ 1;
  5336. $576 = $575 | $not$$i197;
  5337. $or$cond49$i = $576 | $or$cond11$not$i;
  5338. if (!($or$cond49$i)) {
  5339. $$723947$i = $$$4236$i;$$748$i = $565;
  5340. label = 135;
  5341. }
  5342. }
  5343. }
  5344. if ((label|0) == 135) {
  5345. $577 = HEAP32[(38816)>>2]|0;
  5346. $578 = (($577) + ($$723947$i))|0;
  5347. HEAP32[(38816)>>2] = $578;
  5348. $579 = HEAP32[(38820)>>2]|0;
  5349. $580 = ($578>>>0)>($579>>>0);
  5350. if ($580) {
  5351. HEAP32[(38820)>>2] = $578;
  5352. }
  5353. $581 = HEAP32[(38408)>>2]|0;
  5354. $582 = ($581|0)==(0|0);
  5355. do {
  5356. if ($582) {
  5357. $583 = HEAP32[(38400)>>2]|0;
  5358. $584 = ($583|0)==(0|0);
  5359. $585 = ($$748$i>>>0)<($583>>>0);
  5360. $or$cond12$i = $584 | $585;
  5361. if ($or$cond12$i) {
  5362. HEAP32[(38400)>>2] = $$748$i;
  5363. }
  5364. HEAP32[(38832)>>2] = $$748$i;
  5365. HEAP32[(38836)>>2] = $$723947$i;
  5366. HEAP32[(38844)>>2] = 0;
  5367. $586 = HEAP32[9714]|0;
  5368. HEAP32[(38420)>>2] = $586;
  5369. HEAP32[(38416)>>2] = -1;
  5370. $$01$i$i = 0;
  5371. while(1) {
  5372. $587 = $$01$i$i << 1;
  5373. $588 = (38424 + ($587<<2)|0);
  5374. $589 = ((($588)) + 12|0);
  5375. HEAP32[$589>>2] = $588;
  5376. $590 = ((($588)) + 8|0);
  5377. HEAP32[$590>>2] = $588;
  5378. $591 = (($$01$i$i) + 1)|0;
  5379. $exitcond$i$i = ($591|0)==(32);
  5380. if ($exitcond$i$i) {
  5381. break;
  5382. } else {
  5383. $$01$i$i = $591;
  5384. }
  5385. }
  5386. $592 = (($$723947$i) + -40)|0;
  5387. $593 = ((($$748$i)) + 8|0);
  5388. $594 = $593;
  5389. $595 = $594 & 7;
  5390. $596 = ($595|0)==(0);
  5391. $597 = (0 - ($594))|0;
  5392. $598 = $597 & 7;
  5393. $599 = $596 ? 0 : $598;
  5394. $600 = (($$748$i) + ($599)|0);
  5395. $601 = (($592) - ($599))|0;
  5396. HEAP32[(38408)>>2] = $600;
  5397. HEAP32[(38396)>>2] = $601;
  5398. $602 = $601 | 1;
  5399. $603 = ((($600)) + 4|0);
  5400. HEAP32[$603>>2] = $602;
  5401. $604 = (($600) + ($601)|0);
  5402. $605 = ((($604)) + 4|0);
  5403. HEAP32[$605>>2] = 40;
  5404. $606 = HEAP32[(38872)>>2]|0;
  5405. HEAP32[(38412)>>2] = $606;
  5406. } else {
  5407. $$024370$i = (38832);
  5408. while(1) {
  5409. $607 = HEAP32[$$024370$i>>2]|0;
  5410. $608 = ((($$024370$i)) + 4|0);
  5411. $609 = HEAP32[$608>>2]|0;
  5412. $610 = (($607) + ($609)|0);
  5413. $611 = ($$748$i|0)==($610|0);
  5414. if ($611) {
  5415. label = 145;
  5416. break;
  5417. }
  5418. $612 = ((($$024370$i)) + 8|0);
  5419. $613 = HEAP32[$612>>2]|0;
  5420. $614 = ($613|0)==(0|0);
  5421. if ($614) {
  5422. break;
  5423. } else {
  5424. $$024370$i = $613;
  5425. }
  5426. }
  5427. if ((label|0) == 145) {
  5428. $615 = ((($$024370$i)) + 12|0);
  5429. $616 = HEAP32[$615>>2]|0;
  5430. $617 = $616 & 8;
  5431. $618 = ($617|0)==(0);
  5432. if ($618) {
  5433. $619 = ($581>>>0)>=($607>>>0);
  5434. $620 = ($581>>>0)<($$748$i>>>0);
  5435. $or$cond50$i = $620 & $619;
  5436. if ($or$cond50$i) {
  5437. $621 = (($609) + ($$723947$i))|0;
  5438. HEAP32[$608>>2] = $621;
  5439. $622 = HEAP32[(38396)>>2]|0;
  5440. $623 = ((($581)) + 8|0);
  5441. $624 = $623;
  5442. $625 = $624 & 7;
  5443. $626 = ($625|0)==(0);
  5444. $627 = (0 - ($624))|0;
  5445. $628 = $627 & 7;
  5446. $629 = $626 ? 0 : $628;
  5447. $630 = (($581) + ($629)|0);
  5448. $631 = (($$723947$i) - ($629))|0;
  5449. $632 = (($622) + ($631))|0;
  5450. HEAP32[(38408)>>2] = $630;
  5451. HEAP32[(38396)>>2] = $632;
  5452. $633 = $632 | 1;
  5453. $634 = ((($630)) + 4|0);
  5454. HEAP32[$634>>2] = $633;
  5455. $635 = (($630) + ($632)|0);
  5456. $636 = ((($635)) + 4|0);
  5457. HEAP32[$636>>2] = 40;
  5458. $637 = HEAP32[(38872)>>2]|0;
  5459. HEAP32[(38412)>>2] = $637;
  5460. break;
  5461. }
  5462. }
  5463. }
  5464. $638 = HEAP32[(38400)>>2]|0;
  5465. $639 = ($$748$i>>>0)<($638>>>0);
  5466. if ($639) {
  5467. HEAP32[(38400)>>2] = $$748$i;
  5468. }
  5469. $640 = (($$748$i) + ($$723947$i)|0);
  5470. $$124469$i = (38832);
  5471. while(1) {
  5472. $641 = HEAP32[$$124469$i>>2]|0;
  5473. $642 = ($641|0)==($640|0);
  5474. if ($642) {
  5475. label = 153;
  5476. break;
  5477. }
  5478. $643 = ((($$124469$i)) + 8|0);
  5479. $644 = HEAP32[$643>>2]|0;
  5480. $645 = ($644|0)==(0|0);
  5481. if ($645) {
  5482. break;
  5483. } else {
  5484. $$124469$i = $644;
  5485. }
  5486. }
  5487. if ((label|0) == 153) {
  5488. $646 = ((($$124469$i)) + 12|0);
  5489. $647 = HEAP32[$646>>2]|0;
  5490. $648 = $647 & 8;
  5491. $649 = ($648|0)==(0);
  5492. if ($649) {
  5493. HEAP32[$$124469$i>>2] = $$748$i;
  5494. $650 = ((($$124469$i)) + 4|0);
  5495. $651 = HEAP32[$650>>2]|0;
  5496. $652 = (($651) + ($$723947$i))|0;
  5497. HEAP32[$650>>2] = $652;
  5498. $653 = ((($$748$i)) + 8|0);
  5499. $654 = $653;
  5500. $655 = $654 & 7;
  5501. $656 = ($655|0)==(0);
  5502. $657 = (0 - ($654))|0;
  5503. $658 = $657 & 7;
  5504. $659 = $656 ? 0 : $658;
  5505. $660 = (($$748$i) + ($659)|0);
  5506. $661 = ((($640)) + 8|0);
  5507. $662 = $661;
  5508. $663 = $662 & 7;
  5509. $664 = ($663|0)==(0);
  5510. $665 = (0 - ($662))|0;
  5511. $666 = $665 & 7;
  5512. $667 = $664 ? 0 : $666;
  5513. $668 = (($640) + ($667)|0);
  5514. $669 = $668;
  5515. $670 = $660;
  5516. $671 = (($669) - ($670))|0;
  5517. $672 = (($660) + ($$0192)|0);
  5518. $673 = (($671) - ($$0192))|0;
  5519. $674 = $$0192 | 3;
  5520. $675 = ((($660)) + 4|0);
  5521. HEAP32[$675>>2] = $674;
  5522. $676 = ($668|0)==($581|0);
  5523. do {
  5524. if ($676) {
  5525. $677 = HEAP32[(38396)>>2]|0;
  5526. $678 = (($677) + ($673))|0;
  5527. HEAP32[(38396)>>2] = $678;
  5528. HEAP32[(38408)>>2] = $672;
  5529. $679 = $678 | 1;
  5530. $680 = ((($672)) + 4|0);
  5531. HEAP32[$680>>2] = $679;
  5532. } else {
  5533. $681 = HEAP32[(38404)>>2]|0;
  5534. $682 = ($668|0)==($681|0);
  5535. if ($682) {
  5536. $683 = HEAP32[(38392)>>2]|0;
  5537. $684 = (($683) + ($673))|0;
  5538. HEAP32[(38392)>>2] = $684;
  5539. HEAP32[(38404)>>2] = $672;
  5540. $685 = $684 | 1;
  5541. $686 = ((($672)) + 4|0);
  5542. HEAP32[$686>>2] = $685;
  5543. $687 = (($672) + ($684)|0);
  5544. HEAP32[$687>>2] = $684;
  5545. break;
  5546. }
  5547. $688 = ((($668)) + 4|0);
  5548. $689 = HEAP32[$688>>2]|0;
  5549. $690 = $689 & 3;
  5550. $691 = ($690|0)==(1);
  5551. if ($691) {
  5552. $692 = $689 & -8;
  5553. $693 = $689 >>> 3;
  5554. $694 = ($689>>>0)<(256);
  5555. L237: do {
  5556. if ($694) {
  5557. $695 = ((($668)) + 8|0);
  5558. $696 = HEAP32[$695>>2]|0;
  5559. $697 = ((($668)) + 12|0);
  5560. $698 = HEAP32[$697>>2]|0;
  5561. $699 = ($698|0)==($696|0);
  5562. if ($699) {
  5563. $700 = 1 << $693;
  5564. $701 = $700 ^ -1;
  5565. $702 = HEAP32[9596]|0;
  5566. $703 = $702 & $701;
  5567. HEAP32[9596] = $703;
  5568. break;
  5569. } else {
  5570. $704 = ((($696)) + 12|0);
  5571. HEAP32[$704>>2] = $698;
  5572. $705 = ((($698)) + 8|0);
  5573. HEAP32[$705>>2] = $696;
  5574. break;
  5575. }
  5576. } else {
  5577. $706 = ((($668)) + 24|0);
  5578. $707 = HEAP32[$706>>2]|0;
  5579. $708 = ((($668)) + 12|0);
  5580. $709 = HEAP32[$708>>2]|0;
  5581. $710 = ($709|0)==($668|0);
  5582. do {
  5583. if ($710) {
  5584. $715 = ((($668)) + 16|0);
  5585. $716 = ((($715)) + 4|0);
  5586. $717 = HEAP32[$716>>2]|0;
  5587. $718 = ($717|0)==(0|0);
  5588. if ($718) {
  5589. $719 = HEAP32[$715>>2]|0;
  5590. $720 = ($719|0)==(0|0);
  5591. if ($720) {
  5592. $$3$i$i = 0;
  5593. break;
  5594. } else {
  5595. $$1264$i$i = $719;$$1266$i$i = $715;
  5596. }
  5597. } else {
  5598. $$1264$i$i = $717;$$1266$i$i = $716;
  5599. }
  5600. while(1) {
  5601. $721 = ((($$1264$i$i)) + 20|0);
  5602. $722 = HEAP32[$721>>2]|0;
  5603. $723 = ($722|0)==(0|0);
  5604. if (!($723)) {
  5605. $$1264$i$i = $722;$$1266$i$i = $721;
  5606. continue;
  5607. }
  5608. $724 = ((($$1264$i$i)) + 16|0);
  5609. $725 = HEAP32[$724>>2]|0;
  5610. $726 = ($725|0)==(0|0);
  5611. if ($726) {
  5612. break;
  5613. } else {
  5614. $$1264$i$i = $725;$$1266$i$i = $724;
  5615. }
  5616. }
  5617. HEAP32[$$1266$i$i>>2] = 0;
  5618. $$3$i$i = $$1264$i$i;
  5619. } else {
  5620. $711 = ((($668)) + 8|0);
  5621. $712 = HEAP32[$711>>2]|0;
  5622. $713 = ((($712)) + 12|0);
  5623. HEAP32[$713>>2] = $709;
  5624. $714 = ((($709)) + 8|0);
  5625. HEAP32[$714>>2] = $712;
  5626. $$3$i$i = $709;
  5627. }
  5628. } while(0);
  5629. $727 = ($707|0)==(0|0);
  5630. if ($727) {
  5631. break;
  5632. }
  5633. $728 = ((($668)) + 28|0);
  5634. $729 = HEAP32[$728>>2]|0;
  5635. $730 = (38688 + ($729<<2)|0);
  5636. $731 = HEAP32[$730>>2]|0;
  5637. $732 = ($668|0)==($731|0);
  5638. do {
  5639. if ($732) {
  5640. HEAP32[$730>>2] = $$3$i$i;
  5641. $cond$i$i = ($$3$i$i|0)==(0|0);
  5642. if (!($cond$i$i)) {
  5643. break;
  5644. }
  5645. $733 = 1 << $729;
  5646. $734 = $733 ^ -1;
  5647. $735 = HEAP32[(38388)>>2]|0;
  5648. $736 = $735 & $734;
  5649. HEAP32[(38388)>>2] = $736;
  5650. break L237;
  5651. } else {
  5652. $737 = ((($707)) + 16|0);
  5653. $738 = HEAP32[$737>>2]|0;
  5654. $not$$i$i = ($738|0)!=($668|0);
  5655. $$sink1$i$i = $not$$i$i&1;
  5656. $739 = (((($707)) + 16|0) + ($$sink1$i$i<<2)|0);
  5657. HEAP32[$739>>2] = $$3$i$i;
  5658. $740 = ($$3$i$i|0)==(0|0);
  5659. if ($740) {
  5660. break L237;
  5661. }
  5662. }
  5663. } while(0);
  5664. $741 = ((($$3$i$i)) + 24|0);
  5665. HEAP32[$741>>2] = $707;
  5666. $742 = ((($668)) + 16|0);
  5667. $743 = HEAP32[$742>>2]|0;
  5668. $744 = ($743|0)==(0|0);
  5669. if (!($744)) {
  5670. $745 = ((($$3$i$i)) + 16|0);
  5671. HEAP32[$745>>2] = $743;
  5672. $746 = ((($743)) + 24|0);
  5673. HEAP32[$746>>2] = $$3$i$i;
  5674. }
  5675. $747 = ((($742)) + 4|0);
  5676. $748 = HEAP32[$747>>2]|0;
  5677. $749 = ($748|0)==(0|0);
  5678. if ($749) {
  5679. break;
  5680. }
  5681. $750 = ((($$3$i$i)) + 20|0);
  5682. HEAP32[$750>>2] = $748;
  5683. $751 = ((($748)) + 24|0);
  5684. HEAP32[$751>>2] = $$3$i$i;
  5685. }
  5686. } while(0);
  5687. $752 = (($668) + ($692)|0);
  5688. $753 = (($692) + ($673))|0;
  5689. $$0$i$i = $752;$$0260$i$i = $753;
  5690. } else {
  5691. $$0$i$i = $668;$$0260$i$i = $673;
  5692. }
  5693. $754 = ((($$0$i$i)) + 4|0);
  5694. $755 = HEAP32[$754>>2]|0;
  5695. $756 = $755 & -2;
  5696. HEAP32[$754>>2] = $756;
  5697. $757 = $$0260$i$i | 1;
  5698. $758 = ((($672)) + 4|0);
  5699. HEAP32[$758>>2] = $757;
  5700. $759 = (($672) + ($$0260$i$i)|0);
  5701. HEAP32[$759>>2] = $$0260$i$i;
  5702. $760 = $$0260$i$i >>> 3;
  5703. $761 = ($$0260$i$i>>>0)<(256);
  5704. if ($761) {
  5705. $762 = $760 << 1;
  5706. $763 = (38424 + ($762<<2)|0);
  5707. $764 = HEAP32[9596]|0;
  5708. $765 = 1 << $760;
  5709. $766 = $764 & $765;
  5710. $767 = ($766|0)==(0);
  5711. if ($767) {
  5712. $768 = $764 | $765;
  5713. HEAP32[9596] = $768;
  5714. $$pre$i17$i = ((($763)) + 8|0);
  5715. $$0268$i$i = $763;$$pre$phi$i18$iZ2D = $$pre$i17$i;
  5716. } else {
  5717. $769 = ((($763)) + 8|0);
  5718. $770 = HEAP32[$769>>2]|0;
  5719. $$0268$i$i = $770;$$pre$phi$i18$iZ2D = $769;
  5720. }
  5721. HEAP32[$$pre$phi$i18$iZ2D>>2] = $672;
  5722. $771 = ((($$0268$i$i)) + 12|0);
  5723. HEAP32[$771>>2] = $672;
  5724. $772 = ((($672)) + 8|0);
  5725. HEAP32[$772>>2] = $$0268$i$i;
  5726. $773 = ((($672)) + 12|0);
  5727. HEAP32[$773>>2] = $763;
  5728. break;
  5729. }
  5730. $774 = $$0260$i$i >>> 8;
  5731. $775 = ($774|0)==(0);
  5732. do {
  5733. if ($775) {
  5734. $$0269$i$i = 0;
  5735. } else {
  5736. $776 = ($$0260$i$i>>>0)>(16777215);
  5737. if ($776) {
  5738. $$0269$i$i = 31;
  5739. break;
  5740. }
  5741. $777 = (($774) + 1048320)|0;
  5742. $778 = $777 >>> 16;
  5743. $779 = $778 & 8;
  5744. $780 = $774 << $779;
  5745. $781 = (($780) + 520192)|0;
  5746. $782 = $781 >>> 16;
  5747. $783 = $782 & 4;
  5748. $784 = $783 | $779;
  5749. $785 = $780 << $783;
  5750. $786 = (($785) + 245760)|0;
  5751. $787 = $786 >>> 16;
  5752. $788 = $787 & 2;
  5753. $789 = $784 | $788;
  5754. $790 = (14 - ($789))|0;
  5755. $791 = $785 << $788;
  5756. $792 = $791 >>> 15;
  5757. $793 = (($790) + ($792))|0;
  5758. $794 = $793 << 1;
  5759. $795 = (($793) + 7)|0;
  5760. $796 = $$0260$i$i >>> $795;
  5761. $797 = $796 & 1;
  5762. $798 = $797 | $794;
  5763. $$0269$i$i = $798;
  5764. }
  5765. } while(0);
  5766. $799 = (38688 + ($$0269$i$i<<2)|0);
  5767. $800 = ((($672)) + 28|0);
  5768. HEAP32[$800>>2] = $$0269$i$i;
  5769. $801 = ((($672)) + 16|0);
  5770. $802 = ((($801)) + 4|0);
  5771. HEAP32[$802>>2] = 0;
  5772. HEAP32[$801>>2] = 0;
  5773. $803 = HEAP32[(38388)>>2]|0;
  5774. $804 = 1 << $$0269$i$i;
  5775. $805 = $803 & $804;
  5776. $806 = ($805|0)==(0);
  5777. if ($806) {
  5778. $807 = $803 | $804;
  5779. HEAP32[(38388)>>2] = $807;
  5780. HEAP32[$799>>2] = $672;
  5781. $808 = ((($672)) + 24|0);
  5782. HEAP32[$808>>2] = $799;
  5783. $809 = ((($672)) + 12|0);
  5784. HEAP32[$809>>2] = $672;
  5785. $810 = ((($672)) + 8|0);
  5786. HEAP32[$810>>2] = $672;
  5787. break;
  5788. }
  5789. $811 = HEAP32[$799>>2]|0;
  5790. $812 = ($$0269$i$i|0)==(31);
  5791. $813 = $$0269$i$i >>> 1;
  5792. $814 = (25 - ($813))|0;
  5793. $815 = $812 ? 0 : $814;
  5794. $816 = $$0260$i$i << $815;
  5795. $$0261$i$i = $816;$$0262$i$i = $811;
  5796. while(1) {
  5797. $817 = ((($$0262$i$i)) + 4|0);
  5798. $818 = HEAP32[$817>>2]|0;
  5799. $819 = $818 & -8;
  5800. $820 = ($819|0)==($$0260$i$i|0);
  5801. if ($820) {
  5802. label = 194;
  5803. break;
  5804. }
  5805. $821 = $$0261$i$i >>> 31;
  5806. $822 = (((($$0262$i$i)) + 16|0) + ($821<<2)|0);
  5807. $823 = $$0261$i$i << 1;
  5808. $824 = HEAP32[$822>>2]|0;
  5809. $825 = ($824|0)==(0|0);
  5810. if ($825) {
  5811. label = 193;
  5812. break;
  5813. } else {
  5814. $$0261$i$i = $823;$$0262$i$i = $824;
  5815. }
  5816. }
  5817. if ((label|0) == 193) {
  5818. HEAP32[$822>>2] = $672;
  5819. $826 = ((($672)) + 24|0);
  5820. HEAP32[$826>>2] = $$0262$i$i;
  5821. $827 = ((($672)) + 12|0);
  5822. HEAP32[$827>>2] = $672;
  5823. $828 = ((($672)) + 8|0);
  5824. HEAP32[$828>>2] = $672;
  5825. break;
  5826. }
  5827. else if ((label|0) == 194) {
  5828. $829 = ((($$0262$i$i)) + 8|0);
  5829. $830 = HEAP32[$829>>2]|0;
  5830. $831 = ((($830)) + 12|0);
  5831. HEAP32[$831>>2] = $672;
  5832. HEAP32[$829>>2] = $672;
  5833. $832 = ((($672)) + 8|0);
  5834. HEAP32[$832>>2] = $830;
  5835. $833 = ((($672)) + 12|0);
  5836. HEAP32[$833>>2] = $$0262$i$i;
  5837. $834 = ((($672)) + 24|0);
  5838. HEAP32[$834>>2] = 0;
  5839. break;
  5840. }
  5841. }
  5842. } while(0);
  5843. $959 = ((($660)) + 8|0);
  5844. $$0 = $959;
  5845. STACKTOP = sp;return ($$0|0);
  5846. }
  5847. }
  5848. $$0$i$i$i = (38832);
  5849. while(1) {
  5850. $835 = HEAP32[$$0$i$i$i>>2]|0;
  5851. $836 = ($835>>>0)>($581>>>0);
  5852. if (!($836)) {
  5853. $837 = ((($$0$i$i$i)) + 4|0);
  5854. $838 = HEAP32[$837>>2]|0;
  5855. $839 = (($835) + ($838)|0);
  5856. $840 = ($839>>>0)>($581>>>0);
  5857. if ($840) {
  5858. break;
  5859. }
  5860. }
  5861. $841 = ((($$0$i$i$i)) + 8|0);
  5862. $842 = HEAP32[$841>>2]|0;
  5863. $$0$i$i$i = $842;
  5864. }
  5865. $843 = ((($839)) + -47|0);
  5866. $844 = ((($843)) + 8|0);
  5867. $845 = $844;
  5868. $846 = $845 & 7;
  5869. $847 = ($846|0)==(0);
  5870. $848 = (0 - ($845))|0;
  5871. $849 = $848 & 7;
  5872. $850 = $847 ? 0 : $849;
  5873. $851 = (($843) + ($850)|0);
  5874. $852 = ((($581)) + 16|0);
  5875. $853 = ($851>>>0)<($852>>>0);
  5876. $854 = $853 ? $581 : $851;
  5877. $855 = ((($854)) + 8|0);
  5878. $856 = ((($854)) + 24|0);
  5879. $857 = (($$723947$i) + -40)|0;
  5880. $858 = ((($$748$i)) + 8|0);
  5881. $859 = $858;
  5882. $860 = $859 & 7;
  5883. $861 = ($860|0)==(0);
  5884. $862 = (0 - ($859))|0;
  5885. $863 = $862 & 7;
  5886. $864 = $861 ? 0 : $863;
  5887. $865 = (($$748$i) + ($864)|0);
  5888. $866 = (($857) - ($864))|0;
  5889. HEAP32[(38408)>>2] = $865;
  5890. HEAP32[(38396)>>2] = $866;
  5891. $867 = $866 | 1;
  5892. $868 = ((($865)) + 4|0);
  5893. HEAP32[$868>>2] = $867;
  5894. $869 = (($865) + ($866)|0);
  5895. $870 = ((($869)) + 4|0);
  5896. HEAP32[$870>>2] = 40;
  5897. $871 = HEAP32[(38872)>>2]|0;
  5898. HEAP32[(38412)>>2] = $871;
  5899. $872 = ((($854)) + 4|0);
  5900. HEAP32[$872>>2] = 27;
  5901. ;HEAP32[$855>>2]=HEAP32[(38832)>>2]|0;HEAP32[$855+4>>2]=HEAP32[(38832)+4>>2]|0;HEAP32[$855+8>>2]=HEAP32[(38832)+8>>2]|0;HEAP32[$855+12>>2]=HEAP32[(38832)+12>>2]|0;
  5902. HEAP32[(38832)>>2] = $$748$i;
  5903. HEAP32[(38836)>>2] = $$723947$i;
  5904. HEAP32[(38844)>>2] = 0;
  5905. HEAP32[(38840)>>2] = $855;
  5906. $874 = $856;
  5907. while(1) {
  5908. $873 = ((($874)) + 4|0);
  5909. HEAP32[$873>>2] = 7;
  5910. $875 = ((($874)) + 8|0);
  5911. $876 = ($875>>>0)<($839>>>0);
  5912. if ($876) {
  5913. $874 = $873;
  5914. } else {
  5915. break;
  5916. }
  5917. }
  5918. $877 = ($854|0)==($581|0);
  5919. if (!($877)) {
  5920. $878 = $854;
  5921. $879 = $581;
  5922. $880 = (($878) - ($879))|0;
  5923. $881 = HEAP32[$872>>2]|0;
  5924. $882 = $881 & -2;
  5925. HEAP32[$872>>2] = $882;
  5926. $883 = $880 | 1;
  5927. $884 = ((($581)) + 4|0);
  5928. HEAP32[$884>>2] = $883;
  5929. HEAP32[$854>>2] = $880;
  5930. $885 = $880 >>> 3;
  5931. $886 = ($880>>>0)<(256);
  5932. if ($886) {
  5933. $887 = $885 << 1;
  5934. $888 = (38424 + ($887<<2)|0);
  5935. $889 = HEAP32[9596]|0;
  5936. $890 = 1 << $885;
  5937. $891 = $889 & $890;
  5938. $892 = ($891|0)==(0);
  5939. if ($892) {
  5940. $893 = $889 | $890;
  5941. HEAP32[9596] = $893;
  5942. $$pre$i$i = ((($888)) + 8|0);
  5943. $$0206$i$i = $888;$$pre$phi$i$iZ2D = $$pre$i$i;
  5944. } else {
  5945. $894 = ((($888)) + 8|0);
  5946. $895 = HEAP32[$894>>2]|0;
  5947. $$0206$i$i = $895;$$pre$phi$i$iZ2D = $894;
  5948. }
  5949. HEAP32[$$pre$phi$i$iZ2D>>2] = $581;
  5950. $896 = ((($$0206$i$i)) + 12|0);
  5951. HEAP32[$896>>2] = $581;
  5952. $897 = ((($581)) + 8|0);
  5953. HEAP32[$897>>2] = $$0206$i$i;
  5954. $898 = ((($581)) + 12|0);
  5955. HEAP32[$898>>2] = $888;
  5956. break;
  5957. }
  5958. $899 = $880 >>> 8;
  5959. $900 = ($899|0)==(0);
  5960. if ($900) {
  5961. $$0207$i$i = 0;
  5962. } else {
  5963. $901 = ($880>>>0)>(16777215);
  5964. if ($901) {
  5965. $$0207$i$i = 31;
  5966. } else {
  5967. $902 = (($899) + 1048320)|0;
  5968. $903 = $902 >>> 16;
  5969. $904 = $903 & 8;
  5970. $905 = $899 << $904;
  5971. $906 = (($905) + 520192)|0;
  5972. $907 = $906 >>> 16;
  5973. $908 = $907 & 4;
  5974. $909 = $908 | $904;
  5975. $910 = $905 << $908;
  5976. $911 = (($910) + 245760)|0;
  5977. $912 = $911 >>> 16;
  5978. $913 = $912 & 2;
  5979. $914 = $909 | $913;
  5980. $915 = (14 - ($914))|0;
  5981. $916 = $910 << $913;
  5982. $917 = $916 >>> 15;
  5983. $918 = (($915) + ($917))|0;
  5984. $919 = $918 << 1;
  5985. $920 = (($918) + 7)|0;
  5986. $921 = $880 >>> $920;
  5987. $922 = $921 & 1;
  5988. $923 = $922 | $919;
  5989. $$0207$i$i = $923;
  5990. }
  5991. }
  5992. $924 = (38688 + ($$0207$i$i<<2)|0);
  5993. $925 = ((($581)) + 28|0);
  5994. HEAP32[$925>>2] = $$0207$i$i;
  5995. $926 = ((($581)) + 20|0);
  5996. HEAP32[$926>>2] = 0;
  5997. HEAP32[$852>>2] = 0;
  5998. $927 = HEAP32[(38388)>>2]|0;
  5999. $928 = 1 << $$0207$i$i;
  6000. $929 = $927 & $928;
  6001. $930 = ($929|0)==(0);
  6002. if ($930) {
  6003. $931 = $927 | $928;
  6004. HEAP32[(38388)>>2] = $931;
  6005. HEAP32[$924>>2] = $581;
  6006. $932 = ((($581)) + 24|0);
  6007. HEAP32[$932>>2] = $924;
  6008. $933 = ((($581)) + 12|0);
  6009. HEAP32[$933>>2] = $581;
  6010. $934 = ((($581)) + 8|0);
  6011. HEAP32[$934>>2] = $581;
  6012. break;
  6013. }
  6014. $935 = HEAP32[$924>>2]|0;
  6015. $936 = ($$0207$i$i|0)==(31);
  6016. $937 = $$0207$i$i >>> 1;
  6017. $938 = (25 - ($937))|0;
  6018. $939 = $936 ? 0 : $938;
  6019. $940 = $880 << $939;
  6020. $$0201$i$i = $940;$$0202$i$i = $935;
  6021. while(1) {
  6022. $941 = ((($$0202$i$i)) + 4|0);
  6023. $942 = HEAP32[$941>>2]|0;
  6024. $943 = $942 & -8;
  6025. $944 = ($943|0)==($880|0);
  6026. if ($944) {
  6027. label = 216;
  6028. break;
  6029. }
  6030. $945 = $$0201$i$i >>> 31;
  6031. $946 = (((($$0202$i$i)) + 16|0) + ($945<<2)|0);
  6032. $947 = $$0201$i$i << 1;
  6033. $948 = HEAP32[$946>>2]|0;
  6034. $949 = ($948|0)==(0|0);
  6035. if ($949) {
  6036. label = 215;
  6037. break;
  6038. } else {
  6039. $$0201$i$i = $947;$$0202$i$i = $948;
  6040. }
  6041. }
  6042. if ((label|0) == 215) {
  6043. HEAP32[$946>>2] = $581;
  6044. $950 = ((($581)) + 24|0);
  6045. HEAP32[$950>>2] = $$0202$i$i;
  6046. $951 = ((($581)) + 12|0);
  6047. HEAP32[$951>>2] = $581;
  6048. $952 = ((($581)) + 8|0);
  6049. HEAP32[$952>>2] = $581;
  6050. break;
  6051. }
  6052. else if ((label|0) == 216) {
  6053. $953 = ((($$0202$i$i)) + 8|0);
  6054. $954 = HEAP32[$953>>2]|0;
  6055. $955 = ((($954)) + 12|0);
  6056. HEAP32[$955>>2] = $581;
  6057. HEAP32[$953>>2] = $581;
  6058. $956 = ((($581)) + 8|0);
  6059. HEAP32[$956>>2] = $954;
  6060. $957 = ((($581)) + 12|0);
  6061. HEAP32[$957>>2] = $$0202$i$i;
  6062. $958 = ((($581)) + 24|0);
  6063. HEAP32[$958>>2] = 0;
  6064. break;
  6065. }
  6066. }
  6067. }
  6068. } while(0);
  6069. $960 = HEAP32[(38396)>>2]|0;
  6070. $961 = ($960>>>0)>($$0192>>>0);
  6071. if ($961) {
  6072. $962 = (($960) - ($$0192))|0;
  6073. HEAP32[(38396)>>2] = $962;
  6074. $963 = HEAP32[(38408)>>2]|0;
  6075. $964 = (($963) + ($$0192)|0);
  6076. HEAP32[(38408)>>2] = $964;
  6077. $965 = $962 | 1;
  6078. $966 = ((($964)) + 4|0);
  6079. HEAP32[$966>>2] = $965;
  6080. $967 = $$0192 | 3;
  6081. $968 = ((($963)) + 4|0);
  6082. HEAP32[$968>>2] = $967;
  6083. $969 = ((($963)) + 8|0);
  6084. $$0 = $969;
  6085. STACKTOP = sp;return ($$0|0);
  6086. }
  6087. }
  6088. $970 = (___errno_location()|0);
  6089. HEAP32[$970>>2] = 12;
  6090. $$0 = 0;
  6091. STACKTOP = sp;return ($$0|0);
  6092. }
  6093. function _free($0) {
  6094. $0 = $0|0;
  6095. var $$0195$i = 0, $$0195$in$i = 0, $$0348 = 0, $$0349 = 0, $$0361 = 0, $$0368 = 0, $$1 = 0, $$1347 = 0, $$1352 = 0, $$1355 = 0, $$1363 = 0, $$1367 = 0, $$2 = 0, $$3 = 0, $$3365 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0;
  6096. var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
  6097. var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
  6098. var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
  6099. var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
  6100. var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
  6101. var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0;
  6102. var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0;
  6103. var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0;
  6104. var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
  6105. var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
  6106. var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
  6107. var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
  6108. var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond374 = 0, $cond375 = 0, $not$ = 0, $not$370 = 0;
  6109. var label = 0, sp = 0;
  6110. sp = STACKTOP;
  6111. $1 = ($0|0)==(0|0);
  6112. if ($1) {
  6113. return;
  6114. }
  6115. $2 = ((($0)) + -8|0);
  6116. $3 = HEAP32[(38400)>>2]|0;
  6117. $4 = ((($0)) + -4|0);
  6118. $5 = HEAP32[$4>>2]|0;
  6119. $6 = $5 & -8;
  6120. $7 = (($2) + ($6)|0);
  6121. $8 = $5 & 1;
  6122. $9 = ($8|0)==(0);
  6123. do {
  6124. if ($9) {
  6125. $10 = HEAP32[$2>>2]|0;
  6126. $11 = $5 & 3;
  6127. $12 = ($11|0)==(0);
  6128. if ($12) {
  6129. return;
  6130. }
  6131. $13 = (0 - ($10))|0;
  6132. $14 = (($2) + ($13)|0);
  6133. $15 = (($10) + ($6))|0;
  6134. $16 = ($14>>>0)<($3>>>0);
  6135. if ($16) {
  6136. return;
  6137. }
  6138. $17 = HEAP32[(38404)>>2]|0;
  6139. $18 = ($14|0)==($17|0);
  6140. if ($18) {
  6141. $78 = ((($7)) + 4|0);
  6142. $79 = HEAP32[$78>>2]|0;
  6143. $80 = $79 & 3;
  6144. $81 = ($80|0)==(3);
  6145. if (!($81)) {
  6146. $$1 = $14;$$1347 = $15;$87 = $14;
  6147. break;
  6148. }
  6149. $82 = (($14) + ($15)|0);
  6150. $83 = ((($14)) + 4|0);
  6151. $84 = $15 | 1;
  6152. $85 = $79 & -2;
  6153. HEAP32[(38392)>>2] = $15;
  6154. HEAP32[$78>>2] = $85;
  6155. HEAP32[$83>>2] = $84;
  6156. HEAP32[$82>>2] = $15;
  6157. return;
  6158. }
  6159. $19 = $10 >>> 3;
  6160. $20 = ($10>>>0)<(256);
  6161. if ($20) {
  6162. $21 = ((($14)) + 8|0);
  6163. $22 = HEAP32[$21>>2]|0;
  6164. $23 = ((($14)) + 12|0);
  6165. $24 = HEAP32[$23>>2]|0;
  6166. $25 = ($24|0)==($22|0);
  6167. if ($25) {
  6168. $26 = 1 << $19;
  6169. $27 = $26 ^ -1;
  6170. $28 = HEAP32[9596]|0;
  6171. $29 = $28 & $27;
  6172. HEAP32[9596] = $29;
  6173. $$1 = $14;$$1347 = $15;$87 = $14;
  6174. break;
  6175. } else {
  6176. $30 = ((($22)) + 12|0);
  6177. HEAP32[$30>>2] = $24;
  6178. $31 = ((($24)) + 8|0);
  6179. HEAP32[$31>>2] = $22;
  6180. $$1 = $14;$$1347 = $15;$87 = $14;
  6181. break;
  6182. }
  6183. }
  6184. $32 = ((($14)) + 24|0);
  6185. $33 = HEAP32[$32>>2]|0;
  6186. $34 = ((($14)) + 12|0);
  6187. $35 = HEAP32[$34>>2]|0;
  6188. $36 = ($35|0)==($14|0);
  6189. do {
  6190. if ($36) {
  6191. $41 = ((($14)) + 16|0);
  6192. $42 = ((($41)) + 4|0);
  6193. $43 = HEAP32[$42>>2]|0;
  6194. $44 = ($43|0)==(0|0);
  6195. if ($44) {
  6196. $45 = HEAP32[$41>>2]|0;
  6197. $46 = ($45|0)==(0|0);
  6198. if ($46) {
  6199. $$3 = 0;
  6200. break;
  6201. } else {
  6202. $$1352 = $45;$$1355 = $41;
  6203. }
  6204. } else {
  6205. $$1352 = $43;$$1355 = $42;
  6206. }
  6207. while(1) {
  6208. $47 = ((($$1352)) + 20|0);
  6209. $48 = HEAP32[$47>>2]|0;
  6210. $49 = ($48|0)==(0|0);
  6211. if (!($49)) {
  6212. $$1352 = $48;$$1355 = $47;
  6213. continue;
  6214. }
  6215. $50 = ((($$1352)) + 16|0);
  6216. $51 = HEAP32[$50>>2]|0;
  6217. $52 = ($51|0)==(0|0);
  6218. if ($52) {
  6219. break;
  6220. } else {
  6221. $$1352 = $51;$$1355 = $50;
  6222. }
  6223. }
  6224. HEAP32[$$1355>>2] = 0;
  6225. $$3 = $$1352;
  6226. } else {
  6227. $37 = ((($14)) + 8|0);
  6228. $38 = HEAP32[$37>>2]|0;
  6229. $39 = ((($38)) + 12|0);
  6230. HEAP32[$39>>2] = $35;
  6231. $40 = ((($35)) + 8|0);
  6232. HEAP32[$40>>2] = $38;
  6233. $$3 = $35;
  6234. }
  6235. } while(0);
  6236. $53 = ($33|0)==(0|0);
  6237. if ($53) {
  6238. $$1 = $14;$$1347 = $15;$87 = $14;
  6239. } else {
  6240. $54 = ((($14)) + 28|0);
  6241. $55 = HEAP32[$54>>2]|0;
  6242. $56 = (38688 + ($55<<2)|0);
  6243. $57 = HEAP32[$56>>2]|0;
  6244. $58 = ($14|0)==($57|0);
  6245. if ($58) {
  6246. HEAP32[$56>>2] = $$3;
  6247. $cond374 = ($$3|0)==(0|0);
  6248. if ($cond374) {
  6249. $59 = 1 << $55;
  6250. $60 = $59 ^ -1;
  6251. $61 = HEAP32[(38388)>>2]|0;
  6252. $62 = $61 & $60;
  6253. HEAP32[(38388)>>2] = $62;
  6254. $$1 = $14;$$1347 = $15;$87 = $14;
  6255. break;
  6256. }
  6257. } else {
  6258. $63 = ((($33)) + 16|0);
  6259. $64 = HEAP32[$63>>2]|0;
  6260. $not$370 = ($64|0)!=($14|0);
  6261. $$sink3 = $not$370&1;
  6262. $65 = (((($33)) + 16|0) + ($$sink3<<2)|0);
  6263. HEAP32[$65>>2] = $$3;
  6264. $66 = ($$3|0)==(0|0);
  6265. if ($66) {
  6266. $$1 = $14;$$1347 = $15;$87 = $14;
  6267. break;
  6268. }
  6269. }
  6270. $67 = ((($$3)) + 24|0);
  6271. HEAP32[$67>>2] = $33;
  6272. $68 = ((($14)) + 16|0);
  6273. $69 = HEAP32[$68>>2]|0;
  6274. $70 = ($69|0)==(0|0);
  6275. if (!($70)) {
  6276. $71 = ((($$3)) + 16|0);
  6277. HEAP32[$71>>2] = $69;
  6278. $72 = ((($69)) + 24|0);
  6279. HEAP32[$72>>2] = $$3;
  6280. }
  6281. $73 = ((($68)) + 4|0);
  6282. $74 = HEAP32[$73>>2]|0;
  6283. $75 = ($74|0)==(0|0);
  6284. if ($75) {
  6285. $$1 = $14;$$1347 = $15;$87 = $14;
  6286. } else {
  6287. $76 = ((($$3)) + 20|0);
  6288. HEAP32[$76>>2] = $74;
  6289. $77 = ((($74)) + 24|0);
  6290. HEAP32[$77>>2] = $$3;
  6291. $$1 = $14;$$1347 = $15;$87 = $14;
  6292. }
  6293. }
  6294. } else {
  6295. $$1 = $2;$$1347 = $6;$87 = $2;
  6296. }
  6297. } while(0);
  6298. $86 = ($87>>>0)<($7>>>0);
  6299. if (!($86)) {
  6300. return;
  6301. }
  6302. $88 = ((($7)) + 4|0);
  6303. $89 = HEAP32[$88>>2]|0;
  6304. $90 = $89 & 1;
  6305. $91 = ($90|0)==(0);
  6306. if ($91) {
  6307. return;
  6308. }
  6309. $92 = $89 & 2;
  6310. $93 = ($92|0)==(0);
  6311. if ($93) {
  6312. $94 = HEAP32[(38408)>>2]|0;
  6313. $95 = ($7|0)==($94|0);
  6314. $96 = HEAP32[(38404)>>2]|0;
  6315. if ($95) {
  6316. $97 = HEAP32[(38396)>>2]|0;
  6317. $98 = (($97) + ($$1347))|0;
  6318. HEAP32[(38396)>>2] = $98;
  6319. HEAP32[(38408)>>2] = $$1;
  6320. $99 = $98 | 1;
  6321. $100 = ((($$1)) + 4|0);
  6322. HEAP32[$100>>2] = $99;
  6323. $101 = ($$1|0)==($96|0);
  6324. if (!($101)) {
  6325. return;
  6326. }
  6327. HEAP32[(38404)>>2] = 0;
  6328. HEAP32[(38392)>>2] = 0;
  6329. return;
  6330. }
  6331. $102 = ($7|0)==($96|0);
  6332. if ($102) {
  6333. $103 = HEAP32[(38392)>>2]|0;
  6334. $104 = (($103) + ($$1347))|0;
  6335. HEAP32[(38392)>>2] = $104;
  6336. HEAP32[(38404)>>2] = $87;
  6337. $105 = $104 | 1;
  6338. $106 = ((($$1)) + 4|0);
  6339. HEAP32[$106>>2] = $105;
  6340. $107 = (($87) + ($104)|0);
  6341. HEAP32[$107>>2] = $104;
  6342. return;
  6343. }
  6344. $108 = $89 & -8;
  6345. $109 = (($108) + ($$1347))|0;
  6346. $110 = $89 >>> 3;
  6347. $111 = ($89>>>0)<(256);
  6348. do {
  6349. if ($111) {
  6350. $112 = ((($7)) + 8|0);
  6351. $113 = HEAP32[$112>>2]|0;
  6352. $114 = ((($7)) + 12|0);
  6353. $115 = HEAP32[$114>>2]|0;
  6354. $116 = ($115|0)==($113|0);
  6355. if ($116) {
  6356. $117 = 1 << $110;
  6357. $118 = $117 ^ -1;
  6358. $119 = HEAP32[9596]|0;
  6359. $120 = $119 & $118;
  6360. HEAP32[9596] = $120;
  6361. break;
  6362. } else {
  6363. $121 = ((($113)) + 12|0);
  6364. HEAP32[$121>>2] = $115;
  6365. $122 = ((($115)) + 8|0);
  6366. HEAP32[$122>>2] = $113;
  6367. break;
  6368. }
  6369. } else {
  6370. $123 = ((($7)) + 24|0);
  6371. $124 = HEAP32[$123>>2]|0;
  6372. $125 = ((($7)) + 12|0);
  6373. $126 = HEAP32[$125>>2]|0;
  6374. $127 = ($126|0)==($7|0);
  6375. do {
  6376. if ($127) {
  6377. $132 = ((($7)) + 16|0);
  6378. $133 = ((($132)) + 4|0);
  6379. $134 = HEAP32[$133>>2]|0;
  6380. $135 = ($134|0)==(0|0);
  6381. if ($135) {
  6382. $136 = HEAP32[$132>>2]|0;
  6383. $137 = ($136|0)==(0|0);
  6384. if ($137) {
  6385. $$3365 = 0;
  6386. break;
  6387. } else {
  6388. $$1363 = $136;$$1367 = $132;
  6389. }
  6390. } else {
  6391. $$1363 = $134;$$1367 = $133;
  6392. }
  6393. while(1) {
  6394. $138 = ((($$1363)) + 20|0);
  6395. $139 = HEAP32[$138>>2]|0;
  6396. $140 = ($139|0)==(0|0);
  6397. if (!($140)) {
  6398. $$1363 = $139;$$1367 = $138;
  6399. continue;
  6400. }
  6401. $141 = ((($$1363)) + 16|0);
  6402. $142 = HEAP32[$141>>2]|0;
  6403. $143 = ($142|0)==(0|0);
  6404. if ($143) {
  6405. break;
  6406. } else {
  6407. $$1363 = $142;$$1367 = $141;
  6408. }
  6409. }
  6410. HEAP32[$$1367>>2] = 0;
  6411. $$3365 = $$1363;
  6412. } else {
  6413. $128 = ((($7)) + 8|0);
  6414. $129 = HEAP32[$128>>2]|0;
  6415. $130 = ((($129)) + 12|0);
  6416. HEAP32[$130>>2] = $126;
  6417. $131 = ((($126)) + 8|0);
  6418. HEAP32[$131>>2] = $129;
  6419. $$3365 = $126;
  6420. }
  6421. } while(0);
  6422. $144 = ($124|0)==(0|0);
  6423. if (!($144)) {
  6424. $145 = ((($7)) + 28|0);
  6425. $146 = HEAP32[$145>>2]|0;
  6426. $147 = (38688 + ($146<<2)|0);
  6427. $148 = HEAP32[$147>>2]|0;
  6428. $149 = ($7|0)==($148|0);
  6429. if ($149) {
  6430. HEAP32[$147>>2] = $$3365;
  6431. $cond375 = ($$3365|0)==(0|0);
  6432. if ($cond375) {
  6433. $150 = 1 << $146;
  6434. $151 = $150 ^ -1;
  6435. $152 = HEAP32[(38388)>>2]|0;
  6436. $153 = $152 & $151;
  6437. HEAP32[(38388)>>2] = $153;
  6438. break;
  6439. }
  6440. } else {
  6441. $154 = ((($124)) + 16|0);
  6442. $155 = HEAP32[$154>>2]|0;
  6443. $not$ = ($155|0)!=($7|0);
  6444. $$sink5 = $not$&1;
  6445. $156 = (((($124)) + 16|0) + ($$sink5<<2)|0);
  6446. HEAP32[$156>>2] = $$3365;
  6447. $157 = ($$3365|0)==(0|0);
  6448. if ($157) {
  6449. break;
  6450. }
  6451. }
  6452. $158 = ((($$3365)) + 24|0);
  6453. HEAP32[$158>>2] = $124;
  6454. $159 = ((($7)) + 16|0);
  6455. $160 = HEAP32[$159>>2]|0;
  6456. $161 = ($160|0)==(0|0);
  6457. if (!($161)) {
  6458. $162 = ((($$3365)) + 16|0);
  6459. HEAP32[$162>>2] = $160;
  6460. $163 = ((($160)) + 24|0);
  6461. HEAP32[$163>>2] = $$3365;
  6462. }
  6463. $164 = ((($159)) + 4|0);
  6464. $165 = HEAP32[$164>>2]|0;
  6465. $166 = ($165|0)==(0|0);
  6466. if (!($166)) {
  6467. $167 = ((($$3365)) + 20|0);
  6468. HEAP32[$167>>2] = $165;
  6469. $168 = ((($165)) + 24|0);
  6470. HEAP32[$168>>2] = $$3365;
  6471. }
  6472. }
  6473. }
  6474. } while(0);
  6475. $169 = $109 | 1;
  6476. $170 = ((($$1)) + 4|0);
  6477. HEAP32[$170>>2] = $169;
  6478. $171 = (($87) + ($109)|0);
  6479. HEAP32[$171>>2] = $109;
  6480. $172 = HEAP32[(38404)>>2]|0;
  6481. $173 = ($$1|0)==($172|0);
  6482. if ($173) {
  6483. HEAP32[(38392)>>2] = $109;
  6484. return;
  6485. } else {
  6486. $$2 = $109;
  6487. }
  6488. } else {
  6489. $174 = $89 & -2;
  6490. HEAP32[$88>>2] = $174;
  6491. $175 = $$1347 | 1;
  6492. $176 = ((($$1)) + 4|0);
  6493. HEAP32[$176>>2] = $175;
  6494. $177 = (($87) + ($$1347)|0);
  6495. HEAP32[$177>>2] = $$1347;
  6496. $$2 = $$1347;
  6497. }
  6498. $178 = $$2 >>> 3;
  6499. $179 = ($$2>>>0)<(256);
  6500. if ($179) {
  6501. $180 = $178 << 1;
  6502. $181 = (38424 + ($180<<2)|0);
  6503. $182 = HEAP32[9596]|0;
  6504. $183 = 1 << $178;
  6505. $184 = $182 & $183;
  6506. $185 = ($184|0)==(0);
  6507. if ($185) {
  6508. $186 = $182 | $183;
  6509. HEAP32[9596] = $186;
  6510. $$pre = ((($181)) + 8|0);
  6511. $$0368 = $181;$$pre$phiZ2D = $$pre;
  6512. } else {
  6513. $187 = ((($181)) + 8|0);
  6514. $188 = HEAP32[$187>>2]|0;
  6515. $$0368 = $188;$$pre$phiZ2D = $187;
  6516. }
  6517. HEAP32[$$pre$phiZ2D>>2] = $$1;
  6518. $189 = ((($$0368)) + 12|0);
  6519. HEAP32[$189>>2] = $$1;
  6520. $190 = ((($$1)) + 8|0);
  6521. HEAP32[$190>>2] = $$0368;
  6522. $191 = ((($$1)) + 12|0);
  6523. HEAP32[$191>>2] = $181;
  6524. return;
  6525. }
  6526. $192 = $$2 >>> 8;
  6527. $193 = ($192|0)==(0);
  6528. if ($193) {
  6529. $$0361 = 0;
  6530. } else {
  6531. $194 = ($$2>>>0)>(16777215);
  6532. if ($194) {
  6533. $$0361 = 31;
  6534. } else {
  6535. $195 = (($192) + 1048320)|0;
  6536. $196 = $195 >>> 16;
  6537. $197 = $196 & 8;
  6538. $198 = $192 << $197;
  6539. $199 = (($198) + 520192)|0;
  6540. $200 = $199 >>> 16;
  6541. $201 = $200 & 4;
  6542. $202 = $201 | $197;
  6543. $203 = $198 << $201;
  6544. $204 = (($203) + 245760)|0;
  6545. $205 = $204 >>> 16;
  6546. $206 = $205 & 2;
  6547. $207 = $202 | $206;
  6548. $208 = (14 - ($207))|0;
  6549. $209 = $203 << $206;
  6550. $210 = $209 >>> 15;
  6551. $211 = (($208) + ($210))|0;
  6552. $212 = $211 << 1;
  6553. $213 = (($211) + 7)|0;
  6554. $214 = $$2 >>> $213;
  6555. $215 = $214 & 1;
  6556. $216 = $215 | $212;
  6557. $$0361 = $216;
  6558. }
  6559. }
  6560. $217 = (38688 + ($$0361<<2)|0);
  6561. $218 = ((($$1)) + 28|0);
  6562. HEAP32[$218>>2] = $$0361;
  6563. $219 = ((($$1)) + 16|0);
  6564. $220 = ((($$1)) + 20|0);
  6565. HEAP32[$220>>2] = 0;
  6566. HEAP32[$219>>2] = 0;
  6567. $221 = HEAP32[(38388)>>2]|0;
  6568. $222 = 1 << $$0361;
  6569. $223 = $221 & $222;
  6570. $224 = ($223|0)==(0);
  6571. do {
  6572. if ($224) {
  6573. $225 = $221 | $222;
  6574. HEAP32[(38388)>>2] = $225;
  6575. HEAP32[$217>>2] = $$1;
  6576. $226 = ((($$1)) + 24|0);
  6577. HEAP32[$226>>2] = $217;
  6578. $227 = ((($$1)) + 12|0);
  6579. HEAP32[$227>>2] = $$1;
  6580. $228 = ((($$1)) + 8|0);
  6581. HEAP32[$228>>2] = $$1;
  6582. } else {
  6583. $229 = HEAP32[$217>>2]|0;
  6584. $230 = ($$0361|0)==(31);
  6585. $231 = $$0361 >>> 1;
  6586. $232 = (25 - ($231))|0;
  6587. $233 = $230 ? 0 : $232;
  6588. $234 = $$2 << $233;
  6589. $$0348 = $234;$$0349 = $229;
  6590. while(1) {
  6591. $235 = ((($$0349)) + 4|0);
  6592. $236 = HEAP32[$235>>2]|0;
  6593. $237 = $236 & -8;
  6594. $238 = ($237|0)==($$2|0);
  6595. if ($238) {
  6596. label = 73;
  6597. break;
  6598. }
  6599. $239 = $$0348 >>> 31;
  6600. $240 = (((($$0349)) + 16|0) + ($239<<2)|0);
  6601. $241 = $$0348 << 1;
  6602. $242 = HEAP32[$240>>2]|0;
  6603. $243 = ($242|0)==(0|0);
  6604. if ($243) {
  6605. label = 72;
  6606. break;
  6607. } else {
  6608. $$0348 = $241;$$0349 = $242;
  6609. }
  6610. }
  6611. if ((label|0) == 72) {
  6612. HEAP32[$240>>2] = $$1;
  6613. $244 = ((($$1)) + 24|0);
  6614. HEAP32[$244>>2] = $$0349;
  6615. $245 = ((($$1)) + 12|0);
  6616. HEAP32[$245>>2] = $$1;
  6617. $246 = ((($$1)) + 8|0);
  6618. HEAP32[$246>>2] = $$1;
  6619. break;
  6620. }
  6621. else if ((label|0) == 73) {
  6622. $247 = ((($$0349)) + 8|0);
  6623. $248 = HEAP32[$247>>2]|0;
  6624. $249 = ((($248)) + 12|0);
  6625. HEAP32[$249>>2] = $$1;
  6626. HEAP32[$247>>2] = $$1;
  6627. $250 = ((($$1)) + 8|0);
  6628. HEAP32[$250>>2] = $248;
  6629. $251 = ((($$1)) + 12|0);
  6630. HEAP32[$251>>2] = $$0349;
  6631. $252 = ((($$1)) + 24|0);
  6632. HEAP32[$252>>2] = 0;
  6633. break;
  6634. }
  6635. }
  6636. } while(0);
  6637. $253 = HEAP32[(38416)>>2]|0;
  6638. $254 = (($253) + -1)|0;
  6639. HEAP32[(38416)>>2] = $254;
  6640. $255 = ($254|0)==(0);
  6641. if ($255) {
  6642. $$0195$in$i = (38840);
  6643. } else {
  6644. return;
  6645. }
  6646. while(1) {
  6647. $$0195$i = HEAP32[$$0195$in$i>>2]|0;
  6648. $256 = ($$0195$i|0)==(0|0);
  6649. $257 = ((($$0195$i)) + 8|0);
  6650. if ($256) {
  6651. break;
  6652. } else {
  6653. $$0195$in$i = $257;
  6654. }
  6655. }
  6656. HEAP32[(38416)>>2] = -1;
  6657. return;
  6658. }
  6659. function _realloc($0,$1) {
  6660. $0 = $0|0;
  6661. $1 = $1|0;
  6662. var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
  6663. var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  6664. sp = STACKTOP;
  6665. $2 = ($0|0)==(0|0);
  6666. if ($2) {
  6667. $3 = (_malloc($1)|0);
  6668. $$1 = $3;
  6669. return ($$1|0);
  6670. }
  6671. $4 = ($1>>>0)>(4294967231);
  6672. if ($4) {
  6673. $5 = (___errno_location()|0);
  6674. HEAP32[$5>>2] = 12;
  6675. $$1 = 0;
  6676. return ($$1|0);
  6677. }
  6678. $6 = ($1>>>0)<(11);
  6679. $7 = (($1) + 11)|0;
  6680. $8 = $7 & -8;
  6681. $9 = $6 ? 16 : $8;
  6682. $10 = ((($0)) + -8|0);
  6683. $11 = (_try_realloc_chunk($10,$9)|0);
  6684. $12 = ($11|0)==(0|0);
  6685. if (!($12)) {
  6686. $13 = ((($11)) + 8|0);
  6687. $$1 = $13;
  6688. return ($$1|0);
  6689. }
  6690. $14 = (_malloc($1)|0);
  6691. $15 = ($14|0)==(0|0);
  6692. if ($15) {
  6693. $$1 = 0;
  6694. return ($$1|0);
  6695. }
  6696. $16 = ((($0)) + -4|0);
  6697. $17 = HEAP32[$16>>2]|0;
  6698. $18 = $17 & -8;
  6699. $19 = $17 & 3;
  6700. $20 = ($19|0)==(0);
  6701. $21 = $20 ? 8 : 4;
  6702. $22 = (($18) - ($21))|0;
  6703. $23 = ($22>>>0)<($1>>>0);
  6704. $24 = $23 ? $22 : $1;
  6705. _memcpy(($14|0),($0|0),($24|0))|0;
  6706. _free($0);
  6707. $$1 = $14;
  6708. return ($$1|0);
  6709. }
  6710. function _try_realloc_chunk($0,$1) {
  6711. $0 = $0|0;
  6712. $1 = $1|0;
  6713. var $$1246 = 0, $$1249 = 0, $$2 = 0, $$3 = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
  6714. var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
  6715. var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0;
  6716. var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
  6717. var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
  6718. var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
  6719. var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
  6720. var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $not$ = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0;
  6721. sp = STACKTOP;
  6722. $2 = ((($0)) + 4|0);
  6723. $3 = HEAP32[$2>>2]|0;
  6724. $4 = $3 & -8;
  6725. $5 = (($0) + ($4)|0);
  6726. $6 = $3 & 3;
  6727. $7 = ($6|0)==(0);
  6728. if ($7) {
  6729. $8 = ($1>>>0)<(256);
  6730. if ($8) {
  6731. $$2 = 0;
  6732. return ($$2|0);
  6733. }
  6734. $9 = (($1) + 4)|0;
  6735. $10 = ($4>>>0)<($9>>>0);
  6736. if (!($10)) {
  6737. $11 = (($4) - ($1))|0;
  6738. $12 = HEAP32[(38864)>>2]|0;
  6739. $13 = $12 << 1;
  6740. $14 = ($11>>>0)>($13>>>0);
  6741. if (!($14)) {
  6742. $$2 = $0;
  6743. return ($$2|0);
  6744. }
  6745. }
  6746. $$2 = 0;
  6747. return ($$2|0);
  6748. }
  6749. $15 = ($4>>>0)<($1>>>0);
  6750. if (!($15)) {
  6751. $16 = (($4) - ($1))|0;
  6752. $17 = ($16>>>0)>(15);
  6753. if (!($17)) {
  6754. $$2 = $0;
  6755. return ($$2|0);
  6756. }
  6757. $18 = (($0) + ($1)|0);
  6758. $19 = $3 & 1;
  6759. $20 = $19 | $1;
  6760. $21 = $20 | 2;
  6761. HEAP32[$2>>2] = $21;
  6762. $22 = ((($18)) + 4|0);
  6763. $23 = $16 | 3;
  6764. HEAP32[$22>>2] = $23;
  6765. $24 = (($18) + ($16)|0);
  6766. $25 = ((($24)) + 4|0);
  6767. $26 = HEAP32[$25>>2]|0;
  6768. $27 = $26 | 1;
  6769. HEAP32[$25>>2] = $27;
  6770. _dispose_chunk($18,$16);
  6771. $$2 = $0;
  6772. return ($$2|0);
  6773. }
  6774. $28 = HEAP32[(38408)>>2]|0;
  6775. $29 = ($5|0)==($28|0);
  6776. if ($29) {
  6777. $30 = HEAP32[(38396)>>2]|0;
  6778. $31 = (($30) + ($4))|0;
  6779. $32 = ($31>>>0)>($1>>>0);
  6780. $33 = (($31) - ($1))|0;
  6781. $34 = (($0) + ($1)|0);
  6782. if (!($32)) {
  6783. $$2 = 0;
  6784. return ($$2|0);
  6785. }
  6786. $35 = $33 | 1;
  6787. $36 = ((($34)) + 4|0);
  6788. $37 = $3 & 1;
  6789. $38 = $37 | $1;
  6790. $39 = $38 | 2;
  6791. HEAP32[$2>>2] = $39;
  6792. HEAP32[$36>>2] = $35;
  6793. HEAP32[(38408)>>2] = $34;
  6794. HEAP32[(38396)>>2] = $33;
  6795. $$2 = $0;
  6796. return ($$2|0);
  6797. }
  6798. $40 = HEAP32[(38404)>>2]|0;
  6799. $41 = ($5|0)==($40|0);
  6800. if ($41) {
  6801. $42 = HEAP32[(38392)>>2]|0;
  6802. $43 = (($42) + ($4))|0;
  6803. $44 = ($43>>>0)<($1>>>0);
  6804. if ($44) {
  6805. $$2 = 0;
  6806. return ($$2|0);
  6807. }
  6808. $45 = (($43) - ($1))|0;
  6809. $46 = ($45>>>0)>(15);
  6810. $47 = $3 & 1;
  6811. if ($46) {
  6812. $48 = (($0) + ($1)|0);
  6813. $49 = (($48) + ($45)|0);
  6814. $50 = $47 | $1;
  6815. $51 = $50 | 2;
  6816. HEAP32[$2>>2] = $51;
  6817. $52 = ((($48)) + 4|0);
  6818. $53 = $45 | 1;
  6819. HEAP32[$52>>2] = $53;
  6820. HEAP32[$49>>2] = $45;
  6821. $54 = ((($49)) + 4|0);
  6822. $55 = HEAP32[$54>>2]|0;
  6823. $56 = $55 & -2;
  6824. HEAP32[$54>>2] = $56;
  6825. $storemerge = $48;$storemerge1 = $45;
  6826. } else {
  6827. $57 = $47 | $43;
  6828. $58 = $57 | 2;
  6829. HEAP32[$2>>2] = $58;
  6830. $59 = (($0) + ($43)|0);
  6831. $60 = ((($59)) + 4|0);
  6832. $61 = HEAP32[$60>>2]|0;
  6833. $62 = $61 | 1;
  6834. HEAP32[$60>>2] = $62;
  6835. $storemerge = 0;$storemerge1 = 0;
  6836. }
  6837. HEAP32[(38392)>>2] = $storemerge1;
  6838. HEAP32[(38404)>>2] = $storemerge;
  6839. $$2 = $0;
  6840. return ($$2|0);
  6841. }
  6842. $63 = ((($5)) + 4|0);
  6843. $64 = HEAP32[$63>>2]|0;
  6844. $65 = $64 & 2;
  6845. $66 = ($65|0)==(0);
  6846. if (!($66)) {
  6847. $$2 = 0;
  6848. return ($$2|0);
  6849. }
  6850. $67 = $64 & -8;
  6851. $68 = (($67) + ($4))|0;
  6852. $69 = ($68>>>0)<($1>>>0);
  6853. if ($69) {
  6854. $$2 = 0;
  6855. return ($$2|0);
  6856. }
  6857. $70 = (($68) - ($1))|0;
  6858. $71 = $64 >>> 3;
  6859. $72 = ($64>>>0)<(256);
  6860. do {
  6861. if ($72) {
  6862. $73 = ((($5)) + 8|0);
  6863. $74 = HEAP32[$73>>2]|0;
  6864. $75 = ((($5)) + 12|0);
  6865. $76 = HEAP32[$75>>2]|0;
  6866. $77 = ($76|0)==($74|0);
  6867. if ($77) {
  6868. $78 = 1 << $71;
  6869. $79 = $78 ^ -1;
  6870. $80 = HEAP32[9596]|0;
  6871. $81 = $80 & $79;
  6872. HEAP32[9596] = $81;
  6873. break;
  6874. } else {
  6875. $82 = ((($74)) + 12|0);
  6876. HEAP32[$82>>2] = $76;
  6877. $83 = ((($76)) + 8|0);
  6878. HEAP32[$83>>2] = $74;
  6879. break;
  6880. }
  6881. } else {
  6882. $84 = ((($5)) + 24|0);
  6883. $85 = HEAP32[$84>>2]|0;
  6884. $86 = ((($5)) + 12|0);
  6885. $87 = HEAP32[$86>>2]|0;
  6886. $88 = ($87|0)==($5|0);
  6887. do {
  6888. if ($88) {
  6889. $93 = ((($5)) + 16|0);
  6890. $94 = ((($93)) + 4|0);
  6891. $95 = HEAP32[$94>>2]|0;
  6892. $96 = ($95|0)==(0|0);
  6893. if ($96) {
  6894. $97 = HEAP32[$93>>2]|0;
  6895. $98 = ($97|0)==(0|0);
  6896. if ($98) {
  6897. $$3 = 0;
  6898. break;
  6899. } else {
  6900. $$1246 = $97;$$1249 = $93;
  6901. }
  6902. } else {
  6903. $$1246 = $95;$$1249 = $94;
  6904. }
  6905. while(1) {
  6906. $99 = ((($$1246)) + 20|0);
  6907. $100 = HEAP32[$99>>2]|0;
  6908. $101 = ($100|0)==(0|0);
  6909. if (!($101)) {
  6910. $$1246 = $100;$$1249 = $99;
  6911. continue;
  6912. }
  6913. $102 = ((($$1246)) + 16|0);
  6914. $103 = HEAP32[$102>>2]|0;
  6915. $104 = ($103|0)==(0|0);
  6916. if ($104) {
  6917. break;
  6918. } else {
  6919. $$1246 = $103;$$1249 = $102;
  6920. }
  6921. }
  6922. HEAP32[$$1249>>2] = 0;
  6923. $$3 = $$1246;
  6924. } else {
  6925. $89 = ((($5)) + 8|0);
  6926. $90 = HEAP32[$89>>2]|0;
  6927. $91 = ((($90)) + 12|0);
  6928. HEAP32[$91>>2] = $87;
  6929. $92 = ((($87)) + 8|0);
  6930. HEAP32[$92>>2] = $90;
  6931. $$3 = $87;
  6932. }
  6933. } while(0);
  6934. $105 = ($85|0)==(0|0);
  6935. if (!($105)) {
  6936. $106 = ((($5)) + 28|0);
  6937. $107 = HEAP32[$106>>2]|0;
  6938. $108 = (38688 + ($107<<2)|0);
  6939. $109 = HEAP32[$108>>2]|0;
  6940. $110 = ($5|0)==($109|0);
  6941. if ($110) {
  6942. HEAP32[$108>>2] = $$3;
  6943. $cond = ($$3|0)==(0|0);
  6944. if ($cond) {
  6945. $111 = 1 << $107;
  6946. $112 = $111 ^ -1;
  6947. $113 = HEAP32[(38388)>>2]|0;
  6948. $114 = $113 & $112;
  6949. HEAP32[(38388)>>2] = $114;
  6950. break;
  6951. }
  6952. } else {
  6953. $115 = ((($85)) + 16|0);
  6954. $116 = HEAP32[$115>>2]|0;
  6955. $not$ = ($116|0)!=($5|0);
  6956. $$sink1 = $not$&1;
  6957. $117 = (((($85)) + 16|0) + ($$sink1<<2)|0);
  6958. HEAP32[$117>>2] = $$3;
  6959. $118 = ($$3|0)==(0|0);
  6960. if ($118) {
  6961. break;
  6962. }
  6963. }
  6964. $119 = ((($$3)) + 24|0);
  6965. HEAP32[$119>>2] = $85;
  6966. $120 = ((($5)) + 16|0);
  6967. $121 = HEAP32[$120>>2]|0;
  6968. $122 = ($121|0)==(0|0);
  6969. if (!($122)) {
  6970. $123 = ((($$3)) + 16|0);
  6971. HEAP32[$123>>2] = $121;
  6972. $124 = ((($121)) + 24|0);
  6973. HEAP32[$124>>2] = $$3;
  6974. }
  6975. $125 = ((($120)) + 4|0);
  6976. $126 = HEAP32[$125>>2]|0;
  6977. $127 = ($126|0)==(0|0);
  6978. if (!($127)) {
  6979. $128 = ((($$3)) + 20|0);
  6980. HEAP32[$128>>2] = $126;
  6981. $129 = ((($126)) + 24|0);
  6982. HEAP32[$129>>2] = $$3;
  6983. }
  6984. }
  6985. }
  6986. } while(0);
  6987. $130 = ($70>>>0)<(16);
  6988. $131 = $3 & 1;
  6989. if ($130) {
  6990. $132 = $68 | $131;
  6991. $133 = $132 | 2;
  6992. HEAP32[$2>>2] = $133;
  6993. $134 = (($0) + ($68)|0);
  6994. $135 = ((($134)) + 4|0);
  6995. $136 = HEAP32[$135>>2]|0;
  6996. $137 = $136 | 1;
  6997. HEAP32[$135>>2] = $137;
  6998. $$2 = $0;
  6999. return ($$2|0);
  7000. } else {
  7001. $138 = (($0) + ($1)|0);
  7002. $139 = $131 | $1;
  7003. $140 = $139 | 2;
  7004. HEAP32[$2>>2] = $140;
  7005. $141 = ((($138)) + 4|0);
  7006. $142 = $70 | 3;
  7007. HEAP32[$141>>2] = $142;
  7008. $143 = (($138) + ($70)|0);
  7009. $144 = ((($143)) + 4|0);
  7010. $145 = HEAP32[$144>>2]|0;
  7011. $146 = $145 | 1;
  7012. HEAP32[$144>>2] = $146;
  7013. _dispose_chunk($138,$70);
  7014. $$2 = $0;
  7015. return ($$2|0);
  7016. }
  7017. return (0)|0;
  7018. }
  7019. function _dispose_chunk($0,$1) {
  7020. $0 = $0|0;
  7021. $1 = $1|0;
  7022. var $$0366 = 0, $$0367 = 0, $$0378 = 0, $$0385 = 0, $$1 = 0, $$1365 = 0, $$1373 = 0, $$1376 = 0, $$1380 = 0, $$1384 = 0, $$2 = 0, $$3 = 0, $$3382 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink2 = 0, $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0;
  7023. var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0;
  7024. var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0;
  7025. var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0;
  7026. var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0;
  7027. var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0;
  7028. var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0;
  7029. var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0;
  7030. var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $25 = 0, $26 = 0;
  7031. var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
  7032. var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
  7033. var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
  7034. var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
  7035. var $cond = 0, $cond5 = 0, $not$ = 0, $not$1 = 0, label = 0, sp = 0;
  7036. sp = STACKTOP;
  7037. $2 = (($0) + ($1)|0);
  7038. $3 = ((($0)) + 4|0);
  7039. $4 = HEAP32[$3>>2]|0;
  7040. $5 = $4 & 1;
  7041. $6 = ($5|0)==(0);
  7042. do {
  7043. if ($6) {
  7044. $7 = HEAP32[$0>>2]|0;
  7045. $8 = $4 & 3;
  7046. $9 = ($8|0)==(0);
  7047. if ($9) {
  7048. return;
  7049. }
  7050. $10 = (0 - ($7))|0;
  7051. $11 = (($0) + ($10)|0);
  7052. $12 = (($7) + ($1))|0;
  7053. $13 = HEAP32[(38404)>>2]|0;
  7054. $14 = ($11|0)==($13|0);
  7055. if ($14) {
  7056. $74 = ((($2)) + 4|0);
  7057. $75 = HEAP32[$74>>2]|0;
  7058. $76 = $75 & 3;
  7059. $77 = ($76|0)==(3);
  7060. if (!($77)) {
  7061. $$1 = $11;$$1365 = $12;
  7062. break;
  7063. }
  7064. $78 = (($11) + ($12)|0);
  7065. $79 = ((($11)) + 4|0);
  7066. $80 = $12 | 1;
  7067. $81 = $75 & -2;
  7068. HEAP32[(38392)>>2] = $12;
  7069. HEAP32[$74>>2] = $81;
  7070. HEAP32[$79>>2] = $80;
  7071. HEAP32[$78>>2] = $12;
  7072. return;
  7073. }
  7074. $15 = $7 >>> 3;
  7075. $16 = ($7>>>0)<(256);
  7076. if ($16) {
  7077. $17 = ((($11)) + 8|0);
  7078. $18 = HEAP32[$17>>2]|0;
  7079. $19 = ((($11)) + 12|0);
  7080. $20 = HEAP32[$19>>2]|0;
  7081. $21 = ($20|0)==($18|0);
  7082. if ($21) {
  7083. $22 = 1 << $15;
  7084. $23 = $22 ^ -1;
  7085. $24 = HEAP32[9596]|0;
  7086. $25 = $24 & $23;
  7087. HEAP32[9596] = $25;
  7088. $$1 = $11;$$1365 = $12;
  7089. break;
  7090. } else {
  7091. $26 = ((($18)) + 12|0);
  7092. HEAP32[$26>>2] = $20;
  7093. $27 = ((($20)) + 8|0);
  7094. HEAP32[$27>>2] = $18;
  7095. $$1 = $11;$$1365 = $12;
  7096. break;
  7097. }
  7098. }
  7099. $28 = ((($11)) + 24|0);
  7100. $29 = HEAP32[$28>>2]|0;
  7101. $30 = ((($11)) + 12|0);
  7102. $31 = HEAP32[$30>>2]|0;
  7103. $32 = ($31|0)==($11|0);
  7104. do {
  7105. if ($32) {
  7106. $37 = ((($11)) + 16|0);
  7107. $38 = ((($37)) + 4|0);
  7108. $39 = HEAP32[$38>>2]|0;
  7109. $40 = ($39|0)==(0|0);
  7110. if ($40) {
  7111. $41 = HEAP32[$37>>2]|0;
  7112. $42 = ($41|0)==(0|0);
  7113. if ($42) {
  7114. $$3 = 0;
  7115. break;
  7116. } else {
  7117. $$1373 = $41;$$1376 = $37;
  7118. }
  7119. } else {
  7120. $$1373 = $39;$$1376 = $38;
  7121. }
  7122. while(1) {
  7123. $43 = ((($$1373)) + 20|0);
  7124. $44 = HEAP32[$43>>2]|0;
  7125. $45 = ($44|0)==(0|0);
  7126. if (!($45)) {
  7127. $$1373 = $44;$$1376 = $43;
  7128. continue;
  7129. }
  7130. $46 = ((($$1373)) + 16|0);
  7131. $47 = HEAP32[$46>>2]|0;
  7132. $48 = ($47|0)==(0|0);
  7133. if ($48) {
  7134. break;
  7135. } else {
  7136. $$1373 = $47;$$1376 = $46;
  7137. }
  7138. }
  7139. HEAP32[$$1376>>2] = 0;
  7140. $$3 = $$1373;
  7141. } else {
  7142. $33 = ((($11)) + 8|0);
  7143. $34 = HEAP32[$33>>2]|0;
  7144. $35 = ((($34)) + 12|0);
  7145. HEAP32[$35>>2] = $31;
  7146. $36 = ((($31)) + 8|0);
  7147. HEAP32[$36>>2] = $34;
  7148. $$3 = $31;
  7149. }
  7150. } while(0);
  7151. $49 = ($29|0)==(0|0);
  7152. if ($49) {
  7153. $$1 = $11;$$1365 = $12;
  7154. } else {
  7155. $50 = ((($11)) + 28|0);
  7156. $51 = HEAP32[$50>>2]|0;
  7157. $52 = (38688 + ($51<<2)|0);
  7158. $53 = HEAP32[$52>>2]|0;
  7159. $54 = ($11|0)==($53|0);
  7160. if ($54) {
  7161. HEAP32[$52>>2] = $$3;
  7162. $cond = ($$3|0)==(0|0);
  7163. if ($cond) {
  7164. $55 = 1 << $51;
  7165. $56 = $55 ^ -1;
  7166. $57 = HEAP32[(38388)>>2]|0;
  7167. $58 = $57 & $56;
  7168. HEAP32[(38388)>>2] = $58;
  7169. $$1 = $11;$$1365 = $12;
  7170. break;
  7171. }
  7172. } else {
  7173. $59 = ((($29)) + 16|0);
  7174. $60 = HEAP32[$59>>2]|0;
  7175. $not$1 = ($60|0)!=($11|0);
  7176. $$sink2 = $not$1&1;
  7177. $61 = (((($29)) + 16|0) + ($$sink2<<2)|0);
  7178. HEAP32[$61>>2] = $$3;
  7179. $62 = ($$3|0)==(0|0);
  7180. if ($62) {
  7181. $$1 = $11;$$1365 = $12;
  7182. break;
  7183. }
  7184. }
  7185. $63 = ((($$3)) + 24|0);
  7186. HEAP32[$63>>2] = $29;
  7187. $64 = ((($11)) + 16|0);
  7188. $65 = HEAP32[$64>>2]|0;
  7189. $66 = ($65|0)==(0|0);
  7190. if (!($66)) {
  7191. $67 = ((($$3)) + 16|0);
  7192. HEAP32[$67>>2] = $65;
  7193. $68 = ((($65)) + 24|0);
  7194. HEAP32[$68>>2] = $$3;
  7195. }
  7196. $69 = ((($64)) + 4|0);
  7197. $70 = HEAP32[$69>>2]|0;
  7198. $71 = ($70|0)==(0|0);
  7199. if ($71) {
  7200. $$1 = $11;$$1365 = $12;
  7201. } else {
  7202. $72 = ((($$3)) + 20|0);
  7203. HEAP32[$72>>2] = $70;
  7204. $73 = ((($70)) + 24|0);
  7205. HEAP32[$73>>2] = $$3;
  7206. $$1 = $11;$$1365 = $12;
  7207. }
  7208. }
  7209. } else {
  7210. $$1 = $0;$$1365 = $1;
  7211. }
  7212. } while(0);
  7213. $82 = ((($2)) + 4|0);
  7214. $83 = HEAP32[$82>>2]|0;
  7215. $84 = $83 & 2;
  7216. $85 = ($84|0)==(0);
  7217. if ($85) {
  7218. $86 = HEAP32[(38408)>>2]|0;
  7219. $87 = ($2|0)==($86|0);
  7220. $88 = HEAP32[(38404)>>2]|0;
  7221. if ($87) {
  7222. $89 = HEAP32[(38396)>>2]|0;
  7223. $90 = (($89) + ($$1365))|0;
  7224. HEAP32[(38396)>>2] = $90;
  7225. HEAP32[(38408)>>2] = $$1;
  7226. $91 = $90 | 1;
  7227. $92 = ((($$1)) + 4|0);
  7228. HEAP32[$92>>2] = $91;
  7229. $93 = ($$1|0)==($88|0);
  7230. if (!($93)) {
  7231. return;
  7232. }
  7233. HEAP32[(38404)>>2] = 0;
  7234. HEAP32[(38392)>>2] = 0;
  7235. return;
  7236. }
  7237. $94 = ($2|0)==($88|0);
  7238. if ($94) {
  7239. $95 = HEAP32[(38392)>>2]|0;
  7240. $96 = (($95) + ($$1365))|0;
  7241. HEAP32[(38392)>>2] = $96;
  7242. HEAP32[(38404)>>2] = $$1;
  7243. $97 = $96 | 1;
  7244. $98 = ((($$1)) + 4|0);
  7245. HEAP32[$98>>2] = $97;
  7246. $99 = (($$1) + ($96)|0);
  7247. HEAP32[$99>>2] = $96;
  7248. return;
  7249. }
  7250. $100 = $83 & -8;
  7251. $101 = (($100) + ($$1365))|0;
  7252. $102 = $83 >>> 3;
  7253. $103 = ($83>>>0)<(256);
  7254. do {
  7255. if ($103) {
  7256. $104 = ((($2)) + 8|0);
  7257. $105 = HEAP32[$104>>2]|0;
  7258. $106 = ((($2)) + 12|0);
  7259. $107 = HEAP32[$106>>2]|0;
  7260. $108 = ($107|0)==($105|0);
  7261. if ($108) {
  7262. $109 = 1 << $102;
  7263. $110 = $109 ^ -1;
  7264. $111 = HEAP32[9596]|0;
  7265. $112 = $111 & $110;
  7266. HEAP32[9596] = $112;
  7267. break;
  7268. } else {
  7269. $113 = ((($105)) + 12|0);
  7270. HEAP32[$113>>2] = $107;
  7271. $114 = ((($107)) + 8|0);
  7272. HEAP32[$114>>2] = $105;
  7273. break;
  7274. }
  7275. } else {
  7276. $115 = ((($2)) + 24|0);
  7277. $116 = HEAP32[$115>>2]|0;
  7278. $117 = ((($2)) + 12|0);
  7279. $118 = HEAP32[$117>>2]|0;
  7280. $119 = ($118|0)==($2|0);
  7281. do {
  7282. if ($119) {
  7283. $124 = ((($2)) + 16|0);
  7284. $125 = ((($124)) + 4|0);
  7285. $126 = HEAP32[$125>>2]|0;
  7286. $127 = ($126|0)==(0|0);
  7287. if ($127) {
  7288. $128 = HEAP32[$124>>2]|0;
  7289. $129 = ($128|0)==(0|0);
  7290. if ($129) {
  7291. $$3382 = 0;
  7292. break;
  7293. } else {
  7294. $$1380 = $128;$$1384 = $124;
  7295. }
  7296. } else {
  7297. $$1380 = $126;$$1384 = $125;
  7298. }
  7299. while(1) {
  7300. $130 = ((($$1380)) + 20|0);
  7301. $131 = HEAP32[$130>>2]|0;
  7302. $132 = ($131|0)==(0|0);
  7303. if (!($132)) {
  7304. $$1380 = $131;$$1384 = $130;
  7305. continue;
  7306. }
  7307. $133 = ((($$1380)) + 16|0);
  7308. $134 = HEAP32[$133>>2]|0;
  7309. $135 = ($134|0)==(0|0);
  7310. if ($135) {
  7311. break;
  7312. } else {
  7313. $$1380 = $134;$$1384 = $133;
  7314. }
  7315. }
  7316. HEAP32[$$1384>>2] = 0;
  7317. $$3382 = $$1380;
  7318. } else {
  7319. $120 = ((($2)) + 8|0);
  7320. $121 = HEAP32[$120>>2]|0;
  7321. $122 = ((($121)) + 12|0);
  7322. HEAP32[$122>>2] = $118;
  7323. $123 = ((($118)) + 8|0);
  7324. HEAP32[$123>>2] = $121;
  7325. $$3382 = $118;
  7326. }
  7327. } while(0);
  7328. $136 = ($116|0)==(0|0);
  7329. if (!($136)) {
  7330. $137 = ((($2)) + 28|0);
  7331. $138 = HEAP32[$137>>2]|0;
  7332. $139 = (38688 + ($138<<2)|0);
  7333. $140 = HEAP32[$139>>2]|0;
  7334. $141 = ($2|0)==($140|0);
  7335. if ($141) {
  7336. HEAP32[$139>>2] = $$3382;
  7337. $cond5 = ($$3382|0)==(0|0);
  7338. if ($cond5) {
  7339. $142 = 1 << $138;
  7340. $143 = $142 ^ -1;
  7341. $144 = HEAP32[(38388)>>2]|0;
  7342. $145 = $144 & $143;
  7343. HEAP32[(38388)>>2] = $145;
  7344. break;
  7345. }
  7346. } else {
  7347. $146 = ((($116)) + 16|0);
  7348. $147 = HEAP32[$146>>2]|0;
  7349. $not$ = ($147|0)!=($2|0);
  7350. $$sink4 = $not$&1;
  7351. $148 = (((($116)) + 16|0) + ($$sink4<<2)|0);
  7352. HEAP32[$148>>2] = $$3382;
  7353. $149 = ($$3382|0)==(0|0);
  7354. if ($149) {
  7355. break;
  7356. }
  7357. }
  7358. $150 = ((($$3382)) + 24|0);
  7359. HEAP32[$150>>2] = $116;
  7360. $151 = ((($2)) + 16|0);
  7361. $152 = HEAP32[$151>>2]|0;
  7362. $153 = ($152|0)==(0|0);
  7363. if (!($153)) {
  7364. $154 = ((($$3382)) + 16|0);
  7365. HEAP32[$154>>2] = $152;
  7366. $155 = ((($152)) + 24|0);
  7367. HEAP32[$155>>2] = $$3382;
  7368. }
  7369. $156 = ((($151)) + 4|0);
  7370. $157 = HEAP32[$156>>2]|0;
  7371. $158 = ($157|0)==(0|0);
  7372. if (!($158)) {
  7373. $159 = ((($$3382)) + 20|0);
  7374. HEAP32[$159>>2] = $157;
  7375. $160 = ((($157)) + 24|0);
  7376. HEAP32[$160>>2] = $$3382;
  7377. }
  7378. }
  7379. }
  7380. } while(0);
  7381. $161 = $101 | 1;
  7382. $162 = ((($$1)) + 4|0);
  7383. HEAP32[$162>>2] = $161;
  7384. $163 = (($$1) + ($101)|0);
  7385. HEAP32[$163>>2] = $101;
  7386. $164 = HEAP32[(38404)>>2]|0;
  7387. $165 = ($$1|0)==($164|0);
  7388. if ($165) {
  7389. HEAP32[(38392)>>2] = $101;
  7390. return;
  7391. } else {
  7392. $$2 = $101;
  7393. }
  7394. } else {
  7395. $166 = $83 & -2;
  7396. HEAP32[$82>>2] = $166;
  7397. $167 = $$1365 | 1;
  7398. $168 = ((($$1)) + 4|0);
  7399. HEAP32[$168>>2] = $167;
  7400. $169 = (($$1) + ($$1365)|0);
  7401. HEAP32[$169>>2] = $$1365;
  7402. $$2 = $$1365;
  7403. }
  7404. $170 = $$2 >>> 3;
  7405. $171 = ($$2>>>0)<(256);
  7406. if ($171) {
  7407. $172 = $170 << 1;
  7408. $173 = (38424 + ($172<<2)|0);
  7409. $174 = HEAP32[9596]|0;
  7410. $175 = 1 << $170;
  7411. $176 = $174 & $175;
  7412. $177 = ($176|0)==(0);
  7413. if ($177) {
  7414. $178 = $174 | $175;
  7415. HEAP32[9596] = $178;
  7416. $$pre = ((($173)) + 8|0);
  7417. $$0385 = $173;$$pre$phiZ2D = $$pre;
  7418. } else {
  7419. $179 = ((($173)) + 8|0);
  7420. $180 = HEAP32[$179>>2]|0;
  7421. $$0385 = $180;$$pre$phiZ2D = $179;
  7422. }
  7423. HEAP32[$$pre$phiZ2D>>2] = $$1;
  7424. $181 = ((($$0385)) + 12|0);
  7425. HEAP32[$181>>2] = $$1;
  7426. $182 = ((($$1)) + 8|0);
  7427. HEAP32[$182>>2] = $$0385;
  7428. $183 = ((($$1)) + 12|0);
  7429. HEAP32[$183>>2] = $173;
  7430. return;
  7431. }
  7432. $184 = $$2 >>> 8;
  7433. $185 = ($184|0)==(0);
  7434. if ($185) {
  7435. $$0378 = 0;
  7436. } else {
  7437. $186 = ($$2>>>0)>(16777215);
  7438. if ($186) {
  7439. $$0378 = 31;
  7440. } else {
  7441. $187 = (($184) + 1048320)|0;
  7442. $188 = $187 >>> 16;
  7443. $189 = $188 & 8;
  7444. $190 = $184 << $189;
  7445. $191 = (($190) + 520192)|0;
  7446. $192 = $191 >>> 16;
  7447. $193 = $192 & 4;
  7448. $194 = $193 | $189;
  7449. $195 = $190 << $193;
  7450. $196 = (($195) + 245760)|0;
  7451. $197 = $196 >>> 16;
  7452. $198 = $197 & 2;
  7453. $199 = $194 | $198;
  7454. $200 = (14 - ($199))|0;
  7455. $201 = $195 << $198;
  7456. $202 = $201 >>> 15;
  7457. $203 = (($200) + ($202))|0;
  7458. $204 = $203 << 1;
  7459. $205 = (($203) + 7)|0;
  7460. $206 = $$2 >>> $205;
  7461. $207 = $206 & 1;
  7462. $208 = $207 | $204;
  7463. $$0378 = $208;
  7464. }
  7465. }
  7466. $209 = (38688 + ($$0378<<2)|0);
  7467. $210 = ((($$1)) + 28|0);
  7468. HEAP32[$210>>2] = $$0378;
  7469. $211 = ((($$1)) + 16|0);
  7470. $212 = ((($$1)) + 20|0);
  7471. HEAP32[$212>>2] = 0;
  7472. HEAP32[$211>>2] = 0;
  7473. $213 = HEAP32[(38388)>>2]|0;
  7474. $214 = 1 << $$0378;
  7475. $215 = $213 & $214;
  7476. $216 = ($215|0)==(0);
  7477. if ($216) {
  7478. $217 = $213 | $214;
  7479. HEAP32[(38388)>>2] = $217;
  7480. HEAP32[$209>>2] = $$1;
  7481. $218 = ((($$1)) + 24|0);
  7482. HEAP32[$218>>2] = $209;
  7483. $219 = ((($$1)) + 12|0);
  7484. HEAP32[$219>>2] = $$1;
  7485. $220 = ((($$1)) + 8|0);
  7486. HEAP32[$220>>2] = $$1;
  7487. return;
  7488. }
  7489. $221 = HEAP32[$209>>2]|0;
  7490. $222 = ($$0378|0)==(31);
  7491. $223 = $$0378 >>> 1;
  7492. $224 = (25 - ($223))|0;
  7493. $225 = $222 ? 0 : $224;
  7494. $226 = $$2 << $225;
  7495. $$0366 = $226;$$0367 = $221;
  7496. while(1) {
  7497. $227 = ((($$0367)) + 4|0);
  7498. $228 = HEAP32[$227>>2]|0;
  7499. $229 = $228 & -8;
  7500. $230 = ($229|0)==($$2|0);
  7501. if ($230) {
  7502. label = 69;
  7503. break;
  7504. }
  7505. $231 = $$0366 >>> 31;
  7506. $232 = (((($$0367)) + 16|0) + ($231<<2)|0);
  7507. $233 = $$0366 << 1;
  7508. $234 = HEAP32[$232>>2]|0;
  7509. $235 = ($234|0)==(0|0);
  7510. if ($235) {
  7511. label = 68;
  7512. break;
  7513. } else {
  7514. $$0366 = $233;$$0367 = $234;
  7515. }
  7516. }
  7517. if ((label|0) == 68) {
  7518. HEAP32[$232>>2] = $$1;
  7519. $236 = ((($$1)) + 24|0);
  7520. HEAP32[$236>>2] = $$0367;
  7521. $237 = ((($$1)) + 12|0);
  7522. HEAP32[$237>>2] = $$1;
  7523. $238 = ((($$1)) + 8|0);
  7524. HEAP32[$238>>2] = $$1;
  7525. return;
  7526. }
  7527. else if ((label|0) == 69) {
  7528. $239 = ((($$0367)) + 8|0);
  7529. $240 = HEAP32[$239>>2]|0;
  7530. $241 = ((($240)) + 12|0);
  7531. HEAP32[$241>>2] = $$1;
  7532. HEAP32[$239>>2] = $$1;
  7533. $242 = ((($$1)) + 8|0);
  7534. HEAP32[$242>>2] = $240;
  7535. $243 = ((($$1)) + 12|0);
  7536. HEAP32[$243>>2] = $$0367;
  7537. $244 = ((($$1)) + 24|0);
  7538. HEAP32[$244>>2] = 0;
  7539. return;
  7540. }
  7541. }
  7542. function _emscripten_get_global_libc() {
  7543. var label = 0, sp = 0;
  7544. sp = STACKTOP;
  7545. return (38880|0);
  7546. }
  7547. function ___stdio_close($0) {
  7548. $0 = $0|0;
  7549. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
  7550. sp = STACKTOP;
  7551. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  7552. $vararg_buffer = sp;
  7553. $1 = ((($0)) + 60|0);
  7554. $2 = HEAP32[$1>>2]|0;
  7555. $3 = (_dummy_570($2)|0);
  7556. HEAP32[$vararg_buffer>>2] = $3;
  7557. $4 = (___syscall6(6,($vararg_buffer|0))|0);
  7558. $5 = (___syscall_ret($4)|0);
  7559. STACKTOP = sp;return ($5|0);
  7560. }
  7561. function ___stdio_write($0,$1,$2) {
  7562. $0 = $0|0;
  7563. $1 = $1|0;
  7564. $2 = $2|0;
  7565. var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
  7566. var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
  7567. var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0;
  7568. var $vararg_ptr7 = 0, label = 0, sp = 0;
  7569. sp = STACKTOP;
  7570. STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
  7571. $vararg_buffer3 = sp + 16|0;
  7572. $vararg_buffer = sp;
  7573. $3 = sp + 32|0;
  7574. $4 = ((($0)) + 28|0);
  7575. $5 = HEAP32[$4>>2]|0;
  7576. HEAP32[$3>>2] = $5;
  7577. $6 = ((($3)) + 4|0);
  7578. $7 = ((($0)) + 20|0);
  7579. $8 = HEAP32[$7>>2]|0;
  7580. $9 = (($8) - ($5))|0;
  7581. HEAP32[$6>>2] = $9;
  7582. $10 = ((($3)) + 8|0);
  7583. HEAP32[$10>>2] = $1;
  7584. $11 = ((($3)) + 12|0);
  7585. HEAP32[$11>>2] = $2;
  7586. $12 = (($9) + ($2))|0;
  7587. $13 = ((($0)) + 60|0);
  7588. $14 = HEAP32[$13>>2]|0;
  7589. $15 = $3;
  7590. HEAP32[$vararg_buffer>>2] = $14;
  7591. $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
  7592. HEAP32[$vararg_ptr1>>2] = $15;
  7593. $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
  7594. HEAP32[$vararg_ptr2>>2] = 2;
  7595. $16 = (___syscall146(146,($vararg_buffer|0))|0);
  7596. $17 = (___syscall_ret($16)|0);
  7597. $18 = ($12|0)==($17|0);
  7598. L1: do {
  7599. if ($18) {
  7600. label = 3;
  7601. } else {
  7602. $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17;
  7603. while(1) {
  7604. $25 = ($26|0)<(0);
  7605. if ($25) {
  7606. break;
  7607. }
  7608. $34 = (($$04855) - ($26))|0;
  7609. $35 = ((($$04954)) + 4|0);
  7610. $36 = HEAP32[$35>>2]|0;
  7611. $37 = ($26>>>0)>($36>>>0);
  7612. $38 = ((($$04954)) + 8|0);
  7613. $$150 = $37 ? $38 : $$04954;
  7614. $39 = $37 << 31 >> 31;
  7615. $$1 = (($39) + ($$04756))|0;
  7616. $40 = $37 ? $36 : 0;
  7617. $$0 = (($26) - ($40))|0;
  7618. $41 = HEAP32[$$150>>2]|0;
  7619. $42 = (($41) + ($$0)|0);
  7620. HEAP32[$$150>>2] = $42;
  7621. $43 = ((($$150)) + 4|0);
  7622. $44 = HEAP32[$43>>2]|0;
  7623. $45 = (($44) - ($$0))|0;
  7624. HEAP32[$43>>2] = $45;
  7625. $46 = HEAP32[$13>>2]|0;
  7626. $47 = $$150;
  7627. HEAP32[$vararg_buffer3>>2] = $46;
  7628. $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
  7629. HEAP32[$vararg_ptr6>>2] = $47;
  7630. $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
  7631. HEAP32[$vararg_ptr7>>2] = $$1;
  7632. $48 = (___syscall146(146,($vararg_buffer3|0))|0);
  7633. $49 = (___syscall_ret($48)|0);
  7634. $50 = ($34|0)==($49|0);
  7635. if ($50) {
  7636. label = 3;
  7637. break L1;
  7638. } else {
  7639. $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49;
  7640. }
  7641. }
  7642. $27 = ((($0)) + 16|0);
  7643. HEAP32[$27>>2] = 0;
  7644. HEAP32[$4>>2] = 0;
  7645. HEAP32[$7>>2] = 0;
  7646. $28 = HEAP32[$0>>2]|0;
  7647. $29 = $28 | 32;
  7648. HEAP32[$0>>2] = $29;
  7649. $30 = ($$04756|0)==(2);
  7650. if ($30) {
  7651. $$051 = 0;
  7652. } else {
  7653. $31 = ((($$04954)) + 4|0);
  7654. $32 = HEAP32[$31>>2]|0;
  7655. $33 = (($2) - ($32))|0;
  7656. $$051 = $33;
  7657. }
  7658. }
  7659. } while(0);
  7660. if ((label|0) == 3) {
  7661. $19 = ((($0)) + 44|0);
  7662. $20 = HEAP32[$19>>2]|0;
  7663. $21 = ((($0)) + 48|0);
  7664. $22 = HEAP32[$21>>2]|0;
  7665. $23 = (($20) + ($22)|0);
  7666. $24 = ((($0)) + 16|0);
  7667. HEAP32[$24>>2] = $23;
  7668. HEAP32[$4>>2] = $20;
  7669. HEAP32[$7>>2] = $20;
  7670. $$051 = $2;
  7671. }
  7672. STACKTOP = sp;return ($$051|0);
  7673. }
  7674. function ___stdio_seek($0,$1,$2) {
  7675. $0 = $0|0;
  7676. $1 = $1|0;
  7677. $2 = $2|0;
  7678. var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
  7679. sp = STACKTOP;
  7680. STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
  7681. $vararg_buffer = sp;
  7682. $3 = sp + 20|0;
  7683. $4 = ((($0)) + 60|0);
  7684. $5 = HEAP32[$4>>2]|0;
  7685. $6 = $3;
  7686. HEAP32[$vararg_buffer>>2] = $5;
  7687. $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
  7688. HEAP32[$vararg_ptr1>>2] = 0;
  7689. $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
  7690. HEAP32[$vararg_ptr2>>2] = $1;
  7691. $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
  7692. HEAP32[$vararg_ptr3>>2] = $6;
  7693. $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
  7694. HEAP32[$vararg_ptr4>>2] = $2;
  7695. $7 = (___syscall140(140,($vararg_buffer|0))|0);
  7696. $8 = (___syscall_ret($7)|0);
  7697. $9 = ($8|0)<(0);
  7698. if ($9) {
  7699. HEAP32[$3>>2] = -1;
  7700. $10 = -1;
  7701. } else {
  7702. $$pre = HEAP32[$3>>2]|0;
  7703. $10 = $$pre;
  7704. }
  7705. STACKTOP = sp;return ($10|0);
  7706. }
  7707. function ___syscall_ret($0) {
  7708. $0 = $0|0;
  7709. var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  7710. sp = STACKTOP;
  7711. $1 = ($0>>>0)>(4294963200);
  7712. if ($1) {
  7713. $2 = (0 - ($0))|0;
  7714. $3 = (___errno_location()|0);
  7715. HEAP32[$3>>2] = $2;
  7716. $$0 = -1;
  7717. } else {
  7718. $$0 = $0;
  7719. }
  7720. return ($$0|0);
  7721. }
  7722. function ___errno_location() {
  7723. var $0 = 0, $1 = 0, label = 0, sp = 0;
  7724. sp = STACKTOP;
  7725. $0 = (___pthread_self_103()|0);
  7726. $1 = ((($0)) + 64|0);
  7727. return ($1|0);
  7728. }
  7729. function ___pthread_self_103() {
  7730. var $0 = 0, label = 0, sp = 0;
  7731. sp = STACKTOP;
  7732. $0 = (_pthread_self()|0);
  7733. return ($0|0);
  7734. }
  7735. function _pthread_self() {
  7736. var label = 0, sp = 0;
  7737. sp = STACKTOP;
  7738. return (588|0);
  7739. }
  7740. function _dummy_570($0) {
  7741. $0 = $0|0;
  7742. var label = 0, sp = 0;
  7743. sp = STACKTOP;
  7744. return ($0|0);
  7745. }
  7746. function ___stdout_write($0,$1,$2) {
  7747. $0 = $0|0;
  7748. $1 = $1|0;
  7749. $2 = $2|0;
  7750. var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
  7751. sp = STACKTOP;
  7752. STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
  7753. $vararg_buffer = sp;
  7754. $3 = sp + 16|0;
  7755. $4 = ((($0)) + 36|0);
  7756. HEAP32[$4>>2] = 23;
  7757. $5 = HEAP32[$0>>2]|0;
  7758. $6 = $5 & 64;
  7759. $7 = ($6|0)==(0);
  7760. if ($7) {
  7761. $8 = ((($0)) + 60|0);
  7762. $9 = HEAP32[$8>>2]|0;
  7763. $10 = $3;
  7764. HEAP32[$vararg_buffer>>2] = $9;
  7765. $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
  7766. HEAP32[$vararg_ptr1>>2] = 21523;
  7767. $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
  7768. HEAP32[$vararg_ptr2>>2] = $10;
  7769. $11 = (___syscall54(54,($vararg_buffer|0))|0);
  7770. $12 = ($11|0)==(0);
  7771. if (!($12)) {
  7772. $13 = ((($0)) + 75|0);
  7773. HEAP8[$13>>0] = -1;
  7774. }
  7775. }
  7776. $14 = (___stdio_write($0,$1,$2)|0);
  7777. STACKTOP = sp;return ($14|0);
  7778. }
  7779. function ___shlim($0,$1) {
  7780. $0 = $0|0;
  7781. $1 = $1|0;
  7782. var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
  7783. sp = STACKTOP;
  7784. $2 = ((($0)) + 104|0);
  7785. HEAP32[$2>>2] = $1;
  7786. $3 = ((($0)) + 8|0);
  7787. $4 = HEAP32[$3>>2]|0;
  7788. $5 = ((($0)) + 4|0);
  7789. $6 = HEAP32[$5>>2]|0;
  7790. $7 = $4;
  7791. $8 = $6;
  7792. $9 = (($7) - ($8))|0;
  7793. $10 = ((($0)) + 108|0);
  7794. HEAP32[$10>>2] = $9;
  7795. $11 = ($1|0)!=(0);
  7796. $12 = ($9|0)>($1|0);
  7797. $or$cond = $11 & $12;
  7798. $13 = (($6) + ($1)|0);
  7799. $$sink = $or$cond ? $13 : $4;
  7800. $14 = ((($0)) + 100|0);
  7801. HEAP32[$14>>2] = $$sink;
  7802. return;
  7803. }
  7804. function ___intscan($0,$1,$2,$3,$4) {
  7805. $0 = $0|0;
  7806. $1 = $1|0;
  7807. $2 = $2|0;
  7808. $3 = $3|0;
  7809. $4 = $4|0;
  7810. var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0;
  7811. var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
  7812. var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
  7813. var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
  7814. var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
  7815. var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
  7816. var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
  7817. var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
  7818. var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
  7819. var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
  7820. var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
  7821. var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0;
  7822. var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
  7823. var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
  7824. var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
  7825. var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0;
  7826. var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0;
  7827. sp = STACKTOP;
  7828. $5 = ($1>>>0)>(36);
  7829. L1: do {
  7830. if ($5) {
  7831. $8 = (___errno_location()|0);
  7832. HEAP32[$8>>2] = 22;
  7833. $289 = 0;$290 = 0;
  7834. } else {
  7835. $6 = ((($0)) + 4|0);
  7836. $7 = ((($0)) + 100|0);
  7837. while(1) {
  7838. $9 = HEAP32[$6>>2]|0;
  7839. $10 = HEAP32[$7>>2]|0;
  7840. $11 = ($9>>>0)<($10>>>0);
  7841. if ($11) {
  7842. $12 = ((($9)) + 1|0);
  7843. HEAP32[$6>>2] = $12;
  7844. $13 = HEAP8[$9>>0]|0;
  7845. $14 = $13&255;
  7846. $16 = $14;
  7847. } else {
  7848. $15 = (___shgetc($0)|0);
  7849. $16 = $15;
  7850. }
  7851. $17 = (_isspace($16)|0);
  7852. $18 = ($17|0)==(0);
  7853. if ($18) {
  7854. break;
  7855. }
  7856. }
  7857. L11: do {
  7858. switch ($16|0) {
  7859. case 43: case 45: {
  7860. $19 = ($16|0)==(45);
  7861. $20 = $19 << 31 >> 31;
  7862. $21 = HEAP32[$6>>2]|0;
  7863. $22 = HEAP32[$7>>2]|0;
  7864. $23 = ($21>>>0)<($22>>>0);
  7865. if ($23) {
  7866. $24 = ((($21)) + 1|0);
  7867. HEAP32[$6>>2] = $24;
  7868. $25 = HEAP8[$21>>0]|0;
  7869. $26 = $25&255;
  7870. $$0157 = $20;$$0159 = $26;
  7871. break L11;
  7872. } else {
  7873. $27 = (___shgetc($0)|0);
  7874. $$0157 = $20;$$0159 = $27;
  7875. break L11;
  7876. }
  7877. break;
  7878. }
  7879. default: {
  7880. $$0157 = 0;$$0159 = $16;
  7881. }
  7882. }
  7883. } while(0);
  7884. $28 = ($1|0)==(0);
  7885. $29 = $1 | 16;
  7886. $30 = ($29|0)==(16);
  7887. $31 = ($$0159|0)==(48);
  7888. $or$cond5 = $30 & $31;
  7889. do {
  7890. if ($or$cond5) {
  7891. $32 = HEAP32[$6>>2]|0;
  7892. $33 = HEAP32[$7>>2]|0;
  7893. $34 = ($32>>>0)<($33>>>0);
  7894. if ($34) {
  7895. $35 = ((($32)) + 1|0);
  7896. HEAP32[$6>>2] = $35;
  7897. $36 = HEAP8[$32>>0]|0;
  7898. $37 = $36&255;
  7899. $40 = $37;
  7900. } else {
  7901. $38 = (___shgetc($0)|0);
  7902. $40 = $38;
  7903. }
  7904. $39 = $40 | 32;
  7905. $41 = ($39|0)==(120);
  7906. if (!($41)) {
  7907. if ($28) {
  7908. $$1160169 = $40;$$1165168 = 8;
  7909. label = 46;
  7910. break;
  7911. } else {
  7912. $$1160 = $40;$$1165 = $1;
  7913. label = 32;
  7914. break;
  7915. }
  7916. }
  7917. $42 = HEAP32[$6>>2]|0;
  7918. $43 = HEAP32[$7>>2]|0;
  7919. $44 = ($42>>>0)<($43>>>0);
  7920. if ($44) {
  7921. $45 = ((($42)) + 1|0);
  7922. HEAP32[$6>>2] = $45;
  7923. $46 = HEAP8[$42>>0]|0;
  7924. $47 = $46&255;
  7925. $50 = $47;
  7926. } else {
  7927. $48 = (___shgetc($0)|0);
  7928. $50 = $48;
  7929. }
  7930. $49 = ((2693) + ($50)|0);
  7931. $51 = HEAP8[$49>>0]|0;
  7932. $52 = ($51&255)>(15);
  7933. if ($52) {
  7934. $53 = HEAP32[$7>>2]|0;
  7935. $54 = ($53|0)!=(0|0);
  7936. if ($54) {
  7937. $55 = HEAP32[$6>>2]|0;
  7938. $56 = ((($55)) + -1|0);
  7939. HEAP32[$6>>2] = $56;
  7940. }
  7941. $57 = ($2|0)==(0);
  7942. if ($57) {
  7943. ___shlim($0,0);
  7944. $289 = 0;$290 = 0;
  7945. break L1;
  7946. }
  7947. if (!($54)) {
  7948. $289 = 0;$290 = 0;
  7949. break L1;
  7950. }
  7951. $58 = HEAP32[$6>>2]|0;
  7952. $59 = ((($58)) + -1|0);
  7953. HEAP32[$6>>2] = $59;
  7954. $289 = 0;$290 = 0;
  7955. break L1;
  7956. } else {
  7957. $$1160169 = $50;$$1165168 = 16;
  7958. label = 46;
  7959. }
  7960. } else {
  7961. $$166 = $28 ? 10 : $1;
  7962. $60 = ((2693) + ($$0159)|0);
  7963. $61 = HEAP8[$60>>0]|0;
  7964. $62 = $61&255;
  7965. $63 = ($62>>>0)<($$166>>>0);
  7966. if ($63) {
  7967. $$1160 = $$0159;$$1165 = $$166;
  7968. label = 32;
  7969. } else {
  7970. $64 = HEAP32[$7>>2]|0;
  7971. $65 = ($64|0)==(0|0);
  7972. if (!($65)) {
  7973. $66 = HEAP32[$6>>2]|0;
  7974. $67 = ((($66)) + -1|0);
  7975. HEAP32[$6>>2] = $67;
  7976. }
  7977. ___shlim($0,0);
  7978. $68 = (___errno_location()|0);
  7979. HEAP32[$68>>2] = 22;
  7980. $289 = 0;$290 = 0;
  7981. break L1;
  7982. }
  7983. }
  7984. } while(0);
  7985. L43: do {
  7986. if ((label|0) == 32) {
  7987. $69 = ($$1165|0)==(10);
  7988. if ($69) {
  7989. $70 = (($$1160) + -48)|0;
  7990. $71 = ($70>>>0)<(10);
  7991. if ($71) {
  7992. $$0154222 = 0;$74 = $70;
  7993. while(1) {
  7994. $72 = ($$0154222*10)|0;
  7995. $73 = (($72) + ($74))|0;
  7996. $75 = HEAP32[$6>>2]|0;
  7997. $76 = HEAP32[$7>>2]|0;
  7998. $77 = ($75>>>0)<($76>>>0);
  7999. if ($77) {
  8000. $78 = ((($75)) + 1|0);
  8001. HEAP32[$6>>2] = $78;
  8002. $79 = HEAP8[$75>>0]|0;
  8003. $80 = $79&255;
  8004. $$2161$be = $80;
  8005. } else {
  8006. $81 = (___shgetc($0)|0);
  8007. $$2161$be = $81;
  8008. }
  8009. $82 = (($$2161$be) + -48)|0;
  8010. $83 = ($82>>>0)<(10);
  8011. $84 = ($73>>>0)<(429496729);
  8012. $85 = $83 & $84;
  8013. if ($85) {
  8014. $$0154222 = $73;$74 = $82;
  8015. } else {
  8016. break;
  8017. }
  8018. }
  8019. $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0;
  8020. } else {
  8021. $$2161$lcssa = $$1160;$291 = 0;$292 = 0;
  8022. }
  8023. $86 = (($$2161$lcssa) + -48)|0;
  8024. $87 = ($86>>>0)<(10);
  8025. if ($87) {
  8026. $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86;
  8027. while(1) {
  8028. $90 = (___muldi3(($88|0),($89|0),10,0)|0);
  8029. $91 = tempRet0;
  8030. $92 = ($93|0)<(0);
  8031. $94 = $92 << 31 >> 31;
  8032. $95 = $93 ^ -1;
  8033. $96 = $94 ^ -1;
  8034. $97 = ($91>>>0)>($96>>>0);
  8035. $98 = ($90>>>0)>($95>>>0);
  8036. $99 = ($91|0)==($96|0);
  8037. $100 = $99 & $98;
  8038. $101 = $97 | $100;
  8039. if ($101) {
  8040. $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89;
  8041. label = 72;
  8042. break L43;
  8043. }
  8044. $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0);
  8045. $103 = tempRet0;
  8046. $104 = HEAP32[$6>>2]|0;
  8047. $105 = HEAP32[$7>>2]|0;
  8048. $106 = ($104>>>0)<($105>>>0);
  8049. if ($106) {
  8050. $107 = ((($104)) + 1|0);
  8051. HEAP32[$6>>2] = $107;
  8052. $108 = HEAP8[$104>>0]|0;
  8053. $109 = $108&255;
  8054. $$3162$be = $109;
  8055. } else {
  8056. $110 = (___shgetc($0)|0);
  8057. $$3162$be = $110;
  8058. }
  8059. $111 = (($$3162$be) + -48)|0;
  8060. $112 = ($111>>>0)<(10);
  8061. $113 = ($103>>>0)<(429496729);
  8062. $114 = ($102>>>0)<(2576980378);
  8063. $115 = ($103|0)==(429496729);
  8064. $116 = $115 & $114;
  8065. $117 = $113 | $116;
  8066. $or$cond7 = $112 & $117;
  8067. if ($or$cond7) {
  8068. $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111;
  8069. } else {
  8070. break;
  8071. }
  8072. }
  8073. $118 = ($111>>>0)>(9);
  8074. if ($118) {
  8075. $$1158 = $$0157;$263 = $103;$265 = $102;
  8076. } else {
  8077. $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103;
  8078. label = 72;
  8079. }
  8080. } else {
  8081. $$1158 = $$0157;$263 = $292;$265 = $291;
  8082. }
  8083. } else {
  8084. $$1160169 = $$1160;$$1165168 = $$1165;
  8085. label = 46;
  8086. }
  8087. }
  8088. } while(0);
  8089. L63: do {
  8090. if ((label|0) == 46) {
  8091. $119 = (($$1165168) + -1)|0;
  8092. $120 = $119 & $$1165168;
  8093. $121 = ($120|0)==(0);
  8094. if ($121) {
  8095. $126 = ($$1165168*23)|0;
  8096. $127 = $126 >>> 5;
  8097. $128 = $127 & 7;
  8098. $129 = (2949 + ($128)|0);
  8099. $130 = HEAP8[$129>>0]|0;
  8100. $131 = $130 << 24 >> 24;
  8101. $132 = ((2693) + ($$1160169)|0);
  8102. $133 = HEAP8[$132>>0]|0;
  8103. $134 = $133&255;
  8104. $135 = ($134>>>0)<($$1165168>>>0);
  8105. if ($135) {
  8106. $$1155192 = 0;$138 = $134;
  8107. while(1) {
  8108. $136 = $$1155192 << $131;
  8109. $137 = $138 | $136;
  8110. $139 = HEAP32[$6>>2]|0;
  8111. $140 = HEAP32[$7>>2]|0;
  8112. $141 = ($139>>>0)<($140>>>0);
  8113. if ($141) {
  8114. $142 = ((($139)) + 1|0);
  8115. HEAP32[$6>>2] = $142;
  8116. $143 = HEAP8[$139>>0]|0;
  8117. $144 = $143&255;
  8118. $$4163$be = $144;
  8119. } else {
  8120. $145 = (___shgetc($0)|0);
  8121. $$4163$be = $145;
  8122. }
  8123. $146 = ((2693) + ($$4163$be)|0);
  8124. $147 = HEAP8[$146>>0]|0;
  8125. $148 = $147&255;
  8126. $149 = ($148>>>0)<($$1165168>>>0);
  8127. $150 = ($137>>>0)<(134217728);
  8128. $151 = $150 & $149;
  8129. if ($151) {
  8130. $$1155192 = $137;$138 = $148;
  8131. } else {
  8132. break;
  8133. }
  8134. }
  8135. $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137;
  8136. } else {
  8137. $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0;
  8138. }
  8139. $152 = (_bitshift64Lshr(-1,-1,($131|0))|0);
  8140. $153 = tempRet0;
  8141. $154 = $155&255;
  8142. $156 = ($154>>>0)>=($$1165168>>>0);
  8143. $157 = ($158>>>0)>($153>>>0);
  8144. $159 = ($160>>>0)>($152>>>0);
  8145. $161 = ($158|0)==($153|0);
  8146. $162 = $161 & $159;
  8147. $163 = $157 | $162;
  8148. $or$cond187 = $156 | $163;
  8149. if ($or$cond187) {
  8150. $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158;
  8151. label = 72;
  8152. break;
  8153. } else {
  8154. $164 = $160;$165 = $158;$169 = $155;
  8155. }
  8156. while(1) {
  8157. $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0);
  8158. $167 = tempRet0;
  8159. $168 = $169&255;
  8160. $170 = $168 | $166;
  8161. $171 = HEAP32[$6>>2]|0;
  8162. $172 = HEAP32[$7>>2]|0;
  8163. $173 = ($171>>>0)<($172>>>0);
  8164. if ($173) {
  8165. $174 = ((($171)) + 1|0);
  8166. HEAP32[$6>>2] = $174;
  8167. $175 = HEAP8[$171>>0]|0;
  8168. $176 = $175&255;
  8169. $$5$be = $176;
  8170. } else {
  8171. $177 = (___shgetc($0)|0);
  8172. $$5$be = $177;
  8173. }
  8174. $178 = ((2693) + ($$5$be)|0);
  8175. $179 = HEAP8[$178>>0]|0;
  8176. $180 = $179&255;
  8177. $181 = ($180>>>0)>=($$1165168>>>0);
  8178. $182 = ($167>>>0)>($153>>>0);
  8179. $183 = ($170>>>0)>($152>>>0);
  8180. $184 = ($167|0)==($153|0);
  8181. $185 = $184 & $183;
  8182. $186 = $182 | $185;
  8183. $or$cond = $181 | $186;
  8184. if ($or$cond) {
  8185. $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167;
  8186. label = 72;
  8187. break L63;
  8188. } else {
  8189. $164 = $170;$165 = $167;$169 = $179;
  8190. }
  8191. }
  8192. }
  8193. $122 = ((2693) + ($$1160169)|0);
  8194. $123 = HEAP8[$122>>0]|0;
  8195. $124 = $123&255;
  8196. $125 = ($124>>>0)<($$1165168>>>0);
  8197. if ($125) {
  8198. $$2156210 = 0;$189 = $124;
  8199. while(1) {
  8200. $187 = Math_imul($$2156210, $$1165168)|0;
  8201. $188 = (($189) + ($187))|0;
  8202. $190 = HEAP32[$6>>2]|0;
  8203. $191 = HEAP32[$7>>2]|0;
  8204. $192 = ($190>>>0)<($191>>>0);
  8205. if ($192) {
  8206. $193 = ((($190)) + 1|0);
  8207. HEAP32[$6>>2] = $193;
  8208. $194 = HEAP8[$190>>0]|0;
  8209. $195 = $194&255;
  8210. $$6$be = $195;
  8211. } else {
  8212. $196 = (___shgetc($0)|0);
  8213. $$6$be = $196;
  8214. }
  8215. $197 = ((2693) + ($$6$be)|0);
  8216. $198 = HEAP8[$197>>0]|0;
  8217. $199 = $198&255;
  8218. $200 = ($199>>>0)<($$1165168>>>0);
  8219. $201 = ($188>>>0)<(119304647);
  8220. $202 = $201 & $200;
  8221. if ($202) {
  8222. $$2156210 = $188;$189 = $199;
  8223. } else {
  8224. break;
  8225. }
  8226. }
  8227. $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0;
  8228. } else {
  8229. $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0;
  8230. }
  8231. $203 = $204&255;
  8232. $205 = ($203>>>0)<($$1165168>>>0);
  8233. if ($205) {
  8234. $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0);
  8235. $207 = tempRet0;
  8236. $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204;
  8237. while(1) {
  8238. $208 = ($209>>>0)>($207>>>0);
  8239. $210 = ($211>>>0)>($206>>>0);
  8240. $212 = ($209|0)==($207|0);
  8241. $213 = $212 & $210;
  8242. $214 = $208 | $213;
  8243. if ($214) {
  8244. $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209;
  8245. label = 72;
  8246. break L63;
  8247. }
  8248. $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0);
  8249. $216 = tempRet0;
  8250. $217 = $218&255;
  8251. $219 = $217 ^ -1;
  8252. $220 = ($216>>>0)>(4294967295);
  8253. $221 = ($215>>>0)>($219>>>0);
  8254. $222 = ($216|0)==(-1);
  8255. $223 = $222 & $221;
  8256. $224 = $220 | $223;
  8257. if ($224) {
  8258. $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209;
  8259. label = 72;
  8260. break L63;
  8261. }
  8262. $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0);
  8263. $226 = tempRet0;
  8264. $227 = HEAP32[$6>>2]|0;
  8265. $228 = HEAP32[$7>>2]|0;
  8266. $229 = ($227>>>0)<($228>>>0);
  8267. if ($229) {
  8268. $230 = ((($227)) + 1|0);
  8269. HEAP32[$6>>2] = $230;
  8270. $231 = HEAP8[$227>>0]|0;
  8271. $232 = $231&255;
  8272. $$7$be = $232;
  8273. } else {
  8274. $233 = (___shgetc($0)|0);
  8275. $$7$be = $233;
  8276. }
  8277. $234 = ((2693) + ($$7$be)|0);
  8278. $235 = HEAP8[$234>>0]|0;
  8279. $236 = $235&255;
  8280. $237 = ($236>>>0)<($$1165168>>>0);
  8281. if ($237) {
  8282. $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235;
  8283. } else {
  8284. $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226;
  8285. label = 72;
  8286. break;
  8287. }
  8288. }
  8289. } else {
  8290. $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296;
  8291. label = 72;
  8292. }
  8293. }
  8294. } while(0);
  8295. if ((label|0) == 72) {
  8296. $238 = ((2693) + ($$8)|0);
  8297. $239 = HEAP8[$238>>0]|0;
  8298. $240 = $239&255;
  8299. $241 = ($240>>>0)<($$1165167>>>0);
  8300. if ($241) {
  8301. while(1) {
  8302. $242 = HEAP32[$6>>2]|0;
  8303. $243 = HEAP32[$7>>2]|0;
  8304. $244 = ($242>>>0)<($243>>>0);
  8305. if ($244) {
  8306. $245 = ((($242)) + 1|0);
  8307. HEAP32[$6>>2] = $245;
  8308. $246 = HEAP8[$242>>0]|0;
  8309. $247 = $246&255;
  8310. $$9$be = $247;
  8311. } else {
  8312. $248 = (___shgetc($0)|0);
  8313. $$9$be = $248;
  8314. }
  8315. $249 = ((2693) + ($$9$be)|0);
  8316. $250 = HEAP8[$249>>0]|0;
  8317. $251 = $250&255;
  8318. $252 = ($251>>>0)<($$1165167>>>0);
  8319. if (!($252)) {
  8320. break;
  8321. }
  8322. }
  8323. $253 = (___errno_location()|0);
  8324. HEAP32[$253>>2] = 34;
  8325. $254 = $3 & 1;
  8326. $255 = ($254|0)==(0);
  8327. $256 = (0)==(0);
  8328. $257 = $255 & $256;
  8329. $$0157$ = $257 ? $$0157 : 0;
  8330. $$1158 = $$0157$;$263 = $4;$265 = $3;
  8331. } else {
  8332. $$1158 = $$0157;$263 = $294;$265 = $293;
  8333. }
  8334. }
  8335. $258 = HEAP32[$7>>2]|0;
  8336. $259 = ($258|0)==(0|0);
  8337. if (!($259)) {
  8338. $260 = HEAP32[$6>>2]|0;
  8339. $261 = ((($260)) + -1|0);
  8340. HEAP32[$6>>2] = $261;
  8341. }
  8342. $262 = ($263>>>0)<($4>>>0);
  8343. $264 = ($265>>>0)<($3>>>0);
  8344. $266 = ($263|0)==($4|0);
  8345. $267 = $266 & $264;
  8346. $268 = $262 | $267;
  8347. if (!($268)) {
  8348. $269 = $3 & 1;
  8349. $270 = ($269|0)!=(0);
  8350. $271 = (0)!=(0);
  8351. $272 = $270 | $271;
  8352. $273 = ($$1158|0)!=(0);
  8353. $or$cond12 = $272 | $273;
  8354. if (!($or$cond12)) {
  8355. $274 = (___errno_location()|0);
  8356. HEAP32[$274>>2] = 34;
  8357. $275 = (_i64Add(($3|0),($4|0),-1,-1)|0);
  8358. $276 = tempRet0;
  8359. $289 = $276;$290 = $275;
  8360. break;
  8361. }
  8362. $277 = ($263>>>0)>($4>>>0);
  8363. $278 = ($265>>>0)>($3>>>0);
  8364. $279 = ($263|0)==($4|0);
  8365. $280 = $279 & $278;
  8366. $281 = $277 | $280;
  8367. if ($281) {
  8368. $282 = (___errno_location()|0);
  8369. HEAP32[$282>>2] = 34;
  8370. $289 = $4;$290 = $3;
  8371. break;
  8372. }
  8373. }
  8374. $283 = ($$1158|0)<(0);
  8375. $284 = $283 << 31 >> 31;
  8376. $285 = $265 ^ $$1158;
  8377. $286 = $263 ^ $284;
  8378. $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0);
  8379. $288 = tempRet0;
  8380. $289 = $288;$290 = $287;
  8381. }
  8382. } while(0);
  8383. tempRet0 = ($289);
  8384. return ($290|0);
  8385. }
  8386. function ___shgetc($0) {
  8387. $0 = $0|0;
  8388. var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
  8389. var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
  8390. var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  8391. sp = STACKTOP;
  8392. $1 = ((($0)) + 104|0);
  8393. $2 = HEAP32[$1>>2]|0;
  8394. $3 = ($2|0)==(0);
  8395. if ($3) {
  8396. label = 3;
  8397. } else {
  8398. $4 = ((($0)) + 108|0);
  8399. $5 = HEAP32[$4>>2]|0;
  8400. $6 = ($5|0)<($2|0);
  8401. if ($6) {
  8402. label = 3;
  8403. } else {
  8404. label = 4;
  8405. }
  8406. }
  8407. if ((label|0) == 3) {
  8408. $7 = (___uflow($0)|0);
  8409. $8 = ($7|0)<(0);
  8410. if ($8) {
  8411. label = 4;
  8412. } else {
  8413. $10 = HEAP32[$1>>2]|0;
  8414. $11 = ($10|0)==(0);
  8415. $$phi$trans$insert = ((($0)) + 8|0);
  8416. if ($11) {
  8417. $$pre = HEAP32[$$phi$trans$insert>>2]|0;
  8418. $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0);
  8419. $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0;
  8420. $$pre35 = ((($0)) + 108|0);
  8421. $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre;
  8422. } else {
  8423. $12 = HEAP32[$$phi$trans$insert>>2]|0;
  8424. $13 = ((($0)) + 4|0);
  8425. $14 = HEAP32[$13>>2]|0;
  8426. $15 = $14;
  8427. $16 = (($12) - ($15))|0;
  8428. $17 = ((($0)) + 108|0);
  8429. $18 = HEAP32[$17>>2]|0;
  8430. $19 = (($10) - ($18))|0;
  8431. $20 = ($16|0)<($19|0);
  8432. $21 = $12;
  8433. if ($20) {
  8434. $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14;
  8435. } else {
  8436. $22 = (($19) + -1)|0;
  8437. $23 = (($14) + ($22)|0);
  8438. $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14;
  8439. }
  8440. }
  8441. $24 = ((($0)) + 100|0);
  8442. HEAP32[$24>>2] = $$sink;
  8443. $25 = ($26|0)==(0|0);
  8444. if (!($25)) {
  8445. $27 = $26;
  8446. $28 = $29;
  8447. $30 = HEAP32[$$pre$phi34Z2D>>2]|0;
  8448. $31 = (($27) + 1)|0;
  8449. $32 = (($31) - ($28))|0;
  8450. $33 = (($32) + ($30))|0;
  8451. HEAP32[$$pre$phi34Z2D>>2] = $33;
  8452. }
  8453. $34 = ((($29)) + -1|0);
  8454. $35 = HEAP8[$34>>0]|0;
  8455. $36 = $35&255;
  8456. $37 = ($36|0)==($7|0);
  8457. if ($37) {
  8458. $$0 = $7;
  8459. } else {
  8460. $38 = $7&255;
  8461. HEAP8[$34>>0] = $38;
  8462. $$0 = $7;
  8463. }
  8464. }
  8465. }
  8466. if ((label|0) == 4) {
  8467. $9 = ((($0)) + 100|0);
  8468. HEAP32[$9>>2] = 0;
  8469. $$0 = -1;
  8470. }
  8471. return ($$0|0);
  8472. }
  8473. function _isspace($0) {
  8474. $0 = $0|0;
  8475. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
  8476. sp = STACKTOP;
  8477. $1 = ($0|0)==(32);
  8478. $2 = (($0) + -9)|0;
  8479. $3 = ($2>>>0)<(5);
  8480. $4 = $1 | $3;
  8481. $5 = $4&1;
  8482. return ($5|0);
  8483. }
  8484. function ___uflow($0) {
  8485. $0 = $0|0;
  8486. var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  8487. sp = STACKTOP;
  8488. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  8489. $1 = sp;
  8490. $2 = (___toread($0)|0);
  8491. $3 = ($2|0)==(0);
  8492. if ($3) {
  8493. $4 = ((($0)) + 32|0);
  8494. $5 = HEAP32[$4>>2]|0;
  8495. $6 = (FUNCTION_TABLE_iiii[$5 & 31]($0,$1,1)|0);
  8496. $7 = ($6|0)==(1);
  8497. if ($7) {
  8498. $8 = HEAP8[$1>>0]|0;
  8499. $9 = $8&255;
  8500. $$0 = $9;
  8501. } else {
  8502. $$0 = -1;
  8503. }
  8504. } else {
  8505. $$0 = -1;
  8506. }
  8507. STACKTOP = sp;return ($$0|0);
  8508. }
  8509. function ___toread($0) {
  8510. $0 = $0|0;
  8511. var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
  8512. var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0;
  8513. sp = STACKTOP;
  8514. $1 = ((($0)) + 74|0);
  8515. $2 = HEAP8[$1>>0]|0;
  8516. $3 = $2 << 24 >> 24;
  8517. $4 = (($3) + 255)|0;
  8518. $5 = $4 | $3;
  8519. $6 = $5&255;
  8520. HEAP8[$1>>0] = $6;
  8521. $7 = ((($0)) + 20|0);
  8522. $8 = HEAP32[$7>>2]|0;
  8523. $9 = ((($0)) + 28|0);
  8524. $10 = HEAP32[$9>>2]|0;
  8525. $11 = ($8>>>0)>($10>>>0);
  8526. if ($11) {
  8527. $12 = ((($0)) + 36|0);
  8528. $13 = HEAP32[$12>>2]|0;
  8529. (FUNCTION_TABLE_iiii[$13 & 31]($0,0,0)|0);
  8530. }
  8531. $14 = ((($0)) + 16|0);
  8532. HEAP32[$14>>2] = 0;
  8533. HEAP32[$9>>2] = 0;
  8534. HEAP32[$7>>2] = 0;
  8535. $15 = HEAP32[$0>>2]|0;
  8536. $16 = $15 & 4;
  8537. $17 = ($16|0)==(0);
  8538. if ($17) {
  8539. $19 = ((($0)) + 44|0);
  8540. $20 = HEAP32[$19>>2]|0;
  8541. $21 = ((($0)) + 48|0);
  8542. $22 = HEAP32[$21>>2]|0;
  8543. $23 = (($20) + ($22)|0);
  8544. $24 = ((($0)) + 8|0);
  8545. HEAP32[$24>>2] = $23;
  8546. $25 = ((($0)) + 4|0);
  8547. HEAP32[$25>>2] = $23;
  8548. $26 = $15 << 27;
  8549. $sext = $26 >> 31;
  8550. $$0 = $sext;
  8551. } else {
  8552. $18 = $15 | 32;
  8553. HEAP32[$0>>2] = $18;
  8554. $$0 = -1;
  8555. }
  8556. return ($$0|0);
  8557. }
  8558. function _copysign($0,$1) {
  8559. $0 = +$0;
  8560. $1 = +$1;
  8561. var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0;
  8562. sp = STACKTOP;
  8563. HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
  8564. $3 = HEAP32[tempDoublePtr+4>>2]|0;
  8565. HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0;
  8566. $5 = HEAP32[tempDoublePtr+4>>2]|0;
  8567. $6 = $3 & 2147483647;
  8568. $7 = $5 & -2147483648;
  8569. $8 = $7 | $6;
  8570. HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3];
  8571. return (+$9);
  8572. }
  8573. function _strcmp($0,$1) {
  8574. $0 = $0|0;
  8575. $1 = $1|0;
  8576. var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0;
  8577. var sp = 0;
  8578. sp = STACKTOP;
  8579. $2 = HEAP8[$0>>0]|0;
  8580. $3 = HEAP8[$1>>0]|0;
  8581. $4 = ($2<<24>>24)!=($3<<24>>24);
  8582. $5 = ($2<<24>>24)==(0);
  8583. $or$cond9 = $5 | $4;
  8584. if ($or$cond9) {
  8585. $$lcssa = $3;$$lcssa8 = $2;
  8586. } else {
  8587. $$011 = $1;$$0710 = $0;
  8588. while(1) {
  8589. $6 = ((($$0710)) + 1|0);
  8590. $7 = ((($$011)) + 1|0);
  8591. $8 = HEAP8[$6>>0]|0;
  8592. $9 = HEAP8[$7>>0]|0;
  8593. $10 = ($8<<24>>24)!=($9<<24>>24);
  8594. $11 = ($8<<24>>24)==(0);
  8595. $or$cond = $11 | $10;
  8596. if ($or$cond) {
  8597. $$lcssa = $9;$$lcssa8 = $8;
  8598. break;
  8599. } else {
  8600. $$011 = $7;$$0710 = $6;
  8601. }
  8602. }
  8603. }
  8604. $12 = $$lcssa8&255;
  8605. $13 = $$lcssa&255;
  8606. $14 = (($12) - ($13))|0;
  8607. return ($14|0);
  8608. }
  8609. function _sprintf($0,$1,$varargs) {
  8610. $0 = $0|0;
  8611. $1 = $1|0;
  8612. $varargs = $varargs|0;
  8613. var $2 = 0, $3 = 0, label = 0, sp = 0;
  8614. sp = STACKTOP;
  8615. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  8616. $2 = sp;
  8617. HEAP32[$2>>2] = $varargs;
  8618. $3 = (_vsprintf($0,$1,$2)|0);
  8619. STACKTOP = sp;return ($3|0);
  8620. }
  8621. function _vsprintf($0,$1,$2) {
  8622. $0 = $0|0;
  8623. $1 = $1|0;
  8624. $2 = $2|0;
  8625. var $3 = 0, label = 0, sp = 0;
  8626. sp = STACKTOP;
  8627. $3 = (_vsnprintf($0,2147483647,$1,$2)|0);
  8628. return ($3|0);
  8629. }
  8630. function _vsnprintf($0,$1,$2,$3) {
  8631. $0 = $0|0;
  8632. $1 = $1|0;
  8633. $2 = $2|0;
  8634. $3 = $3|0;
  8635. var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
  8636. var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
  8637. sp = STACKTOP;
  8638. STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
  8639. $4 = sp + 124|0;
  8640. $5 = sp;
  8641. dest=$5; src=960; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
  8642. $6 = (($1) + -1)|0;
  8643. $7 = ($6>>>0)>(2147483646);
  8644. if ($7) {
  8645. $8 = ($1|0)==(0);
  8646. if ($8) {
  8647. $$014 = $4;$$015 = 1;
  8648. label = 4;
  8649. } else {
  8650. $9 = (___errno_location()|0);
  8651. HEAP32[$9>>2] = 75;
  8652. $$0 = -1;
  8653. }
  8654. } else {
  8655. $$014 = $0;$$015 = $1;
  8656. label = 4;
  8657. }
  8658. if ((label|0) == 4) {
  8659. $10 = $$014;
  8660. $11 = (-2 - ($10))|0;
  8661. $12 = ($$015>>>0)>($11>>>0);
  8662. $$$015 = $12 ? $11 : $$015;
  8663. $13 = ((($5)) + 48|0);
  8664. HEAP32[$13>>2] = $$$015;
  8665. $14 = ((($5)) + 20|0);
  8666. HEAP32[$14>>2] = $$014;
  8667. $15 = ((($5)) + 44|0);
  8668. HEAP32[$15>>2] = $$014;
  8669. $16 = (($$014) + ($$$015)|0);
  8670. $17 = ((($5)) + 16|0);
  8671. HEAP32[$17>>2] = $16;
  8672. $18 = ((($5)) + 28|0);
  8673. HEAP32[$18>>2] = $16;
  8674. $19 = (_vfprintf($5,$2,$3)|0);
  8675. $20 = ($$$015|0)==(0);
  8676. if ($20) {
  8677. $$0 = $19;
  8678. } else {
  8679. $21 = HEAP32[$14>>2]|0;
  8680. $22 = HEAP32[$17>>2]|0;
  8681. $23 = ($21|0)==($22|0);
  8682. $24 = $23 << 31 >> 31;
  8683. $25 = (($21) + ($24)|0);
  8684. HEAP8[$25>>0] = 0;
  8685. $$0 = $19;
  8686. }
  8687. }
  8688. STACKTOP = sp;return ($$0|0);
  8689. }
  8690. function _vfprintf($0,$1,$2) {
  8691. $0 = $0|0;
  8692. $1 = $1|0;
  8693. $2 = $2|0;
  8694. var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
  8695. var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
  8696. var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0;
  8697. sp = STACKTOP;
  8698. STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
  8699. $3 = sp + 120|0;
  8700. $4 = sp + 80|0;
  8701. $5 = sp;
  8702. $6 = sp + 136|0;
  8703. dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
  8704. $vacopy_currentptr = HEAP32[$2>>2]|0;
  8705. HEAP32[$3>>2] = $vacopy_currentptr;
  8706. $7 = (_printf_core(0,$1,$3,$5,$4)|0);
  8707. $8 = ($7|0)<(0);
  8708. if ($8) {
  8709. $$0 = -1;
  8710. } else {
  8711. $9 = ((($0)) + 76|0);
  8712. $10 = HEAP32[$9>>2]|0;
  8713. $11 = ($10|0)>(-1);
  8714. if ($11) {
  8715. $12 = (___lockfile($0)|0);
  8716. $40 = $12;
  8717. } else {
  8718. $40 = 0;
  8719. }
  8720. $13 = HEAP32[$0>>2]|0;
  8721. $14 = $13 & 32;
  8722. $15 = ((($0)) + 74|0);
  8723. $16 = HEAP8[$15>>0]|0;
  8724. $17 = ($16<<24>>24)<(1);
  8725. if ($17) {
  8726. $18 = $13 & -33;
  8727. HEAP32[$0>>2] = $18;
  8728. }
  8729. $19 = ((($0)) + 48|0);
  8730. $20 = HEAP32[$19>>2]|0;
  8731. $21 = ($20|0)==(0);
  8732. if ($21) {
  8733. $23 = ((($0)) + 44|0);
  8734. $24 = HEAP32[$23>>2]|0;
  8735. HEAP32[$23>>2] = $6;
  8736. $25 = ((($0)) + 28|0);
  8737. HEAP32[$25>>2] = $6;
  8738. $26 = ((($0)) + 20|0);
  8739. HEAP32[$26>>2] = $6;
  8740. HEAP32[$19>>2] = 80;
  8741. $27 = ((($6)) + 80|0);
  8742. $28 = ((($0)) + 16|0);
  8743. HEAP32[$28>>2] = $27;
  8744. $29 = (_printf_core($0,$1,$3,$5,$4)|0);
  8745. $30 = ($24|0)==(0|0);
  8746. if ($30) {
  8747. $$1 = $29;
  8748. } else {
  8749. $31 = ((($0)) + 36|0);
  8750. $32 = HEAP32[$31>>2]|0;
  8751. (FUNCTION_TABLE_iiii[$32 & 31]($0,0,0)|0);
  8752. $33 = HEAP32[$26>>2]|0;
  8753. $34 = ($33|0)==(0|0);
  8754. $$ = $34 ? -1 : $29;
  8755. HEAP32[$23>>2] = $24;
  8756. HEAP32[$19>>2] = 0;
  8757. HEAP32[$28>>2] = 0;
  8758. HEAP32[$25>>2] = 0;
  8759. HEAP32[$26>>2] = 0;
  8760. $$1 = $$;
  8761. }
  8762. } else {
  8763. $22 = (_printf_core($0,$1,$3,$5,$4)|0);
  8764. $$1 = $22;
  8765. }
  8766. $35 = HEAP32[$0>>2]|0;
  8767. $36 = $35 & 32;
  8768. $37 = ($36|0)==(0);
  8769. $$1$ = $37 ? $$1 : -1;
  8770. $38 = $35 | $14;
  8771. HEAP32[$0>>2] = $38;
  8772. $39 = ($40|0)==(0);
  8773. if (!($39)) {
  8774. ___unlockfile($0);
  8775. }
  8776. $$0 = $$1$;
  8777. }
  8778. STACKTOP = sp;return ($$0|0);
  8779. }
  8780. function _printf_core($0,$1,$2,$3,$4) {
  8781. $0 = $0|0;
  8782. $1 = $1|0;
  8783. $2 = $2|0;
  8784. $3 = $3|0;
  8785. $4 = $4|0;
  8786. var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0;
  8787. var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0;
  8788. var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0;
  8789. var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
  8790. var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
  8791. var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
  8792. var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
  8793. var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0;
  8794. var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0;
  8795. var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
  8796. var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
  8797. var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
  8798. var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
  8799. var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
  8800. var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0;
  8801. var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0;
  8802. var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
  8803. var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
  8804. var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
  8805. var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
  8806. var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0;
  8807. var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0;
  8808. sp = STACKTOP;
  8809. STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
  8810. $5 = sp + 16|0;
  8811. $6 = sp;
  8812. $7 = sp + 24|0;
  8813. $8 = sp + 8|0;
  8814. $9 = sp + 20|0;
  8815. HEAP32[$5>>2] = $1;
  8816. $10 = ($0|0)!=(0|0);
  8817. $11 = ((($7)) + 40|0);
  8818. $12 = $11;
  8819. $13 = ((($7)) + 39|0);
  8820. $14 = ((($8)) + 4|0);
  8821. $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1;
  8822. L1: while(1) {
  8823. $15 = ($$0247|0)>(-1);
  8824. do {
  8825. if ($15) {
  8826. $16 = (2147483647 - ($$0247))|0;
  8827. $17 = ($$0243|0)>($16|0);
  8828. if ($17) {
  8829. $18 = (___errno_location()|0);
  8830. HEAP32[$18>>2] = 75;
  8831. $$1248 = -1;
  8832. break;
  8833. } else {
  8834. $19 = (($$0243) + ($$0247))|0;
  8835. $$1248 = $19;
  8836. break;
  8837. }
  8838. } else {
  8839. $$1248 = $$0247;
  8840. }
  8841. } while(0);
  8842. $20 = HEAP8[$21>>0]|0;
  8843. $22 = ($20<<24>>24)==(0);
  8844. if ($22) {
  8845. label = 87;
  8846. break;
  8847. } else {
  8848. $23 = $20;$25 = $21;
  8849. }
  8850. L9: while(1) {
  8851. switch ($23<<24>>24) {
  8852. case 37: {
  8853. $$0249306 = $25;$27 = $25;
  8854. label = 9;
  8855. break L9;
  8856. break;
  8857. }
  8858. case 0: {
  8859. $$0249$lcssa = $25;$39 = $25;
  8860. break L9;
  8861. break;
  8862. }
  8863. default: {
  8864. }
  8865. }
  8866. $24 = ((($25)) + 1|0);
  8867. HEAP32[$5>>2] = $24;
  8868. $$pre = HEAP8[$24>>0]|0;
  8869. $23 = $$pre;$25 = $24;
  8870. }
  8871. L12: do {
  8872. if ((label|0) == 9) {
  8873. while(1) {
  8874. label = 0;
  8875. $26 = ((($27)) + 1|0);
  8876. $28 = HEAP8[$26>>0]|0;
  8877. $29 = ($28<<24>>24)==(37);
  8878. if (!($29)) {
  8879. $$0249$lcssa = $$0249306;$39 = $27;
  8880. break L12;
  8881. }
  8882. $30 = ((($$0249306)) + 1|0);
  8883. $31 = ((($27)) + 2|0);
  8884. HEAP32[$5>>2] = $31;
  8885. $32 = HEAP8[$31>>0]|0;
  8886. $33 = ($32<<24>>24)==(37);
  8887. if ($33) {
  8888. $$0249306 = $30;$27 = $31;
  8889. label = 9;
  8890. } else {
  8891. $$0249$lcssa = $30;$39 = $31;
  8892. break;
  8893. }
  8894. }
  8895. }
  8896. } while(0);
  8897. $34 = $$0249$lcssa;
  8898. $35 = $21;
  8899. $36 = (($34) - ($35))|0;
  8900. if ($10) {
  8901. _out($0,$21,$36);
  8902. }
  8903. $37 = ($36|0)==(0);
  8904. if (!($37)) {
  8905. $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi;
  8906. continue;
  8907. }
  8908. $38 = ((($39)) + 1|0);
  8909. $40 = HEAP8[$38>>0]|0;
  8910. $41 = $40 << 24 >> 24;
  8911. $isdigittmp = (($41) + -48)|0;
  8912. $isdigit = ($isdigittmp>>>0)<(10);
  8913. if ($isdigit) {
  8914. $42 = ((($39)) + 2|0);
  8915. $43 = HEAP8[$42>>0]|0;
  8916. $44 = ($43<<24>>24)==(36);
  8917. $45 = ((($39)) + 3|0);
  8918. $$377 = $44 ? $45 : $38;
  8919. $$$0269 = $44 ? 1 : $$0269;
  8920. $isdigittmp$ = $44 ? $isdigittmp : -1;
  8921. $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377;
  8922. } else {
  8923. $$0253 = -1;$$1270 = $$0269;$storemerge = $38;
  8924. }
  8925. HEAP32[$5>>2] = $storemerge;
  8926. $46 = HEAP8[$storemerge>>0]|0;
  8927. $47 = $46 << 24 >> 24;
  8928. $48 = (($47) + -32)|0;
  8929. $49 = ($48>>>0)<(32);
  8930. L24: do {
  8931. if ($49) {
  8932. $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge;
  8933. while(1) {
  8934. $50 = 1 << $51;
  8935. $52 = $50 & 75913;
  8936. $53 = ($52|0)==(0);
  8937. if ($53) {
  8938. $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310;
  8939. break L24;
  8940. }
  8941. $54 = $50 | $$0262311;
  8942. $55 = ((($storemerge273310)) + 1|0);
  8943. HEAP32[$5>>2] = $55;
  8944. $56 = HEAP8[$55>>0]|0;
  8945. $57 = $56 << 24 >> 24;
  8946. $58 = (($57) + -32)|0;
  8947. $59 = ($58>>>0)<(32);
  8948. if ($59) {
  8949. $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55;
  8950. } else {
  8951. $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55;
  8952. break;
  8953. }
  8954. }
  8955. } else {
  8956. $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge;
  8957. }
  8958. } while(0);
  8959. $60 = ($$lcssa295<<24>>24)==(42);
  8960. if ($60) {
  8961. $61 = ((($62)) + 1|0);
  8962. $63 = HEAP8[$61>>0]|0;
  8963. $64 = $63 << 24 >> 24;
  8964. $isdigittmp276 = (($64) + -48)|0;
  8965. $isdigit277 = ($isdigittmp276>>>0)<(10);
  8966. if ($isdigit277) {
  8967. $65 = ((($62)) + 2|0);
  8968. $66 = HEAP8[$65>>0]|0;
  8969. $67 = ($66<<24>>24)==(36);
  8970. if ($67) {
  8971. $68 = (($4) + ($isdigittmp276<<2)|0);
  8972. HEAP32[$68>>2] = 10;
  8973. $69 = HEAP8[$61>>0]|0;
  8974. $70 = $69 << 24 >> 24;
  8975. $71 = (($70) + -48)|0;
  8976. $72 = (($3) + ($71<<3)|0);
  8977. $73 = $72;
  8978. $74 = $73;
  8979. $75 = HEAP32[$74>>2]|0;
  8980. $76 = (($73) + 4)|0;
  8981. $77 = $76;
  8982. $78 = HEAP32[$77>>2]|0;
  8983. $79 = ((($62)) + 3|0);
  8984. $$0259 = $75;$$2271 = 1;$storemerge278 = $79;
  8985. } else {
  8986. label = 23;
  8987. }
  8988. } else {
  8989. label = 23;
  8990. }
  8991. if ((label|0) == 23) {
  8992. label = 0;
  8993. $80 = ($$1270|0)==(0);
  8994. if (!($80)) {
  8995. $$0 = -1;
  8996. break;
  8997. }
  8998. if ($10) {
  8999. $arglist_current = HEAP32[$2>>2]|0;
  9000. $81 = $arglist_current;
  9001. $82 = ((0) + 4|0);
  9002. $expanded4 = $82;
  9003. $expanded = (($expanded4) - 1)|0;
  9004. $83 = (($81) + ($expanded))|0;
  9005. $84 = ((0) + 4|0);
  9006. $expanded8 = $84;
  9007. $expanded7 = (($expanded8) - 1)|0;
  9008. $expanded6 = $expanded7 ^ -1;
  9009. $85 = $83 & $expanded6;
  9010. $86 = $85;
  9011. $87 = HEAP32[$86>>2]|0;
  9012. $arglist_next = ((($86)) + 4|0);
  9013. HEAP32[$2>>2] = $arglist_next;
  9014. $$0259 = $87;$$2271 = 0;$storemerge278 = $61;
  9015. } else {
  9016. $$0259 = 0;$$2271 = 0;$storemerge278 = $61;
  9017. }
  9018. }
  9019. HEAP32[$5>>2] = $storemerge278;
  9020. $88 = ($$0259|0)<(0);
  9021. $89 = $$0262$lcssa | 8192;
  9022. $90 = (0 - ($$0259))|0;
  9023. $$$0262 = $88 ? $89 : $$0262$lcssa;
  9024. $$$0259 = $88 ? $90 : $$0259;
  9025. $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278;
  9026. } else {
  9027. $91 = (_getint($5)|0);
  9028. $92 = ($91|0)<(0);
  9029. if ($92) {
  9030. $$0 = -1;
  9031. break;
  9032. }
  9033. $$pre346 = HEAP32[$5>>2]|0;
  9034. $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346;
  9035. }
  9036. $93 = HEAP8[$94>>0]|0;
  9037. $95 = ($93<<24>>24)==(46);
  9038. do {
  9039. if ($95) {
  9040. $96 = ((($94)) + 1|0);
  9041. $97 = HEAP8[$96>>0]|0;
  9042. $98 = ($97<<24>>24)==(42);
  9043. if (!($98)) {
  9044. $125 = ((($94)) + 1|0);
  9045. HEAP32[$5>>2] = $125;
  9046. $126 = (_getint($5)|0);
  9047. $$pre347$pre = HEAP32[$5>>2]|0;
  9048. $$0254 = $126;$$pre347 = $$pre347$pre;
  9049. break;
  9050. }
  9051. $99 = ((($94)) + 2|0);
  9052. $100 = HEAP8[$99>>0]|0;
  9053. $101 = $100 << 24 >> 24;
  9054. $isdigittmp274 = (($101) + -48)|0;
  9055. $isdigit275 = ($isdigittmp274>>>0)<(10);
  9056. if ($isdigit275) {
  9057. $102 = ((($94)) + 3|0);
  9058. $103 = HEAP8[$102>>0]|0;
  9059. $104 = ($103<<24>>24)==(36);
  9060. if ($104) {
  9061. $105 = (($4) + ($isdigittmp274<<2)|0);
  9062. HEAP32[$105>>2] = 10;
  9063. $106 = HEAP8[$99>>0]|0;
  9064. $107 = $106 << 24 >> 24;
  9065. $108 = (($107) + -48)|0;
  9066. $109 = (($3) + ($108<<3)|0);
  9067. $110 = $109;
  9068. $111 = $110;
  9069. $112 = HEAP32[$111>>2]|0;
  9070. $113 = (($110) + 4)|0;
  9071. $114 = $113;
  9072. $115 = HEAP32[$114>>2]|0;
  9073. $116 = ((($94)) + 4|0);
  9074. HEAP32[$5>>2] = $116;
  9075. $$0254 = $112;$$pre347 = $116;
  9076. break;
  9077. }
  9078. }
  9079. $117 = ($$3272|0)==(0);
  9080. if (!($117)) {
  9081. $$0 = -1;
  9082. break L1;
  9083. }
  9084. if ($10) {
  9085. $arglist_current2 = HEAP32[$2>>2]|0;
  9086. $118 = $arglist_current2;
  9087. $119 = ((0) + 4|0);
  9088. $expanded11 = $119;
  9089. $expanded10 = (($expanded11) - 1)|0;
  9090. $120 = (($118) + ($expanded10))|0;
  9091. $121 = ((0) + 4|0);
  9092. $expanded15 = $121;
  9093. $expanded14 = (($expanded15) - 1)|0;
  9094. $expanded13 = $expanded14 ^ -1;
  9095. $122 = $120 & $expanded13;
  9096. $123 = $122;
  9097. $124 = HEAP32[$123>>2]|0;
  9098. $arglist_next3 = ((($123)) + 4|0);
  9099. HEAP32[$2>>2] = $arglist_next3;
  9100. $330 = $124;
  9101. } else {
  9102. $330 = 0;
  9103. }
  9104. HEAP32[$5>>2] = $99;
  9105. $$0254 = $330;$$pre347 = $99;
  9106. } else {
  9107. $$0254 = -1;$$pre347 = $94;
  9108. }
  9109. } while(0);
  9110. $$0252 = 0;$128 = $$pre347;
  9111. while(1) {
  9112. $127 = HEAP8[$128>>0]|0;
  9113. $129 = $127 << 24 >> 24;
  9114. $130 = (($129) + -65)|0;
  9115. $131 = ($130>>>0)>(57);
  9116. if ($131) {
  9117. $$0 = -1;
  9118. break L1;
  9119. }
  9120. $132 = ((($128)) + 1|0);
  9121. HEAP32[$5>>2] = $132;
  9122. $133 = HEAP8[$128>>0]|0;
  9123. $134 = $133 << 24 >> 24;
  9124. $135 = (($134) + -65)|0;
  9125. $136 = ((2958 + (($$0252*58)|0)|0) + ($135)|0);
  9126. $137 = HEAP8[$136>>0]|0;
  9127. $138 = $137&255;
  9128. $139 = (($138) + -1)|0;
  9129. $140 = ($139>>>0)<(8);
  9130. if ($140) {
  9131. $$0252 = $138;$128 = $132;
  9132. } else {
  9133. break;
  9134. }
  9135. }
  9136. $141 = ($137<<24>>24)==(0);
  9137. if ($141) {
  9138. $$0 = -1;
  9139. break;
  9140. }
  9141. $142 = ($137<<24>>24)==(19);
  9142. $143 = ($$0253|0)>(-1);
  9143. do {
  9144. if ($142) {
  9145. if ($143) {
  9146. $$0 = -1;
  9147. break L1;
  9148. } else {
  9149. label = 49;
  9150. }
  9151. } else {
  9152. if ($143) {
  9153. $144 = (($4) + ($$0253<<2)|0);
  9154. HEAP32[$144>>2] = $138;
  9155. $145 = (($3) + ($$0253<<3)|0);
  9156. $146 = $145;
  9157. $147 = $146;
  9158. $148 = HEAP32[$147>>2]|0;
  9159. $149 = (($146) + 4)|0;
  9160. $150 = $149;
  9161. $151 = HEAP32[$150>>2]|0;
  9162. $152 = $6;
  9163. $153 = $152;
  9164. HEAP32[$153>>2] = $148;
  9165. $154 = (($152) + 4)|0;
  9166. $155 = $154;
  9167. HEAP32[$155>>2] = $151;
  9168. label = 49;
  9169. break;
  9170. }
  9171. if (!($10)) {
  9172. $$0 = 0;
  9173. break L1;
  9174. }
  9175. _pop_arg($6,$138,$2);
  9176. }
  9177. } while(0);
  9178. if ((label|0) == 49) {
  9179. label = 0;
  9180. if (!($10)) {
  9181. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9182. continue;
  9183. }
  9184. }
  9185. $156 = HEAP8[$128>>0]|0;
  9186. $157 = $156 << 24 >> 24;
  9187. $158 = ($$0252|0)!=(0);
  9188. $159 = $157 & 15;
  9189. $160 = ($159|0)==(3);
  9190. $or$cond281 = $158 & $160;
  9191. $161 = $157 & -33;
  9192. $$0235 = $or$cond281 ? $161 : $157;
  9193. $162 = $$1263 & 8192;
  9194. $163 = ($162|0)==(0);
  9195. $164 = $$1263 & -65537;
  9196. $$1263$ = $163 ? $$1263 : $164;
  9197. L71: do {
  9198. switch ($$0235|0) {
  9199. case 110: {
  9200. $trunc = $$0252&255;
  9201. switch ($trunc<<24>>24) {
  9202. case 0: {
  9203. $171 = HEAP32[$6>>2]|0;
  9204. HEAP32[$171>>2] = $$1248;
  9205. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9206. continue L1;
  9207. break;
  9208. }
  9209. case 1: {
  9210. $172 = HEAP32[$6>>2]|0;
  9211. HEAP32[$172>>2] = $$1248;
  9212. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9213. continue L1;
  9214. break;
  9215. }
  9216. case 2: {
  9217. $173 = ($$1248|0)<(0);
  9218. $174 = $173 << 31 >> 31;
  9219. $175 = HEAP32[$6>>2]|0;
  9220. $176 = $175;
  9221. $177 = $176;
  9222. HEAP32[$177>>2] = $$1248;
  9223. $178 = (($176) + 4)|0;
  9224. $179 = $178;
  9225. HEAP32[$179>>2] = $174;
  9226. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9227. continue L1;
  9228. break;
  9229. }
  9230. case 3: {
  9231. $180 = $$1248&65535;
  9232. $181 = HEAP32[$6>>2]|0;
  9233. HEAP16[$181>>1] = $180;
  9234. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9235. continue L1;
  9236. break;
  9237. }
  9238. case 4: {
  9239. $182 = $$1248&255;
  9240. $183 = HEAP32[$6>>2]|0;
  9241. HEAP8[$183>>0] = $182;
  9242. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9243. continue L1;
  9244. break;
  9245. }
  9246. case 6: {
  9247. $184 = HEAP32[$6>>2]|0;
  9248. HEAP32[$184>>2] = $$1248;
  9249. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9250. continue L1;
  9251. break;
  9252. }
  9253. case 7: {
  9254. $185 = ($$1248|0)<(0);
  9255. $186 = $185 << 31 >> 31;
  9256. $187 = HEAP32[$6>>2]|0;
  9257. $188 = $187;
  9258. $189 = $188;
  9259. HEAP32[$189>>2] = $$1248;
  9260. $190 = (($188) + 4)|0;
  9261. $191 = $190;
  9262. HEAP32[$191>>2] = $186;
  9263. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9264. continue L1;
  9265. break;
  9266. }
  9267. default: {
  9268. $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9269. continue L1;
  9270. }
  9271. }
  9272. break;
  9273. }
  9274. case 112: {
  9275. $192 = ($$0254>>>0)>(8);
  9276. $193 = $192 ? $$0254 : 8;
  9277. $194 = $$1263$ | 8;
  9278. $$1236 = 120;$$1255 = $193;$$3265 = $194;
  9279. label = 61;
  9280. break;
  9281. }
  9282. case 88: case 120: {
  9283. $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$;
  9284. label = 61;
  9285. break;
  9286. }
  9287. case 111: {
  9288. $210 = $6;
  9289. $211 = $210;
  9290. $212 = HEAP32[$211>>2]|0;
  9291. $213 = (($210) + 4)|0;
  9292. $214 = $213;
  9293. $215 = HEAP32[$214>>2]|0;
  9294. $216 = (_fmt_o($212,$215,$11)|0);
  9295. $217 = $$1263$ & 8;
  9296. $218 = ($217|0)==(0);
  9297. $219 = $216;
  9298. $220 = (($12) - ($219))|0;
  9299. $221 = ($$0254|0)>($220|0);
  9300. $222 = (($220) + 1)|0;
  9301. $223 = $218 | $221;
  9302. $$0254$$0254$ = $223 ? $$0254 : $222;
  9303. $$0228 = $216;$$1233 = 0;$$1238 = 3422;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215;
  9304. label = 67;
  9305. break;
  9306. }
  9307. case 105: case 100: {
  9308. $224 = $6;
  9309. $225 = $224;
  9310. $226 = HEAP32[$225>>2]|0;
  9311. $227 = (($224) + 4)|0;
  9312. $228 = $227;
  9313. $229 = HEAP32[$228>>2]|0;
  9314. $230 = ($229|0)<(0);
  9315. if ($230) {
  9316. $231 = (_i64Subtract(0,0,($226|0),($229|0))|0);
  9317. $232 = tempRet0;
  9318. $233 = $6;
  9319. $234 = $233;
  9320. HEAP32[$234>>2] = $231;
  9321. $235 = (($233) + 4)|0;
  9322. $236 = $235;
  9323. HEAP32[$236>>2] = $232;
  9324. $$0232 = 1;$$0237 = 3422;$242 = $231;$243 = $232;
  9325. label = 66;
  9326. break L71;
  9327. } else {
  9328. $237 = $$1263$ & 2048;
  9329. $238 = ($237|0)==(0);
  9330. $239 = $$1263$ & 1;
  9331. $240 = ($239|0)==(0);
  9332. $$ = $240 ? 3422 : (3424);
  9333. $$$ = $238 ? $$ : (3423);
  9334. $241 = $$1263$ & 2049;
  9335. $narrow = ($241|0)!=(0);
  9336. $$284$ = $narrow&1;
  9337. $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229;
  9338. label = 66;
  9339. break L71;
  9340. }
  9341. break;
  9342. }
  9343. case 117: {
  9344. $165 = $6;
  9345. $166 = $165;
  9346. $167 = HEAP32[$166>>2]|0;
  9347. $168 = (($165) + 4)|0;
  9348. $169 = $168;
  9349. $170 = HEAP32[$169>>2]|0;
  9350. $$0232 = 0;$$0237 = 3422;$242 = $167;$243 = $170;
  9351. label = 66;
  9352. break;
  9353. }
  9354. case 99: {
  9355. $259 = $6;
  9356. $260 = $259;
  9357. $261 = HEAP32[$260>>2]|0;
  9358. $262 = (($259) + 4)|0;
  9359. $263 = $262;
  9360. $264 = HEAP32[$263>>2]|0;
  9361. $265 = $261&255;
  9362. HEAP8[$13>>0] = $265;
  9363. $$2 = $13;$$2234 = 0;$$2239 = 3422;$$2251 = $11;$$5 = 1;$$6268 = $164;
  9364. break;
  9365. }
  9366. case 109: {
  9367. $266 = (___errno_location()|0);
  9368. $267 = HEAP32[$266>>2]|0;
  9369. $268 = (_strerror($267)|0);
  9370. $$1 = $268;
  9371. label = 71;
  9372. break;
  9373. }
  9374. case 115: {
  9375. $269 = HEAP32[$6>>2]|0;
  9376. $270 = ($269|0)!=(0|0);
  9377. $271 = $270 ? $269 : 3432;
  9378. $$1 = $271;
  9379. label = 71;
  9380. break;
  9381. }
  9382. case 67: {
  9383. $278 = $6;
  9384. $279 = $278;
  9385. $280 = HEAP32[$279>>2]|0;
  9386. $281 = (($278) + 4)|0;
  9387. $282 = $281;
  9388. $283 = HEAP32[$282>>2]|0;
  9389. HEAP32[$8>>2] = $280;
  9390. HEAP32[$14>>2] = 0;
  9391. HEAP32[$6>>2] = $8;
  9392. $$4258355 = -1;$331 = $8;
  9393. label = 75;
  9394. break;
  9395. }
  9396. case 83: {
  9397. $$pre349 = HEAP32[$6>>2]|0;
  9398. $284 = ($$0254|0)==(0);
  9399. if ($284) {
  9400. _pad_684($0,32,$$1260,0,$$1263$);
  9401. $$0240$lcssa357 = 0;
  9402. label = 84;
  9403. } else {
  9404. $$4258355 = $$0254;$331 = $$pre349;
  9405. label = 75;
  9406. }
  9407. break;
  9408. }
  9409. case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: {
  9410. $306 = +HEAPF64[$6>>3];
  9411. $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0);
  9412. $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9413. continue L1;
  9414. break;
  9415. }
  9416. default: {
  9417. $$2 = $21;$$2234 = 0;$$2239 = 3422;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$;
  9418. }
  9419. }
  9420. } while(0);
  9421. L95: do {
  9422. if ((label|0) == 61) {
  9423. label = 0;
  9424. $195 = $6;
  9425. $196 = $195;
  9426. $197 = HEAP32[$196>>2]|0;
  9427. $198 = (($195) + 4)|0;
  9428. $199 = $198;
  9429. $200 = HEAP32[$199>>2]|0;
  9430. $201 = $$1236 & 32;
  9431. $202 = (_fmt_x($197,$200,$11,$201)|0);
  9432. $203 = ($197|0)==(0);
  9433. $204 = ($200|0)==(0);
  9434. $205 = $203 & $204;
  9435. $206 = $$3265 & 8;
  9436. $207 = ($206|0)==(0);
  9437. $or$cond283 = $207 | $205;
  9438. $208 = $$1236 >> 4;
  9439. $209 = (3422 + ($208)|0);
  9440. $$289 = $or$cond283 ? 3422 : $209;
  9441. $$290 = $or$cond283 ? 0 : 2;
  9442. $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200;
  9443. label = 67;
  9444. }
  9445. else if ((label|0) == 66) {
  9446. label = 0;
  9447. $244 = (_fmt_u($242,$243,$11)|0);
  9448. $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243;
  9449. label = 67;
  9450. }
  9451. else if ((label|0) == 71) {
  9452. label = 0;
  9453. $272 = (_memchr($$1,0,$$0254)|0);
  9454. $273 = ($272|0)==(0|0);
  9455. $274 = $272;
  9456. $275 = $$1;
  9457. $276 = (($274) - ($275))|0;
  9458. $277 = (($$1) + ($$0254)|0);
  9459. $$3257 = $273 ? $$0254 : $276;
  9460. $$1250 = $273 ? $277 : $272;
  9461. $$2 = $$1;$$2234 = 0;$$2239 = 3422;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164;
  9462. }
  9463. else if ((label|0) == 75) {
  9464. label = 0;
  9465. $$0229322 = $331;$$0240321 = 0;$$1244320 = 0;
  9466. while(1) {
  9467. $285 = HEAP32[$$0229322>>2]|0;
  9468. $286 = ($285|0)==(0);
  9469. if ($286) {
  9470. $$0240$lcssa = $$0240321;$$2245 = $$1244320;
  9471. break;
  9472. }
  9473. $287 = (_wctomb($9,$285)|0);
  9474. $288 = ($287|0)<(0);
  9475. $289 = (($$4258355) - ($$0240321))|0;
  9476. $290 = ($287>>>0)>($289>>>0);
  9477. $or$cond286 = $288 | $290;
  9478. if ($or$cond286) {
  9479. $$0240$lcssa = $$0240321;$$2245 = $287;
  9480. break;
  9481. }
  9482. $291 = ((($$0229322)) + 4|0);
  9483. $292 = (($287) + ($$0240321))|0;
  9484. $293 = ($$4258355>>>0)>($292>>>0);
  9485. if ($293) {
  9486. $$0229322 = $291;$$0240321 = $292;$$1244320 = $287;
  9487. } else {
  9488. $$0240$lcssa = $292;$$2245 = $287;
  9489. break;
  9490. }
  9491. }
  9492. $294 = ($$2245|0)<(0);
  9493. if ($294) {
  9494. $$0 = -1;
  9495. break L1;
  9496. }
  9497. _pad_684($0,32,$$1260,$$0240$lcssa,$$1263$);
  9498. $295 = ($$0240$lcssa|0)==(0);
  9499. if ($295) {
  9500. $$0240$lcssa357 = 0;
  9501. label = 84;
  9502. } else {
  9503. $$1230333 = $331;$$1241332 = 0;
  9504. while(1) {
  9505. $296 = HEAP32[$$1230333>>2]|0;
  9506. $297 = ($296|0)==(0);
  9507. if ($297) {
  9508. $$0240$lcssa357 = $$0240$lcssa;
  9509. label = 84;
  9510. break L95;
  9511. }
  9512. $298 = (_wctomb($9,$296)|0);
  9513. $299 = (($298) + ($$1241332))|0;
  9514. $300 = ($299|0)>($$0240$lcssa|0);
  9515. if ($300) {
  9516. $$0240$lcssa357 = $$0240$lcssa;
  9517. label = 84;
  9518. break L95;
  9519. }
  9520. $301 = ((($$1230333)) + 4|0);
  9521. _out($0,$9,$298);
  9522. $302 = ($299>>>0)<($$0240$lcssa>>>0);
  9523. if ($302) {
  9524. $$1230333 = $301;$$1241332 = $299;
  9525. } else {
  9526. $$0240$lcssa357 = $$0240$lcssa;
  9527. label = 84;
  9528. break;
  9529. }
  9530. }
  9531. }
  9532. }
  9533. } while(0);
  9534. if ((label|0) == 67) {
  9535. label = 0;
  9536. $245 = ($$2256|0)>(-1);
  9537. $246 = $$4266 & -65537;
  9538. $$$4266 = $245 ? $246 : $$4266;
  9539. $247 = ($248|0)!=(0);
  9540. $249 = ($250|0)!=(0);
  9541. $251 = $247 | $249;
  9542. $252 = ($$2256|0)!=(0);
  9543. $or$cond = $252 | $251;
  9544. $253 = $$0228;
  9545. $254 = (($12) - ($253))|0;
  9546. $255 = $251 ^ 1;
  9547. $256 = $255&1;
  9548. $257 = (($256) + ($254))|0;
  9549. $258 = ($$2256|0)>($257|0);
  9550. $$2256$ = $258 ? $$2256 : $257;
  9551. $$2256$$$2256 = $or$cond ? $$2256$ : $$2256;
  9552. $$0228$ = $or$cond ? $$0228 : $11;
  9553. $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266;
  9554. }
  9555. else if ((label|0) == 84) {
  9556. label = 0;
  9557. $303 = $$1263$ ^ 8192;
  9558. _pad_684($0,32,$$1260,$$0240$lcssa357,$303);
  9559. $304 = ($$1260|0)>($$0240$lcssa357|0);
  9560. $305 = $304 ? $$1260 : $$0240$lcssa357;
  9561. $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9562. continue;
  9563. }
  9564. $308 = $$2251;
  9565. $309 = $$2;
  9566. $310 = (($308) - ($309))|0;
  9567. $311 = ($$5|0)<($310|0);
  9568. $$$5 = $311 ? $310 : $$5;
  9569. $312 = (($$$5) + ($$2234))|0;
  9570. $313 = ($$1260|0)<($312|0);
  9571. $$2261 = $313 ? $312 : $$1260;
  9572. _pad_684($0,32,$$2261,$312,$$6268);
  9573. _out($0,$$2239,$$2234);
  9574. $314 = $$6268 ^ 65536;
  9575. _pad_684($0,48,$$2261,$312,$314);
  9576. _pad_684($0,48,$$$5,$310,0);
  9577. _out($0,$$2,$310);
  9578. $315 = $$6268 ^ 8192;
  9579. _pad_684($0,32,$$2261,$312,$315);
  9580. $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
  9581. }
  9582. L114: do {
  9583. if ((label|0) == 87) {
  9584. $316 = ($0|0)==(0|0);
  9585. if ($316) {
  9586. $317 = ($$0269|0)==(0);
  9587. if ($317) {
  9588. $$0 = 0;
  9589. } else {
  9590. $$2242305 = 1;
  9591. while(1) {
  9592. $318 = (($4) + ($$2242305<<2)|0);
  9593. $319 = HEAP32[$318>>2]|0;
  9594. $320 = ($319|0)==(0);
  9595. if ($320) {
  9596. $$3303 = $$2242305;
  9597. break;
  9598. }
  9599. $321 = (($3) + ($$2242305<<3)|0);
  9600. _pop_arg($321,$319,$2);
  9601. $322 = (($$2242305) + 1)|0;
  9602. $323 = ($322|0)<(10);
  9603. if ($323) {
  9604. $$2242305 = $322;
  9605. } else {
  9606. $$0 = 1;
  9607. break L114;
  9608. }
  9609. }
  9610. while(1) {
  9611. $326 = (($4) + ($$3303<<2)|0);
  9612. $327 = HEAP32[$326>>2]|0;
  9613. $328 = ($327|0)==(0);
  9614. $325 = (($$3303) + 1)|0;
  9615. if (!($328)) {
  9616. $$0 = -1;
  9617. break L114;
  9618. }
  9619. $324 = ($325|0)<(10);
  9620. if ($324) {
  9621. $$3303 = $325;
  9622. } else {
  9623. $$0 = 1;
  9624. break;
  9625. }
  9626. }
  9627. }
  9628. } else {
  9629. $$0 = $$1248;
  9630. }
  9631. }
  9632. } while(0);
  9633. STACKTOP = sp;return ($$0|0);
  9634. }
  9635. function ___lockfile($0) {
  9636. $0 = $0|0;
  9637. var label = 0, sp = 0;
  9638. sp = STACKTOP;
  9639. return 0;
  9640. }
  9641. function ___unlockfile($0) {
  9642. $0 = $0|0;
  9643. var label = 0, sp = 0;
  9644. sp = STACKTOP;
  9645. return;
  9646. }
  9647. function _out($0,$1,$2) {
  9648. $0 = $0|0;
  9649. $1 = $1|0;
  9650. $2 = $2|0;
  9651. var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
  9652. sp = STACKTOP;
  9653. $3 = HEAP32[$0>>2]|0;
  9654. $4 = $3 & 32;
  9655. $5 = ($4|0)==(0);
  9656. if ($5) {
  9657. (___fwritex($1,$2,$0)|0);
  9658. }
  9659. return;
  9660. }
  9661. function _getint($0) {
  9662. $0 = $0|0;
  9663. var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0;
  9664. sp = STACKTOP;
  9665. $1 = HEAP32[$0>>2]|0;
  9666. $2 = HEAP8[$1>>0]|0;
  9667. $3 = $2 << 24 >> 24;
  9668. $isdigittmp4 = (($3) + -48)|0;
  9669. $isdigit5 = ($isdigittmp4>>>0)<(10);
  9670. if ($isdigit5) {
  9671. $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4;
  9672. while(1) {
  9673. $4 = ($$06*10)|0;
  9674. $5 = (($isdigittmp7) + ($4))|0;
  9675. $6 = ((($7)) + 1|0);
  9676. HEAP32[$0>>2] = $6;
  9677. $8 = HEAP8[$6>>0]|0;
  9678. $9 = $8 << 24 >> 24;
  9679. $isdigittmp = (($9) + -48)|0;
  9680. $isdigit = ($isdigittmp>>>0)<(10);
  9681. if ($isdigit) {
  9682. $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp;
  9683. } else {
  9684. $$0$lcssa = $5;
  9685. break;
  9686. }
  9687. }
  9688. } else {
  9689. $$0$lcssa = 0;
  9690. }
  9691. return ($$0$lcssa|0);
  9692. }
  9693. function _pop_arg($0,$1,$2) {
  9694. $0 = $0|0;
  9695. $1 = $1|0;
  9696. $2 = $2|0;
  9697. var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
  9698. var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
  9699. var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
  9700. var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
  9701. var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
  9702. var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0;
  9703. var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0;
  9704. var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0;
  9705. var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0;
  9706. var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0;
  9707. sp = STACKTOP;
  9708. $3 = ($1>>>0)>(20);
  9709. L1: do {
  9710. if (!($3)) {
  9711. do {
  9712. switch ($1|0) {
  9713. case 9: {
  9714. $arglist_current = HEAP32[$2>>2]|0;
  9715. $4 = $arglist_current;
  9716. $5 = ((0) + 4|0);
  9717. $expanded28 = $5;
  9718. $expanded = (($expanded28) - 1)|0;
  9719. $6 = (($4) + ($expanded))|0;
  9720. $7 = ((0) + 4|0);
  9721. $expanded32 = $7;
  9722. $expanded31 = (($expanded32) - 1)|0;
  9723. $expanded30 = $expanded31 ^ -1;
  9724. $8 = $6 & $expanded30;
  9725. $9 = $8;
  9726. $10 = HEAP32[$9>>2]|0;
  9727. $arglist_next = ((($9)) + 4|0);
  9728. HEAP32[$2>>2] = $arglist_next;
  9729. HEAP32[$0>>2] = $10;
  9730. break L1;
  9731. break;
  9732. }
  9733. case 10: {
  9734. $arglist_current2 = HEAP32[$2>>2]|0;
  9735. $11 = $arglist_current2;
  9736. $12 = ((0) + 4|0);
  9737. $expanded35 = $12;
  9738. $expanded34 = (($expanded35) - 1)|0;
  9739. $13 = (($11) + ($expanded34))|0;
  9740. $14 = ((0) + 4|0);
  9741. $expanded39 = $14;
  9742. $expanded38 = (($expanded39) - 1)|0;
  9743. $expanded37 = $expanded38 ^ -1;
  9744. $15 = $13 & $expanded37;
  9745. $16 = $15;
  9746. $17 = HEAP32[$16>>2]|0;
  9747. $arglist_next3 = ((($16)) + 4|0);
  9748. HEAP32[$2>>2] = $arglist_next3;
  9749. $18 = ($17|0)<(0);
  9750. $19 = $18 << 31 >> 31;
  9751. $20 = $0;
  9752. $21 = $20;
  9753. HEAP32[$21>>2] = $17;
  9754. $22 = (($20) + 4)|0;
  9755. $23 = $22;
  9756. HEAP32[$23>>2] = $19;
  9757. break L1;
  9758. break;
  9759. }
  9760. case 11: {
  9761. $arglist_current5 = HEAP32[$2>>2]|0;
  9762. $24 = $arglist_current5;
  9763. $25 = ((0) + 4|0);
  9764. $expanded42 = $25;
  9765. $expanded41 = (($expanded42) - 1)|0;
  9766. $26 = (($24) + ($expanded41))|0;
  9767. $27 = ((0) + 4|0);
  9768. $expanded46 = $27;
  9769. $expanded45 = (($expanded46) - 1)|0;
  9770. $expanded44 = $expanded45 ^ -1;
  9771. $28 = $26 & $expanded44;
  9772. $29 = $28;
  9773. $30 = HEAP32[$29>>2]|0;
  9774. $arglist_next6 = ((($29)) + 4|0);
  9775. HEAP32[$2>>2] = $arglist_next6;
  9776. $31 = $0;
  9777. $32 = $31;
  9778. HEAP32[$32>>2] = $30;
  9779. $33 = (($31) + 4)|0;
  9780. $34 = $33;
  9781. HEAP32[$34>>2] = 0;
  9782. break L1;
  9783. break;
  9784. }
  9785. case 12: {
  9786. $arglist_current8 = HEAP32[$2>>2]|0;
  9787. $35 = $arglist_current8;
  9788. $36 = ((0) + 8|0);
  9789. $expanded49 = $36;
  9790. $expanded48 = (($expanded49) - 1)|0;
  9791. $37 = (($35) + ($expanded48))|0;
  9792. $38 = ((0) + 8|0);
  9793. $expanded53 = $38;
  9794. $expanded52 = (($expanded53) - 1)|0;
  9795. $expanded51 = $expanded52 ^ -1;
  9796. $39 = $37 & $expanded51;
  9797. $40 = $39;
  9798. $41 = $40;
  9799. $42 = $41;
  9800. $43 = HEAP32[$42>>2]|0;
  9801. $44 = (($41) + 4)|0;
  9802. $45 = $44;
  9803. $46 = HEAP32[$45>>2]|0;
  9804. $arglist_next9 = ((($40)) + 8|0);
  9805. HEAP32[$2>>2] = $arglist_next9;
  9806. $47 = $0;
  9807. $48 = $47;
  9808. HEAP32[$48>>2] = $43;
  9809. $49 = (($47) + 4)|0;
  9810. $50 = $49;
  9811. HEAP32[$50>>2] = $46;
  9812. break L1;
  9813. break;
  9814. }
  9815. case 13: {
  9816. $arglist_current11 = HEAP32[$2>>2]|0;
  9817. $51 = $arglist_current11;
  9818. $52 = ((0) + 4|0);
  9819. $expanded56 = $52;
  9820. $expanded55 = (($expanded56) - 1)|0;
  9821. $53 = (($51) + ($expanded55))|0;
  9822. $54 = ((0) + 4|0);
  9823. $expanded60 = $54;
  9824. $expanded59 = (($expanded60) - 1)|0;
  9825. $expanded58 = $expanded59 ^ -1;
  9826. $55 = $53 & $expanded58;
  9827. $56 = $55;
  9828. $57 = HEAP32[$56>>2]|0;
  9829. $arglist_next12 = ((($56)) + 4|0);
  9830. HEAP32[$2>>2] = $arglist_next12;
  9831. $58 = $57&65535;
  9832. $59 = $58 << 16 >> 16;
  9833. $60 = ($59|0)<(0);
  9834. $61 = $60 << 31 >> 31;
  9835. $62 = $0;
  9836. $63 = $62;
  9837. HEAP32[$63>>2] = $59;
  9838. $64 = (($62) + 4)|0;
  9839. $65 = $64;
  9840. HEAP32[$65>>2] = $61;
  9841. break L1;
  9842. break;
  9843. }
  9844. case 14: {
  9845. $arglist_current14 = HEAP32[$2>>2]|0;
  9846. $66 = $arglist_current14;
  9847. $67 = ((0) + 4|0);
  9848. $expanded63 = $67;
  9849. $expanded62 = (($expanded63) - 1)|0;
  9850. $68 = (($66) + ($expanded62))|0;
  9851. $69 = ((0) + 4|0);
  9852. $expanded67 = $69;
  9853. $expanded66 = (($expanded67) - 1)|0;
  9854. $expanded65 = $expanded66 ^ -1;
  9855. $70 = $68 & $expanded65;
  9856. $71 = $70;
  9857. $72 = HEAP32[$71>>2]|0;
  9858. $arglist_next15 = ((($71)) + 4|0);
  9859. HEAP32[$2>>2] = $arglist_next15;
  9860. $$mask31 = $72 & 65535;
  9861. $73 = $0;
  9862. $74 = $73;
  9863. HEAP32[$74>>2] = $$mask31;
  9864. $75 = (($73) + 4)|0;
  9865. $76 = $75;
  9866. HEAP32[$76>>2] = 0;
  9867. break L1;
  9868. break;
  9869. }
  9870. case 15: {
  9871. $arglist_current17 = HEAP32[$2>>2]|0;
  9872. $77 = $arglist_current17;
  9873. $78 = ((0) + 4|0);
  9874. $expanded70 = $78;
  9875. $expanded69 = (($expanded70) - 1)|0;
  9876. $79 = (($77) + ($expanded69))|0;
  9877. $80 = ((0) + 4|0);
  9878. $expanded74 = $80;
  9879. $expanded73 = (($expanded74) - 1)|0;
  9880. $expanded72 = $expanded73 ^ -1;
  9881. $81 = $79 & $expanded72;
  9882. $82 = $81;
  9883. $83 = HEAP32[$82>>2]|0;
  9884. $arglist_next18 = ((($82)) + 4|0);
  9885. HEAP32[$2>>2] = $arglist_next18;
  9886. $84 = $83&255;
  9887. $85 = $84 << 24 >> 24;
  9888. $86 = ($85|0)<(0);
  9889. $87 = $86 << 31 >> 31;
  9890. $88 = $0;
  9891. $89 = $88;
  9892. HEAP32[$89>>2] = $85;
  9893. $90 = (($88) + 4)|0;
  9894. $91 = $90;
  9895. HEAP32[$91>>2] = $87;
  9896. break L1;
  9897. break;
  9898. }
  9899. case 16: {
  9900. $arglist_current20 = HEAP32[$2>>2]|0;
  9901. $92 = $arglist_current20;
  9902. $93 = ((0) + 4|0);
  9903. $expanded77 = $93;
  9904. $expanded76 = (($expanded77) - 1)|0;
  9905. $94 = (($92) + ($expanded76))|0;
  9906. $95 = ((0) + 4|0);
  9907. $expanded81 = $95;
  9908. $expanded80 = (($expanded81) - 1)|0;
  9909. $expanded79 = $expanded80 ^ -1;
  9910. $96 = $94 & $expanded79;
  9911. $97 = $96;
  9912. $98 = HEAP32[$97>>2]|0;
  9913. $arglist_next21 = ((($97)) + 4|0);
  9914. HEAP32[$2>>2] = $arglist_next21;
  9915. $$mask = $98 & 255;
  9916. $99 = $0;
  9917. $100 = $99;
  9918. HEAP32[$100>>2] = $$mask;
  9919. $101 = (($99) + 4)|0;
  9920. $102 = $101;
  9921. HEAP32[$102>>2] = 0;
  9922. break L1;
  9923. break;
  9924. }
  9925. case 17: {
  9926. $arglist_current23 = HEAP32[$2>>2]|0;
  9927. $103 = $arglist_current23;
  9928. $104 = ((0) + 8|0);
  9929. $expanded84 = $104;
  9930. $expanded83 = (($expanded84) - 1)|0;
  9931. $105 = (($103) + ($expanded83))|0;
  9932. $106 = ((0) + 8|0);
  9933. $expanded88 = $106;
  9934. $expanded87 = (($expanded88) - 1)|0;
  9935. $expanded86 = $expanded87 ^ -1;
  9936. $107 = $105 & $expanded86;
  9937. $108 = $107;
  9938. $109 = +HEAPF64[$108>>3];
  9939. $arglist_next24 = ((($108)) + 8|0);
  9940. HEAP32[$2>>2] = $arglist_next24;
  9941. HEAPF64[$0>>3] = $109;
  9942. break L1;
  9943. break;
  9944. }
  9945. case 18: {
  9946. $arglist_current26 = HEAP32[$2>>2]|0;
  9947. $110 = $arglist_current26;
  9948. $111 = ((0) + 8|0);
  9949. $expanded91 = $111;
  9950. $expanded90 = (($expanded91) - 1)|0;
  9951. $112 = (($110) + ($expanded90))|0;
  9952. $113 = ((0) + 8|0);
  9953. $expanded95 = $113;
  9954. $expanded94 = (($expanded95) - 1)|0;
  9955. $expanded93 = $expanded94 ^ -1;
  9956. $114 = $112 & $expanded93;
  9957. $115 = $114;
  9958. $116 = +HEAPF64[$115>>3];
  9959. $arglist_next27 = ((($115)) + 8|0);
  9960. HEAP32[$2>>2] = $arglist_next27;
  9961. HEAPF64[$0>>3] = $116;
  9962. break L1;
  9963. break;
  9964. }
  9965. default: {
  9966. break L1;
  9967. }
  9968. }
  9969. } while(0);
  9970. }
  9971. } while(0);
  9972. return;
  9973. }
  9974. function _fmt_x($0,$1,$2,$3) {
  9975. $0 = $0|0;
  9976. $1 = $1|0;
  9977. $2 = $2|0;
  9978. $3 = $3|0;
  9979. var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
  9980. var sp = 0;
  9981. sp = STACKTOP;
  9982. $4 = ($0|0)==(0);
  9983. $5 = ($1|0)==(0);
  9984. $6 = $4 & $5;
  9985. if ($6) {
  9986. $$05$lcssa = $2;
  9987. } else {
  9988. $$056 = $2;$15 = $1;$8 = $0;
  9989. while(1) {
  9990. $7 = $8 & 15;
  9991. $9 = (3470 + ($7)|0);
  9992. $10 = HEAP8[$9>>0]|0;
  9993. $11 = $10&255;
  9994. $12 = $11 | $3;
  9995. $13 = $12&255;
  9996. $14 = ((($$056)) + -1|0);
  9997. HEAP8[$14>>0] = $13;
  9998. $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0);
  9999. $17 = tempRet0;
  10000. $18 = ($16|0)==(0);
  10001. $19 = ($17|0)==(0);
  10002. $20 = $18 & $19;
  10003. if ($20) {
  10004. $$05$lcssa = $14;
  10005. break;
  10006. } else {
  10007. $$056 = $14;$15 = $17;$8 = $16;
  10008. }
  10009. }
  10010. }
  10011. return ($$05$lcssa|0);
  10012. }
  10013. function _fmt_o($0,$1,$2) {
  10014. $0 = $0|0;
  10015. $1 = $1|0;
  10016. $2 = $2|0;
  10017. var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  10018. sp = STACKTOP;
  10019. $3 = ($0|0)==(0);
  10020. $4 = ($1|0)==(0);
  10021. $5 = $3 & $4;
  10022. if ($5) {
  10023. $$0$lcssa = $2;
  10024. } else {
  10025. $$06 = $2;$11 = $1;$7 = $0;
  10026. while(1) {
  10027. $6 = $7&255;
  10028. $8 = $6 & 7;
  10029. $9 = $8 | 48;
  10030. $10 = ((($$06)) + -1|0);
  10031. HEAP8[$10>>0] = $9;
  10032. $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0);
  10033. $13 = tempRet0;
  10034. $14 = ($12|0)==(0);
  10035. $15 = ($13|0)==(0);
  10036. $16 = $14 & $15;
  10037. if ($16) {
  10038. $$0$lcssa = $10;
  10039. break;
  10040. } else {
  10041. $$06 = $10;$11 = $13;$7 = $12;
  10042. }
  10043. }
  10044. }
  10045. return ($$0$lcssa|0);
  10046. }
  10047. function _fmt_u($0,$1,$2) {
  10048. $0 = $0|0;
  10049. $1 = $1|0;
  10050. $2 = $2|0;
  10051. var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
  10052. var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  10053. sp = STACKTOP;
  10054. $3 = ($1>>>0)>(0);
  10055. $4 = ($0>>>0)>(4294967295);
  10056. $5 = ($1|0)==(0);
  10057. $6 = $5 & $4;
  10058. $7 = $3 | $6;
  10059. if ($7) {
  10060. $$0914 = $2;$8 = $0;$9 = $1;
  10061. while(1) {
  10062. $10 = (___uremdi3(($8|0),($9|0),10,0)|0);
  10063. $11 = tempRet0;
  10064. $12 = $10&255;
  10065. $13 = $12 | 48;
  10066. $14 = ((($$0914)) + -1|0);
  10067. HEAP8[$14>>0] = $13;
  10068. $15 = (___udivdi3(($8|0),($9|0),10,0)|0);
  10069. $16 = tempRet0;
  10070. $17 = ($9>>>0)>(9);
  10071. $18 = ($8>>>0)>(4294967295);
  10072. $19 = ($9|0)==(9);
  10073. $20 = $19 & $18;
  10074. $21 = $17 | $20;
  10075. if ($21) {
  10076. $$0914 = $14;$8 = $15;$9 = $16;
  10077. } else {
  10078. break;
  10079. }
  10080. }
  10081. $$010$lcssa$off0 = $15;$$09$lcssa = $14;
  10082. } else {
  10083. $$010$lcssa$off0 = $0;$$09$lcssa = $2;
  10084. }
  10085. $22 = ($$010$lcssa$off0|0)==(0);
  10086. if ($22) {
  10087. $$1$lcssa = $$09$lcssa;
  10088. } else {
  10089. $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa;
  10090. while(1) {
  10091. $23 = (($$012>>>0) % 10)&-1;
  10092. $24 = $23 | 48;
  10093. $25 = $24&255;
  10094. $26 = ((($$111)) + -1|0);
  10095. HEAP8[$26>>0] = $25;
  10096. $27 = (($$012>>>0) / 10)&-1;
  10097. $28 = ($$012>>>0)<(10);
  10098. if ($28) {
  10099. $$1$lcssa = $26;
  10100. break;
  10101. } else {
  10102. $$012 = $27;$$111 = $26;
  10103. }
  10104. }
  10105. }
  10106. return ($$1$lcssa|0);
  10107. }
  10108. function _strerror($0) {
  10109. $0 = $0|0;
  10110. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  10111. sp = STACKTOP;
  10112. $1 = (___pthread_self_104()|0);
  10113. $2 = ((($1)) + 188|0);
  10114. $3 = HEAP32[$2>>2]|0;
  10115. $4 = (___strerror_l($0,$3)|0);
  10116. return ($4|0);
  10117. }
  10118. function _memchr($0,$1,$2) {
  10119. $0 = $0|0;
  10120. $1 = $1|0;
  10121. $2 = $2|0;
  10122. var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
  10123. var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
  10124. var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0;
  10125. sp = STACKTOP;
  10126. $3 = $1 & 255;
  10127. $4 = $0;
  10128. $5 = $4 & 3;
  10129. $6 = ($5|0)!=(0);
  10130. $7 = ($2|0)!=(0);
  10131. $or$cond53 = $7 & $6;
  10132. L1: do {
  10133. if ($or$cond53) {
  10134. $8 = $1&255;
  10135. $$03555 = $0;$$03654 = $2;
  10136. while(1) {
  10137. $9 = HEAP8[$$03555>>0]|0;
  10138. $10 = ($9<<24>>24)==($8<<24>>24);
  10139. if ($10) {
  10140. $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654;
  10141. label = 6;
  10142. break L1;
  10143. }
  10144. $11 = ((($$03555)) + 1|0);
  10145. $12 = (($$03654) + -1)|0;
  10146. $13 = $11;
  10147. $14 = $13 & 3;
  10148. $15 = ($14|0)!=(0);
  10149. $16 = ($12|0)!=(0);
  10150. $or$cond = $16 & $15;
  10151. if ($or$cond) {
  10152. $$03555 = $11;$$03654 = $12;
  10153. } else {
  10154. $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16;
  10155. label = 5;
  10156. break;
  10157. }
  10158. }
  10159. } else {
  10160. $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7;
  10161. label = 5;
  10162. }
  10163. } while(0);
  10164. if ((label|0) == 5) {
  10165. if ($$lcssa) {
  10166. $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa;
  10167. label = 6;
  10168. } else {
  10169. $$2 = $$035$lcssa;$$3 = 0;
  10170. }
  10171. }
  10172. L8: do {
  10173. if ((label|0) == 6) {
  10174. $17 = HEAP8[$$035$lcssa65>>0]|0;
  10175. $18 = $1&255;
  10176. $19 = ($17<<24>>24)==($18<<24>>24);
  10177. if ($19) {
  10178. $$2 = $$035$lcssa65;$$3 = $$036$lcssa64;
  10179. } else {
  10180. $20 = Math_imul($3, 16843009)|0;
  10181. $21 = ($$036$lcssa64>>>0)>(3);
  10182. L11: do {
  10183. if ($21) {
  10184. $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64;
  10185. while(1) {
  10186. $22 = HEAP32[$$046>>2]|0;
  10187. $23 = $22 ^ $20;
  10188. $24 = (($23) + -16843009)|0;
  10189. $25 = $23 & -2139062144;
  10190. $26 = $25 ^ -2139062144;
  10191. $27 = $26 & $24;
  10192. $28 = ($27|0)==(0);
  10193. if (!($28)) {
  10194. break;
  10195. }
  10196. $29 = ((($$046)) + 4|0);
  10197. $30 = (($$13745) + -4)|0;
  10198. $31 = ($30>>>0)>(3);
  10199. if ($31) {
  10200. $$046 = $29;$$13745 = $30;
  10201. } else {
  10202. $$0$lcssa = $29;$$137$lcssa = $30;
  10203. label = 11;
  10204. break L11;
  10205. }
  10206. }
  10207. $$140 = $$046;$$23839 = $$13745;
  10208. } else {
  10209. $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64;
  10210. label = 11;
  10211. }
  10212. } while(0);
  10213. if ((label|0) == 11) {
  10214. $32 = ($$137$lcssa|0)==(0);
  10215. if ($32) {
  10216. $$2 = $$0$lcssa;$$3 = 0;
  10217. break;
  10218. } else {
  10219. $$140 = $$0$lcssa;$$23839 = $$137$lcssa;
  10220. }
  10221. }
  10222. while(1) {
  10223. $33 = HEAP8[$$140>>0]|0;
  10224. $34 = ($33<<24>>24)==($18<<24>>24);
  10225. if ($34) {
  10226. $$2 = $$140;$$3 = $$23839;
  10227. break L8;
  10228. }
  10229. $35 = ((($$140)) + 1|0);
  10230. $36 = (($$23839) + -1)|0;
  10231. $37 = ($36|0)==(0);
  10232. if ($37) {
  10233. $$2 = $35;$$3 = 0;
  10234. break;
  10235. } else {
  10236. $$140 = $35;$$23839 = $36;
  10237. }
  10238. }
  10239. }
  10240. }
  10241. } while(0);
  10242. $38 = ($$3|0)!=(0);
  10243. $39 = $38 ? $$2 : 0;
  10244. return ($39|0);
  10245. }
  10246. function _pad_684($0,$1,$2,$3,$4) {
  10247. $0 = $0|0;
  10248. $1 = $1|0;
  10249. $2 = $2|0;
  10250. $3 = $3|0;
  10251. $4 = $4|0;
  10252. var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
  10253. sp = STACKTOP;
  10254. STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
  10255. $5 = sp;
  10256. $6 = $4 & 73728;
  10257. $7 = ($6|0)==(0);
  10258. $8 = ($2|0)>($3|0);
  10259. $or$cond = $8 & $7;
  10260. if ($or$cond) {
  10261. $9 = (($2) - ($3))|0;
  10262. $10 = ($9>>>0)<(256);
  10263. $11 = $10 ? $9 : 256;
  10264. _memset(($5|0),($1|0),($11|0))|0;
  10265. $12 = ($9>>>0)>(255);
  10266. if ($12) {
  10267. $13 = (($2) - ($3))|0;
  10268. $$011 = $9;
  10269. while(1) {
  10270. _out($0,$5,256);
  10271. $14 = (($$011) + -256)|0;
  10272. $15 = ($14>>>0)>(255);
  10273. if ($15) {
  10274. $$011 = $14;
  10275. } else {
  10276. break;
  10277. }
  10278. }
  10279. $16 = $13 & 255;
  10280. $$0$lcssa = $16;
  10281. } else {
  10282. $$0$lcssa = $9;
  10283. }
  10284. _out($0,$5,$$0$lcssa);
  10285. }
  10286. STACKTOP = sp;return;
  10287. }
  10288. function _wctomb($0,$1) {
  10289. $0 = $0|0;
  10290. $1 = $1|0;
  10291. var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  10292. sp = STACKTOP;
  10293. $2 = ($0|0)==(0|0);
  10294. if ($2) {
  10295. $$0 = 0;
  10296. } else {
  10297. $3 = (_wcrtomb($0,$1,0)|0);
  10298. $$0 = $3;
  10299. }
  10300. return ($$0|0);
  10301. }
  10302. function _fmt_fp($0,$1,$2,$3,$4,$5) {
  10303. $0 = $0|0;
  10304. $1 = +$1;
  10305. $2 = $2|0;
  10306. $3 = $3|0;
  10307. $4 = $4|0;
  10308. $5 = $5|0;
  10309. var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0;
  10310. var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0;
  10311. var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0;
  10312. var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0;
  10313. var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0;
  10314. var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
  10315. var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0;
  10316. var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
  10317. var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
  10318. var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
  10319. var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
  10320. var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0;
  10321. var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0;
  10322. var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0;
  10323. var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0;
  10324. var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0;
  10325. var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
  10326. var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
  10327. var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
  10328. var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0;
  10329. var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0;
  10330. var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
  10331. var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0;
  10332. var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
  10333. var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0;
  10334. var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0;
  10335. sp = STACKTOP;
  10336. STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0);
  10337. $6 = sp + 8|0;
  10338. $7 = sp;
  10339. $8 = sp + 524|0;
  10340. $9 = $8;
  10341. $10 = sp + 512|0;
  10342. HEAP32[$7>>2] = 0;
  10343. $11 = ((($10)) + 12|0);
  10344. (___DOUBLE_BITS_685($1)|0);
  10345. $12 = tempRet0;
  10346. $13 = ($12|0)<(0);
  10347. if ($13) {
  10348. $14 = -$1;
  10349. $$0471 = $14;$$0520 = 1;$$0521 = 3439;
  10350. } else {
  10351. $15 = $4 & 2048;
  10352. $16 = ($15|0)==(0);
  10353. $17 = $4 & 1;
  10354. $18 = ($17|0)==(0);
  10355. $$ = $18 ? (3440) : (3445);
  10356. $$$ = $16 ? $$ : (3442);
  10357. $19 = $4 & 2049;
  10358. $narrow = ($19|0)!=(0);
  10359. $$534$ = $narrow&1;
  10360. $$0471 = $1;$$0520 = $$534$;$$0521 = $$$;
  10361. }
  10362. (___DOUBLE_BITS_685($$0471)|0);
  10363. $20 = tempRet0;
  10364. $21 = $20 & 2146435072;
  10365. $22 = ($21>>>0)<(2146435072);
  10366. $23 = (0)<(0);
  10367. $24 = ($21|0)==(2146435072);
  10368. $25 = $24 & $23;
  10369. $26 = $22 | $25;
  10370. do {
  10371. if ($26) {
  10372. $35 = (+_frexpl($$0471,$7));
  10373. $36 = $35 * 2.0;
  10374. $37 = $36 != 0.0;
  10375. if ($37) {
  10376. $38 = HEAP32[$7>>2]|0;
  10377. $39 = (($38) + -1)|0;
  10378. HEAP32[$7>>2] = $39;
  10379. }
  10380. $40 = $5 | 32;
  10381. $41 = ($40|0)==(97);
  10382. if ($41) {
  10383. $42 = $5 & 32;
  10384. $43 = ($42|0)==(0);
  10385. $44 = ((($$0521)) + 9|0);
  10386. $$0521$ = $43 ? $$0521 : $44;
  10387. $45 = $$0520 | 2;
  10388. $46 = ($3>>>0)>(11);
  10389. $47 = (12 - ($3))|0;
  10390. $48 = ($47|0)==(0);
  10391. $49 = $46 | $48;
  10392. do {
  10393. if ($49) {
  10394. $$1472 = $36;
  10395. } else {
  10396. $$0509582 = 8.0;$$1508583 = $47;
  10397. while(1) {
  10398. $50 = (($$1508583) + -1)|0;
  10399. $51 = $$0509582 * 16.0;
  10400. $52 = ($50|0)==(0);
  10401. if ($52) {
  10402. break;
  10403. } else {
  10404. $$0509582 = $51;$$1508583 = $50;
  10405. }
  10406. }
  10407. $53 = HEAP8[$$0521$>>0]|0;
  10408. $54 = ($53<<24>>24)==(45);
  10409. if ($54) {
  10410. $55 = -$36;
  10411. $56 = $55 - $51;
  10412. $57 = $51 + $56;
  10413. $58 = -$57;
  10414. $$1472 = $58;
  10415. break;
  10416. } else {
  10417. $59 = $36 + $51;
  10418. $60 = $59 - $51;
  10419. $$1472 = $60;
  10420. break;
  10421. }
  10422. }
  10423. } while(0);
  10424. $61 = HEAP32[$7>>2]|0;
  10425. $62 = ($61|0)<(0);
  10426. $63 = (0 - ($61))|0;
  10427. $64 = $62 ? $63 : $61;
  10428. $65 = ($64|0)<(0);
  10429. $66 = $65 << 31 >> 31;
  10430. $67 = (_fmt_u($64,$66,$11)|0);
  10431. $68 = ($67|0)==($11|0);
  10432. if ($68) {
  10433. $69 = ((($10)) + 11|0);
  10434. HEAP8[$69>>0] = 48;
  10435. $$0511 = $69;
  10436. } else {
  10437. $$0511 = $67;
  10438. }
  10439. $70 = $61 >> 31;
  10440. $71 = $70 & 2;
  10441. $72 = (($71) + 43)|0;
  10442. $73 = $72&255;
  10443. $74 = ((($$0511)) + -1|0);
  10444. HEAP8[$74>>0] = $73;
  10445. $75 = (($5) + 15)|0;
  10446. $76 = $75&255;
  10447. $77 = ((($$0511)) + -2|0);
  10448. HEAP8[$77>>0] = $76;
  10449. $notrhs = ($3|0)<(1);
  10450. $78 = $4 & 8;
  10451. $79 = ($78|0)==(0);
  10452. $$0523 = $8;$$2473 = $$1472;
  10453. while(1) {
  10454. $80 = (~~(($$2473)));
  10455. $81 = (3470 + ($80)|0);
  10456. $82 = HEAP8[$81>>0]|0;
  10457. $83 = $82&255;
  10458. $84 = $83 | $42;
  10459. $85 = $84&255;
  10460. $86 = ((($$0523)) + 1|0);
  10461. HEAP8[$$0523>>0] = $85;
  10462. $87 = (+($80|0));
  10463. $88 = $$2473 - $87;
  10464. $89 = $88 * 16.0;
  10465. $90 = $86;
  10466. $91 = (($90) - ($9))|0;
  10467. $92 = ($91|0)==(1);
  10468. if ($92) {
  10469. $notlhs = $89 == 0.0;
  10470. $or$cond3$not = $notrhs & $notlhs;
  10471. $or$cond = $79 & $or$cond3$not;
  10472. if ($or$cond) {
  10473. $$1524 = $86;
  10474. } else {
  10475. $93 = ((($$0523)) + 2|0);
  10476. HEAP8[$86>>0] = 46;
  10477. $$1524 = $93;
  10478. }
  10479. } else {
  10480. $$1524 = $86;
  10481. }
  10482. $94 = $89 != 0.0;
  10483. if ($94) {
  10484. $$0523 = $$1524;$$2473 = $89;
  10485. } else {
  10486. break;
  10487. }
  10488. }
  10489. $95 = ($3|0)!=(0);
  10490. $96 = $77;
  10491. $97 = $11;
  10492. $98 = $$1524;
  10493. $99 = (($98) - ($9))|0;
  10494. $100 = (($97) - ($96))|0;
  10495. $101 = (($99) + -2)|0;
  10496. $102 = ($101|0)<($3|0);
  10497. $or$cond537 = $95 & $102;
  10498. $103 = (($3) + 2)|0;
  10499. $$pn = $or$cond537 ? $103 : $99;
  10500. $$0525 = (($100) + ($45))|0;
  10501. $104 = (($$0525) + ($$pn))|0;
  10502. _pad_684($0,32,$2,$104,$4);
  10503. _out($0,$$0521$,$45);
  10504. $105 = $4 ^ 65536;
  10505. _pad_684($0,48,$2,$104,$105);
  10506. _out($0,$8,$99);
  10507. $106 = (($$pn) - ($99))|0;
  10508. _pad_684($0,48,$106,0,0);
  10509. _out($0,$77,$100);
  10510. $107 = $4 ^ 8192;
  10511. _pad_684($0,32,$2,$104,$107);
  10512. $$sink562 = $104;
  10513. break;
  10514. }
  10515. $108 = ($3|0)<(0);
  10516. $$539 = $108 ? 6 : $3;
  10517. if ($37) {
  10518. $109 = $36 * 268435456.0;
  10519. $110 = HEAP32[$7>>2]|0;
  10520. $111 = (($110) + -28)|0;
  10521. HEAP32[$7>>2] = $111;
  10522. $$3 = $109;$$pr = $111;
  10523. } else {
  10524. $$pre = HEAP32[$7>>2]|0;
  10525. $$3 = $36;$$pr = $$pre;
  10526. }
  10527. $112 = ($$pr|0)<(0);
  10528. $113 = ((($6)) + 288|0);
  10529. $$556 = $112 ? $6 : $113;
  10530. $$0498 = $$556;$$4 = $$3;
  10531. while(1) {
  10532. $114 = (~~(($$4))>>>0);
  10533. HEAP32[$$0498>>2] = $114;
  10534. $115 = ((($$0498)) + 4|0);
  10535. $116 = (+($114>>>0));
  10536. $117 = $$4 - $116;
  10537. $118 = $117 * 1.0E+9;
  10538. $119 = $118 != 0.0;
  10539. if ($119) {
  10540. $$0498 = $115;$$4 = $118;
  10541. } else {
  10542. break;
  10543. }
  10544. }
  10545. $120 = ($$pr|0)>(0);
  10546. if ($120) {
  10547. $$1482661 = $$556;$$1499660 = $115;$122 = $$pr;
  10548. while(1) {
  10549. $121 = ($122|0)<(29);
  10550. $123 = $121 ? $122 : 29;
  10551. $$0488653 = ((($$1499660)) + -4|0);
  10552. $124 = ($$0488653>>>0)<($$1482661>>>0);
  10553. if ($124) {
  10554. $$2483$ph = $$1482661;
  10555. } else {
  10556. $$0488655 = $$0488653;$$0497654 = 0;
  10557. while(1) {
  10558. $125 = HEAP32[$$0488655>>2]|0;
  10559. $126 = (_bitshift64Shl(($125|0),0,($123|0))|0);
  10560. $127 = tempRet0;
  10561. $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0);
  10562. $129 = tempRet0;
  10563. $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0);
  10564. $131 = tempRet0;
  10565. HEAP32[$$0488655>>2] = $130;
  10566. $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0);
  10567. $133 = tempRet0;
  10568. $$0488 = ((($$0488655)) + -4|0);
  10569. $134 = ($$0488>>>0)<($$1482661>>>0);
  10570. if ($134) {
  10571. break;
  10572. } else {
  10573. $$0488655 = $$0488;$$0497654 = $132;
  10574. }
  10575. }
  10576. $135 = ($132|0)==(0);
  10577. if ($135) {
  10578. $$2483$ph = $$1482661;
  10579. } else {
  10580. $136 = ((($$1482661)) + -4|0);
  10581. HEAP32[$136>>2] = $132;
  10582. $$2483$ph = $136;
  10583. }
  10584. }
  10585. $$2500 = $$1499660;
  10586. while(1) {
  10587. $137 = ($$2500>>>0)>($$2483$ph>>>0);
  10588. if (!($137)) {
  10589. break;
  10590. }
  10591. $138 = ((($$2500)) + -4|0);
  10592. $139 = HEAP32[$138>>2]|0;
  10593. $140 = ($139|0)==(0);
  10594. if ($140) {
  10595. $$2500 = $138;
  10596. } else {
  10597. break;
  10598. }
  10599. }
  10600. $141 = HEAP32[$7>>2]|0;
  10601. $142 = (($141) - ($123))|0;
  10602. HEAP32[$7>>2] = $142;
  10603. $143 = ($142|0)>(0);
  10604. if ($143) {
  10605. $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142;
  10606. } else {
  10607. $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142;
  10608. break;
  10609. }
  10610. }
  10611. } else {
  10612. $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr;
  10613. }
  10614. $144 = ($$pr564|0)<(0);
  10615. if ($144) {
  10616. $145 = (($$539) + 25)|0;
  10617. $146 = (($145|0) / 9)&-1;
  10618. $147 = (($146) + 1)|0;
  10619. $148 = ($40|0)==(102);
  10620. $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564;
  10621. while(1) {
  10622. $149 = (0 - ($150))|0;
  10623. $151 = ($149|0)<(9);
  10624. $152 = $151 ? $149 : 9;
  10625. $153 = ($$3484648>>>0)<($$3501647>>>0);
  10626. if ($153) {
  10627. $157 = 1 << $152;
  10628. $158 = (($157) + -1)|0;
  10629. $159 = 1000000000 >>> $152;
  10630. $$0487642 = 0;$$1489641 = $$3484648;
  10631. while(1) {
  10632. $160 = HEAP32[$$1489641>>2]|0;
  10633. $161 = $160 & $158;
  10634. $162 = $160 >>> $152;
  10635. $163 = (($162) + ($$0487642))|0;
  10636. HEAP32[$$1489641>>2] = $163;
  10637. $164 = Math_imul($161, $159)|0;
  10638. $165 = ((($$1489641)) + 4|0);
  10639. $166 = ($165>>>0)<($$3501647>>>0);
  10640. if ($166) {
  10641. $$0487642 = $164;$$1489641 = $165;
  10642. } else {
  10643. break;
  10644. }
  10645. }
  10646. $167 = HEAP32[$$3484648>>2]|0;
  10647. $168 = ($167|0)==(0);
  10648. $169 = ((($$3484648)) + 4|0);
  10649. $$$3484 = $168 ? $169 : $$3484648;
  10650. $170 = ($164|0)==(0);
  10651. if ($170) {
  10652. $$$3484692 = $$$3484;$$4502 = $$3501647;
  10653. } else {
  10654. $171 = ((($$3501647)) + 4|0);
  10655. HEAP32[$$3501647>>2] = $164;
  10656. $$$3484692 = $$$3484;$$4502 = $171;
  10657. }
  10658. } else {
  10659. $154 = HEAP32[$$3484648>>2]|0;
  10660. $155 = ($154|0)==(0);
  10661. $156 = ((($$3484648)) + 4|0);
  10662. $$$3484691 = $155 ? $156 : $$3484648;
  10663. $$$3484692 = $$$3484691;$$4502 = $$3501647;
  10664. }
  10665. $172 = $148 ? $$556 : $$$3484692;
  10666. $173 = $$4502;
  10667. $174 = $172;
  10668. $175 = (($173) - ($174))|0;
  10669. $176 = $175 >> 2;
  10670. $177 = ($176|0)>($147|0);
  10671. $178 = (($172) + ($147<<2)|0);
  10672. $$$4502 = $177 ? $178 : $$4502;
  10673. $179 = HEAP32[$7>>2]|0;
  10674. $180 = (($179) + ($152))|0;
  10675. HEAP32[$7>>2] = $180;
  10676. $181 = ($180|0)<(0);
  10677. if ($181) {
  10678. $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180;
  10679. } else {
  10680. $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502;
  10681. break;
  10682. }
  10683. }
  10684. } else {
  10685. $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa;
  10686. }
  10687. $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0);
  10688. $183 = $$556;
  10689. if ($182) {
  10690. $184 = $$3484$lcssa;
  10691. $185 = (($183) - ($184))|0;
  10692. $186 = $185 >> 2;
  10693. $187 = ($186*9)|0;
  10694. $188 = HEAP32[$$3484$lcssa>>2]|0;
  10695. $189 = ($188>>>0)<(10);
  10696. if ($189) {
  10697. $$1515 = $187;
  10698. } else {
  10699. $$0514637 = $187;$$0530636 = 10;
  10700. while(1) {
  10701. $190 = ($$0530636*10)|0;
  10702. $191 = (($$0514637) + 1)|0;
  10703. $192 = ($188>>>0)<($190>>>0);
  10704. if ($192) {
  10705. $$1515 = $191;
  10706. break;
  10707. } else {
  10708. $$0514637 = $191;$$0530636 = $190;
  10709. }
  10710. }
  10711. }
  10712. } else {
  10713. $$1515 = 0;
  10714. }
  10715. $193 = ($40|0)!=(102);
  10716. $194 = $193 ? $$1515 : 0;
  10717. $195 = (($$539) - ($194))|0;
  10718. $196 = ($40|0)==(103);
  10719. $197 = ($$539|0)!=(0);
  10720. $198 = $197 & $196;
  10721. $$neg = $198 << 31 >> 31;
  10722. $199 = (($195) + ($$neg))|0;
  10723. $200 = $$3501$lcssa;
  10724. $201 = (($200) - ($183))|0;
  10725. $202 = $201 >> 2;
  10726. $203 = ($202*9)|0;
  10727. $204 = (($203) + -9)|0;
  10728. $205 = ($199|0)<($204|0);
  10729. if ($205) {
  10730. $206 = ((($$556)) + 4|0);
  10731. $207 = (($199) + 9216)|0;
  10732. $208 = (($207|0) / 9)&-1;
  10733. $209 = (($208) + -1024)|0;
  10734. $210 = (($206) + ($209<<2)|0);
  10735. $211 = (($207|0) % 9)&-1;
  10736. $$0527629 = (($211) + 1)|0;
  10737. $212 = ($$0527629|0)<(9);
  10738. if ($212) {
  10739. $$0527631 = $$0527629;$$1531630 = 10;
  10740. while(1) {
  10741. $213 = ($$1531630*10)|0;
  10742. $$0527 = (($$0527631) + 1)|0;
  10743. $exitcond = ($$0527|0)==(9);
  10744. if ($exitcond) {
  10745. $$1531$lcssa = $213;
  10746. break;
  10747. } else {
  10748. $$0527631 = $$0527;$$1531630 = $213;
  10749. }
  10750. }
  10751. } else {
  10752. $$1531$lcssa = 10;
  10753. }
  10754. $214 = HEAP32[$210>>2]|0;
  10755. $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1;
  10756. $216 = ($215|0)==(0);
  10757. $217 = ((($210)) + 4|0);
  10758. $218 = ($217|0)==($$3501$lcssa|0);
  10759. $or$cond541 = $218 & $216;
  10760. if ($or$cond541) {
  10761. $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa;
  10762. } else {
  10763. $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1;
  10764. $220 = $219 & 1;
  10765. $221 = ($220|0)==(0);
  10766. $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0;
  10767. $222 = (($$1531$lcssa|0) / 2)&-1;
  10768. $223 = ($215>>>0)<($222>>>0);
  10769. $224 = ($215|0)==($222|0);
  10770. $or$cond544 = $218 & $224;
  10771. $$559 = $or$cond544 ? 1.0 : 1.5;
  10772. $$$559 = $223 ? 0.5 : $$559;
  10773. $225 = ($$0520|0)==(0);
  10774. if ($225) {
  10775. $$1467 = $$$559;$$1469 = $$542;
  10776. } else {
  10777. $226 = HEAP8[$$0521>>0]|0;
  10778. $227 = ($226<<24>>24)==(45);
  10779. $228 = -$$542;
  10780. $229 = -$$$559;
  10781. $$$542 = $227 ? $228 : $$542;
  10782. $$$$559 = $227 ? $229 : $$$559;
  10783. $$1467 = $$$$559;$$1469 = $$$542;
  10784. }
  10785. $230 = (($214) - ($215))|0;
  10786. HEAP32[$210>>2] = $230;
  10787. $231 = $$1469 + $$1467;
  10788. $232 = $231 != $$1469;
  10789. if ($232) {
  10790. $233 = (($230) + ($$1531$lcssa))|0;
  10791. HEAP32[$210>>2] = $233;
  10792. $234 = ($233>>>0)>(999999999);
  10793. if ($234) {
  10794. $$5486623 = $$3484$lcssa;$$sink545622 = $210;
  10795. while(1) {
  10796. $235 = ((($$sink545622)) + -4|0);
  10797. HEAP32[$$sink545622>>2] = 0;
  10798. $236 = ($235>>>0)<($$5486623>>>0);
  10799. if ($236) {
  10800. $237 = ((($$5486623)) + -4|0);
  10801. HEAP32[$237>>2] = 0;
  10802. $$6 = $237;
  10803. } else {
  10804. $$6 = $$5486623;
  10805. }
  10806. $238 = HEAP32[$235>>2]|0;
  10807. $239 = (($238) + 1)|0;
  10808. HEAP32[$235>>2] = $239;
  10809. $240 = ($239>>>0)>(999999999);
  10810. if ($240) {
  10811. $$5486623 = $$6;$$sink545622 = $235;
  10812. } else {
  10813. $$5486$lcssa = $$6;$$sink545$lcssa = $235;
  10814. break;
  10815. }
  10816. }
  10817. } else {
  10818. $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210;
  10819. }
  10820. $241 = $$5486$lcssa;
  10821. $242 = (($183) - ($241))|0;
  10822. $243 = $242 >> 2;
  10823. $244 = ($243*9)|0;
  10824. $245 = HEAP32[$$5486$lcssa>>2]|0;
  10825. $246 = ($245>>>0)<(10);
  10826. if ($246) {
  10827. $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa;
  10828. } else {
  10829. $$2516618 = $244;$$2532617 = 10;
  10830. while(1) {
  10831. $247 = ($$2532617*10)|0;
  10832. $248 = (($$2516618) + 1)|0;
  10833. $249 = ($245>>>0)<($247>>>0);
  10834. if ($249) {
  10835. $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa;
  10836. break;
  10837. } else {
  10838. $$2516618 = $248;$$2532617 = $247;
  10839. }
  10840. }
  10841. }
  10842. } else {
  10843. $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa;
  10844. }
  10845. }
  10846. $250 = ((($$4492)) + 4|0);
  10847. $251 = ($$3501$lcssa>>>0)>($250>>>0);
  10848. $$$3501 = $251 ? $250 : $$3501$lcssa;
  10849. $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8;
  10850. } else {
  10851. $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa;
  10852. }
  10853. $$7505 = $$7505$ph;
  10854. while(1) {
  10855. $252 = ($$7505>>>0)>($$9$ph>>>0);
  10856. if (!($252)) {
  10857. $$lcssa673 = 0;
  10858. break;
  10859. }
  10860. $253 = ((($$7505)) + -4|0);
  10861. $254 = HEAP32[$253>>2]|0;
  10862. $255 = ($254|0)==(0);
  10863. if ($255) {
  10864. $$7505 = $253;
  10865. } else {
  10866. $$lcssa673 = 1;
  10867. break;
  10868. }
  10869. }
  10870. $256 = (0 - ($$5519$ph))|0;
  10871. do {
  10872. if ($196) {
  10873. $not$ = $197 ^ 1;
  10874. $257 = $not$&1;
  10875. $$539$ = (($257) + ($$539))|0;
  10876. $258 = ($$539$|0)>($$5519$ph|0);
  10877. $259 = ($$5519$ph|0)>(-5);
  10878. $or$cond6 = $258 & $259;
  10879. if ($or$cond6) {
  10880. $260 = (($5) + -1)|0;
  10881. $$neg567 = (($$539$) + -1)|0;
  10882. $261 = (($$neg567) - ($$5519$ph))|0;
  10883. $$0479 = $260;$$2476 = $261;
  10884. } else {
  10885. $262 = (($5) + -2)|0;
  10886. $263 = (($$539$) + -1)|0;
  10887. $$0479 = $262;$$2476 = $263;
  10888. }
  10889. $264 = $4 & 8;
  10890. $265 = ($264|0)==(0);
  10891. if ($265) {
  10892. if ($$lcssa673) {
  10893. $266 = ((($$7505)) + -4|0);
  10894. $267 = HEAP32[$266>>2]|0;
  10895. $268 = ($267|0)==(0);
  10896. if ($268) {
  10897. $$2529 = 9;
  10898. } else {
  10899. $269 = (($267>>>0) % 10)&-1;
  10900. $270 = ($269|0)==(0);
  10901. if ($270) {
  10902. $$1528614 = 0;$$3533613 = 10;
  10903. while(1) {
  10904. $271 = ($$3533613*10)|0;
  10905. $272 = (($$1528614) + 1)|0;
  10906. $273 = (($267>>>0) % ($271>>>0))&-1;
  10907. $274 = ($273|0)==(0);
  10908. if ($274) {
  10909. $$1528614 = $272;$$3533613 = $271;
  10910. } else {
  10911. $$2529 = $272;
  10912. break;
  10913. }
  10914. }
  10915. } else {
  10916. $$2529 = 0;
  10917. }
  10918. }
  10919. } else {
  10920. $$2529 = 9;
  10921. }
  10922. $275 = $$0479 | 32;
  10923. $276 = ($275|0)==(102);
  10924. $277 = $$7505;
  10925. $278 = (($277) - ($183))|0;
  10926. $279 = $278 >> 2;
  10927. $280 = ($279*9)|0;
  10928. $281 = (($280) + -9)|0;
  10929. if ($276) {
  10930. $282 = (($281) - ($$2529))|0;
  10931. $283 = ($282|0)>(0);
  10932. $$546 = $283 ? $282 : 0;
  10933. $284 = ($$2476|0)<($$546|0);
  10934. $$2476$$547 = $284 ? $$2476 : $$546;
  10935. $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0;
  10936. break;
  10937. } else {
  10938. $285 = (($281) + ($$5519$ph))|0;
  10939. $286 = (($285) - ($$2529))|0;
  10940. $287 = ($286|0)>(0);
  10941. $$548 = $287 ? $286 : 0;
  10942. $288 = ($$2476|0)<($$548|0);
  10943. $$2476$$549 = $288 ? $$2476 : $$548;
  10944. $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0;
  10945. break;
  10946. }
  10947. } else {
  10948. $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264;
  10949. }
  10950. } else {
  10951. $$pre689 = $4 & 8;
  10952. $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689;
  10953. }
  10954. } while(0);
  10955. $289 = $$3477 | $$pre$phi690Z2D;
  10956. $290 = ($289|0)!=(0);
  10957. $291 = $290&1;
  10958. $292 = $$1480 | 32;
  10959. $293 = ($292|0)==(102);
  10960. if ($293) {
  10961. $294 = ($$5519$ph|0)>(0);
  10962. $295 = $294 ? $$5519$ph : 0;
  10963. $$2513 = 0;$$pn566 = $295;
  10964. } else {
  10965. $296 = ($$5519$ph|0)<(0);
  10966. $297 = $296 ? $256 : $$5519$ph;
  10967. $298 = ($297|0)<(0);
  10968. $299 = $298 << 31 >> 31;
  10969. $300 = (_fmt_u($297,$299,$11)|0);
  10970. $301 = $11;
  10971. $302 = $300;
  10972. $303 = (($301) - ($302))|0;
  10973. $304 = ($303|0)<(2);
  10974. if ($304) {
  10975. $$1512607 = $300;
  10976. while(1) {
  10977. $305 = ((($$1512607)) + -1|0);
  10978. HEAP8[$305>>0] = 48;
  10979. $306 = $305;
  10980. $307 = (($301) - ($306))|0;
  10981. $308 = ($307|0)<(2);
  10982. if ($308) {
  10983. $$1512607 = $305;
  10984. } else {
  10985. $$1512$lcssa = $305;
  10986. break;
  10987. }
  10988. }
  10989. } else {
  10990. $$1512$lcssa = $300;
  10991. }
  10992. $309 = $$5519$ph >> 31;
  10993. $310 = $309 & 2;
  10994. $311 = (($310) + 43)|0;
  10995. $312 = $311&255;
  10996. $313 = ((($$1512$lcssa)) + -1|0);
  10997. HEAP8[$313>>0] = $312;
  10998. $314 = $$1480&255;
  10999. $315 = ((($$1512$lcssa)) + -2|0);
  11000. HEAP8[$315>>0] = $314;
  11001. $316 = $315;
  11002. $317 = (($301) - ($316))|0;
  11003. $$2513 = $315;$$pn566 = $317;
  11004. }
  11005. $318 = (($$0520) + 1)|0;
  11006. $319 = (($318) + ($$3477))|0;
  11007. $$1526 = (($319) + ($291))|0;
  11008. $320 = (($$1526) + ($$pn566))|0;
  11009. _pad_684($0,32,$2,$320,$4);
  11010. _out($0,$$0521,$$0520);
  11011. $321 = $4 ^ 65536;
  11012. _pad_684($0,48,$2,$320,$321);
  11013. if ($293) {
  11014. $322 = ($$9$ph>>>0)>($$556>>>0);
  11015. $$0496$$9 = $322 ? $$556 : $$9$ph;
  11016. $323 = ((($8)) + 9|0);
  11017. $324 = $323;
  11018. $325 = ((($8)) + 8|0);
  11019. $$5493597 = $$0496$$9;
  11020. while(1) {
  11021. $326 = HEAP32[$$5493597>>2]|0;
  11022. $327 = (_fmt_u($326,0,$323)|0);
  11023. $328 = ($$5493597|0)==($$0496$$9|0);
  11024. if ($328) {
  11025. $334 = ($327|0)==($323|0);
  11026. if ($334) {
  11027. HEAP8[$325>>0] = 48;
  11028. $$1465 = $325;
  11029. } else {
  11030. $$1465 = $327;
  11031. }
  11032. } else {
  11033. $329 = ($327>>>0)>($8>>>0);
  11034. if ($329) {
  11035. $330 = $327;
  11036. $331 = (($330) - ($9))|0;
  11037. _memset(($8|0),48,($331|0))|0;
  11038. $$0464594 = $327;
  11039. while(1) {
  11040. $332 = ((($$0464594)) + -1|0);
  11041. $333 = ($332>>>0)>($8>>>0);
  11042. if ($333) {
  11043. $$0464594 = $332;
  11044. } else {
  11045. $$1465 = $332;
  11046. break;
  11047. }
  11048. }
  11049. } else {
  11050. $$1465 = $327;
  11051. }
  11052. }
  11053. $335 = $$1465;
  11054. $336 = (($324) - ($335))|0;
  11055. _out($0,$$1465,$336);
  11056. $337 = ((($$5493597)) + 4|0);
  11057. $338 = ($337>>>0)>($$556>>>0);
  11058. if ($338) {
  11059. break;
  11060. } else {
  11061. $$5493597 = $337;
  11062. }
  11063. }
  11064. $339 = ($289|0)==(0);
  11065. if (!($339)) {
  11066. _out($0,3486,1);
  11067. }
  11068. $340 = ($337>>>0)<($$7505>>>0);
  11069. $341 = ($$3477|0)>(0);
  11070. $342 = $340 & $341;
  11071. if ($342) {
  11072. $$4478590 = $$3477;$$6494589 = $337;
  11073. while(1) {
  11074. $343 = HEAP32[$$6494589>>2]|0;
  11075. $344 = (_fmt_u($343,0,$323)|0);
  11076. $345 = ($344>>>0)>($8>>>0);
  11077. if ($345) {
  11078. $346 = $344;
  11079. $347 = (($346) - ($9))|0;
  11080. _memset(($8|0),48,($347|0))|0;
  11081. $$0463584 = $344;
  11082. while(1) {
  11083. $348 = ((($$0463584)) + -1|0);
  11084. $349 = ($348>>>0)>($8>>>0);
  11085. if ($349) {
  11086. $$0463584 = $348;
  11087. } else {
  11088. $$0463$lcssa = $348;
  11089. break;
  11090. }
  11091. }
  11092. } else {
  11093. $$0463$lcssa = $344;
  11094. }
  11095. $350 = ($$4478590|0)<(9);
  11096. $351 = $350 ? $$4478590 : 9;
  11097. _out($0,$$0463$lcssa,$351);
  11098. $352 = ((($$6494589)) + 4|0);
  11099. $353 = (($$4478590) + -9)|0;
  11100. $354 = ($352>>>0)<($$7505>>>0);
  11101. $355 = ($$4478590|0)>(9);
  11102. $356 = $354 & $355;
  11103. if ($356) {
  11104. $$4478590 = $353;$$6494589 = $352;
  11105. } else {
  11106. $$4478$lcssa = $353;
  11107. break;
  11108. }
  11109. }
  11110. } else {
  11111. $$4478$lcssa = $$3477;
  11112. }
  11113. $357 = (($$4478$lcssa) + 9)|0;
  11114. _pad_684($0,48,$357,9,0);
  11115. } else {
  11116. $358 = ((($$9$ph)) + 4|0);
  11117. $$7505$ = $$lcssa673 ? $$7505 : $358;
  11118. $359 = ($$3477|0)>(-1);
  11119. if ($359) {
  11120. $360 = ((($8)) + 9|0);
  11121. $361 = ($$pre$phi690Z2D|0)==(0);
  11122. $362 = $360;
  11123. $363 = (0 - ($9))|0;
  11124. $364 = ((($8)) + 8|0);
  11125. $$5602 = $$3477;$$7495601 = $$9$ph;
  11126. while(1) {
  11127. $365 = HEAP32[$$7495601>>2]|0;
  11128. $366 = (_fmt_u($365,0,$360)|0);
  11129. $367 = ($366|0)==($360|0);
  11130. if ($367) {
  11131. HEAP8[$364>>0] = 48;
  11132. $$0 = $364;
  11133. } else {
  11134. $$0 = $366;
  11135. }
  11136. $368 = ($$7495601|0)==($$9$ph|0);
  11137. do {
  11138. if ($368) {
  11139. $372 = ((($$0)) + 1|0);
  11140. _out($0,$$0,1);
  11141. $373 = ($$5602|0)<(1);
  11142. $or$cond554 = $361 & $373;
  11143. if ($or$cond554) {
  11144. $$2 = $372;
  11145. break;
  11146. }
  11147. _out($0,3486,1);
  11148. $$2 = $372;
  11149. } else {
  11150. $369 = ($$0>>>0)>($8>>>0);
  11151. if (!($369)) {
  11152. $$2 = $$0;
  11153. break;
  11154. }
  11155. $scevgep684 = (($$0) + ($363)|0);
  11156. $scevgep684685 = $scevgep684;
  11157. _memset(($8|0),48,($scevgep684685|0))|0;
  11158. $$1598 = $$0;
  11159. while(1) {
  11160. $370 = ((($$1598)) + -1|0);
  11161. $371 = ($370>>>0)>($8>>>0);
  11162. if ($371) {
  11163. $$1598 = $370;
  11164. } else {
  11165. $$2 = $370;
  11166. break;
  11167. }
  11168. }
  11169. }
  11170. } while(0);
  11171. $374 = $$2;
  11172. $375 = (($362) - ($374))|0;
  11173. $376 = ($$5602|0)>($375|0);
  11174. $377 = $376 ? $375 : $$5602;
  11175. _out($0,$$2,$377);
  11176. $378 = (($$5602) - ($375))|0;
  11177. $379 = ((($$7495601)) + 4|0);
  11178. $380 = ($379>>>0)<($$7505$>>>0);
  11179. $381 = ($378|0)>(-1);
  11180. $382 = $380 & $381;
  11181. if ($382) {
  11182. $$5602 = $378;$$7495601 = $379;
  11183. } else {
  11184. $$5$lcssa = $378;
  11185. break;
  11186. }
  11187. }
  11188. } else {
  11189. $$5$lcssa = $$3477;
  11190. }
  11191. $383 = (($$5$lcssa) + 18)|0;
  11192. _pad_684($0,48,$383,18,0);
  11193. $384 = $11;
  11194. $385 = $$2513;
  11195. $386 = (($384) - ($385))|0;
  11196. _out($0,$$2513,$386);
  11197. }
  11198. $387 = $4 ^ 8192;
  11199. _pad_684($0,32,$2,$320,$387);
  11200. $$sink562 = $320;
  11201. } else {
  11202. $27 = $5 & 32;
  11203. $28 = ($27|0)!=(0);
  11204. $29 = $28 ? 3458 : 3462;
  11205. $30 = ($$0471 != $$0471) | (0.0 != 0.0);
  11206. $31 = $28 ? 5389 : 3466;
  11207. $$0510 = $30 ? $31 : $29;
  11208. $32 = (($$0520) + 3)|0;
  11209. $33 = $4 & -65537;
  11210. _pad_684($0,32,$2,$32,$33);
  11211. _out($0,$$0521,$$0520);
  11212. _out($0,$$0510,3);
  11213. $34 = $4 ^ 8192;
  11214. _pad_684($0,32,$2,$32,$34);
  11215. $$sink562 = $32;
  11216. }
  11217. } while(0);
  11218. $388 = ($$sink562|0)<($2|0);
  11219. $$555 = $388 ? $2 : $$sink562;
  11220. STACKTOP = sp;return ($$555|0);
  11221. }
  11222. function ___DOUBLE_BITS_685($0) {
  11223. $0 = +$0;
  11224. var $1 = 0, $2 = 0, label = 0, sp = 0;
  11225. sp = STACKTOP;
  11226. HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
  11227. $2 = HEAP32[tempDoublePtr+4>>2]|0;
  11228. tempRet0 = ($2);
  11229. return ($1|0);
  11230. }
  11231. function _frexpl($0,$1) {
  11232. $0 = +$0;
  11233. $1 = $1|0;
  11234. var $2 = 0.0, label = 0, sp = 0;
  11235. sp = STACKTOP;
  11236. $2 = (+_frexp($0,$1));
  11237. return (+$2);
  11238. }
  11239. function _frexp($0,$1) {
  11240. $0 = +$0;
  11241. $1 = $1|0;
  11242. var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0;
  11243. var sp = 0;
  11244. sp = STACKTOP;
  11245. HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
  11246. $3 = HEAP32[tempDoublePtr+4>>2]|0;
  11247. $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
  11248. $5 = tempRet0;
  11249. $6 = $4&65535;
  11250. $trunc$clear = $6 & 2047;
  11251. switch ($trunc$clear<<16>>16) {
  11252. case 0: {
  11253. $7 = $0 != 0.0;
  11254. if ($7) {
  11255. $8 = $0 * 1.8446744073709552E+19;
  11256. $9 = (+_frexp($8,$1));
  11257. $10 = HEAP32[$1>>2]|0;
  11258. $11 = (($10) + -64)|0;
  11259. $$016 = $9;$storemerge = $11;
  11260. } else {
  11261. $$016 = $0;$storemerge = 0;
  11262. }
  11263. HEAP32[$1>>2] = $storemerge;
  11264. $$0 = $$016;
  11265. break;
  11266. }
  11267. case 2047: {
  11268. $$0 = $0;
  11269. break;
  11270. }
  11271. default: {
  11272. $12 = $4 & 2047;
  11273. $13 = (($12) + -1022)|0;
  11274. HEAP32[$1>>2] = $13;
  11275. $14 = $3 & -2146435073;
  11276. $15 = $14 | 1071644672;
  11277. HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3];
  11278. $$0 = $16;
  11279. }
  11280. }
  11281. return (+$$0);
  11282. }
  11283. function _wcrtomb($0,$1,$2) {
  11284. $0 = $0|0;
  11285. $1 = $1|0;
  11286. $2 = $2|0;
  11287. var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
  11288. var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
  11289. var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0;
  11290. sp = STACKTOP;
  11291. $3 = ($0|0)==(0|0);
  11292. do {
  11293. if ($3) {
  11294. $$0 = 1;
  11295. } else {
  11296. $4 = ($1>>>0)<(128);
  11297. if ($4) {
  11298. $5 = $1&255;
  11299. HEAP8[$0>>0] = $5;
  11300. $$0 = 1;
  11301. break;
  11302. }
  11303. $6 = (___pthread_self_431()|0);
  11304. $7 = ((($6)) + 188|0);
  11305. $8 = HEAP32[$7>>2]|0;
  11306. $9 = HEAP32[$8>>2]|0;
  11307. $not$ = ($9|0)==(0|0);
  11308. if ($not$) {
  11309. $10 = $1 & -128;
  11310. $11 = ($10|0)==(57216);
  11311. if ($11) {
  11312. $13 = $1&255;
  11313. HEAP8[$0>>0] = $13;
  11314. $$0 = 1;
  11315. break;
  11316. } else {
  11317. $12 = (___errno_location()|0);
  11318. HEAP32[$12>>2] = 84;
  11319. $$0 = -1;
  11320. break;
  11321. }
  11322. }
  11323. $14 = ($1>>>0)<(2048);
  11324. if ($14) {
  11325. $15 = $1 >>> 6;
  11326. $16 = $15 | 192;
  11327. $17 = $16&255;
  11328. $18 = ((($0)) + 1|0);
  11329. HEAP8[$0>>0] = $17;
  11330. $19 = $1 & 63;
  11331. $20 = $19 | 128;
  11332. $21 = $20&255;
  11333. HEAP8[$18>>0] = $21;
  11334. $$0 = 2;
  11335. break;
  11336. }
  11337. $22 = ($1>>>0)<(55296);
  11338. $23 = $1 & -8192;
  11339. $24 = ($23|0)==(57344);
  11340. $or$cond = $22 | $24;
  11341. if ($or$cond) {
  11342. $25 = $1 >>> 12;
  11343. $26 = $25 | 224;
  11344. $27 = $26&255;
  11345. $28 = ((($0)) + 1|0);
  11346. HEAP8[$0>>0] = $27;
  11347. $29 = $1 >>> 6;
  11348. $30 = $29 & 63;
  11349. $31 = $30 | 128;
  11350. $32 = $31&255;
  11351. $33 = ((($0)) + 2|0);
  11352. HEAP8[$28>>0] = $32;
  11353. $34 = $1 & 63;
  11354. $35 = $34 | 128;
  11355. $36 = $35&255;
  11356. HEAP8[$33>>0] = $36;
  11357. $$0 = 3;
  11358. break;
  11359. }
  11360. $37 = (($1) + -65536)|0;
  11361. $38 = ($37>>>0)<(1048576);
  11362. if ($38) {
  11363. $39 = $1 >>> 18;
  11364. $40 = $39 | 240;
  11365. $41 = $40&255;
  11366. $42 = ((($0)) + 1|0);
  11367. HEAP8[$0>>0] = $41;
  11368. $43 = $1 >>> 12;
  11369. $44 = $43 & 63;
  11370. $45 = $44 | 128;
  11371. $46 = $45&255;
  11372. $47 = ((($0)) + 2|0);
  11373. HEAP8[$42>>0] = $46;
  11374. $48 = $1 >>> 6;
  11375. $49 = $48 & 63;
  11376. $50 = $49 | 128;
  11377. $51 = $50&255;
  11378. $52 = ((($0)) + 3|0);
  11379. HEAP8[$47>>0] = $51;
  11380. $53 = $1 & 63;
  11381. $54 = $53 | 128;
  11382. $55 = $54&255;
  11383. HEAP8[$52>>0] = $55;
  11384. $$0 = 4;
  11385. break;
  11386. } else {
  11387. $56 = (___errno_location()|0);
  11388. HEAP32[$56>>2] = 84;
  11389. $$0 = -1;
  11390. break;
  11391. }
  11392. }
  11393. } while(0);
  11394. return ($$0|0);
  11395. }
  11396. function ___pthread_self_431() {
  11397. var $0 = 0, label = 0, sp = 0;
  11398. sp = STACKTOP;
  11399. $0 = (_pthread_self()|0);
  11400. return ($0|0);
  11401. }
  11402. function ___pthread_self_104() {
  11403. var $0 = 0, label = 0, sp = 0;
  11404. sp = STACKTOP;
  11405. $0 = (_pthread_self()|0);
  11406. return ($0|0);
  11407. }
  11408. function ___strerror_l($0,$1) {
  11409. $0 = $0|0;
  11410. $1 = $1|0;
  11411. var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
  11412. var label = 0, sp = 0;
  11413. sp = STACKTOP;
  11414. $$016 = 0;
  11415. while(1) {
  11416. $3 = (3488 + ($$016)|0);
  11417. $4 = HEAP8[$3>>0]|0;
  11418. $5 = $4&255;
  11419. $6 = ($5|0)==($0|0);
  11420. if ($6) {
  11421. label = 2;
  11422. break;
  11423. }
  11424. $7 = (($$016) + 1)|0;
  11425. $8 = ($7|0)==(87);
  11426. if ($8) {
  11427. $$01214 = 3576;$$115 = 87;
  11428. label = 5;
  11429. break;
  11430. } else {
  11431. $$016 = $7;
  11432. }
  11433. }
  11434. if ((label|0) == 2) {
  11435. $2 = ($$016|0)==(0);
  11436. if ($2) {
  11437. $$012$lcssa = 3576;
  11438. } else {
  11439. $$01214 = 3576;$$115 = $$016;
  11440. label = 5;
  11441. }
  11442. }
  11443. if ((label|0) == 5) {
  11444. while(1) {
  11445. label = 0;
  11446. $$113 = $$01214;
  11447. while(1) {
  11448. $9 = HEAP8[$$113>>0]|0;
  11449. $10 = ($9<<24>>24)==(0);
  11450. $11 = ((($$113)) + 1|0);
  11451. if ($10) {
  11452. break;
  11453. } else {
  11454. $$113 = $11;
  11455. }
  11456. }
  11457. $12 = (($$115) + -1)|0;
  11458. $13 = ($12|0)==(0);
  11459. if ($13) {
  11460. $$012$lcssa = $11;
  11461. break;
  11462. } else {
  11463. $$01214 = $11;$$115 = $12;
  11464. label = 5;
  11465. }
  11466. }
  11467. }
  11468. $14 = ((($1)) + 20|0);
  11469. $15 = HEAP32[$14>>2]|0;
  11470. $16 = (___lctrans($$012$lcssa,$15)|0);
  11471. return ($16|0);
  11472. }
  11473. function ___lctrans($0,$1) {
  11474. $0 = $0|0;
  11475. $1 = $1|0;
  11476. var $2 = 0, label = 0, sp = 0;
  11477. sp = STACKTOP;
  11478. $2 = (___lctrans_impl($0,$1)|0);
  11479. return ($2|0);
  11480. }
  11481. function ___lctrans_impl($0,$1) {
  11482. $0 = $0|0;
  11483. $1 = $1|0;
  11484. var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
  11485. sp = STACKTOP;
  11486. $2 = ($1|0)==(0|0);
  11487. if ($2) {
  11488. $$0 = 0;
  11489. } else {
  11490. $3 = HEAP32[$1>>2]|0;
  11491. $4 = ((($1)) + 4|0);
  11492. $5 = HEAP32[$4>>2]|0;
  11493. $6 = (___mo_lookup($3,$5,$0)|0);
  11494. $$0 = $6;
  11495. }
  11496. $7 = ($$0|0)!=(0|0);
  11497. $8 = $7 ? $$0 : $0;
  11498. return ($8|0);
  11499. }
  11500. function ___mo_lookup($0,$1,$2) {
  11501. $0 = $0|0;
  11502. $1 = $1|0;
  11503. $2 = $2|0;
  11504. var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
  11505. var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
  11506. var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
  11507. var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0;
  11508. sp = STACKTOP;
  11509. $3 = HEAP32[$0>>2]|0;
  11510. $4 = (($3) + 1794895138)|0;
  11511. $5 = ((($0)) + 8|0);
  11512. $6 = HEAP32[$5>>2]|0;
  11513. $7 = (_swapc($6,$4)|0);
  11514. $8 = ((($0)) + 12|0);
  11515. $9 = HEAP32[$8>>2]|0;
  11516. $10 = (_swapc($9,$4)|0);
  11517. $11 = ((($0)) + 16|0);
  11518. $12 = HEAP32[$11>>2]|0;
  11519. $13 = (_swapc($12,$4)|0);
  11520. $14 = $1 >>> 2;
  11521. $15 = ($7>>>0)<($14>>>0);
  11522. L1: do {
  11523. if ($15) {
  11524. $16 = $7 << 2;
  11525. $17 = (($1) - ($16))|0;
  11526. $18 = ($10>>>0)<($17>>>0);
  11527. $19 = ($13>>>0)<($17>>>0);
  11528. $or$cond = $18 & $19;
  11529. if ($or$cond) {
  11530. $20 = $13 | $10;
  11531. $21 = $20 & 3;
  11532. $22 = ($21|0)==(0);
  11533. if ($22) {
  11534. $23 = $10 >>> 2;
  11535. $24 = $13 >>> 2;
  11536. $$090 = 0;$$094 = $7;
  11537. while(1) {
  11538. $25 = $$094 >>> 1;
  11539. $26 = (($$090) + ($25))|0;
  11540. $27 = $26 << 1;
  11541. $28 = (($27) + ($23))|0;
  11542. $29 = (($0) + ($28<<2)|0);
  11543. $30 = HEAP32[$29>>2]|0;
  11544. $31 = (_swapc($30,$4)|0);
  11545. $32 = (($28) + 1)|0;
  11546. $33 = (($0) + ($32<<2)|0);
  11547. $34 = HEAP32[$33>>2]|0;
  11548. $35 = (_swapc($34,$4)|0);
  11549. $36 = ($35>>>0)<($1>>>0);
  11550. $37 = (($1) - ($35))|0;
  11551. $38 = ($31>>>0)<($37>>>0);
  11552. $or$cond102 = $36 & $38;
  11553. if (!($or$cond102)) {
  11554. $$4 = 0;
  11555. break L1;
  11556. }
  11557. $39 = (($35) + ($31))|0;
  11558. $40 = (($0) + ($39)|0);
  11559. $41 = HEAP8[$40>>0]|0;
  11560. $42 = ($41<<24>>24)==(0);
  11561. if (!($42)) {
  11562. $$4 = 0;
  11563. break L1;
  11564. }
  11565. $43 = (($0) + ($35)|0);
  11566. $44 = (_strcmp($2,$43)|0);
  11567. $45 = ($44|0)==(0);
  11568. if ($45) {
  11569. break;
  11570. }
  11571. $62 = ($$094|0)==(1);
  11572. $63 = ($44|0)<(0);
  11573. $64 = (($$094) - ($25))|0;
  11574. $$195 = $63 ? $25 : $64;
  11575. $$191 = $63 ? $$090 : $26;
  11576. if ($62) {
  11577. $$4 = 0;
  11578. break L1;
  11579. } else {
  11580. $$090 = $$191;$$094 = $$195;
  11581. }
  11582. }
  11583. $46 = (($27) + ($24))|0;
  11584. $47 = (($0) + ($46<<2)|0);
  11585. $48 = HEAP32[$47>>2]|0;
  11586. $49 = (_swapc($48,$4)|0);
  11587. $50 = (($46) + 1)|0;
  11588. $51 = (($0) + ($50<<2)|0);
  11589. $52 = HEAP32[$51>>2]|0;
  11590. $53 = (_swapc($52,$4)|0);
  11591. $54 = ($53>>>0)<($1>>>0);
  11592. $55 = (($1) - ($53))|0;
  11593. $56 = ($49>>>0)<($55>>>0);
  11594. $or$cond104 = $54 & $56;
  11595. if ($or$cond104) {
  11596. $57 = (($0) + ($53)|0);
  11597. $58 = (($53) + ($49))|0;
  11598. $59 = (($0) + ($58)|0);
  11599. $60 = HEAP8[$59>>0]|0;
  11600. $61 = ($60<<24>>24)==(0);
  11601. $$ = $61 ? $57 : 0;
  11602. $$4 = $$;
  11603. } else {
  11604. $$4 = 0;
  11605. }
  11606. } else {
  11607. $$4 = 0;
  11608. }
  11609. } else {
  11610. $$4 = 0;
  11611. }
  11612. } else {
  11613. $$4 = 0;
  11614. }
  11615. } while(0);
  11616. return ($$4|0);
  11617. }
  11618. function _swapc($0,$1) {
  11619. $0 = $0|0;
  11620. $1 = $1|0;
  11621. var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
  11622. sp = STACKTOP;
  11623. $2 = ($1|0)==(0);
  11624. $3 = (_llvm_bswap_i32(($0|0))|0);
  11625. $$ = $2 ? $0 : $3;
  11626. return ($$|0);
  11627. }
  11628. function ___fwritex($0,$1,$2) {
  11629. $0 = $0|0;
  11630. $1 = $1|0;
  11631. $2 = $2|0;
  11632. var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
  11633. var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
  11634. var label = 0, sp = 0;
  11635. sp = STACKTOP;
  11636. $3 = ((($2)) + 16|0);
  11637. $4 = HEAP32[$3>>2]|0;
  11638. $5 = ($4|0)==(0|0);
  11639. if ($5) {
  11640. $7 = (___towrite($2)|0);
  11641. $8 = ($7|0)==(0);
  11642. if ($8) {
  11643. $$pre = HEAP32[$3>>2]|0;
  11644. $12 = $$pre;
  11645. label = 5;
  11646. } else {
  11647. $$1 = 0;
  11648. }
  11649. } else {
  11650. $6 = $4;
  11651. $12 = $6;
  11652. label = 5;
  11653. }
  11654. L5: do {
  11655. if ((label|0) == 5) {
  11656. $9 = ((($2)) + 20|0);
  11657. $10 = HEAP32[$9>>2]|0;
  11658. $11 = (($12) - ($10))|0;
  11659. $13 = ($11>>>0)<($1>>>0);
  11660. $14 = $10;
  11661. if ($13) {
  11662. $15 = ((($2)) + 36|0);
  11663. $16 = HEAP32[$15>>2]|0;
  11664. $17 = (FUNCTION_TABLE_iiii[$16 & 31]($2,$0,$1)|0);
  11665. $$1 = $17;
  11666. break;
  11667. }
  11668. $18 = ((($2)) + 75|0);
  11669. $19 = HEAP8[$18>>0]|0;
  11670. $20 = ($19<<24>>24)>(-1);
  11671. L10: do {
  11672. if ($20) {
  11673. $$038 = $1;
  11674. while(1) {
  11675. $21 = ($$038|0)==(0);
  11676. if ($21) {
  11677. $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14;
  11678. break L10;
  11679. }
  11680. $22 = (($$038) + -1)|0;
  11681. $23 = (($0) + ($22)|0);
  11682. $24 = HEAP8[$23>>0]|0;
  11683. $25 = ($24<<24>>24)==(10);
  11684. if ($25) {
  11685. break;
  11686. } else {
  11687. $$038 = $22;
  11688. }
  11689. }
  11690. $26 = ((($2)) + 36|0);
  11691. $27 = HEAP32[$26>>2]|0;
  11692. $28 = (FUNCTION_TABLE_iiii[$27 & 31]($2,$0,$$038)|0);
  11693. $29 = ($28>>>0)<($$038>>>0);
  11694. if ($29) {
  11695. $$1 = $28;
  11696. break L5;
  11697. }
  11698. $30 = (($0) + ($$038)|0);
  11699. $$042 = (($1) - ($$038))|0;
  11700. $$pre47 = HEAP32[$9>>2]|0;
  11701. $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47;
  11702. } else {
  11703. $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14;
  11704. }
  11705. } while(0);
  11706. _memcpy(($31|0),($$141|0),($$143|0))|0;
  11707. $32 = HEAP32[$9>>2]|0;
  11708. $33 = (($32) + ($$143)|0);
  11709. HEAP32[$9>>2] = $33;
  11710. $34 = (($$139) + ($$143))|0;
  11711. $$1 = $34;
  11712. }
  11713. } while(0);
  11714. return ($$1|0);
  11715. }
  11716. function ___towrite($0) {
  11717. $0 = $0|0;
  11718. var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
  11719. var $9 = 0, label = 0, sp = 0;
  11720. sp = STACKTOP;
  11721. $1 = ((($0)) + 74|0);
  11722. $2 = HEAP8[$1>>0]|0;
  11723. $3 = $2 << 24 >> 24;
  11724. $4 = (($3) + 255)|0;
  11725. $5 = $4 | $3;
  11726. $6 = $5&255;
  11727. HEAP8[$1>>0] = $6;
  11728. $7 = HEAP32[$0>>2]|0;
  11729. $8 = $7 & 8;
  11730. $9 = ($8|0)==(0);
  11731. if ($9) {
  11732. $11 = ((($0)) + 8|0);
  11733. HEAP32[$11>>2] = 0;
  11734. $12 = ((($0)) + 4|0);
  11735. HEAP32[$12>>2] = 0;
  11736. $13 = ((($0)) + 44|0);
  11737. $14 = HEAP32[$13>>2]|0;
  11738. $15 = ((($0)) + 28|0);
  11739. HEAP32[$15>>2] = $14;
  11740. $16 = ((($0)) + 20|0);
  11741. HEAP32[$16>>2] = $14;
  11742. $17 = ((($0)) + 48|0);
  11743. $18 = HEAP32[$17>>2]|0;
  11744. $19 = (($14) + ($18)|0);
  11745. $20 = ((($0)) + 16|0);
  11746. HEAP32[$20>>2] = $19;
  11747. $$0 = 0;
  11748. } else {
  11749. $10 = $7 | 32;
  11750. HEAP32[$0>>2] = $10;
  11751. $$0 = -1;
  11752. }
  11753. return ($$0|0);
  11754. }
  11755. function _sn_write($0,$1,$2) {
  11756. $0 = $0|0;
  11757. $1 = $1|0;
  11758. $2 = $2|0;
  11759. var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  11760. sp = STACKTOP;
  11761. $3 = ((($0)) + 16|0);
  11762. $4 = HEAP32[$3>>2]|0;
  11763. $5 = ((($0)) + 20|0);
  11764. $6 = HEAP32[$5>>2]|0;
  11765. $7 = $6;
  11766. $8 = (($4) - ($7))|0;
  11767. $9 = ($8>>>0)>($2>>>0);
  11768. $$ = $9 ? $2 : $8;
  11769. _memcpy(($6|0),($1|0),($$|0))|0;
  11770. $10 = HEAP32[$5>>2]|0;
  11771. $11 = (($10) + ($$)|0);
  11772. HEAP32[$5>>2] = $11;
  11773. return ($2|0);
  11774. }
  11775. function ___floatscan($0,$1,$2) {
  11776. $0 = $0|0;
  11777. $1 = $1|0;
  11778. $2 = $2|0;
  11779. var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0;
  11780. var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
  11781. var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0;
  11782. var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
  11783. var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
  11784. var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
  11785. var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
  11786. var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
  11787. sp = STACKTOP;
  11788. switch ($1|0) {
  11789. case 0: {
  11790. $$0105$ph = -149;$$0106$ph = 24;
  11791. label = 4;
  11792. break;
  11793. }
  11794. case 1: {
  11795. $$0105$ph = -1074;$$0106$ph = 53;
  11796. label = 4;
  11797. break;
  11798. }
  11799. case 2: {
  11800. $$0105$ph = -1074;$$0106$ph = 53;
  11801. label = 4;
  11802. break;
  11803. }
  11804. default: {
  11805. $$0114 = 0.0;
  11806. }
  11807. }
  11808. L4: do {
  11809. if ((label|0) == 4) {
  11810. $3 = ((($0)) + 4|0);
  11811. $4 = ((($0)) + 100|0);
  11812. while(1) {
  11813. $5 = HEAP32[$3>>2]|0;
  11814. $6 = HEAP32[$4>>2]|0;
  11815. $7 = ($5>>>0)<($6>>>0);
  11816. if ($7) {
  11817. $8 = ((($5)) + 1|0);
  11818. HEAP32[$3>>2] = $8;
  11819. $9 = HEAP8[$5>>0]|0;
  11820. $10 = $9&255;
  11821. $12 = $10;
  11822. } else {
  11823. $11 = (___shgetc($0)|0);
  11824. $12 = $11;
  11825. }
  11826. $13 = (_isspace($12)|0);
  11827. $14 = ($13|0)==(0);
  11828. if ($14) {
  11829. break;
  11830. }
  11831. }
  11832. L13: do {
  11833. switch ($12|0) {
  11834. case 43: case 45: {
  11835. $15 = ($12|0)==(45);
  11836. $16 = $15&1;
  11837. $17 = $16 << 1;
  11838. $18 = (1 - ($17))|0;
  11839. $19 = HEAP32[$3>>2]|0;
  11840. $20 = HEAP32[$4>>2]|0;
  11841. $21 = ($19>>>0)<($20>>>0);
  11842. if ($21) {
  11843. $22 = ((($19)) + 1|0);
  11844. HEAP32[$3>>2] = $22;
  11845. $23 = HEAP8[$19>>0]|0;
  11846. $24 = $23&255;
  11847. $$0 = $24;$$0113 = $18;
  11848. break L13;
  11849. } else {
  11850. $25 = (___shgetc($0)|0);
  11851. $$0 = $25;$$0113 = $18;
  11852. break L13;
  11853. }
  11854. break;
  11855. }
  11856. default: {
  11857. $$0 = $12;$$0113 = 1;
  11858. }
  11859. }
  11860. } while(0);
  11861. $$0107127 = 0;$$1128 = $$0;
  11862. while(1) {
  11863. $26 = $$1128 | 32;
  11864. $27 = (5380 + ($$0107127)|0);
  11865. $28 = HEAP8[$27>>0]|0;
  11866. $29 = $28 << 24 >> 24;
  11867. $30 = ($26|0)==($29|0);
  11868. if (!($30)) {
  11869. $$0107$lcssa = $$0107127;$$1$lcssa = $$1128;
  11870. break;
  11871. }
  11872. $31 = ($$0107127>>>0)<(7);
  11873. do {
  11874. if ($31) {
  11875. $32 = HEAP32[$3>>2]|0;
  11876. $33 = HEAP32[$4>>2]|0;
  11877. $34 = ($32>>>0)<($33>>>0);
  11878. if ($34) {
  11879. $35 = ((($32)) + 1|0);
  11880. HEAP32[$3>>2] = $35;
  11881. $36 = HEAP8[$32>>0]|0;
  11882. $37 = $36&255;
  11883. $$2 = $37;
  11884. break;
  11885. } else {
  11886. $38 = (___shgetc($0)|0);
  11887. $$2 = $38;
  11888. break;
  11889. }
  11890. } else {
  11891. $$2 = $$1128;
  11892. }
  11893. } while(0);
  11894. $39 = (($$0107127) + 1)|0;
  11895. $40 = ($39>>>0)<(8);
  11896. if ($40) {
  11897. $$0107127 = $39;$$1128 = $$2;
  11898. } else {
  11899. $$0107$lcssa = $39;$$1$lcssa = $$2;
  11900. break;
  11901. }
  11902. }
  11903. L29: do {
  11904. switch ($$0107$lcssa|0) {
  11905. case 8: {
  11906. break;
  11907. }
  11908. case 3: {
  11909. label = 23;
  11910. break;
  11911. }
  11912. default: {
  11913. $41 = ($$0107$lcssa>>>0)>(3);
  11914. $42 = ($2|0)!=(0);
  11915. $or$cond5 = $42 & $41;
  11916. if ($or$cond5) {
  11917. $43 = ($$0107$lcssa|0)==(8);
  11918. if ($43) {
  11919. break L29;
  11920. } else {
  11921. label = 23;
  11922. break L29;
  11923. }
  11924. }
  11925. $56 = ($$0107$lcssa|0)==(0);
  11926. L34: do {
  11927. if ($56) {
  11928. $$2109125 = 0;$$3126 = $$1$lcssa;
  11929. while(1) {
  11930. $57 = $$3126 | 32;
  11931. $58 = (5389 + ($$2109125)|0);
  11932. $59 = HEAP8[$58>>0]|0;
  11933. $60 = $59 << 24 >> 24;
  11934. $61 = ($57|0)==($60|0);
  11935. if (!($61)) {
  11936. $$3110 = $$2109125;$$5 = $$3126;
  11937. break L34;
  11938. }
  11939. $62 = ($$2109125>>>0)<(2);
  11940. do {
  11941. if ($62) {
  11942. $63 = HEAP32[$3>>2]|0;
  11943. $64 = HEAP32[$4>>2]|0;
  11944. $65 = ($63>>>0)<($64>>>0);
  11945. if ($65) {
  11946. $66 = ((($63)) + 1|0);
  11947. HEAP32[$3>>2] = $66;
  11948. $67 = HEAP8[$63>>0]|0;
  11949. $68 = $67&255;
  11950. $$4 = $68;
  11951. break;
  11952. } else {
  11953. $69 = (___shgetc($0)|0);
  11954. $$4 = $69;
  11955. break;
  11956. }
  11957. } else {
  11958. $$4 = $$3126;
  11959. }
  11960. } while(0);
  11961. $70 = (($$2109125) + 1)|0;
  11962. $71 = ($70>>>0)<(3);
  11963. if ($71) {
  11964. $$2109125 = $70;$$3126 = $$4;
  11965. } else {
  11966. $$3110 = $70;$$5 = $$4;
  11967. break;
  11968. }
  11969. }
  11970. } else {
  11971. $$3110 = $$0107$lcssa;$$5 = $$1$lcssa;
  11972. }
  11973. } while(0);
  11974. switch ($$3110|0) {
  11975. case 3: {
  11976. $72 = HEAP32[$3>>2]|0;
  11977. $73 = HEAP32[$4>>2]|0;
  11978. $74 = ($72>>>0)<($73>>>0);
  11979. if ($74) {
  11980. $75 = ((($72)) + 1|0);
  11981. HEAP32[$3>>2] = $75;
  11982. $76 = HEAP8[$72>>0]|0;
  11983. $77 = $76&255;
  11984. $80 = $77;
  11985. } else {
  11986. $78 = (___shgetc($0)|0);
  11987. $80 = $78;
  11988. }
  11989. $79 = ($80|0)==(40);
  11990. if ($79) {
  11991. $$4111 = 1;
  11992. } else {
  11993. $81 = HEAP32[$4>>2]|0;
  11994. $82 = ($81|0)==(0|0);
  11995. if ($82) {
  11996. $$0114 = nan;
  11997. break L4;
  11998. }
  11999. $83 = HEAP32[$3>>2]|0;
  12000. $84 = ((($83)) + -1|0);
  12001. HEAP32[$3>>2] = $84;
  12002. $$0114 = nan;
  12003. break L4;
  12004. }
  12005. while(1) {
  12006. $85 = HEAP32[$3>>2]|0;
  12007. $86 = HEAP32[$4>>2]|0;
  12008. $87 = ($85>>>0)<($86>>>0);
  12009. if ($87) {
  12010. $88 = ((($85)) + 1|0);
  12011. HEAP32[$3>>2] = $88;
  12012. $89 = HEAP8[$85>>0]|0;
  12013. $90 = $89&255;
  12014. $93 = $90;
  12015. } else {
  12016. $91 = (___shgetc($0)|0);
  12017. $93 = $91;
  12018. }
  12019. $92 = (($93) + -48)|0;
  12020. $94 = ($92>>>0)<(10);
  12021. $95 = (($93) + -65)|0;
  12022. $96 = ($95>>>0)<(26);
  12023. $or$cond = $94 | $96;
  12024. if (!($or$cond)) {
  12025. $97 = (($93) + -97)|0;
  12026. $98 = ($97>>>0)<(26);
  12027. $99 = ($93|0)==(95);
  12028. $or$cond7 = $99 | $98;
  12029. if (!($or$cond7)) {
  12030. break;
  12031. }
  12032. }
  12033. $111 = (($$4111) + 1)|0;
  12034. $$4111 = $111;
  12035. }
  12036. $100 = ($93|0)==(41);
  12037. if ($100) {
  12038. $$0114 = nan;
  12039. break L4;
  12040. }
  12041. $101 = HEAP32[$4>>2]|0;
  12042. $102 = ($101|0)==(0|0);
  12043. if (!($102)) {
  12044. $103 = HEAP32[$3>>2]|0;
  12045. $104 = ((($103)) + -1|0);
  12046. HEAP32[$3>>2] = $104;
  12047. }
  12048. if (!($42)) {
  12049. $106 = (___errno_location()|0);
  12050. HEAP32[$106>>2] = 22;
  12051. ___shlim($0,0);
  12052. $$0114 = 0.0;
  12053. break L4;
  12054. }
  12055. $105 = ($$4111|0)==(0);
  12056. if ($105) {
  12057. $$0114 = nan;
  12058. break L4;
  12059. } else {
  12060. $$in = $$4111;
  12061. }
  12062. while(1) {
  12063. $107 = (($$in) + -1)|0;
  12064. if (!($102)) {
  12065. $108 = HEAP32[$3>>2]|0;
  12066. $109 = ((($108)) + -1|0);
  12067. HEAP32[$3>>2] = $109;
  12068. }
  12069. $110 = ($107|0)==(0);
  12070. if ($110) {
  12071. $$0114 = nan;
  12072. break L4;
  12073. } else {
  12074. $$in = $107;
  12075. }
  12076. }
  12077. break;
  12078. }
  12079. case 0: {
  12080. $117 = ($$5|0)==(48);
  12081. if ($117) {
  12082. $118 = HEAP32[$3>>2]|0;
  12083. $119 = HEAP32[$4>>2]|0;
  12084. $120 = ($118>>>0)<($119>>>0);
  12085. if ($120) {
  12086. $121 = ((($118)) + 1|0);
  12087. HEAP32[$3>>2] = $121;
  12088. $122 = HEAP8[$118>>0]|0;
  12089. $123 = $122&255;
  12090. $126 = $123;
  12091. } else {
  12092. $124 = (___shgetc($0)|0);
  12093. $126 = $124;
  12094. }
  12095. $125 = $126 | 32;
  12096. $127 = ($125|0)==(120);
  12097. if ($127) {
  12098. $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2));
  12099. $$0114 = $128;
  12100. break L4;
  12101. }
  12102. $129 = HEAP32[$4>>2]|0;
  12103. $130 = ($129|0)==(0|0);
  12104. if ($130) {
  12105. $$6 = 48;
  12106. } else {
  12107. $131 = HEAP32[$3>>2]|0;
  12108. $132 = ((($131)) + -1|0);
  12109. HEAP32[$3>>2] = $132;
  12110. $$6 = 48;
  12111. }
  12112. } else {
  12113. $$6 = $$5;
  12114. }
  12115. $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2));
  12116. $$0114 = $133;
  12117. break L4;
  12118. break;
  12119. }
  12120. default: {
  12121. $112 = HEAP32[$4>>2]|0;
  12122. $113 = ($112|0)==(0|0);
  12123. if (!($113)) {
  12124. $114 = HEAP32[$3>>2]|0;
  12125. $115 = ((($114)) + -1|0);
  12126. HEAP32[$3>>2] = $115;
  12127. }
  12128. $116 = (___errno_location()|0);
  12129. HEAP32[$116>>2] = 22;
  12130. ___shlim($0,0);
  12131. $$0114 = 0.0;
  12132. break L4;
  12133. }
  12134. }
  12135. }
  12136. }
  12137. } while(0);
  12138. if ((label|0) == 23) {
  12139. $44 = HEAP32[$4>>2]|0;
  12140. $45 = ($44|0)==(0|0);
  12141. if (!($45)) {
  12142. $46 = HEAP32[$3>>2]|0;
  12143. $47 = ((($46)) + -1|0);
  12144. HEAP32[$3>>2] = $47;
  12145. }
  12146. $48 = ($2|0)!=(0);
  12147. $49 = ($$0107$lcssa>>>0)>(3);
  12148. $or$cond9 = $48 & $49;
  12149. if ($or$cond9) {
  12150. $$1108 = $$0107$lcssa;
  12151. while(1) {
  12152. if (!($45)) {
  12153. $50 = HEAP32[$3>>2]|0;
  12154. $51 = ((($50)) + -1|0);
  12155. HEAP32[$3>>2] = $51;
  12156. }
  12157. $52 = (($$1108) + -1)|0;
  12158. $$old8 = ($52>>>0)>(3);
  12159. if ($$old8) {
  12160. $$1108 = $52;
  12161. } else {
  12162. break;
  12163. }
  12164. }
  12165. }
  12166. }
  12167. $53 = (+($$0113|0));
  12168. $54 = $53 * inf;
  12169. $55 = $54;
  12170. $$0114 = $55;
  12171. }
  12172. } while(0);
  12173. return (+$$0114);
  12174. }
  12175. function _hexfloat($0,$1,$2,$3,$4) {
  12176. $0 = $0|0;
  12177. $1 = $1|0;
  12178. $2 = $2|0;
  12179. $3 = $3|0;
  12180. $4 = $4|0;
  12181. var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0;
  12182. var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0;
  12183. var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
  12184. var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
  12185. var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
  12186. var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0;
  12187. var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
  12188. var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0;
  12189. var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
  12190. var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
  12191. var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0;
  12192. var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
  12193. var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0;
  12194. var $or$cond6 = 0, label = 0, sp = 0;
  12195. sp = STACKTOP;
  12196. $5 = ((($0)) + 4|0);
  12197. $6 = HEAP32[$5>>2]|0;
  12198. $7 = ((($0)) + 100|0);
  12199. $8 = HEAP32[$7>>2]|0;
  12200. $9 = ($6>>>0)<($8>>>0);
  12201. if ($9) {
  12202. $10 = ((($6)) + 1|0);
  12203. HEAP32[$5>>2] = $10;
  12204. $11 = HEAP8[$6>>0]|0;
  12205. $12 = $11&255;
  12206. $$0 = $12;$$0142 = 0;
  12207. } else {
  12208. $13 = (___shgetc($0)|0);
  12209. $$0 = $13;$$0142 = 0;
  12210. }
  12211. L4: while(1) {
  12212. switch ($$0|0) {
  12213. case 46: {
  12214. label = 8;
  12215. break L4;
  12216. break;
  12217. }
  12218. case 48: {
  12219. break;
  12220. }
  12221. default: {
  12222. $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0;
  12223. break L4;
  12224. }
  12225. }
  12226. $14 = HEAP32[$5>>2]|0;
  12227. $15 = HEAP32[$7>>2]|0;
  12228. $16 = ($14>>>0)<($15>>>0);
  12229. if ($16) {
  12230. $17 = ((($14)) + 1|0);
  12231. HEAP32[$5>>2] = $17;
  12232. $18 = HEAP8[$14>>0]|0;
  12233. $19 = $18&255;
  12234. $$0 = $19;$$0142 = 1;
  12235. continue;
  12236. } else {
  12237. $20 = (___shgetc($0)|0);
  12238. $$0 = $20;$$0142 = 1;
  12239. continue;
  12240. }
  12241. }
  12242. if ((label|0) == 8) {
  12243. $21 = HEAP32[$5>>2]|0;
  12244. $22 = HEAP32[$7>>2]|0;
  12245. $23 = ($21>>>0)<($22>>>0);
  12246. if ($23) {
  12247. $24 = ((($21)) + 1|0);
  12248. HEAP32[$5>>2] = $24;
  12249. $25 = HEAP8[$21>>0]|0;
  12250. $26 = $25&255;
  12251. $$1$ph = $26;
  12252. } else {
  12253. $27 = (___shgetc($0)|0);
  12254. $$1$ph = $27;
  12255. }
  12256. $28 = ($$1$ph|0)==(48);
  12257. if ($28) {
  12258. $36 = 0;$37 = 0;
  12259. while(1) {
  12260. $29 = HEAP32[$5>>2]|0;
  12261. $30 = HEAP32[$7>>2]|0;
  12262. $31 = ($29>>>0)<($30>>>0);
  12263. if ($31) {
  12264. $32 = ((($29)) + 1|0);
  12265. HEAP32[$5>>2] = $32;
  12266. $33 = HEAP8[$29>>0]|0;
  12267. $34 = $33&255;
  12268. $41 = $34;
  12269. } else {
  12270. $35 = (___shgetc($0)|0);
  12271. $41 = $35;
  12272. }
  12273. $38 = (_i64Add(($36|0),($37|0),-1,-1)|0);
  12274. $39 = tempRet0;
  12275. $40 = ($41|0)==(48);
  12276. if ($40) {
  12277. $36 = $38;$37 = $39;
  12278. } else {
  12279. $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38;
  12280. break;
  12281. }
  12282. }
  12283. } else {
  12284. $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0;
  12285. }
  12286. }
  12287. while(1) {
  12288. $42 = (($$2) + -48)|0;
  12289. $43 = ($42>>>0)<(10);
  12290. $44 = ($$2|0)==(46);
  12291. if (!($43)) {
  12292. $45 = $$2 | 32;
  12293. $46 = (($45) + -97)|0;
  12294. $47 = ($46>>>0)<(6);
  12295. $or$cond6 = $44 | $47;
  12296. if (!($or$cond6)) {
  12297. $$2$lcssa = $$2;
  12298. break;
  12299. }
  12300. }
  12301. if ($44) {
  12302. $48 = ($$0146|0)==(0);
  12303. if ($48) {
  12304. $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53;
  12305. } else {
  12306. $$2$lcssa = 46;
  12307. break;
  12308. }
  12309. } else {
  12310. $49 = ($$2|0)>(57);
  12311. $50 = $$2 | 32;
  12312. $51 = (($50) + -87)|0;
  12313. $$0133 = $49 ? $51 : $42;
  12314. $52 = ($53|0)<(0);
  12315. $54 = ($55>>>0)<(8);
  12316. $56 = ($53|0)==(0);
  12317. $57 = $56 & $54;
  12318. $58 = $52 | $57;
  12319. do {
  12320. if ($58) {
  12321. $59 = $$0159 << 4;
  12322. $60 = (($$0133) + ($59))|0;
  12323. $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60;
  12324. } else {
  12325. $61 = ($53|0)<(0);
  12326. $62 = ($55>>>0)<(14);
  12327. $63 = ($53|0)==(0);
  12328. $64 = $63 & $62;
  12329. $65 = $61 | $64;
  12330. if ($65) {
  12331. $66 = (+($$0133|0));
  12332. $67 = $$0152 * 0.0625;
  12333. $68 = $67 * $66;
  12334. $69 = $$0155 + $68;
  12335. $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159;
  12336. break;
  12337. } else {
  12338. $70 = ($$0133|0)==(0);
  12339. $71 = ($$0148|0)!=(0);
  12340. $or$cond = $71 | $70;
  12341. $72 = $$0152 * 0.5;
  12342. $73 = $$0155 + $72;
  12343. $$0155$ = $or$cond ? $$0155 : $73;
  12344. $$0148$ = $or$cond ? $$0148 : 1;
  12345. $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159;
  12346. break;
  12347. }
  12348. }
  12349. } while(0);
  12350. $74 = (_i64Add(($55|0),($53|0),1,0)|0);
  12351. $75 = tempRet0;
  12352. $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75;
  12353. }
  12354. $76 = HEAP32[$5>>2]|0;
  12355. $77 = HEAP32[$7>>2]|0;
  12356. $78 = ($76>>>0)<($77>>>0);
  12357. if ($78) {
  12358. $79 = ((($76)) + 1|0);
  12359. HEAP32[$5>>2] = $79;
  12360. $80 = HEAP8[$76>>0]|0;
  12361. $81 = $80&255;
  12362. $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214;
  12363. continue;
  12364. } else {
  12365. $82 = (___shgetc($0)|0);
  12366. $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214;
  12367. continue;
  12368. }
  12369. }
  12370. $83 = ($$2144|0)==(0);
  12371. do {
  12372. if ($83) {
  12373. $84 = HEAP32[$7>>2]|0;
  12374. $85 = ($84|0)!=(0|0);
  12375. if ($85) {
  12376. $86 = HEAP32[$5>>2]|0;
  12377. $87 = ((($86)) + -1|0);
  12378. HEAP32[$5>>2] = $87;
  12379. }
  12380. $88 = ($4|0)==(0);
  12381. if ($88) {
  12382. ___shlim($0,0);
  12383. } else {
  12384. if ($85) {
  12385. $89 = HEAP32[$5>>2]|0;
  12386. $90 = ((($89)) + -1|0);
  12387. HEAP32[$5>>2] = $90;
  12388. }
  12389. $91 = ($$0146|0)==(0);
  12390. $92 = ($84|0)==(0|0);
  12391. $or$cond206 = $91 | $92;
  12392. if (!($or$cond206)) {
  12393. $93 = HEAP32[$5>>2]|0;
  12394. $94 = ((($93)) + -1|0);
  12395. HEAP32[$5>>2] = $94;
  12396. }
  12397. }
  12398. $95 = (+($3|0));
  12399. $96 = $95 * 0.0;
  12400. $$0165 = $96;
  12401. } else {
  12402. $97 = ($$0146|0)==(0);
  12403. $98 = $97 ? $55 : $99;
  12404. $100 = $97 ? $53 : $101;
  12405. $102 = ($53|0)<(0);
  12406. $103 = ($55>>>0)<(8);
  12407. $104 = ($53|0)==(0);
  12408. $105 = $104 & $103;
  12409. $106 = $102 | $105;
  12410. if ($106) {
  12411. $$3162183 = $$0159;$108 = $55;$109 = $53;
  12412. while(1) {
  12413. $107 = $$3162183 << 4;
  12414. $110 = (_i64Add(($108|0),($109|0),1,0)|0);
  12415. $111 = tempRet0;
  12416. $112 = ($111|0)<(0);
  12417. $113 = ($110>>>0)<(8);
  12418. $114 = ($111|0)==(0);
  12419. $115 = $114 & $113;
  12420. $116 = $112 | $115;
  12421. if ($116) {
  12422. $$3162183 = $107;$108 = $110;$109 = $111;
  12423. } else {
  12424. $$3162$lcssa = $107;
  12425. break;
  12426. }
  12427. }
  12428. } else {
  12429. $$3162$lcssa = $$0159;
  12430. }
  12431. $117 = $$2$lcssa | 32;
  12432. $118 = ($117|0)==(112);
  12433. if ($118) {
  12434. $119 = (_scanexp($0,$4)|0);
  12435. $120 = tempRet0;
  12436. $121 = ($119|0)==(0);
  12437. $122 = ($120|0)==(-2147483648);
  12438. $123 = $121 & $122;
  12439. if ($123) {
  12440. $124 = ($4|0)==(0);
  12441. if ($124) {
  12442. ___shlim($0,0);
  12443. $$0165 = 0.0;
  12444. break;
  12445. }
  12446. $125 = HEAP32[$7>>2]|0;
  12447. $126 = ($125|0)==(0|0);
  12448. if ($126) {
  12449. $137 = 0;$138 = 0;
  12450. } else {
  12451. $127 = HEAP32[$5>>2]|0;
  12452. $128 = ((($127)) + -1|0);
  12453. HEAP32[$5>>2] = $128;
  12454. $137 = 0;$138 = 0;
  12455. }
  12456. } else {
  12457. $137 = $119;$138 = $120;
  12458. }
  12459. } else {
  12460. $129 = HEAP32[$7>>2]|0;
  12461. $130 = ($129|0)==(0|0);
  12462. if ($130) {
  12463. $137 = 0;$138 = 0;
  12464. } else {
  12465. $131 = HEAP32[$5>>2]|0;
  12466. $132 = ((($131)) + -1|0);
  12467. HEAP32[$5>>2] = $132;
  12468. $137 = 0;$138 = 0;
  12469. }
  12470. }
  12471. $133 = (_bitshift64Shl(($98|0),($100|0),2)|0);
  12472. $134 = tempRet0;
  12473. $135 = (_i64Add(($133|0),($134|0),-32,-1)|0);
  12474. $136 = tempRet0;
  12475. $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0);
  12476. $140 = tempRet0;
  12477. $141 = ($$3162$lcssa|0)==(0);
  12478. if ($141) {
  12479. $142 = (+($3|0));
  12480. $143 = $142 * 0.0;
  12481. $$0165 = $143;
  12482. break;
  12483. }
  12484. $144 = (0 - ($2))|0;
  12485. $145 = ($144|0)<(0);
  12486. $146 = $145 << 31 >> 31;
  12487. $147 = ($140|0)>($146|0);
  12488. $148 = ($139>>>0)>($144>>>0);
  12489. $149 = ($140|0)==($146|0);
  12490. $150 = $149 & $148;
  12491. $151 = $147 | $150;
  12492. if ($151) {
  12493. $152 = (___errno_location()|0);
  12494. HEAP32[$152>>2] = 34;
  12495. $153 = (+($3|0));
  12496. $154 = $153 * 1.7976931348623157E+308;
  12497. $155 = $154 * 1.7976931348623157E+308;
  12498. $$0165 = $155;
  12499. break;
  12500. }
  12501. $156 = (($2) + -106)|0;
  12502. $157 = ($156|0)<(0);
  12503. $158 = $157 << 31 >> 31;
  12504. $159 = ($140|0)<($158|0);
  12505. $160 = ($139>>>0)<($156>>>0);
  12506. $161 = ($140|0)==($158|0);
  12507. $162 = $161 & $160;
  12508. $163 = $159 | $162;
  12509. if ($163) {
  12510. $165 = (___errno_location()|0);
  12511. HEAP32[$165>>2] = 34;
  12512. $166 = (+($3|0));
  12513. $167 = $166 * 2.2250738585072014E-308;
  12514. $168 = $167 * 2.2250738585072014E-308;
  12515. $$0165 = $168;
  12516. break;
  12517. }
  12518. $164 = ($$3162$lcssa|0)>(-1);
  12519. if ($164) {
  12520. $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140;
  12521. while(1) {
  12522. $169 = !($$3158179 >= 0.5);
  12523. $170 = $$4163178 << 1;
  12524. $171 = $$3158179 + -1.0;
  12525. $not$ = $169 ^ 1;
  12526. $172 = $not$&1;
  12527. $$5164 = $170 | $172;
  12528. $$pn = $169 ? $$3158179 : $171;
  12529. $$4 = $$3158179 + $$pn;
  12530. $175 = (_i64Add(($173|0),($174|0),-1,-1)|0);
  12531. $176 = tempRet0;
  12532. $177 = ($$5164|0)>(-1);
  12533. if ($177) {
  12534. $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176;
  12535. } else {
  12536. $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176;
  12537. break;
  12538. }
  12539. }
  12540. } else {
  12541. $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140;
  12542. }
  12543. $178 = ($1|0)<(0);
  12544. $179 = $178 << 31 >> 31;
  12545. $180 = ($2|0)<(0);
  12546. $181 = $180 << 31 >> 31;
  12547. $182 = (_i64Subtract(32,0,($2|0),($181|0))|0);
  12548. $183 = tempRet0;
  12549. $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0);
  12550. $187 = tempRet0;
  12551. $188 = ($179|0)>($187|0);
  12552. $189 = ($1>>>0)>($186>>>0);
  12553. $190 = ($179|0)==($187|0);
  12554. $191 = $190 & $189;
  12555. $192 = $188 | $191;
  12556. if ($192) {
  12557. $193 = ($186|0)>(0);
  12558. if ($193) {
  12559. $$0166 = $186;
  12560. label = 59;
  12561. } else {
  12562. $$0166170 = 0;$197 = 84;
  12563. label = 61;
  12564. }
  12565. } else {
  12566. $$0166 = $1;
  12567. label = 59;
  12568. }
  12569. if ((label|0) == 59) {
  12570. $194 = ($$0166|0)<(53);
  12571. $195 = (84 - ($$0166))|0;
  12572. if ($194) {
  12573. $$0166170 = $$0166;$197 = $195;
  12574. label = 61;
  12575. } else {
  12576. $$pre = (+($3|0));
  12577. $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre;
  12578. }
  12579. }
  12580. if ((label|0) == 61) {
  12581. $196 = (+($3|0));
  12582. $198 = (+_scalbn(1.0,$197));
  12583. $199 = (+_copysignl($198,$196));
  12584. $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196;
  12585. }
  12586. $200 = ($$0166169|0)<(32);
  12587. $201 = $$3158$lcssa != 0.0;
  12588. $or$cond4 = $201 & $200;
  12589. $202 = $$4163$lcssa & 1;
  12590. $203 = ($202|0)==(0);
  12591. $or$cond168 = $203 & $or$cond4;
  12592. $204 = $or$cond168&1;
  12593. $$6 = (($204) + ($$4163$lcssa))|0;
  12594. $$5 = $or$cond168 ? 0.0 : $$3158$lcssa;
  12595. $205 = (+($$6>>>0));
  12596. $206 = $$pre$phiZ2D * $205;
  12597. $207 = $$0151 + $206;
  12598. $208 = $$pre$phiZ2D * $$5;
  12599. $209 = $208 + $207;
  12600. $210 = $209 - $$0151;
  12601. $211 = $210 != 0.0;
  12602. if (!($211)) {
  12603. $212 = (___errno_location()|0);
  12604. HEAP32[$212>>2] = 34;
  12605. }
  12606. $213 = (+_scalbnl($210,$184));
  12607. $$0165 = $213;
  12608. }
  12609. } while(0);
  12610. return (+$$0165);
  12611. }
  12612. function _decfloat($0,$1,$2,$3,$4,$5) {
  12613. $0 = $0|0;
  12614. $1 = $1|0;
  12615. $2 = $2|0;
  12616. $3 = $3|0;
  12617. $4 = $4|0;
  12618. $5 = $5|0;
  12619. var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0;
  12620. var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0;
  12621. var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0;
  12622. var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0;
  12623. var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0;
  12624. var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
  12625. var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0;
  12626. var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
  12627. var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0;
  12628. var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
  12629. var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
  12630. var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
  12631. var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
  12632. var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
  12633. var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
  12634. var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
  12635. var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0;
  12636. var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0;
  12637. var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0;
  12638. var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0;
  12639. var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0;
  12640. var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
  12641. var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
  12642. var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
  12643. var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0;
  12644. var label = 0, sp = 0;
  12645. sp = STACKTOP;
  12646. STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0);
  12647. $6 = sp;
  12648. $sum = (($3) + ($2))|0;
  12649. $7 = (0 - ($sum))|0;
  12650. $8 = ((($0)) + 4|0);
  12651. $9 = ((($0)) + 100|0);
  12652. $$0329 = $1;$$0396 = 0;
  12653. L1: while(1) {
  12654. switch ($$0329|0) {
  12655. case 46: {
  12656. label = 6;
  12657. break L1;
  12658. break;
  12659. }
  12660. case 48: {
  12661. break;
  12662. }
  12663. default: {
  12664. $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0;
  12665. break L1;
  12666. }
  12667. }
  12668. $10 = HEAP32[$8>>2]|0;
  12669. $11 = HEAP32[$9>>2]|0;
  12670. $12 = ($10>>>0)<($11>>>0);
  12671. if ($12) {
  12672. $13 = ((($10)) + 1|0);
  12673. HEAP32[$8>>2] = $13;
  12674. $14 = HEAP8[$10>>0]|0;
  12675. $15 = $14&255;
  12676. $$0329 = $15;$$0396 = 1;
  12677. continue;
  12678. } else {
  12679. $16 = (___shgetc($0)|0);
  12680. $$0329 = $16;$$0396 = 1;
  12681. continue;
  12682. }
  12683. }
  12684. if ((label|0) == 6) {
  12685. $17 = HEAP32[$8>>2]|0;
  12686. $18 = HEAP32[$9>>2]|0;
  12687. $19 = ($17>>>0)<($18>>>0);
  12688. if ($19) {
  12689. $20 = ((($17)) + 1|0);
  12690. HEAP32[$8>>2] = $20;
  12691. $21 = HEAP8[$17>>0]|0;
  12692. $22 = $21&255;
  12693. $$1330$ph = $22;
  12694. } else {
  12695. $23 = (___shgetc($0)|0);
  12696. $$1330$ph = $23;
  12697. }
  12698. $24 = ($$1330$ph|0)==(48);
  12699. if ($24) {
  12700. $25 = 0;$26 = 0;
  12701. while(1) {
  12702. $27 = (_i64Add(($25|0),($26|0),-1,-1)|0);
  12703. $28 = tempRet0;
  12704. $29 = HEAP32[$8>>2]|0;
  12705. $30 = HEAP32[$9>>2]|0;
  12706. $31 = ($29>>>0)<($30>>>0);
  12707. if ($31) {
  12708. $32 = ((($29)) + 1|0);
  12709. HEAP32[$8>>2] = $32;
  12710. $33 = HEAP8[$29>>0]|0;
  12711. $34 = $33&255;
  12712. $$1330$be = $34;
  12713. } else {
  12714. $35 = (___shgetc($0)|0);
  12715. $$1330$be = $35;
  12716. }
  12717. $36 = ($$1330$be|0)==(48);
  12718. if ($36) {
  12719. $25 = $27;$26 = $28;
  12720. } else {
  12721. $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28;
  12722. break;
  12723. }
  12724. }
  12725. } else {
  12726. $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0;
  12727. }
  12728. }
  12729. HEAP32[$6>>2] = 0;
  12730. $37 = (($$2) + -48)|0;
  12731. $38 = ($37>>>0)<(10);
  12732. $39 = ($$2|0)==(46);
  12733. $40 = $39 | $38;
  12734. L20: do {
  12735. if ($40) {
  12736. $41 = ((($6)) + 496|0);
  12737. $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0;
  12738. L22: while(1) {
  12739. do {
  12740. if ($368) {
  12741. $cond = ($$1394511|0)==(0);
  12742. if ($cond) {
  12743. $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45;
  12744. } else {
  12745. break L22;
  12746. }
  12747. } else {
  12748. $43 = ($$0345512|0)<(125);
  12749. $46 = (_i64Add(($44|0),($45|0),1,0)|0);
  12750. $47 = tempRet0;
  12751. $48 = ($$3514|0)!=(48);
  12752. if (!($43)) {
  12753. if (!($48)) {
  12754. $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
  12755. break;
  12756. }
  12757. $57 = HEAP32[$41>>2]|0;
  12758. $58 = $57 | 1;
  12759. HEAP32[$41>>2] = $58;
  12760. $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
  12761. break;
  12762. }
  12763. $$$0401 = $48 ? $46 : $$0401509;
  12764. $49 = ($$0341513|0)==(0);
  12765. $$pre = (($6) + ($$0345512<<2)|0);
  12766. if ($49) {
  12767. $$sink = $369;
  12768. } else {
  12769. $50 = HEAP32[$$pre>>2]|0;
  12770. $51 = ($50*10)|0;
  12771. $52 = (($$3514) + -48)|0;
  12772. $53 = (($52) + ($51))|0;
  12773. $$sink = $53;
  12774. }
  12775. HEAP32[$$pre>>2] = $$sink;
  12776. $54 = (($$0341513) + 1)|0;
  12777. $55 = ($54|0)==(9);
  12778. $56 = $55&1;
  12779. $$$0345 = (($56) + ($$0345512))|0;
  12780. $$413 = $55 ? 0 : $54;
  12781. $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
  12782. }
  12783. } while(0);
  12784. $59 = HEAP32[$8>>2]|0;
  12785. $60 = HEAP32[$9>>2]|0;
  12786. $61 = ($59>>>0)<($60>>>0);
  12787. if ($61) {
  12788. $62 = ((($59)) + 1|0);
  12789. HEAP32[$8>>2] = $62;
  12790. $63 = HEAP8[$59>>0]|0;
  12791. $64 = $63&255;
  12792. $$3$be = $64;
  12793. } else {
  12794. $65 = (___shgetc($0)|0);
  12795. $$3$be = $65;
  12796. }
  12797. $66 = (($$3$be) + -48)|0;
  12798. $67 = ($66>>>0)<(10);
  12799. $68 = ($$3$be|0)==(46);
  12800. $69 = $68 | $67;
  12801. if ($69) {
  12802. $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375;
  12803. } else {
  12804. $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $374;$73 = $372;$75 = $375;$76 = $373;
  12805. label = 29;
  12806. break L20;
  12807. }
  12808. }
  12809. $42 = ($$3399510|0)!=(0);
  12810. $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42;
  12811. label = 37;
  12812. } else {
  12813. $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = 0;$73 = $366;$75 = 0;$76 = $367;
  12814. label = 29;
  12815. }
  12816. } while(0);
  12817. do {
  12818. if ((label|0) == 29) {
  12819. $70 = ($$1394$lcssa|0)==(0);
  12820. $71 = $70 ? $72 : $73;
  12821. $74 = $70 ? $75 : $76;
  12822. $77 = ($$3399$lcssa|0)!=(0);
  12823. $78 = $$3$lcssa | 32;
  12824. $79 = ($78|0)==(101);
  12825. $or$cond415 = $77 & $79;
  12826. if (!($or$cond415)) {
  12827. $94 = ($$3$lcssa|0)>(-1);
  12828. if ($94) {
  12829. $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $72;$377 = $75;$378 = $71;$379 = $74;$380 = $77;
  12830. label = 37;
  12831. break;
  12832. } else {
  12833. $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $72;$382 = $75;$383 = $77;$384 = $71;$385 = $74;
  12834. label = 39;
  12835. break;
  12836. }
  12837. }
  12838. $80 = (_scanexp($0,$5)|0);
  12839. $81 = tempRet0;
  12840. $82 = ($80|0)==(0);
  12841. $83 = ($81|0)==(-2147483648);
  12842. $84 = $82 & $83;
  12843. if ($84) {
  12844. $85 = ($5|0)==(0);
  12845. if ($85) {
  12846. ___shlim($0,0);
  12847. $$1 = 0.0;
  12848. break;
  12849. }
  12850. $86 = HEAP32[$9>>2]|0;
  12851. $87 = ($86|0)==(0|0);
  12852. if ($87) {
  12853. $90 = 0;$91 = 0;
  12854. } else {
  12855. $88 = HEAP32[$8>>2]|0;
  12856. $89 = ((($88)) + -1|0);
  12857. HEAP32[$8>>2] = $89;
  12858. $90 = 0;$91 = 0;
  12859. }
  12860. } else {
  12861. $90 = $80;$91 = $81;
  12862. }
  12863. $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0);
  12864. $93 = tempRet0;
  12865. $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $72;$108 = $93;$109 = $75;
  12866. label = 41;
  12867. }
  12868. } while(0);
  12869. if ((label|0) == 37) {
  12870. $95 = HEAP32[$9>>2]|0;
  12871. $96 = ($95|0)==(0|0);
  12872. if ($96) {
  12873. $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379;
  12874. label = 39;
  12875. } else {
  12876. $97 = HEAP32[$8>>2]|0;
  12877. $98 = ((($97)) + -1|0);
  12878. HEAP32[$8>>2] = $98;
  12879. if ($380) {
  12880. $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377;
  12881. label = 41;
  12882. } else {
  12883. label = 40;
  12884. }
  12885. }
  12886. }
  12887. if ((label|0) == 39) {
  12888. if ($383) {
  12889. $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382;
  12890. label = 41;
  12891. } else {
  12892. label = 40;
  12893. }
  12894. }
  12895. do {
  12896. if ((label|0) == 40) {
  12897. $99 = (___errno_location()|0);
  12898. HEAP32[$99>>2] = 22;
  12899. ___shlim($0,0);
  12900. $$1 = 0.0;
  12901. }
  12902. else if ((label|0) == 41) {
  12903. $100 = HEAP32[$6>>2]|0;
  12904. $101 = ($100|0)==(0);
  12905. if ($101) {
  12906. $102 = (+($4|0));
  12907. $103 = $102 * 0.0;
  12908. $$1 = $103;
  12909. break;
  12910. }
  12911. $104 = ($105|0)==($106|0);
  12912. $107 = ($108|0)==($109|0);
  12913. $110 = $104 & $107;
  12914. $111 = ($109|0)<(0);
  12915. $112 = ($106>>>0)<(10);
  12916. $113 = ($109|0)==(0);
  12917. $114 = $113 & $112;
  12918. $115 = $111 | $114;
  12919. $or$cond = $115 & $110;
  12920. if ($or$cond) {
  12921. $116 = ($2|0)>(30);
  12922. $117 = $100 >>> $2;
  12923. $118 = ($117|0)==(0);
  12924. $or$cond417 = $116 | $118;
  12925. if ($or$cond417) {
  12926. $119 = (+($4|0));
  12927. $120 = (+($100>>>0));
  12928. $121 = $119 * $120;
  12929. $$1 = $121;
  12930. break;
  12931. }
  12932. }
  12933. $122 = (($3|0) / -2)&-1;
  12934. $123 = ($122|0)<(0);
  12935. $124 = $123 << 31 >> 31;
  12936. $125 = ($108|0)>($124|0);
  12937. $126 = ($105>>>0)>($122>>>0);
  12938. $127 = ($108|0)==($124|0);
  12939. $128 = $127 & $126;
  12940. $129 = $125 | $128;
  12941. if ($129) {
  12942. $130 = (___errno_location()|0);
  12943. HEAP32[$130>>2] = 34;
  12944. $131 = (+($4|0));
  12945. $132 = $131 * 1.7976931348623157E+308;
  12946. $133 = $132 * 1.7976931348623157E+308;
  12947. $$1 = $133;
  12948. break;
  12949. }
  12950. $134 = (($3) + -106)|0;
  12951. $135 = ($134|0)<(0);
  12952. $136 = $135 << 31 >> 31;
  12953. $137 = ($108|0)<($136|0);
  12954. $138 = ($105>>>0)<($134>>>0);
  12955. $139 = ($108|0)==($136|0);
  12956. $140 = $139 & $138;
  12957. $141 = $137 | $140;
  12958. if ($141) {
  12959. $142 = (___errno_location()|0);
  12960. HEAP32[$142>>2] = 34;
  12961. $143 = (+($4|0));
  12962. $144 = $143 * 2.2250738585072014E-308;
  12963. $145 = $144 * 2.2250738585072014E-308;
  12964. $$1 = $145;
  12965. break;
  12966. }
  12967. $146 = ($$0341463|0)==(0);
  12968. if ($146) {
  12969. $$3348 = $$0345467;
  12970. } else {
  12971. $147 = ($$0341463|0)<(9);
  12972. if ($147) {
  12973. $148 = (($6) + ($$0345467<<2)|0);
  12974. $$promoted = HEAP32[$148>>2]|0;
  12975. $$3344503 = $$0341463;$150 = $$promoted;
  12976. while(1) {
  12977. $149 = ($150*10)|0;
  12978. $151 = (($$3344503) + 1)|0;
  12979. $exitcond551 = ($151|0)==(9);
  12980. if ($exitcond551) {
  12981. break;
  12982. } else {
  12983. $$3344503 = $151;$150 = $149;
  12984. }
  12985. }
  12986. HEAP32[$148>>2] = $149;
  12987. }
  12988. $152 = (($$0345467) + 1)|0;
  12989. $$3348 = $152;
  12990. }
  12991. $153 = ($$0401473|0)<(9);
  12992. if ($153) {
  12993. $154 = ($$0401473|0)<=($105|0);
  12994. $155 = ($105|0)<(18);
  12995. $or$cond5 = $154 & $155;
  12996. if ($or$cond5) {
  12997. $156 = ($105|0)==(9);
  12998. $157 = HEAP32[$6>>2]|0;
  12999. if ($156) {
  13000. $158 = (+($4|0));
  13001. $159 = (+($157>>>0));
  13002. $160 = $158 * $159;
  13003. $$1 = $160;
  13004. break;
  13005. }
  13006. $161 = ($105|0)<(9);
  13007. if ($161) {
  13008. $162 = (+($4|0));
  13009. $163 = (+($157>>>0));
  13010. $164 = $162 * $163;
  13011. $165 = (8 - ($105))|0;
  13012. $166 = (1084 + ($165<<2)|0);
  13013. $167 = HEAP32[$166>>2]|0;
  13014. $168 = (+($167|0));
  13015. $169 = $164 / $168;
  13016. $$1 = $169;
  13017. break;
  13018. }
  13019. $$neg442 = Math_imul($105, -3)|0;
  13020. $$neg443 = (($2) + 27)|0;
  13021. $170 = (($$neg443) + ($$neg442))|0;
  13022. $171 = ($170|0)>(30);
  13023. $172 = $157 >>> $170;
  13024. $173 = ($172|0)==(0);
  13025. $or$cond419 = $171 | $173;
  13026. if ($or$cond419) {
  13027. $174 = (($105) + -10)|0;
  13028. $175 = (1084 + ($174<<2)|0);
  13029. $176 = (+($4|0));
  13030. $177 = (+($157>>>0));
  13031. $178 = $176 * $177;
  13032. $179 = HEAP32[$175>>2]|0;
  13033. $180 = (+($179|0));
  13034. $181 = $178 * $180;
  13035. $$1 = $181;
  13036. break;
  13037. }
  13038. }
  13039. }
  13040. $182 = (($105|0) % 9)&-1;
  13041. $183 = ($182|0)==(0);
  13042. if ($183) {
  13043. $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105;
  13044. } else {
  13045. $184 = ($105|0)>(-1);
  13046. $185 = (($182) + 9)|0;
  13047. $186 = $184 ? $182 : $185;
  13048. $187 = (8 - ($186))|0;
  13049. $188 = (1084 + ($187<<2)|0);
  13050. $189 = HEAP32[$188>>2]|0;
  13051. $190 = ($$3348|0)==(0);
  13052. if ($190) {
  13053. $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105;
  13054. } else {
  13055. $191 = (1000000000 / ($189|0))&-1;
  13056. $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0;
  13057. while(1) {
  13058. $192 = (($6) + ($$4349495<<2)|0);
  13059. $193 = HEAP32[$192>>2]|0;
  13060. $194 = (($193>>>0) % ($189>>>0))&-1;
  13061. $195 = (($193>>>0) / ($189>>>0))&-1;
  13062. $196 = (($195) + ($$0340496))|0;
  13063. HEAP32[$192>>2] = $196;
  13064. $197 = Math_imul($191, $194)|0;
  13065. $198 = ($$4349495|0)==($$0350494|0);
  13066. $199 = ($196|0)==(0);
  13067. $or$cond420 = $198 & $199;
  13068. $200 = (($$0350494) + 1)|0;
  13069. $201 = $200 & 127;
  13070. $202 = (($$0385493) + -9)|0;
  13071. $$$0385 = $or$cond420 ? $202 : $$0385493;
  13072. $$$0350 = $or$cond420 ? $201 : $$0350494;
  13073. $203 = (($$4349495) + 1)|0;
  13074. $204 = ($203|0)==($$3348|0);
  13075. if ($204) {
  13076. break;
  13077. } else {
  13078. $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203;
  13079. }
  13080. }
  13081. $205 = ($197|0)==(0);
  13082. if ($205) {
  13083. $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385;
  13084. } else {
  13085. $206 = (($6) + ($$3348<<2)|0);
  13086. $207 = (($$3348) + 1)|0;
  13087. HEAP32[$206>>2] = $197;
  13088. $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385;
  13089. }
  13090. }
  13091. $208 = (9 - ($186))|0;
  13092. $209 = (($208) + ($$0385$lcssa553))|0;
  13093. $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209;
  13094. }
  13095. L101: while(1) {
  13096. $210 = ($$2387$ph447|0)<(18);
  13097. $211 = ($$2387$ph447|0)==(18);
  13098. $212 = (($6) + ($$2352$ph449<<2)|0);
  13099. $$0380 = $$0380$ph;$$1373 = $$1373$ph448;
  13100. while(1) {
  13101. if (!($210)) {
  13102. if (!($211)) {
  13103. $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373;
  13104. break L101;
  13105. }
  13106. $213 = HEAP32[$212>>2]|0;
  13107. $214 = ($213>>>0)<(9007199);
  13108. if (!($214)) {
  13109. $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373;
  13110. break L101;
  13111. }
  13112. }
  13113. $215 = (($$1373) + 127)|0;
  13114. $$0334 = 0;$$2374 = $$1373;$$5$in = $215;
  13115. while(1) {
  13116. $$5 = $$5$in & 127;
  13117. $216 = (($6) + ($$5<<2)|0);
  13118. $217 = HEAP32[$216>>2]|0;
  13119. $218 = (_bitshift64Shl(($217|0),0,29)|0);
  13120. $219 = tempRet0;
  13121. $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0);
  13122. $221 = tempRet0;
  13123. $222 = ($221>>>0)>(0);
  13124. $223 = ($220>>>0)>(1000000000);
  13125. $224 = ($221|0)==(0);
  13126. $225 = $224 & $223;
  13127. $226 = $222 | $225;
  13128. if ($226) {
  13129. $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0);
  13130. $228 = tempRet0;
  13131. $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0);
  13132. $230 = tempRet0;
  13133. $$1335 = $227;$$sink421$off0 = $229;
  13134. } else {
  13135. $$1335 = 0;$$sink421$off0 = $220;
  13136. }
  13137. HEAP32[$216>>2] = $$sink421$off0;
  13138. $231 = (($$2374) + 127)|0;
  13139. $232 = $231 & 127;
  13140. $233 = ($$5|0)!=($232|0);
  13141. $234 = ($$5|0)==($$2352$ph449|0);
  13142. $or$cond422 = $233 | $234;
  13143. $or$cond422$not = $or$cond422 ^ 1;
  13144. $235 = ($$sink421$off0|0)==(0);
  13145. $or$cond423 = $235 & $or$cond422$not;
  13146. $$3375 = $or$cond423 ? $$5 : $$2374;
  13147. $236 = (($$5) + -1)|0;
  13148. if ($234) {
  13149. break;
  13150. } else {
  13151. $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236;
  13152. }
  13153. }
  13154. $237 = (($$0380) + -29)|0;
  13155. $238 = ($$1335|0)==(0);
  13156. if ($238) {
  13157. $$0380 = $237;$$1373 = $$3375;
  13158. } else {
  13159. break;
  13160. }
  13161. }
  13162. $239 = (($$2387$ph447) + 9)|0;
  13163. $240 = (($$2352$ph449) + 127)|0;
  13164. $241 = $240 & 127;
  13165. $242 = ($241|0)==($$3375|0);
  13166. $243 = (($$3375) + 127)|0;
  13167. $244 = $243 & 127;
  13168. $245 = (($$3375) + 126)|0;
  13169. $246 = $245 & 127;
  13170. $247 = (($6) + ($246<<2)|0);
  13171. if ($242) {
  13172. $248 = (($6) + ($244<<2)|0);
  13173. $249 = HEAP32[$248>>2]|0;
  13174. $250 = HEAP32[$247>>2]|0;
  13175. $251 = $250 | $249;
  13176. HEAP32[$247>>2] = $251;
  13177. $$4376 = $244;
  13178. } else {
  13179. $$4376 = $$3375;
  13180. }
  13181. $252 = (($6) + ($241<<2)|0);
  13182. HEAP32[$252>>2] = $$1335;
  13183. $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239;
  13184. }
  13185. L119: while(1) {
  13186. $289 = (($$6378$ph) + 1)|0;
  13187. $287 = $289 & 127;
  13188. $290 = (($$6378$ph) + 127)|0;
  13189. $291 = $290 & 127;
  13190. $292 = (($6) + ($291<<2)|0);
  13191. $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445;
  13192. while(1) {
  13193. $265 = ($$4389$ph|0)==(18);
  13194. $293 = ($$4389$ph|0)>(27);
  13195. $$425 = $293 ? 9 : 1;
  13196. $$1381 = $$1381$ph558;$$4354 = $$4354$ph559;
  13197. while(1) {
  13198. $$0336486 = 0;
  13199. while(1) {
  13200. $253 = (($$0336486) + ($$4354))|0;
  13201. $254 = $253 & 127;
  13202. $255 = ($254|0)==($$6378$ph|0);
  13203. if ($255) {
  13204. $$1337 = 2;
  13205. label = 88;
  13206. break;
  13207. }
  13208. $256 = (($6) + ($254<<2)|0);
  13209. $257 = HEAP32[$256>>2]|0;
  13210. $258 = (1116 + ($$0336486<<2)|0);
  13211. $259 = HEAP32[$258>>2]|0;
  13212. $260 = ($257>>>0)<($259>>>0);
  13213. if ($260) {
  13214. $$1337 = 2;
  13215. label = 88;
  13216. break;
  13217. }
  13218. $261 = ($257>>>0)>($259>>>0);
  13219. if ($261) {
  13220. break;
  13221. }
  13222. $262 = (($$0336486) + 1)|0;
  13223. $263 = ($262|0)<(2);
  13224. if ($263) {
  13225. $$0336486 = $262;
  13226. } else {
  13227. $$1337 = $262;
  13228. label = 88;
  13229. break;
  13230. }
  13231. }
  13232. if ((label|0) == 88) {
  13233. label = 0;
  13234. $264 = ($$1337|0)==(2);
  13235. $or$cond11 = $265 & $264;
  13236. if ($or$cond11) {
  13237. $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph;
  13238. break L119;
  13239. }
  13240. }
  13241. $266 = (($$425) + ($$1381))|0;
  13242. $267 = ($$4354|0)==($$6378$ph|0);
  13243. if ($267) {
  13244. $$1381 = $266;$$4354 = $$6378$ph;
  13245. } else {
  13246. break;
  13247. }
  13248. }
  13249. $268 = 1 << $$425;
  13250. $269 = (($268) + -1)|0;
  13251. $270 = 1000000000 >>> $$425;
  13252. $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354;
  13253. while(1) {
  13254. $271 = (($6) + ($$6489<<2)|0);
  13255. $272 = HEAP32[$271>>2]|0;
  13256. $273 = $272 & $269;
  13257. $274 = $272 >>> $$425;
  13258. $275 = (($274) + ($$0332490))|0;
  13259. HEAP32[$271>>2] = $275;
  13260. $276 = Math_imul($273, $270)|0;
  13261. $277 = ($$6489|0)==($$5355488|0);
  13262. $278 = ($275|0)==(0);
  13263. $or$cond426 = $277 & $278;
  13264. $279 = (($$5355488) + 1)|0;
  13265. $280 = $279 & 127;
  13266. $281 = (($$5390487) + -9)|0;
  13267. $$$5390 = $or$cond426 ? $281 : $$5390487;
  13268. $$$5355 = $or$cond426 ? $280 : $$5355488;
  13269. $282 = (($$6489) + 1)|0;
  13270. $283 = $282 & 127;
  13271. $284 = ($283|0)==($$6378$ph|0);
  13272. if ($284) {
  13273. break;
  13274. } else {
  13275. $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283;
  13276. }
  13277. }
  13278. $285 = ($276|0)==(0);
  13279. if ($285) {
  13280. $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390;
  13281. continue;
  13282. }
  13283. $286 = ($287|0)==($$$5355|0);
  13284. if (!($286)) {
  13285. break;
  13286. }
  13287. $294 = HEAP32[$292>>2]|0;
  13288. $295 = $294 | 1;
  13289. HEAP32[$292>>2] = $295;
  13290. $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390;
  13291. }
  13292. $288 = (($6) + ($$6378$ph<<2)|0);
  13293. HEAP32[$288>>2] = $276;
  13294. $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287;
  13295. }
  13296. while(1) {
  13297. $296 = (($$4485) + ($$4354))|0;
  13298. $297 = $296 & 127;
  13299. $298 = ($297|0)==($$9483|0);
  13300. $299 = (($$9483) + 1)|0;
  13301. $300 = $299 & 127;
  13302. if ($298) {
  13303. $301 = (($300) + -1)|0;
  13304. $302 = (($6) + ($301<<2)|0);
  13305. HEAP32[$302>>2] = 0;
  13306. $$10 = $300;
  13307. } else {
  13308. $$10 = $$9483;
  13309. }
  13310. $303 = $$0365484 * 1.0E+9;
  13311. $304 = (($6) + ($297<<2)|0);
  13312. $305 = HEAP32[$304>>2]|0;
  13313. $306 = (+($305>>>0));
  13314. $307 = $303 + $306;
  13315. $308 = (($$4485) + 1)|0;
  13316. $exitcond = ($308|0)==(2);
  13317. if ($exitcond) {
  13318. break;
  13319. } else {
  13320. $$0365484 = $307;$$4485 = $308;$$9483 = $$10;
  13321. }
  13322. }
  13323. $309 = (+($4|0));
  13324. $310 = $309 * $307;
  13325. $311 = (($$1381) + 53)|0;
  13326. $312 = (($311) - ($3))|0;
  13327. $313 = ($312|0)<($2|0);
  13328. $314 = ($312|0)>(0);
  13329. $$ = $314 ? $312 : 0;
  13330. $$0333 = $313 ? $$ : $2;
  13331. $315 = ($$0333|0)<(53);
  13332. if ($315) {
  13333. $316 = (105 - ($$0333))|0;
  13334. $317 = (+_scalbn(1.0,$316));
  13335. $318 = (+_copysignl($317,$310));
  13336. $319 = (53 - ($$0333))|0;
  13337. $320 = (+_scalbn(1.0,$319));
  13338. $321 = (+_fmodl($310,$320));
  13339. $322 = $310 - $321;
  13340. $323 = $318 + $322;
  13341. $$0360 = $318;$$0361 = $321;$$1366 = $323;
  13342. } else {
  13343. $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310;
  13344. }
  13345. $324 = (($$4354) + 2)|0;
  13346. $325 = $324 & 127;
  13347. $326 = ($325|0)==($$10|0);
  13348. if ($326) {
  13349. $$3364 = $$0361;
  13350. } else {
  13351. $327 = (($6) + ($325<<2)|0);
  13352. $328 = HEAP32[$327>>2]|0;
  13353. $329 = ($328>>>0)<(500000000);
  13354. do {
  13355. if ($329) {
  13356. $330 = ($328|0)==(0);
  13357. if ($330) {
  13358. $331 = (($$4354) + 3)|0;
  13359. $332 = $331 & 127;
  13360. $333 = ($332|0)==($$10|0);
  13361. if ($333) {
  13362. $$1362 = $$0361;
  13363. break;
  13364. }
  13365. }
  13366. $334 = $309 * 0.25;
  13367. $335 = $334 + $$0361;
  13368. $$1362 = $335;
  13369. } else {
  13370. $336 = ($328|0)==(500000000);
  13371. if (!($336)) {
  13372. $337 = $309 * 0.75;
  13373. $338 = $337 + $$0361;
  13374. $$1362 = $338;
  13375. break;
  13376. }
  13377. $339 = (($$4354) + 3)|0;
  13378. $340 = $339 & 127;
  13379. $341 = ($340|0)==($$10|0);
  13380. if ($341) {
  13381. $342 = $309 * 0.5;
  13382. $343 = $342 + $$0361;
  13383. $$1362 = $343;
  13384. break;
  13385. } else {
  13386. $344 = $309 * 0.75;
  13387. $345 = $344 + $$0361;
  13388. $$1362 = $345;
  13389. break;
  13390. }
  13391. }
  13392. } while(0);
  13393. $346 = (53 - ($$0333))|0;
  13394. $347 = ($346|0)>(1);
  13395. if ($347) {
  13396. $348 = (+_fmodl($$1362,1.0));
  13397. $349 = $348 != 0.0;
  13398. if ($349) {
  13399. $$3364 = $$1362;
  13400. } else {
  13401. $350 = $$1362 + 1.0;
  13402. $$3364 = $350;
  13403. }
  13404. } else {
  13405. $$3364 = $$1362;
  13406. }
  13407. }
  13408. $351 = $$1366 + $$3364;
  13409. $352 = $351 - $$0360;
  13410. $353 = $311 & 2147483647;
  13411. $354 = (-2 - ($sum))|0;
  13412. $355 = ($353|0)>($354|0);
  13413. do {
  13414. if ($355) {
  13415. $356 = (+Math_abs((+$352)));
  13416. $357 = !($356 >= 9007199254740992.0);
  13417. $358 = $352 * 0.5;
  13418. $not$ = $357 ^ 1;
  13419. $359 = $not$&1;
  13420. $$3383 = (($359) + ($$1381))|0;
  13421. $$2367 = $357 ? $352 : $358;
  13422. $360 = (($$3383) + 50)|0;
  13423. $361 = ($360|0)>($7|0);
  13424. if (!($361)) {
  13425. $362 = ($$0333|0)!=($312|0);
  13426. $narrow = $362 | $357;
  13427. $$2371$v = $313 & $narrow;
  13428. $363 = $$3364 != 0.0;
  13429. $or$cond14 = $363 & $$2371$v;
  13430. if (!($or$cond14)) {
  13431. $$3368 = $$2367;$$4384 = $$3383;
  13432. break;
  13433. }
  13434. }
  13435. $364 = (___errno_location()|0);
  13436. HEAP32[$364>>2] = 34;
  13437. $$3368 = $$2367;$$4384 = $$3383;
  13438. } else {
  13439. $$3368 = $352;$$4384 = $$1381;
  13440. }
  13441. } while(0);
  13442. $365 = (+_scalbnl($$3368,$$4384));
  13443. $$1 = $365;
  13444. }
  13445. } while(0);
  13446. STACKTOP = sp;return (+$$1);
  13447. }
  13448. function _scanexp($0,$1) {
  13449. $0 = $0|0;
  13450. $1 = $1|0;
  13451. var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
  13452. var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
  13453. var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
  13454. var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
  13455. var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
  13456. var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0;
  13457. sp = STACKTOP;
  13458. $2 = ((($0)) + 4|0);
  13459. $3 = HEAP32[$2>>2]|0;
  13460. $4 = ((($0)) + 100|0);
  13461. $5 = HEAP32[$4>>2]|0;
  13462. $6 = ($3>>>0)<($5>>>0);
  13463. if ($6) {
  13464. $7 = ((($3)) + 1|0);
  13465. HEAP32[$2>>2] = $7;
  13466. $8 = HEAP8[$3>>0]|0;
  13467. $9 = $8&255;
  13468. $11 = $9;
  13469. } else {
  13470. $10 = (___shgetc($0)|0);
  13471. $11 = $10;
  13472. }
  13473. switch ($11|0) {
  13474. case 43: case 45: {
  13475. $12 = ($11|0)==(45);
  13476. $13 = $12&1;
  13477. $14 = HEAP32[$2>>2]|0;
  13478. $15 = HEAP32[$4>>2]|0;
  13479. $16 = ($14>>>0)<($15>>>0);
  13480. if ($16) {
  13481. $17 = ((($14)) + 1|0);
  13482. HEAP32[$2>>2] = $17;
  13483. $18 = HEAP8[$14>>0]|0;
  13484. $19 = $18&255;
  13485. $22 = $19;
  13486. } else {
  13487. $20 = (___shgetc($0)|0);
  13488. $22 = $20;
  13489. }
  13490. $21 = (($22) + -48)|0;
  13491. $23 = ($21>>>0)>(9);
  13492. $24 = ($1|0)!=(0);
  13493. $or$cond3 = $24 & $23;
  13494. if ($or$cond3) {
  13495. $25 = HEAP32[$4>>2]|0;
  13496. $26 = ($25|0)==(0|0);
  13497. if ($26) {
  13498. $$0 = $13;$$049 = $22;
  13499. } else {
  13500. $27 = HEAP32[$2>>2]|0;
  13501. $28 = ((($27)) + -1|0);
  13502. HEAP32[$2>>2] = $28;
  13503. $$0 = $13;$$049 = $22;
  13504. }
  13505. } else {
  13506. $$0 = $13;$$049 = $22;
  13507. }
  13508. break;
  13509. }
  13510. default: {
  13511. $$0 = 0;$$049 = $11;
  13512. }
  13513. }
  13514. $29 = (($$049) + -48)|0;
  13515. $30 = ($29>>>0)>(9);
  13516. if ($30) {
  13517. $31 = HEAP32[$4>>2]|0;
  13518. $32 = ($31|0)==(0|0);
  13519. if ($32) {
  13520. $100 = -2147483648;$101 = 0;
  13521. } else {
  13522. $33 = HEAP32[$2>>2]|0;
  13523. $34 = ((($33)) + -1|0);
  13524. HEAP32[$2>>2] = $34;
  13525. $100 = -2147483648;$101 = 0;
  13526. }
  13527. } else {
  13528. $$04861 = 0;$$160 = $$049;
  13529. while(1) {
  13530. $35 = ($$04861*10)|0;
  13531. $36 = (($$160) + -48)|0;
  13532. $37 = (($36) + ($35))|0;
  13533. $38 = HEAP32[$2>>2]|0;
  13534. $39 = HEAP32[$4>>2]|0;
  13535. $40 = ($38>>>0)<($39>>>0);
  13536. if ($40) {
  13537. $41 = ((($38)) + 1|0);
  13538. HEAP32[$2>>2] = $41;
  13539. $42 = HEAP8[$38>>0]|0;
  13540. $43 = $42&255;
  13541. $$1$be = $43;
  13542. } else {
  13543. $44 = (___shgetc($0)|0);
  13544. $$1$be = $44;
  13545. }
  13546. $45 = (($$1$be) + -48)|0;
  13547. $46 = ($45>>>0)<(10);
  13548. $47 = ($37|0)<(214748364);
  13549. $48 = $46 & $47;
  13550. if ($48) {
  13551. $$04861 = $37;$$160 = $$1$be;
  13552. } else {
  13553. break;
  13554. }
  13555. }
  13556. $49 = ($37|0)<(0);
  13557. $50 = $49 << 31 >> 31;
  13558. $51 = (($$1$be) + -48)|0;
  13559. $52 = ($51>>>0)<(10);
  13560. if ($52) {
  13561. $$254 = $$1$be;$56 = $37;$57 = $50;
  13562. while(1) {
  13563. $58 = (___muldi3(($56|0),($57|0),10,0)|0);
  13564. $59 = tempRet0;
  13565. $60 = ($$254|0)<(0);
  13566. $61 = $60 << 31 >> 31;
  13567. $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0);
  13568. $63 = tempRet0;
  13569. $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0);
  13570. $65 = tempRet0;
  13571. $66 = HEAP32[$2>>2]|0;
  13572. $67 = HEAP32[$4>>2]|0;
  13573. $68 = ($66>>>0)<($67>>>0);
  13574. if ($68) {
  13575. $69 = ((($66)) + 1|0);
  13576. HEAP32[$2>>2] = $69;
  13577. $70 = HEAP8[$66>>0]|0;
  13578. $71 = $70&255;
  13579. $$2$be = $71;
  13580. } else {
  13581. $72 = (___shgetc($0)|0);
  13582. $$2$be = $72;
  13583. }
  13584. $73 = (($$2$be) + -48)|0;
  13585. $74 = ($73>>>0)<(10);
  13586. $75 = ($65|0)<(21474836);
  13587. $76 = ($64>>>0)<(2061584302);
  13588. $77 = ($65|0)==(21474836);
  13589. $78 = $77 & $76;
  13590. $79 = $75 | $78;
  13591. $80 = $74 & $79;
  13592. if ($80) {
  13593. $$254 = $$2$be;$56 = $64;$57 = $65;
  13594. } else {
  13595. $$2$lcssa = $$2$be;$94 = $64;$95 = $65;
  13596. break;
  13597. }
  13598. }
  13599. } else {
  13600. $$2$lcssa = $$1$be;$94 = $37;$95 = $50;
  13601. }
  13602. $53 = (($$2$lcssa) + -48)|0;
  13603. $54 = ($53>>>0)<(10);
  13604. $55 = HEAP32[$4>>2]|0;
  13605. if ($54) {
  13606. $83 = $55;
  13607. while(1) {
  13608. $81 = HEAP32[$2>>2]|0;
  13609. $82 = ($81>>>0)<($83>>>0);
  13610. if ($82) {
  13611. $84 = ((($81)) + 1|0);
  13612. HEAP32[$2>>2] = $84;
  13613. $85 = HEAP8[$81>>0]|0;
  13614. $86 = $85&255;
  13615. $$3$be = $86;$102 = $83;
  13616. } else {
  13617. $87 = (___shgetc($0)|0);
  13618. $$pre = HEAP32[$4>>2]|0;
  13619. $$3$be = $87;$102 = $$pre;
  13620. }
  13621. $88 = (($$3$be) + -48)|0;
  13622. $89 = ($88>>>0)<(10);
  13623. if ($89) {
  13624. $83 = $102;
  13625. } else {
  13626. $$lcssa = $102;
  13627. break;
  13628. }
  13629. }
  13630. } else {
  13631. $$lcssa = $55;
  13632. }
  13633. $90 = ($$lcssa|0)==(0|0);
  13634. if (!($90)) {
  13635. $91 = HEAP32[$2>>2]|0;
  13636. $92 = ((($91)) + -1|0);
  13637. HEAP32[$2>>2] = $92;
  13638. }
  13639. $93 = ($$0|0)!=(0);
  13640. $96 = (_i64Subtract(0,0,($94|0),($95|0))|0);
  13641. $97 = tempRet0;
  13642. $98 = $93 ? $96 : $94;
  13643. $99 = $93 ? $97 : $95;
  13644. $100 = $99;$101 = $98;
  13645. }
  13646. tempRet0 = ($100);
  13647. return ($101|0);
  13648. }
  13649. function _scalbn($0,$1) {
  13650. $0 = +$0;
  13651. $1 = $1|0;
  13652. var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0;
  13653. var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  13654. sp = STACKTOP;
  13655. $2 = ($1|0)>(1023);
  13656. if ($2) {
  13657. $3 = $0 * 8.9884656743115795E+307;
  13658. $4 = (($1) + -1023)|0;
  13659. $5 = ($4|0)>(1023);
  13660. $6 = $3 * 8.9884656743115795E+307;
  13661. $7 = (($1) + -2046)|0;
  13662. $8 = ($7|0)<(1023);
  13663. $$ = $8 ? $7 : 1023;
  13664. $$$ = $5 ? $$ : $4;
  13665. $$21 = $5 ? $6 : $3;
  13666. $$0 = $$21;$$020 = $$$;
  13667. } else {
  13668. $9 = ($1|0)<(-1022);
  13669. if ($9) {
  13670. $10 = $0 * 2.2250738585072014E-308;
  13671. $11 = (($1) + 1022)|0;
  13672. $12 = ($11|0)<(-1022);
  13673. $13 = $10 * 2.2250738585072014E-308;
  13674. $14 = (($1) + 2044)|0;
  13675. $15 = ($14|0)>(-1022);
  13676. $$1 = $15 ? $14 : -1022;
  13677. $$1$ = $12 ? $$1 : $11;
  13678. $$22 = $12 ? $13 : $10;
  13679. $$0 = $$22;$$020 = $$1$;
  13680. } else {
  13681. $$0 = $0;$$020 = $1;
  13682. }
  13683. }
  13684. $16 = (($$020) + 1023)|0;
  13685. $17 = (_bitshift64Shl(($16|0),0,52)|0);
  13686. $18 = tempRet0;
  13687. HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3];
  13688. $20 = $$0 * $19;
  13689. return (+$20);
  13690. }
  13691. function _copysignl($0,$1) {
  13692. $0 = +$0;
  13693. $1 = +$1;
  13694. var $2 = 0.0, label = 0, sp = 0;
  13695. sp = STACKTOP;
  13696. $2 = (+_copysign($0,$1));
  13697. return (+$2);
  13698. }
  13699. function _fmodl($0,$1) {
  13700. $0 = +$0;
  13701. $1 = +$1;
  13702. var $2 = 0.0, label = 0, sp = 0;
  13703. sp = STACKTOP;
  13704. $2 = (+_fmod($0,$1));
  13705. return (+$2);
  13706. }
  13707. function _scalbnl($0,$1) {
  13708. $0 = +$0;
  13709. $1 = $1|0;
  13710. var $2 = 0.0, label = 0, sp = 0;
  13711. sp = STACKTOP;
  13712. $2 = (+_scalbn($0,$1));
  13713. return (+$2);
  13714. }
  13715. function _fmod($0,$1) {
  13716. $0 = +$0;
  13717. $1 = +$1;
  13718. var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0;
  13719. var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
  13720. var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
  13721. var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
  13722. var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
  13723. var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
  13724. var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
  13725. var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
  13726. var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
  13727. sp = STACKTOP;
  13728. HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
  13729. $3 = HEAP32[tempDoublePtr+4>>2]|0;
  13730. HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0;
  13731. $5 = HEAP32[tempDoublePtr+4>>2]|0;
  13732. $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
  13733. $7 = tempRet0;
  13734. $8 = $6 & 2047;
  13735. $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0);
  13736. $10 = tempRet0;
  13737. $11 = $9 & 2047;
  13738. $12 = $3 & -2147483648;
  13739. $13 = (_bitshift64Shl(($4|0),($5|0),1)|0);
  13740. $14 = tempRet0;
  13741. $15 = ($13|0)==(0);
  13742. $16 = ($14|0)==(0);
  13743. $17 = $15 & $16;
  13744. L1: do {
  13745. if ($17) {
  13746. label = 3;
  13747. } else {
  13748. $18 = (___DOUBLE_BITS_272($1)|0);
  13749. $19 = tempRet0;
  13750. $20 = $19 & 2147483647;
  13751. $21 = ($20>>>0)>(2146435072);
  13752. $22 = ($18>>>0)>(0);
  13753. $23 = ($20|0)==(2146435072);
  13754. $24 = $23 & $22;
  13755. $25 = $21 | $24;
  13756. $26 = ($8|0)==(2047);
  13757. $or$cond = $26 | $25;
  13758. if ($or$cond) {
  13759. label = 3;
  13760. } else {
  13761. $29 = (_bitshift64Shl(($2|0),($3|0),1)|0);
  13762. $30 = tempRet0;
  13763. $31 = ($30>>>0)>($14>>>0);
  13764. $32 = ($29>>>0)>($13>>>0);
  13765. $33 = ($30|0)==($14|0);
  13766. $34 = $33 & $32;
  13767. $35 = $31 | $34;
  13768. if (!($35)) {
  13769. $36 = ($29|0)==($13|0);
  13770. $37 = ($30|0)==($14|0);
  13771. $38 = $36 & $37;
  13772. $39 = $0 * 0.0;
  13773. $$ = $38 ? $39 : $0;
  13774. return (+$$);
  13775. }
  13776. $40 = ($8|0)==(0);
  13777. if ($40) {
  13778. $41 = (_bitshift64Shl(($2|0),($3|0),12)|0);
  13779. $42 = tempRet0;
  13780. $43 = ($42|0)>(-1);
  13781. $44 = ($41>>>0)>(4294967295);
  13782. $45 = ($42|0)==(-1);
  13783. $46 = $45 & $44;
  13784. $47 = $43 | $46;
  13785. if ($47) {
  13786. $$073100 = 0;$49 = $41;$50 = $42;
  13787. while(1) {
  13788. $48 = (($$073100) + -1)|0;
  13789. $51 = (_bitshift64Shl(($49|0),($50|0),1)|0);
  13790. $52 = tempRet0;
  13791. $53 = ($52|0)>(-1);
  13792. $54 = ($51>>>0)>(4294967295);
  13793. $55 = ($52|0)==(-1);
  13794. $56 = $55 & $54;
  13795. $57 = $53 | $56;
  13796. if ($57) {
  13797. $$073100 = $48;$49 = $51;$50 = $52;
  13798. } else {
  13799. $$073$lcssa = $48;
  13800. break;
  13801. }
  13802. }
  13803. } else {
  13804. $$073$lcssa = 0;
  13805. }
  13806. $58 = (1 - ($$073$lcssa))|0;
  13807. $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0);
  13808. $60 = tempRet0;
  13809. $$174 = $$073$lcssa;$87 = $59;$88 = $60;
  13810. } else {
  13811. $61 = $3 & 1048575;
  13812. $62 = $61 | 1048576;
  13813. $$174 = $8;$87 = $2;$88 = $62;
  13814. }
  13815. $63 = ($11|0)==(0);
  13816. if ($63) {
  13817. $64 = (_bitshift64Shl(($4|0),($5|0),12)|0);
  13818. $65 = tempRet0;
  13819. $66 = ($65|0)>(-1);
  13820. $67 = ($64>>>0)>(4294967295);
  13821. $68 = ($65|0)==(-1);
  13822. $69 = $68 & $67;
  13823. $70 = $66 | $69;
  13824. if ($70) {
  13825. $$07194 = 0;$72 = $64;$73 = $65;
  13826. while(1) {
  13827. $71 = (($$07194) + -1)|0;
  13828. $74 = (_bitshift64Shl(($72|0),($73|0),1)|0);
  13829. $75 = tempRet0;
  13830. $76 = ($75|0)>(-1);
  13831. $77 = ($74>>>0)>(4294967295);
  13832. $78 = ($75|0)==(-1);
  13833. $79 = $78 & $77;
  13834. $80 = $76 | $79;
  13835. if ($80) {
  13836. $$07194 = $71;$72 = $74;$73 = $75;
  13837. } else {
  13838. $$071$lcssa = $71;
  13839. break;
  13840. }
  13841. }
  13842. } else {
  13843. $$071$lcssa = 0;
  13844. }
  13845. $81 = (1 - ($$071$lcssa))|0;
  13846. $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0);
  13847. $83 = tempRet0;
  13848. $$172$ph = $$071$lcssa;$89 = $82;$90 = $83;
  13849. } else {
  13850. $84 = $5 & 1048575;
  13851. $85 = $84 | 1048576;
  13852. $$172$ph = $11;$89 = $4;$90 = $85;
  13853. }
  13854. $86 = ($$174|0)>($$172$ph|0);
  13855. $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0);
  13856. $92 = tempRet0;
  13857. $93 = ($92|0)>(-1);
  13858. $94 = ($91>>>0)>(4294967295);
  13859. $95 = ($92|0)==(-1);
  13860. $96 = $95 & $94;
  13861. $97 = $93 | $96;
  13862. L23: do {
  13863. if ($86) {
  13864. $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91;
  13865. while(1) {
  13866. if ($156) {
  13867. $98 = ($99|0)==(0);
  13868. $100 = ($101|0)==(0);
  13869. $102 = $98 & $100;
  13870. if ($102) {
  13871. break;
  13872. } else {
  13873. $104 = $99;$105 = $101;
  13874. }
  13875. } else {
  13876. $104 = $157;$105 = $158;
  13877. }
  13878. $106 = (_bitshift64Shl(($104|0),($105|0),1)|0);
  13879. $107 = tempRet0;
  13880. $108 = (($$27586) + -1)|0;
  13881. $109 = ($108|0)>($$172$ph|0);
  13882. $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0);
  13883. $111 = tempRet0;
  13884. $112 = ($111|0)>(-1);
  13885. $113 = ($110>>>0)>(4294967295);
  13886. $114 = ($111|0)==(-1);
  13887. $115 = $114 & $113;
  13888. $116 = $112 | $115;
  13889. if ($109) {
  13890. $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110;
  13891. } else {
  13892. $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107;
  13893. break L23;
  13894. }
  13895. }
  13896. $103 = $0 * 0.0;
  13897. $$070 = $103;
  13898. break L1;
  13899. } else {
  13900. $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88;
  13901. }
  13902. } while(0);
  13903. if ($$lcssa) {
  13904. $117 = ($118|0)==(0);
  13905. $119 = ($120|0)==(0);
  13906. $121 = $117 & $119;
  13907. if ($121) {
  13908. $129 = $0 * 0.0;
  13909. $$070 = $129;
  13910. break;
  13911. } else {
  13912. $123 = $120;$125 = $118;
  13913. }
  13914. } else {
  13915. $123 = $160;$125 = $159;
  13916. }
  13917. $122 = ($123>>>0)<(1048576);
  13918. $124 = ($125>>>0)<(0);
  13919. $126 = ($123|0)==(1048576);
  13920. $127 = $126 & $124;
  13921. $128 = $122 | $127;
  13922. if ($128) {
  13923. $$37683 = $$275$lcssa;$130 = $125;$131 = $123;
  13924. while(1) {
  13925. $132 = (_bitshift64Shl(($130|0),($131|0),1)|0);
  13926. $133 = tempRet0;
  13927. $134 = (($$37683) + -1)|0;
  13928. $135 = ($133>>>0)<(1048576);
  13929. $136 = ($132>>>0)<(0);
  13930. $137 = ($133|0)==(1048576);
  13931. $138 = $137 & $136;
  13932. $139 = $135 | $138;
  13933. if ($139) {
  13934. $$37683 = $134;$130 = $132;$131 = $133;
  13935. } else {
  13936. $$376$lcssa = $134;$141 = $132;$142 = $133;
  13937. break;
  13938. }
  13939. }
  13940. } else {
  13941. $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123;
  13942. }
  13943. $140 = ($$376$lcssa|0)>(0);
  13944. if ($140) {
  13945. $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0);
  13946. $144 = tempRet0;
  13947. $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0);
  13948. $146 = tempRet0;
  13949. $147 = $143 | $145;
  13950. $148 = $144 | $146;
  13951. $153 = $148;$154 = $147;
  13952. } else {
  13953. $149 = (1 - ($$376$lcssa))|0;
  13954. $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0);
  13955. $151 = tempRet0;
  13956. $153 = $151;$154 = $150;
  13957. }
  13958. $152 = $153 | $12;
  13959. HEAP32[tempDoublePtr>>2] = $154;HEAP32[tempDoublePtr+4>>2] = $152;$155 = +HEAPF64[tempDoublePtr>>3];
  13960. $$070 = $155;
  13961. }
  13962. }
  13963. } while(0);
  13964. if ((label|0) == 3) {
  13965. $27 = $0 * $1;
  13966. $28 = $27 / $27;
  13967. $$070 = $28;
  13968. }
  13969. return (+$$070);
  13970. }
  13971. function ___DOUBLE_BITS_272($0) {
  13972. $0 = +$0;
  13973. var $1 = 0, $2 = 0, label = 0, sp = 0;
  13974. sp = STACKTOP;
  13975. HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
  13976. $2 = HEAP32[tempDoublePtr+4>>2]|0;
  13977. tempRet0 = ($2);
  13978. return ($1|0);
  13979. }
  13980. function _strlen($0) {
  13981. $0 = $0|0;
  13982. var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
  13983. var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  13984. sp = STACKTOP;
  13985. $1 = $0;
  13986. $2 = $1 & 3;
  13987. $3 = ($2|0)==(0);
  13988. L1: do {
  13989. if ($3) {
  13990. $$015$lcssa = $0;
  13991. label = 4;
  13992. } else {
  13993. $$01519 = $0;$23 = $1;
  13994. while(1) {
  13995. $4 = HEAP8[$$01519>>0]|0;
  13996. $5 = ($4<<24>>24)==(0);
  13997. if ($5) {
  13998. $$sink = $23;
  13999. break L1;
  14000. }
  14001. $6 = ((($$01519)) + 1|0);
  14002. $7 = $6;
  14003. $8 = $7 & 3;
  14004. $9 = ($8|0)==(0);
  14005. if ($9) {
  14006. $$015$lcssa = $6;
  14007. label = 4;
  14008. break;
  14009. } else {
  14010. $$01519 = $6;$23 = $7;
  14011. }
  14012. }
  14013. }
  14014. } while(0);
  14015. if ((label|0) == 4) {
  14016. $$0 = $$015$lcssa;
  14017. while(1) {
  14018. $10 = HEAP32[$$0>>2]|0;
  14019. $11 = (($10) + -16843009)|0;
  14020. $12 = $10 & -2139062144;
  14021. $13 = $12 ^ -2139062144;
  14022. $14 = $13 & $11;
  14023. $15 = ($14|0)==(0);
  14024. $16 = ((($$0)) + 4|0);
  14025. if ($15) {
  14026. $$0 = $16;
  14027. } else {
  14028. break;
  14029. }
  14030. }
  14031. $17 = $10&255;
  14032. $18 = ($17<<24>>24)==(0);
  14033. if ($18) {
  14034. $$1$lcssa = $$0;
  14035. } else {
  14036. $$pn = $$0;
  14037. while(1) {
  14038. $19 = ((($$pn)) + 1|0);
  14039. $$pre = HEAP8[$19>>0]|0;
  14040. $20 = ($$pre<<24>>24)==(0);
  14041. if ($20) {
  14042. $$1$lcssa = $19;
  14043. break;
  14044. } else {
  14045. $$pn = $19;
  14046. }
  14047. }
  14048. }
  14049. $21 = $$1$lcssa;
  14050. $$sink = $21;
  14051. }
  14052. $22 = (($$sink) - ($1))|0;
  14053. return ($22|0);
  14054. }
  14055. function _mbrtowc($0,$1,$2,$3) {
  14056. $0 = $0|0;
  14057. $1 = $1|0;
  14058. $2 = $2|0;
  14059. $3 = $3|0;
  14060. var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
  14061. var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
  14062. var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
  14063. var $not$ = 0, label = 0, sp = 0;
  14064. sp = STACKTOP;
  14065. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  14066. $4 = sp;
  14067. $5 = ($3|0)==(0|0);
  14068. $$ = $5 ? 38944 : $3;
  14069. $6 = HEAP32[$$>>2]|0;
  14070. $7 = ($1|0)==(0|0);
  14071. L1: do {
  14072. if ($7) {
  14073. $8 = ($6|0)==(0);
  14074. if ($8) {
  14075. $$0 = 0;
  14076. } else {
  14077. label = 17;
  14078. }
  14079. } else {
  14080. $9 = ($0|0)==(0|0);
  14081. $$47 = $9 ? $4 : $0;
  14082. $10 = ($2|0)==(0);
  14083. if ($10) {
  14084. $$0 = -2;
  14085. } else {
  14086. $11 = ($6|0)==(0);
  14087. if ($11) {
  14088. $12 = HEAP8[$1>>0]|0;
  14089. $13 = ($12<<24>>24)>(-1);
  14090. if ($13) {
  14091. $14 = $12&255;
  14092. HEAP32[$$47>>2] = $14;
  14093. $15 = ($12<<24>>24)!=(0);
  14094. $16 = $15&1;
  14095. $$0 = $16;
  14096. break;
  14097. }
  14098. $17 = (___pthread_self_422()|0);
  14099. $18 = ((($17)) + 188|0);
  14100. $19 = HEAP32[$18>>2]|0;
  14101. $20 = HEAP32[$19>>2]|0;
  14102. $not$ = ($20|0)==(0|0);
  14103. $21 = HEAP8[$1>>0]|0;
  14104. if ($not$) {
  14105. $22 = $21 << 24 >> 24;
  14106. $23 = $22 & 57343;
  14107. HEAP32[$$47>>2] = $23;
  14108. $$0 = 1;
  14109. break;
  14110. }
  14111. $24 = $21&255;
  14112. $25 = (($24) + -194)|0;
  14113. $26 = ($25>>>0)>(50);
  14114. if ($26) {
  14115. label = 17;
  14116. break;
  14117. }
  14118. $27 = ((($1)) + 1|0);
  14119. $28 = (384 + ($25<<2)|0);
  14120. $29 = HEAP32[$28>>2]|0;
  14121. $30 = (($2) + -1)|0;
  14122. $31 = ($30|0)==(0);
  14123. if ($31) {
  14124. $$2 = $29;
  14125. } else {
  14126. $$03952 = $27;$$04051 = $29;$$04350 = $30;
  14127. label = 11;
  14128. }
  14129. } else {
  14130. $$03952 = $1;$$04051 = $6;$$04350 = $2;
  14131. label = 11;
  14132. }
  14133. L14: do {
  14134. if ((label|0) == 11) {
  14135. $32 = HEAP8[$$03952>>0]|0;
  14136. $33 = $32&255;
  14137. $34 = $33 >>> 3;
  14138. $35 = (($34) + -16)|0;
  14139. $36 = $$04051 >> 26;
  14140. $37 = (($34) + ($36))|0;
  14141. $38 = $35 | $37;
  14142. $39 = ($38>>>0)>(7);
  14143. if ($39) {
  14144. label = 17;
  14145. break L1;
  14146. } else {
  14147. $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32;
  14148. }
  14149. while(1) {
  14150. $40 = $$141 << 6;
  14151. $41 = ((($$1)) + 1|0);
  14152. $42 = $43&255;
  14153. $44 = (($42) + -128)|0;
  14154. $45 = $44 | $40;
  14155. $46 = (($$144) + -1)|0;
  14156. $47 = ($45|0)<(0);
  14157. if (!($47)) {
  14158. break;
  14159. }
  14160. $49 = ($46|0)==(0);
  14161. if ($49) {
  14162. $$2 = $45;
  14163. break L14;
  14164. }
  14165. $50 = HEAP8[$41>>0]|0;
  14166. $51 = $50 & -64;
  14167. $52 = ($51<<24>>24)==(-128);
  14168. if ($52) {
  14169. $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50;
  14170. } else {
  14171. label = 17;
  14172. break L1;
  14173. }
  14174. }
  14175. HEAP32[$$>>2] = 0;
  14176. HEAP32[$$47>>2] = $45;
  14177. $48 = (($2) - ($46))|0;
  14178. $$0 = $48;
  14179. break L1;
  14180. }
  14181. } while(0);
  14182. HEAP32[$$>>2] = $$2;
  14183. $$0 = -2;
  14184. }
  14185. }
  14186. } while(0);
  14187. if ((label|0) == 17) {
  14188. HEAP32[$$>>2] = 0;
  14189. $53 = (___errno_location()|0);
  14190. HEAP32[$53>>2] = 84;
  14191. $$0 = -1;
  14192. }
  14193. STACKTOP = sp;return ($$0|0);
  14194. }
  14195. function ___pthread_self_422() {
  14196. var $0 = 0, label = 0, sp = 0;
  14197. sp = STACKTOP;
  14198. $0 = (_pthread_self()|0);
  14199. return ($0|0);
  14200. }
  14201. function ___strdup($0) {
  14202. $0 = $0|0;
  14203. var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
  14204. sp = STACKTOP;
  14205. $1 = (_strlen($0)|0);
  14206. $2 = (($1) + 1)|0;
  14207. $3 = (_malloc($2)|0);
  14208. $4 = ($3|0)==(0|0);
  14209. if ($4) {
  14210. $$0 = 0;
  14211. } else {
  14212. _memcpy(($3|0),($0|0),($2|0))|0;
  14213. $$0 = $3;
  14214. }
  14215. return ($$0|0);
  14216. }
  14217. function ___ofl_lock() {
  14218. var label = 0, sp = 0;
  14219. sp = STACKTOP;
  14220. ___lock((38948|0));
  14221. return (38956|0);
  14222. }
  14223. function ___ofl_unlock() {
  14224. var label = 0, sp = 0;
  14225. sp = STACKTOP;
  14226. ___unlock((38948|0));
  14227. return;
  14228. }
  14229. function _fflush($0) {
  14230. $0 = $0|0;
  14231. var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
  14232. var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
  14233. sp = STACKTOP;
  14234. $1 = ($0|0)==(0|0);
  14235. do {
  14236. if ($1) {
  14237. $8 = HEAP32[239]|0;
  14238. $9 = ($8|0)==(0|0);
  14239. if ($9) {
  14240. $29 = 0;
  14241. } else {
  14242. $10 = HEAP32[239]|0;
  14243. $11 = (_fflush($10)|0);
  14244. $29 = $11;
  14245. }
  14246. $12 = (___ofl_lock()|0);
  14247. $$02325 = HEAP32[$12>>2]|0;
  14248. $13 = ($$02325|0)==(0|0);
  14249. if ($13) {
  14250. $$024$lcssa = $29;
  14251. } else {
  14252. $$02327 = $$02325;$$02426 = $29;
  14253. while(1) {
  14254. $14 = ((($$02327)) + 76|0);
  14255. $15 = HEAP32[$14>>2]|0;
  14256. $16 = ($15|0)>(-1);
  14257. if ($16) {
  14258. $17 = (___lockfile($$02327)|0);
  14259. $26 = $17;
  14260. } else {
  14261. $26 = 0;
  14262. }
  14263. $18 = ((($$02327)) + 20|0);
  14264. $19 = HEAP32[$18>>2]|0;
  14265. $20 = ((($$02327)) + 28|0);
  14266. $21 = HEAP32[$20>>2]|0;
  14267. $22 = ($19>>>0)>($21>>>0);
  14268. if ($22) {
  14269. $23 = (___fflush_unlocked($$02327)|0);
  14270. $24 = $23 | $$02426;
  14271. $$1 = $24;
  14272. } else {
  14273. $$1 = $$02426;
  14274. }
  14275. $25 = ($26|0)==(0);
  14276. if (!($25)) {
  14277. ___unlockfile($$02327);
  14278. }
  14279. $27 = ((($$02327)) + 56|0);
  14280. $$023 = HEAP32[$27>>2]|0;
  14281. $28 = ($$023|0)==(0|0);
  14282. if ($28) {
  14283. $$024$lcssa = $$1;
  14284. break;
  14285. } else {
  14286. $$02327 = $$023;$$02426 = $$1;
  14287. }
  14288. }
  14289. }
  14290. ___ofl_unlock();
  14291. $$0 = $$024$lcssa;
  14292. } else {
  14293. $2 = ((($0)) + 76|0);
  14294. $3 = HEAP32[$2>>2]|0;
  14295. $4 = ($3|0)>(-1);
  14296. if (!($4)) {
  14297. $5 = (___fflush_unlocked($0)|0);
  14298. $$0 = $5;
  14299. break;
  14300. }
  14301. $6 = (___lockfile($0)|0);
  14302. $phitmp = ($6|0)==(0);
  14303. $7 = (___fflush_unlocked($0)|0);
  14304. if ($phitmp) {
  14305. $$0 = $7;
  14306. } else {
  14307. ___unlockfile($0);
  14308. $$0 = $7;
  14309. }
  14310. }
  14311. } while(0);
  14312. return ($$0|0);
  14313. }
  14314. function ___fflush_unlocked($0) {
  14315. $0 = $0|0;
  14316. var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
  14317. var $9 = 0, label = 0, sp = 0;
  14318. sp = STACKTOP;
  14319. $1 = ((($0)) + 20|0);
  14320. $2 = HEAP32[$1>>2]|0;
  14321. $3 = ((($0)) + 28|0);
  14322. $4 = HEAP32[$3>>2]|0;
  14323. $5 = ($2>>>0)>($4>>>0);
  14324. if ($5) {
  14325. $6 = ((($0)) + 36|0);
  14326. $7 = HEAP32[$6>>2]|0;
  14327. (FUNCTION_TABLE_iiii[$7 & 31]($0,0,0)|0);
  14328. $8 = HEAP32[$1>>2]|0;
  14329. $9 = ($8|0)==(0|0);
  14330. if ($9) {
  14331. $$0 = -1;
  14332. } else {
  14333. label = 3;
  14334. }
  14335. } else {
  14336. label = 3;
  14337. }
  14338. if ((label|0) == 3) {
  14339. $10 = ((($0)) + 4|0);
  14340. $11 = HEAP32[$10>>2]|0;
  14341. $12 = ((($0)) + 8|0);
  14342. $13 = HEAP32[$12>>2]|0;
  14343. $14 = ($11>>>0)<($13>>>0);
  14344. if ($14) {
  14345. $15 = $11;
  14346. $16 = $13;
  14347. $17 = (($15) - ($16))|0;
  14348. $18 = ((($0)) + 40|0);
  14349. $19 = HEAP32[$18>>2]|0;
  14350. (FUNCTION_TABLE_iiii[$19 & 31]($0,$17,1)|0);
  14351. }
  14352. $20 = ((($0)) + 16|0);
  14353. HEAP32[$20>>2] = 0;
  14354. HEAP32[$3>>2] = 0;
  14355. HEAP32[$1>>2] = 0;
  14356. HEAP32[$12>>2] = 0;
  14357. HEAP32[$10>>2] = 0;
  14358. $$0 = 0;
  14359. }
  14360. return ($$0|0);
  14361. }
  14362. function _sscanf($0,$1,$varargs) {
  14363. $0 = $0|0;
  14364. $1 = $1|0;
  14365. $varargs = $varargs|0;
  14366. var $2 = 0, $3 = 0, label = 0, sp = 0;
  14367. sp = STACKTOP;
  14368. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  14369. $2 = sp;
  14370. HEAP32[$2>>2] = $varargs;
  14371. $3 = (_vsscanf($0,$1,$2)|0);
  14372. STACKTOP = sp;return ($3|0);
  14373. }
  14374. function _vsscanf($0,$1,$2) {
  14375. $0 = $0|0;
  14376. $1 = $1|0;
  14377. $2 = $2|0;
  14378. var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, stop = 0;
  14379. sp = STACKTOP;
  14380. STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
  14381. $3 = sp;
  14382. dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
  14383. $4 = ((($3)) + 32|0);
  14384. HEAP32[$4>>2] = 24;
  14385. $5 = ((($3)) + 44|0);
  14386. HEAP32[$5>>2] = $0;
  14387. $6 = ((($3)) + 76|0);
  14388. HEAP32[$6>>2] = -1;
  14389. $7 = ((($3)) + 84|0);
  14390. HEAP32[$7>>2] = $0;
  14391. $8 = (_vfscanf($3,$1,$2)|0);
  14392. STACKTOP = sp;return ($8|0);
  14393. }
  14394. function _do_read($0,$1,$2) {
  14395. $0 = $0|0;
  14396. $1 = $1|0;
  14397. $2 = $2|0;
  14398. var $3 = 0, label = 0, sp = 0;
  14399. sp = STACKTOP;
  14400. $3 = (___string_read($0,$1,$2)|0);
  14401. return ($3|0);
  14402. }
  14403. function _vfscanf($0,$1,$2) {
  14404. $0 = $0|0;
  14405. $1 = $1|0;
  14406. $2 = $2|0;
  14407. var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0;
  14408. var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0;
  14409. var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0;
  14410. var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 0;
  14411. var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
  14412. var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
  14413. var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
  14414. var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
  14415. var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
  14416. var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
  14417. var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
  14418. var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
  14419. var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
  14420. var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
  14421. var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
  14422. var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
  14423. var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
  14424. var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
  14425. var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
  14426. var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0;
  14427. var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0;
  14428. sp = STACKTOP;
  14429. STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0);
  14430. $3 = sp + 8|0;
  14431. $4 = sp + 17|0;
  14432. $5 = sp;
  14433. $6 = sp + 16|0;
  14434. $7 = ((($0)) + 76|0);
  14435. $8 = HEAP32[$7>>2]|0;
  14436. $9 = ($8|0)>(-1);
  14437. if ($9) {
  14438. $10 = (___lockfile($0)|0);
  14439. $306 = $10;
  14440. } else {
  14441. $306 = 0;
  14442. }
  14443. $11 = HEAP8[$1>>0]|0;
  14444. $12 = ($11<<24>>24)==(0);
  14445. L4: do {
  14446. if ($12) {
  14447. $$3291 = 0;
  14448. } else {
  14449. $13 = ((($0)) + 4|0);
  14450. $14 = ((($0)) + 100|0);
  14451. $15 = ((($0)) + 108|0);
  14452. $16 = ((($0)) + 8|0);
  14453. $17 = ((($4)) + 10|0);
  14454. $18 = ((($4)) + 33|0);
  14455. $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0);
  14456. $19 = ((($4)) + 46|0);
  14457. $20 = ((($4)) + 94|0);
  14458. $21 = ((($4)) + 1|0);
  14459. $22 = ((($4)) + 1|0);
  14460. $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11;
  14461. L6: while(1) {
  14462. $23 = $24&255;
  14463. $25 = (_isspace($23)|0);
  14464. $26 = ($25|0)==(0);
  14465. L8: do {
  14466. if ($26) {
  14467. $53 = ($24<<24>>24)==(37);
  14468. L10: do {
  14469. if ($53) {
  14470. $54 = ((($$0273429)) + 1|0);
  14471. $55 = HEAP8[$54>>0]|0;
  14472. L12: do {
  14473. switch ($55<<24>>24) {
  14474. case 37: {
  14475. break L10;
  14476. break;
  14477. }
  14478. case 42: {
  14479. $76 = ((($$0273429)) + 2|0);
  14480. $$0293 = 0;$$2275 = $76;
  14481. break;
  14482. }
  14483. default: {
  14484. $77 = $55&255;
  14485. $isdigittmp = (($77) + -48)|0;
  14486. $isdigit = ($isdigittmp>>>0)<(10);
  14487. if ($isdigit) {
  14488. $78 = ((($$0273429)) + 2|0);
  14489. $79 = HEAP8[$78>>0]|0;
  14490. $80 = ($79<<24>>24)==(36);
  14491. if ($80) {
  14492. $81 = (_arg_n($2,$isdigittmp)|0);
  14493. $82 = ((($$0273429)) + 3|0);
  14494. $$0293 = $81;$$2275 = $82;
  14495. break L12;
  14496. }
  14497. }
  14498. $arglist_current = HEAP32[$2>>2]|0;
  14499. $83 = $arglist_current;
  14500. $84 = ((0) + 4|0);
  14501. $expanded1 = $84;
  14502. $expanded = (($expanded1) - 1)|0;
  14503. $85 = (($83) + ($expanded))|0;
  14504. $86 = ((0) + 4|0);
  14505. $expanded5 = $86;
  14506. $expanded4 = (($expanded5) - 1)|0;
  14507. $expanded3 = $expanded4 ^ -1;
  14508. $87 = $85 & $expanded3;
  14509. $88 = $87;
  14510. $89 = HEAP32[$88>>2]|0;
  14511. $arglist_next = ((($88)) + 4|0);
  14512. HEAP32[$2>>2] = $arglist_next;
  14513. $$0293 = $89;$$2275 = $54;
  14514. }
  14515. }
  14516. } while(0);
  14517. $90 = HEAP8[$$2275>>0]|0;
  14518. $91 = $90&255;
  14519. $isdigittmp315414 = (($91) + -48)|0;
  14520. $isdigit316415 = ($isdigittmp315414>>>0)<(10);
  14521. if ($isdigit316415) {
  14522. $$0266417 = 0;$$3416 = $$2275;$95 = $91;
  14523. while(1) {
  14524. $92 = ($$0266417*10)|0;
  14525. $93 = (($92) + -48)|0;
  14526. $94 = (($93) + ($95))|0;
  14527. $96 = ((($$3416)) + 1|0);
  14528. $97 = HEAP8[$96>>0]|0;
  14529. $98 = $97&255;
  14530. $isdigittmp315 = (($98) + -48)|0;
  14531. $isdigit316 = ($isdigittmp315>>>0)<(10);
  14532. if ($isdigit316) {
  14533. $$0266417 = $94;$$3416 = $96;$95 = $98;
  14534. } else {
  14535. $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97;
  14536. break;
  14537. }
  14538. }
  14539. } else {
  14540. $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90;
  14541. }
  14542. $99 = ($$lcssa355<<24>>24)==(109);
  14543. $100 = ($$0293|0)!=(0|0);
  14544. $101 = ((($$3$lcssa)) + 1|0);
  14545. $$$0305 = $99 ? 0 : $$0305423;
  14546. $$327 = $99 ? 0 : $102;
  14547. $$$3 = $99 ? $101 : $$3$lcssa;
  14548. $narrow = $100 & $99;
  14549. $103 = ((($$$3)) + 1|0);
  14550. $104 = HEAP8[$$$3>>0]|0;
  14551. switch ($104<<24>>24) {
  14552. case 104: {
  14553. $105 = HEAP8[$103>>0]|0;
  14554. $106 = ($105<<24>>24)==(104);
  14555. $107 = ((($$$3)) + 2|0);
  14556. $$319 = $106 ? $107 : $103;
  14557. $$320 = $106 ? -2 : -1;
  14558. $$0268 = $$320;$$5 = $$319;
  14559. break;
  14560. }
  14561. case 108: {
  14562. $108 = HEAP8[$103>>0]|0;
  14563. $109 = ($108<<24>>24)==(108);
  14564. $110 = ((($$$3)) + 2|0);
  14565. $$321 = $109 ? $110 : $103;
  14566. $$322 = $109 ? 3 : 1;
  14567. $$0268 = $$322;$$5 = $$321;
  14568. break;
  14569. }
  14570. case 106: {
  14571. $$0268 = 3;$$5 = $103;
  14572. break;
  14573. }
  14574. case 116: case 122: {
  14575. $$0268 = 1;$$5 = $103;
  14576. break;
  14577. }
  14578. case 76: {
  14579. $$0268 = 2;$$5 = $103;
  14580. break;
  14581. }
  14582. case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: {
  14583. $$0268 = 0;$$5 = $$$3;
  14584. break;
  14585. }
  14586. default: {
  14587. $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow;
  14588. label = 137;
  14589. break L6;
  14590. }
  14591. }
  14592. $111 = HEAP8[$$5>>0]|0;
  14593. $112 = $111&255;
  14594. $113 = $112 & 47;
  14595. $114 = ($113|0)==(3);
  14596. $115 = $112 | 32;
  14597. $$ = $114 ? $115 : $112;
  14598. $$$0268 = $114 ? 1 : $$0268;
  14599. $trunc = $$&255;
  14600. switch ($trunc<<24>>24) {
  14601. case 99: {
  14602. $116 = ($$0266$lcssa|0)>(1);
  14603. $$$0266 = $116 ? $$0266$lcssa : 1;
  14604. $$1267 = $$$0266;$$1284 = $$0283428;
  14605. break;
  14606. }
  14607. case 91: {
  14608. $$1267 = $$0266$lcssa;$$1284 = $$0283428;
  14609. break;
  14610. }
  14611. case 110: {
  14612. $117 = ($$0283428|0)<(0);
  14613. $118 = $117 << 31 >> 31;
  14614. _store_int($$0293,$$$0268,$$0283428,$118);
  14615. $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327;
  14616. break L8;
  14617. break;
  14618. }
  14619. default: {
  14620. ___shlim($0,0);
  14621. while(1) {
  14622. $119 = HEAP32[$13>>2]|0;
  14623. $120 = HEAP32[$14>>2]|0;
  14624. $121 = ($119>>>0)<($120>>>0);
  14625. if ($121) {
  14626. $122 = ((($119)) + 1|0);
  14627. HEAP32[$13>>2] = $122;
  14628. $123 = HEAP8[$119>>0]|0;
  14629. $124 = $123&255;
  14630. $126 = $124;
  14631. } else {
  14632. $125 = (___shgetc($0)|0);
  14633. $126 = $125;
  14634. }
  14635. $127 = (_isspace($126)|0);
  14636. $128 = ($127|0)==(0);
  14637. if ($128) {
  14638. break;
  14639. }
  14640. }
  14641. $129 = HEAP32[$14>>2]|0;
  14642. $130 = ($129|0)==(0|0);
  14643. if ($130) {
  14644. $$pre507 = HEAP32[$13>>2]|0;
  14645. $138 = $$pre507;
  14646. } else {
  14647. $131 = HEAP32[$13>>2]|0;
  14648. $132 = ((($131)) + -1|0);
  14649. HEAP32[$13>>2] = $132;
  14650. $133 = $132;
  14651. $138 = $133;
  14652. }
  14653. $134 = HEAP32[$15>>2]|0;
  14654. $135 = HEAP32[$16>>2]|0;
  14655. $136 = (($134) + ($$0283428))|0;
  14656. $137 = (($136) + ($138))|0;
  14657. $139 = (($137) - ($135))|0;
  14658. $$1267 = $$0266$lcssa;$$1284 = $139;
  14659. }
  14660. }
  14661. ___shlim($0,$$1267);
  14662. $140 = HEAP32[$13>>2]|0;
  14663. $141 = HEAP32[$14>>2]|0;
  14664. $142 = ($140>>>0)<($141>>>0);
  14665. if ($142) {
  14666. $143 = ((($140)) + 1|0);
  14667. HEAP32[$13>>2] = $143;
  14668. $147 = $141;
  14669. } else {
  14670. $144 = (___shgetc($0)|0);
  14671. $145 = ($144|0)<(0);
  14672. if ($145) {
  14673. $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow;
  14674. label = 137;
  14675. break L6;
  14676. }
  14677. $$pre509 = HEAP32[$14>>2]|0;
  14678. $147 = $$pre509;
  14679. }
  14680. $146 = ($147|0)==(0|0);
  14681. if (!($146)) {
  14682. $148 = HEAP32[$13>>2]|0;
  14683. $149 = ((($148)) + -1|0);
  14684. HEAP32[$13>>2] = $149;
  14685. }
  14686. L55: do {
  14687. switch ($trunc<<24>>24) {
  14688. case 91: case 99: case 115: {
  14689. $150 = ($$|0)==(99);
  14690. $151 = $$ | 16;
  14691. $152 = ($151|0)==(115);
  14692. L57: do {
  14693. if ($152) {
  14694. $153 = ($$|0)==(115);
  14695. _memset(($21|0),-1,256)|0;
  14696. HEAP8[$4>>0] = 0;
  14697. if ($153) {
  14698. HEAP8[$18>>0] = 0;
  14699. ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0;
  14700. $$9 = $$5;
  14701. } else {
  14702. $$9 = $$5;
  14703. }
  14704. } else {
  14705. $154 = ((($$5)) + 1|0);
  14706. $155 = HEAP8[$154>>0]|0;
  14707. $156 = ($155<<24>>24)==(94);
  14708. $157 = ((($$5)) + 2|0);
  14709. $$0292 = $156&1;
  14710. $$6 = $156 ? $157 : $154;
  14711. $158 = $156&1;
  14712. _memset(($22|0),($158|0),256)|0;
  14713. HEAP8[$4>>0] = 0;
  14714. $159 = HEAP8[$$6>>0]|0;
  14715. switch ($159<<24>>24) {
  14716. case 45: {
  14717. $$sink443 = $19;
  14718. label = 64;
  14719. break;
  14720. }
  14721. case 93: {
  14722. $$sink443 = $20;
  14723. label = 64;
  14724. break;
  14725. }
  14726. default: {
  14727. $$pre514 = $$0292 ^ 1;
  14728. $$pre515 = $$pre514&255;
  14729. $$7$ph = $$6;$$pre$phi516Z2D = $$pre515;
  14730. }
  14731. }
  14732. if ((label|0) == 64) {
  14733. label = 0;
  14734. $160 = ((($$6)) + 1|0);
  14735. $161 = $$0292 ^ 1;
  14736. $162 = $161&255;
  14737. HEAP8[$$sink443>>0] = $162;
  14738. $$7$ph = $160;$$pre$phi516Z2D = $162;
  14739. }
  14740. $$7 = $$7$ph;
  14741. while(1) {
  14742. $163 = HEAP8[$$7>>0]|0;
  14743. L69: do {
  14744. switch ($163<<24>>24) {
  14745. case 0: {
  14746. $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow;
  14747. label = 137;
  14748. break L6;
  14749. break;
  14750. }
  14751. case 93: {
  14752. $$9 = $$7;
  14753. break L57;
  14754. break;
  14755. }
  14756. case 45: {
  14757. $164 = ((($$7)) + 1|0);
  14758. $165 = HEAP8[$164>>0]|0;
  14759. switch ($165<<24>>24) {
  14760. case 93: case 0: {
  14761. $$8 = $$7;$176 = 45;
  14762. break L69;
  14763. break;
  14764. }
  14765. default: {
  14766. }
  14767. }
  14768. $166 = ((($$7)) + -1|0);
  14769. $167 = HEAP8[$166>>0]|0;
  14770. $168 = ($167&255)<($165&255);
  14771. if ($168) {
  14772. $169 = $167&255;
  14773. $$0286420 = $169;
  14774. while(1) {
  14775. $170 = (($$0286420) + 1)|0;
  14776. $171 = (($4) + ($170)|0);
  14777. HEAP8[$171>>0] = $$pre$phi516Z2D;
  14778. $172 = HEAP8[$164>>0]|0;
  14779. $173 = $172&255;
  14780. $174 = ($170|0)<($173|0);
  14781. if ($174) {
  14782. $$0286420 = $170;
  14783. } else {
  14784. $$8 = $164;$176 = $172;
  14785. break;
  14786. }
  14787. }
  14788. } else {
  14789. $$8 = $164;$176 = $165;
  14790. }
  14791. break;
  14792. }
  14793. default: {
  14794. $$8 = $$7;$176 = $163;
  14795. }
  14796. }
  14797. } while(0);
  14798. $175 = $176&255;
  14799. $177 = (($175) + 1)|0;
  14800. $178 = (($4) + ($177)|0);
  14801. HEAP8[$178>>0] = $$pre$phi516Z2D;
  14802. $179 = ((($$8)) + 1|0);
  14803. $$7 = $179;
  14804. }
  14805. }
  14806. } while(0);
  14807. $180 = (($$1267) + 1)|0;
  14808. $181 = $150 ? $180 : 31;
  14809. $182 = ($$$0268|0)==(1);
  14810. L77: do {
  14811. if ($182) {
  14812. if ($narrow) {
  14813. $183 = $181 << 2;
  14814. $184 = (_malloc($183)|0);
  14815. $185 = ($184|0)==(0|0);
  14816. if ($185) {
  14817. $$7312 = 0;$309 = 0;$narrow469 = 1;
  14818. label = 137;
  14819. break L6;
  14820. } else {
  14821. $311 = $184;
  14822. }
  14823. } else {
  14824. $311 = $$0293;
  14825. }
  14826. HEAP32[$3>>2] = 0;
  14827. HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0;
  14828. $$0276$ph = $181;$$0278$ph = 0;$$ph = $311;
  14829. L82: while(1) {
  14830. $186 = ($$ph|0)==(0|0);
  14831. $$0278$ph336 = $$0278$ph;
  14832. while(1) {
  14833. L86: while(1) {
  14834. $187 = HEAP32[$13>>2]|0;
  14835. $188 = HEAP32[$14>>2]|0;
  14836. $189 = ($187>>>0)<($188>>>0);
  14837. if ($189) {
  14838. $190 = ((($187)) + 1|0);
  14839. HEAP32[$13>>2] = $190;
  14840. $191 = HEAP8[$187>>0]|0;
  14841. $192 = $191&255;
  14842. $195 = $192;
  14843. } else {
  14844. $193 = (___shgetc($0)|0);
  14845. $195 = $193;
  14846. }
  14847. $194 = (($195) + 1)|0;
  14848. $196 = (($4) + ($194)|0);
  14849. $197 = HEAP8[$196>>0]|0;
  14850. $198 = ($197<<24>>24)==(0);
  14851. if ($198) {
  14852. break L82;
  14853. }
  14854. $199 = $195&255;
  14855. HEAP8[$6>>0] = $199;
  14856. $200 = (_mbrtowc($5,$6,1,$3)|0);
  14857. switch ($200|0) {
  14858. case -1: {
  14859. $$7312 = 0;$309 = $$ph;$narrow469 = $narrow;
  14860. label = 137;
  14861. break L6;
  14862. break;
  14863. }
  14864. case -2: {
  14865. break;
  14866. }
  14867. default: {
  14868. break L86;
  14869. }
  14870. }
  14871. }
  14872. if ($186) {
  14873. $$1279 = $$0278$ph336;
  14874. } else {
  14875. $201 = (($$ph) + ($$0278$ph336<<2)|0);
  14876. $202 = (($$0278$ph336) + 1)|0;
  14877. $203 = HEAP32[$5>>2]|0;
  14878. HEAP32[$201>>2] = $203;
  14879. $$1279 = $202;
  14880. }
  14881. $204 = ($$1279|0)==($$0276$ph|0);
  14882. $or$cond = $narrow & $204;
  14883. if ($or$cond) {
  14884. break;
  14885. } else {
  14886. $$0278$ph336 = $$1279;
  14887. }
  14888. }
  14889. $factor331 = $$0276$ph << 1;
  14890. $205 = $factor331 | 1;
  14891. $206 = $205 << 2;
  14892. $207 = (_realloc($$ph,$206)|0);
  14893. $208 = ($207|0)==(0|0);
  14894. if ($208) {
  14895. $$7312 = 0;$309 = $$ph;$narrow469 = 1;
  14896. label = 137;
  14897. break L6;
  14898. } else {
  14899. $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi;
  14900. }
  14901. }
  14902. $209 = (_mbsinit($3)|0);
  14903. $210 = ($209|0)==(0);
  14904. if ($210) {
  14905. $$7312 = 0;$309 = $$ph;$narrow469 = $narrow;
  14906. label = 137;
  14907. break L6;
  14908. } else {
  14909. $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph;
  14910. }
  14911. } else {
  14912. if ($narrow) {
  14913. $211 = (_malloc($181)|0);
  14914. $212 = ($211|0)==(0|0);
  14915. if ($212) {
  14916. $$7312 = 0;$309 = 0;$narrow469 = 1;
  14917. label = 137;
  14918. break L6;
  14919. } else {
  14920. $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211;
  14921. }
  14922. while(1) {
  14923. $$2280 = $$2280$ph;
  14924. while(1) {
  14925. $213 = HEAP32[$13>>2]|0;
  14926. $214 = HEAP32[$14>>2]|0;
  14927. $215 = ($213>>>0)<($214>>>0);
  14928. if ($215) {
  14929. $216 = ((($213)) + 1|0);
  14930. HEAP32[$13>>2] = $216;
  14931. $217 = HEAP8[$213>>0]|0;
  14932. $218 = $217&255;
  14933. $221 = $218;
  14934. } else {
  14935. $219 = (___shgetc($0)|0);
  14936. $221 = $219;
  14937. }
  14938. $220 = (($221) + 1)|0;
  14939. $222 = (($4) + ($220)|0);
  14940. $223 = HEAP8[$222>>0]|0;
  14941. $224 = ($223<<24>>24)==(0);
  14942. if ($224) {
  14943. $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0;
  14944. break L77;
  14945. }
  14946. $225 = $221&255;
  14947. $226 = (($$2280) + 1)|0;
  14948. $227 = (($$2307$ph) + ($$2280)|0);
  14949. HEAP8[$227>>0] = $225;
  14950. $228 = ($226|0)==($$1277$ph|0);
  14951. if ($228) {
  14952. break;
  14953. } else {
  14954. $$2280 = $226;
  14955. }
  14956. }
  14957. $factor = $$1277$ph << 1;
  14958. $229 = $factor | 1;
  14959. $230 = (_realloc($$2307$ph,$229)|0);
  14960. $231 = ($230|0)==(0|0);
  14961. if ($231) {
  14962. $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1;
  14963. label = 137;
  14964. break L6;
  14965. } else {
  14966. $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi;
  14967. }
  14968. }
  14969. }
  14970. $232 = ($$0293|0)==(0|0);
  14971. if ($232) {
  14972. $250 = $147;
  14973. while(1) {
  14974. $248 = HEAP32[$13>>2]|0;
  14975. $249 = ($248>>>0)<($250>>>0);
  14976. if ($249) {
  14977. $251 = ((($248)) + 1|0);
  14978. HEAP32[$13>>2] = $251;
  14979. $252 = HEAP8[$248>>0]|0;
  14980. $253 = $252&255;
  14981. $256 = $253;
  14982. } else {
  14983. $254 = (___shgetc($0)|0);
  14984. $256 = $254;
  14985. }
  14986. $255 = (($256) + 1)|0;
  14987. $257 = (($4) + ($255)|0);
  14988. $258 = HEAP8[$257>>0]|0;
  14989. $259 = ($258<<24>>24)==(0);
  14990. if ($259) {
  14991. $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0;
  14992. break L77;
  14993. }
  14994. $$pre512 = HEAP32[$14>>2]|0;
  14995. $250 = $$pre512;
  14996. }
  14997. } else {
  14998. $$3281 = 0;$235 = $147;
  14999. while(1) {
  15000. $233 = HEAP32[$13>>2]|0;
  15001. $234 = ($233>>>0)<($235>>>0);
  15002. if ($234) {
  15003. $236 = ((($233)) + 1|0);
  15004. HEAP32[$13>>2] = $236;
  15005. $237 = HEAP8[$233>>0]|0;
  15006. $238 = $237&255;
  15007. $241 = $238;
  15008. } else {
  15009. $239 = (___shgetc($0)|0);
  15010. $241 = $239;
  15011. }
  15012. $240 = (($241) + 1)|0;
  15013. $242 = (($4) + ($240)|0);
  15014. $243 = HEAP8[$242>>0]|0;
  15015. $244 = ($243<<24>>24)==(0);
  15016. if ($244) {
  15017. $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0;
  15018. break L77;
  15019. }
  15020. $245 = $241&255;
  15021. $246 = (($$3281) + 1)|0;
  15022. $247 = (($$0293) + ($$3281)|0);
  15023. HEAP8[$247>>0] = $245;
  15024. $$pre511 = HEAP32[$14>>2]|0;
  15025. $$3281 = $246;$235 = $$pre511;
  15026. }
  15027. }
  15028. }
  15029. } while(0);
  15030. $260 = HEAP32[$14>>2]|0;
  15031. $261 = ($260|0)==(0|0);
  15032. if ($261) {
  15033. $$pre513 = HEAP32[$13>>2]|0;
  15034. $268 = $$pre513;
  15035. } else {
  15036. $262 = HEAP32[$13>>2]|0;
  15037. $263 = ((($262)) + -1|0);
  15038. HEAP32[$13>>2] = $263;
  15039. $264 = $263;
  15040. $268 = $264;
  15041. }
  15042. $265 = HEAP32[$15>>2]|0;
  15043. $266 = HEAP32[$16>>2]|0;
  15044. $267 = (($268) - ($266))|0;
  15045. $269 = (($267) + ($265))|0;
  15046. $270 = ($269|0)==(0);
  15047. if ($270) {
  15048. $$9314$ph = $$4309;$$ph353 = $312;
  15049. label = 139;
  15050. break L6;
  15051. }
  15052. $$not = $150 ^ 1;
  15053. $271 = ($269|0)==($$1267|0);
  15054. $or$cond318 = $271 | $$not;
  15055. if (!($or$cond318)) {
  15056. $$9314$ph = $$4309;$$ph353 = $312;
  15057. label = 139;
  15058. break L6;
  15059. }
  15060. do {
  15061. if ($narrow) {
  15062. if ($182) {
  15063. HEAP32[$$0293>>2] = $$5299;
  15064. break;
  15065. } else {
  15066. HEAP32[$$0293>>2] = $$4309;
  15067. break;
  15068. }
  15069. }
  15070. } while(0);
  15071. if ($150) {
  15072. $$10 = $$9;$$5310 = $$4309;$310 = $312;
  15073. } else {
  15074. $272 = ($$5299|0)==(0|0);
  15075. if (!($272)) {
  15076. $273 = (($$5299) + ($$4282<<2)|0);
  15077. HEAP32[$273>>2] = 0;
  15078. }
  15079. $274 = ($$4309|0)==(0|0);
  15080. if ($274) {
  15081. $$10 = $$9;$$5310 = 0;$310 = $312;
  15082. break L55;
  15083. }
  15084. $275 = (($$4309) + ($$4282)|0);
  15085. HEAP8[$275>>0] = 0;
  15086. $$10 = $$9;$$5310 = $$4309;$310 = $312;
  15087. }
  15088. break;
  15089. }
  15090. case 120: case 88: case 112: {
  15091. $$0272 = 16;
  15092. label = 125;
  15093. break;
  15094. }
  15095. case 111: {
  15096. $$0272 = 8;
  15097. label = 125;
  15098. break;
  15099. }
  15100. case 117: case 100: {
  15101. $$0272 = 10;
  15102. label = 125;
  15103. break;
  15104. }
  15105. case 105: {
  15106. $$0272 = 0;
  15107. label = 125;
  15108. break;
  15109. }
  15110. case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: {
  15111. $285 = (+___floatscan($0,$$$0268,0));
  15112. $286 = HEAP32[$15>>2]|0;
  15113. $287 = HEAP32[$13>>2]|0;
  15114. $288 = HEAP32[$16>>2]|0;
  15115. $289 = (($288) - ($287))|0;
  15116. $290 = ($286|0)==($289|0);
  15117. if ($290) {
  15118. $$9314$ph = $$$0305;$$ph353 = $$327;
  15119. label = 139;
  15120. break L6;
  15121. }
  15122. $291 = ($$0293|0)==(0|0);
  15123. if ($291) {
  15124. $$10 = $$5;$$5310 = $$$0305;$310 = $$327;
  15125. } else {
  15126. switch ($$$0268|0) {
  15127. case 0: {
  15128. $292 = $285;
  15129. HEAPF32[$$0293>>2] = $292;
  15130. $$10 = $$5;$$5310 = $$$0305;$310 = $$327;
  15131. break L55;
  15132. break;
  15133. }
  15134. case 1: {
  15135. HEAPF64[$$0293>>3] = $285;
  15136. $$10 = $$5;$$5310 = $$$0305;$310 = $$327;
  15137. break L55;
  15138. break;
  15139. }
  15140. case 2: {
  15141. HEAPF64[$$0293>>3] = $285;
  15142. $$10 = $$5;$$5310 = $$$0305;$310 = $$327;
  15143. break L55;
  15144. break;
  15145. }
  15146. default: {
  15147. $$10 = $$5;$$5310 = $$$0305;$310 = $$327;
  15148. break L55;
  15149. }
  15150. }
  15151. }
  15152. break;
  15153. }
  15154. default: {
  15155. $$10 = $$5;$$5310 = $$$0305;$310 = $$327;
  15156. }
  15157. }
  15158. } while(0);
  15159. do {
  15160. if ((label|0) == 125) {
  15161. label = 0;
  15162. $276 = (___intscan($0,$$0272,0,-1,-1)|0);
  15163. $277 = tempRet0;
  15164. $278 = HEAP32[$15>>2]|0;
  15165. $279 = HEAP32[$13>>2]|0;
  15166. $280 = HEAP32[$16>>2]|0;
  15167. $281 = (($280) - ($279))|0;
  15168. $282 = ($278|0)==($281|0);
  15169. if ($282) {
  15170. $$9314$ph = $$$0305;$$ph353 = $$327;
  15171. label = 139;
  15172. break L6;
  15173. }
  15174. $283 = ($$|0)==(112);
  15175. $or$cond3 = $100 & $283;
  15176. if ($or$cond3) {
  15177. $284 = $276;
  15178. HEAP32[$$0293>>2] = $284;
  15179. $$10 = $$5;$$5310 = $$$0305;$310 = $$327;
  15180. break;
  15181. } else {
  15182. _store_int($$0293,$$$0268,$276,$277);
  15183. $$10 = $$5;$$5310 = $$$0305;$310 = $$327;
  15184. break;
  15185. }
  15186. }
  15187. } while(0);
  15188. $293 = HEAP32[$15>>2]|0;
  15189. $294 = HEAP32[$13>>2]|0;
  15190. $295 = HEAP32[$16>>2]|0;
  15191. $296 = (($293) + ($$1284))|0;
  15192. $297 = (($296) + ($294))|0;
  15193. $298 = (($297) - ($295))|0;
  15194. $299 = $100&1;
  15195. $$0288$ = (($299) + ($$0288425))|0;
  15196. $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310;
  15197. break L8;
  15198. }
  15199. } while(0);
  15200. $56 = $53&1;
  15201. $57 = (($$0273429) + ($56)|0);
  15202. ___shlim($0,0);
  15203. $58 = HEAP32[$13>>2]|0;
  15204. $59 = HEAP32[$14>>2]|0;
  15205. $60 = ($58>>>0)<($59>>>0);
  15206. if ($60) {
  15207. $61 = ((($58)) + 1|0);
  15208. HEAP32[$13>>2] = $61;
  15209. $62 = HEAP8[$58>>0]|0;
  15210. $63 = $62&255;
  15211. $68 = $63;
  15212. } else {
  15213. $64 = (___shgetc($0)|0);
  15214. $68 = $64;
  15215. }
  15216. $65 = HEAP8[$57>>0]|0;
  15217. $66 = $65&255;
  15218. $67 = ($68|0)==($66|0);
  15219. if (!($67)) {
  15220. label = 22;
  15221. break L6;
  15222. }
  15223. $75 = (($$0283428) + 1)|0;
  15224. $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102;
  15225. } else {
  15226. $$1274 = $$0273429;
  15227. while(1) {
  15228. $27 = ((($$1274)) + 1|0);
  15229. $28 = HEAP8[$27>>0]|0;
  15230. $29 = $28&255;
  15231. $30 = (_isspace($29)|0);
  15232. $31 = ($30|0)==(0);
  15233. if ($31) {
  15234. break;
  15235. } else {
  15236. $$1274 = $27;
  15237. }
  15238. }
  15239. ___shlim($0,0);
  15240. while(1) {
  15241. $32 = HEAP32[$13>>2]|0;
  15242. $33 = HEAP32[$14>>2]|0;
  15243. $34 = ($32>>>0)<($33>>>0);
  15244. if ($34) {
  15245. $35 = ((($32)) + 1|0);
  15246. HEAP32[$13>>2] = $35;
  15247. $36 = HEAP8[$32>>0]|0;
  15248. $37 = $36&255;
  15249. $39 = $37;
  15250. } else {
  15251. $38 = (___shgetc($0)|0);
  15252. $39 = $38;
  15253. }
  15254. $40 = (_isspace($39)|0);
  15255. $41 = ($40|0)==(0);
  15256. if ($41) {
  15257. break;
  15258. }
  15259. }
  15260. $42 = HEAP32[$14>>2]|0;
  15261. $43 = ($42|0)==(0|0);
  15262. if ($43) {
  15263. $$pre = HEAP32[$13>>2]|0;
  15264. $51 = $$pre;
  15265. } else {
  15266. $44 = HEAP32[$13>>2]|0;
  15267. $45 = ((($44)) + -1|0);
  15268. HEAP32[$13>>2] = $45;
  15269. $46 = $45;
  15270. $51 = $46;
  15271. }
  15272. $47 = HEAP32[$15>>2]|0;
  15273. $48 = HEAP32[$16>>2]|0;
  15274. $49 = (($47) + ($$0283428))|0;
  15275. $50 = (($49) + ($51))|0;
  15276. $52 = (($50) - ($48))|0;
  15277. $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102;
  15278. }
  15279. } while(0);
  15280. $300 = ((($$11)) + 1|0);
  15281. $301 = HEAP8[$300>>0]|0;
  15282. $302 = ($301<<24>>24)==(0);
  15283. if ($302) {
  15284. $$3291 = $$1289;
  15285. break L4;
  15286. } else {
  15287. $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301;
  15288. }
  15289. }
  15290. if ((label|0) == 22) {
  15291. $69 = HEAP32[$14>>2]|0;
  15292. $70 = ($69|0)==(0|0);
  15293. if (!($70)) {
  15294. $71 = HEAP32[$13>>2]|0;
  15295. $72 = ((($71)) + -1|0);
  15296. HEAP32[$13>>2] = $72;
  15297. }
  15298. $73 = ($68|0)>(-1);
  15299. $74 = ($$0288425|0)!=(0);
  15300. $or$cond5 = $74 | $73;
  15301. if ($or$cond5) {
  15302. $$3291 = $$0288425;
  15303. break;
  15304. } else {
  15305. $$1271 = 0;$$8313 = $$0305423;$308 = $102;
  15306. label = 138;
  15307. }
  15308. }
  15309. else if ((label|0) == 137) {
  15310. $$328$le441 = $narrow469&1;
  15311. $$old4 = ($$0288425|0)==(0);
  15312. if ($$old4) {
  15313. $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309;
  15314. label = 138;
  15315. } else {
  15316. $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309;
  15317. }
  15318. }
  15319. else if ((label|0) == 139) {
  15320. $$328$le439 = $narrow&1;
  15321. $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353;
  15322. }
  15323. if ((label|0) == 138) {
  15324. $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308;
  15325. }
  15326. $303 = ($$2|0)==(0);
  15327. if ($303) {
  15328. $$3291 = $$2290;
  15329. } else {
  15330. _free($$9314);
  15331. _free($304);
  15332. $$3291 = $$2290;
  15333. }
  15334. }
  15335. } while(0);
  15336. $305 = ($306|0)==(0);
  15337. if (!($305)) {
  15338. ___unlockfile($0);
  15339. }
  15340. STACKTOP = sp;return ($$3291|0);
  15341. }
  15342. function _arg_n($0,$1) {
  15343. $0 = $0|0;
  15344. $1 = $1|0;
  15345. var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0;
  15346. var sp = 0;
  15347. sp = STACKTOP;
  15348. STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
  15349. $2 = sp;
  15350. $vacopy_currentptr = HEAP32[$0>>2]|0;
  15351. HEAP32[$2>>2] = $vacopy_currentptr;
  15352. $$0 = $1;
  15353. while(1) {
  15354. $3 = ($$0>>>0)>(1);
  15355. $arglist_current = HEAP32[$2>>2]|0;
  15356. $4 = $arglist_current;
  15357. $5 = ((0) + 4|0);
  15358. $expanded1 = $5;
  15359. $expanded = (($expanded1) - 1)|0;
  15360. $6 = (($4) + ($expanded))|0;
  15361. $7 = ((0) + 4|0);
  15362. $expanded5 = $7;
  15363. $expanded4 = (($expanded5) - 1)|0;
  15364. $expanded3 = $expanded4 ^ -1;
  15365. $8 = $6 & $expanded3;
  15366. $9 = $8;
  15367. $10 = HEAP32[$9>>2]|0;
  15368. $arglist_next = ((($9)) + 4|0);
  15369. HEAP32[$2>>2] = $arglist_next;
  15370. $11 = (($$0) + -1)|0;
  15371. if ($3) {
  15372. $$0 = $11;
  15373. } else {
  15374. break;
  15375. }
  15376. }
  15377. STACKTOP = sp;return ($10|0);
  15378. }
  15379. function _store_int($0,$1,$2,$3) {
  15380. $0 = $0|0;
  15381. $1 = $1|0;
  15382. $2 = $2|0;
  15383. $3 = $3|0;
  15384. var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  15385. sp = STACKTOP;
  15386. $4 = ($0|0)==(0|0);
  15387. L1: do {
  15388. if (!($4)) {
  15389. switch ($1|0) {
  15390. case -2: {
  15391. $5 = $2&255;
  15392. HEAP8[$0>>0] = $5;
  15393. break L1;
  15394. break;
  15395. }
  15396. case -1: {
  15397. $6 = $2&65535;
  15398. HEAP16[$0>>1] = $6;
  15399. break L1;
  15400. break;
  15401. }
  15402. case 0: {
  15403. HEAP32[$0>>2] = $2;
  15404. break L1;
  15405. break;
  15406. }
  15407. case 1: {
  15408. HEAP32[$0>>2] = $2;
  15409. break L1;
  15410. break;
  15411. }
  15412. case 3: {
  15413. $7 = $0;
  15414. $8 = $7;
  15415. HEAP32[$8>>2] = $2;
  15416. $9 = (($7) + 4)|0;
  15417. $10 = $9;
  15418. HEAP32[$10>>2] = $3;
  15419. break L1;
  15420. break;
  15421. }
  15422. default: {
  15423. break L1;
  15424. }
  15425. }
  15426. }
  15427. } while(0);
  15428. return;
  15429. }
  15430. function _mbsinit($0) {
  15431. $0 = $0|0;
  15432. var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
  15433. sp = STACKTOP;
  15434. $1 = ($0|0)==(0|0);
  15435. if ($1) {
  15436. $5 = 1;
  15437. } else {
  15438. $2 = HEAP32[$0>>2]|0;
  15439. $3 = ($2|0)==(0);
  15440. $5 = $3;
  15441. }
  15442. $4 = $5&1;
  15443. return ($4|0);
  15444. }
  15445. function ___string_read($0,$1,$2) {
  15446. $0 = $0|0;
  15447. $1 = $1|0;
  15448. $2 = $2|0;
  15449. var $$027 = 0, $$027$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  15450. sp = STACKTOP;
  15451. $3 = ((($0)) + 84|0);
  15452. $4 = HEAP32[$3>>2]|0;
  15453. $5 = (($2) + 256)|0;
  15454. $6 = (_memchr($4,0,$5)|0);
  15455. $7 = ($6|0)==(0|0);
  15456. $8 = $6;
  15457. $9 = $4;
  15458. $10 = (($8) - ($9))|0;
  15459. $$027 = $7 ? $5 : $10;
  15460. $11 = ($$027>>>0)<($2>>>0);
  15461. $$027$ = $11 ? $$027 : $2;
  15462. _memcpy(($1|0),($4|0),($$027$|0))|0;
  15463. $12 = (($4) + ($$027$)|0);
  15464. $13 = ((($0)) + 4|0);
  15465. HEAP32[$13>>2] = $12;
  15466. $14 = (($4) + ($$027)|0);
  15467. $15 = ((($0)) + 8|0);
  15468. HEAP32[$15>>2] = $14;
  15469. HEAP32[$3>>2] = $14;
  15470. return ($$027$|0);
  15471. }
  15472. function __ZN10__cxxabiv116__shim_type_infoD2Ev($0) {
  15473. $0 = $0|0;
  15474. var label = 0, sp = 0;
  15475. sp = STACKTOP;
  15476. return;
  15477. }
  15478. function __ZN10__cxxabiv117__class_type_infoD0Ev($0) {
  15479. $0 = $0|0;
  15480. var label = 0, sp = 0;
  15481. sp = STACKTOP;
  15482. __ZN10__cxxabiv116__shim_type_infoD2Ev($0);
  15483. __ZdlPv($0);
  15484. return;
  15485. }
  15486. function __ZNK10__cxxabiv116__shim_type_info5noop1Ev($0) {
  15487. $0 = $0|0;
  15488. var label = 0, sp = 0;
  15489. sp = STACKTOP;
  15490. return;
  15491. }
  15492. function __ZNK10__cxxabiv116__shim_type_info5noop2Ev($0) {
  15493. $0 = $0|0;
  15494. var label = 0, sp = 0;
  15495. sp = STACKTOP;
  15496. return;
  15497. }
  15498. function __ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv($0,$1,$2) {
  15499. $0 = $0|0;
  15500. $1 = $1|0;
  15501. $2 = $2|0;
  15502. var $$0 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
  15503. var dest = 0, label = 0, sp = 0, stop = 0;
  15504. sp = STACKTOP;
  15505. STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
  15506. $3 = sp;
  15507. $4 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$1,0)|0);
  15508. if ($4) {
  15509. $$2 = 1;
  15510. } else {
  15511. $5 = ($1|0)==(0|0);
  15512. if ($5) {
  15513. $$2 = 0;
  15514. } else {
  15515. $6 = (___dynamic_cast($1,208,192,0)|0);
  15516. $7 = ($6|0)==(0|0);
  15517. if ($7) {
  15518. $$2 = 0;
  15519. } else {
  15520. $8 = ((($3)) + 4|0);
  15521. dest=$8; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
  15522. HEAP32[$3>>2] = $6;
  15523. $9 = ((($3)) + 8|0);
  15524. HEAP32[$9>>2] = $0;
  15525. $10 = ((($3)) + 12|0);
  15526. HEAP32[$10>>2] = -1;
  15527. $11 = ((($3)) + 48|0);
  15528. HEAP32[$11>>2] = 1;
  15529. $12 = HEAP32[$6>>2]|0;
  15530. $13 = ((($12)) + 28|0);
  15531. $14 = HEAP32[$13>>2]|0;
  15532. $15 = HEAP32[$2>>2]|0;
  15533. FUNCTION_TABLE_viiii[$14 & 31]($6,$3,$15,1);
  15534. $16 = ((($3)) + 24|0);
  15535. $17 = HEAP32[$16>>2]|0;
  15536. $18 = ($17|0)==(1);
  15537. if ($18) {
  15538. $19 = ((($3)) + 16|0);
  15539. $20 = HEAP32[$19>>2]|0;
  15540. HEAP32[$2>>2] = $20;
  15541. $$0 = 1;
  15542. } else {
  15543. $$0 = 0;
  15544. }
  15545. $$2 = $$0;
  15546. }
  15547. }
  15548. }
  15549. STACKTOP = sp;return ($$2|0);
  15550. }
  15551. function __ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($0,$1,$2,$3,$4,$5) {
  15552. $0 = $0|0;
  15553. $1 = $1|0;
  15554. $2 = $2|0;
  15555. $3 = $3|0;
  15556. $4 = $4|0;
  15557. $5 = $5|0;
  15558. var $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
  15559. sp = STACKTOP;
  15560. $6 = ((($1)) + 8|0);
  15561. $7 = HEAP32[$6>>2]|0;
  15562. $8 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$7,$5)|0);
  15563. if ($8) {
  15564. __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0,$1,$2,$3,$4);
  15565. }
  15566. return;
  15567. }
  15568. function __ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0,$1,$2,$3,$4) {
  15569. $0 = $0|0;
  15570. $1 = $1|0;
  15571. $2 = $2|0;
  15572. $3 = $3|0;
  15573. $4 = $4|0;
  15574. var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $5 = 0;
  15575. var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  15576. sp = STACKTOP;
  15577. $5 = ((($1)) + 8|0);
  15578. $6 = HEAP32[$5>>2]|0;
  15579. $7 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$6,$4)|0);
  15580. do {
  15581. if ($7) {
  15582. __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi(0,$1,$2,$3);
  15583. } else {
  15584. $8 = HEAP32[$1>>2]|0;
  15585. $9 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$8,$4)|0);
  15586. if ($9) {
  15587. $10 = ((($1)) + 16|0);
  15588. $11 = HEAP32[$10>>2]|0;
  15589. $12 = ($11|0)==($2|0);
  15590. $13 = ((($1)) + 32|0);
  15591. if (!($12)) {
  15592. $14 = ((($1)) + 20|0);
  15593. $15 = HEAP32[$14>>2]|0;
  15594. $16 = ($15|0)==($2|0);
  15595. if (!($16)) {
  15596. HEAP32[$13>>2] = $3;
  15597. HEAP32[$14>>2] = $2;
  15598. $18 = ((($1)) + 40|0);
  15599. $19 = HEAP32[$18>>2]|0;
  15600. $20 = (($19) + 1)|0;
  15601. HEAP32[$18>>2] = $20;
  15602. $21 = ((($1)) + 36|0);
  15603. $22 = HEAP32[$21>>2]|0;
  15604. $23 = ($22|0)==(1);
  15605. if ($23) {
  15606. $24 = ((($1)) + 24|0);
  15607. $25 = HEAP32[$24>>2]|0;
  15608. $26 = ($25|0)==(2);
  15609. if ($26) {
  15610. $27 = ((($1)) + 54|0);
  15611. HEAP8[$27>>0] = 1;
  15612. }
  15613. }
  15614. $28 = ((($1)) + 44|0);
  15615. HEAP32[$28>>2] = 4;
  15616. break;
  15617. }
  15618. }
  15619. $17 = ($3|0)==(1);
  15620. if ($17) {
  15621. HEAP32[$13>>2] = 1;
  15622. }
  15623. }
  15624. }
  15625. } while(0);
  15626. return;
  15627. }
  15628. function __ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0,$1,$2,$3) {
  15629. $0 = $0|0;
  15630. $1 = $1|0;
  15631. $2 = $2|0;
  15632. $3 = $3|0;
  15633. var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
  15634. sp = STACKTOP;
  15635. $4 = ((($1)) + 8|0);
  15636. $5 = HEAP32[$4>>2]|0;
  15637. $6 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$5,0)|0);
  15638. if ($6) {
  15639. __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0,$1,$2,$3);
  15640. }
  15641. return;
  15642. }
  15643. function __ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$1,$2) {
  15644. $0 = $0|0;
  15645. $1 = $1|0;
  15646. $2 = $2|0;
  15647. var $3 = 0, label = 0, sp = 0;
  15648. sp = STACKTOP;
  15649. $3 = ($0|0)==($1|0);
  15650. return ($3|0);
  15651. }
  15652. function __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi($0,$1,$2,$3) {
  15653. $0 = $0|0;
  15654. $1 = $1|0;
  15655. $2 = $2|0;
  15656. $3 = $3|0;
  15657. var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  15658. sp = STACKTOP;
  15659. $4 = ((($1)) + 16|0);
  15660. $5 = HEAP32[$4>>2]|0;
  15661. $6 = ($5|0)==(0|0);
  15662. $7 = ((($1)) + 36|0);
  15663. $8 = ((($1)) + 24|0);
  15664. do {
  15665. if ($6) {
  15666. HEAP32[$4>>2] = $2;
  15667. HEAP32[$8>>2] = $3;
  15668. HEAP32[$7>>2] = 1;
  15669. } else {
  15670. $9 = ($5|0)==($2|0);
  15671. if (!($9)) {
  15672. $12 = HEAP32[$7>>2]|0;
  15673. $13 = (($12) + 1)|0;
  15674. HEAP32[$7>>2] = $13;
  15675. HEAP32[$8>>2] = 2;
  15676. $14 = ((($1)) + 54|0);
  15677. HEAP8[$14>>0] = 1;
  15678. break;
  15679. }
  15680. $10 = HEAP32[$8>>2]|0;
  15681. $11 = ($10|0)==(2);
  15682. if ($11) {
  15683. HEAP32[$8>>2] = $3;
  15684. }
  15685. }
  15686. } while(0);
  15687. return;
  15688. }
  15689. function __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi($0,$1,$2,$3) {
  15690. $0 = $0|0;
  15691. $1 = $1|0;
  15692. $2 = $2|0;
  15693. $3 = $3|0;
  15694. var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  15695. sp = STACKTOP;
  15696. $4 = ((($1)) + 4|0);
  15697. $5 = HEAP32[$4>>2]|0;
  15698. $6 = ($5|0)==($2|0);
  15699. if ($6) {
  15700. $7 = ((($1)) + 28|0);
  15701. $8 = HEAP32[$7>>2]|0;
  15702. $9 = ($8|0)==(1);
  15703. if (!($9)) {
  15704. HEAP32[$7>>2] = $3;
  15705. }
  15706. }
  15707. return;
  15708. }
  15709. function __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($0,$1,$2,$3,$4) {
  15710. $0 = $0|0;
  15711. $1 = $1|0;
  15712. $2 = $2|0;
  15713. $3 = $3|0;
  15714. $4 = $4|0;
  15715. var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $5 = 0;
  15716. var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond22 = 0, label = 0, sp = 0;
  15717. sp = STACKTOP;
  15718. $5 = ((($1)) + 53|0);
  15719. HEAP8[$5>>0] = 1;
  15720. $6 = ((($1)) + 4|0);
  15721. $7 = HEAP32[$6>>2]|0;
  15722. $8 = ($7|0)==($3|0);
  15723. do {
  15724. if ($8) {
  15725. $9 = ((($1)) + 52|0);
  15726. HEAP8[$9>>0] = 1;
  15727. $10 = ((($1)) + 16|0);
  15728. $11 = HEAP32[$10>>2]|0;
  15729. $12 = ($11|0)==(0|0);
  15730. $13 = ((($1)) + 54|0);
  15731. $14 = ((($1)) + 48|0);
  15732. $15 = ((($1)) + 24|0);
  15733. $16 = ((($1)) + 36|0);
  15734. if ($12) {
  15735. HEAP32[$10>>2] = $2;
  15736. HEAP32[$15>>2] = $4;
  15737. HEAP32[$16>>2] = 1;
  15738. $17 = HEAP32[$14>>2]|0;
  15739. $18 = ($17|0)==(1);
  15740. $19 = ($4|0)==(1);
  15741. $or$cond = $18 & $19;
  15742. if (!($or$cond)) {
  15743. break;
  15744. }
  15745. HEAP8[$13>>0] = 1;
  15746. break;
  15747. }
  15748. $20 = ($11|0)==($2|0);
  15749. if (!($20)) {
  15750. $27 = HEAP32[$16>>2]|0;
  15751. $28 = (($27) + 1)|0;
  15752. HEAP32[$16>>2] = $28;
  15753. HEAP8[$13>>0] = 1;
  15754. break;
  15755. }
  15756. $21 = HEAP32[$15>>2]|0;
  15757. $22 = ($21|0)==(2);
  15758. if ($22) {
  15759. HEAP32[$15>>2] = $4;
  15760. $26 = $4;
  15761. } else {
  15762. $26 = $21;
  15763. }
  15764. $23 = HEAP32[$14>>2]|0;
  15765. $24 = ($23|0)==(1);
  15766. $25 = ($26|0)==(1);
  15767. $or$cond22 = $24 & $25;
  15768. if ($or$cond22) {
  15769. HEAP8[$13>>0] = 1;
  15770. }
  15771. }
  15772. } while(0);
  15773. return;
  15774. }
  15775. function ___dynamic_cast($0,$1,$2,$3) {
  15776. $0 = $0|0;
  15777. $1 = $1|0;
  15778. $2 = $2|0;
  15779. $3 = $3|0;
  15780. var $$ = 0, $$0 = 0, $$33 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
  15781. var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
  15782. var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond28 = 0, $or$cond30 = 0, $or$cond32 = 0, dest = 0, label = 0, sp = 0, stop = 0;
  15783. sp = STACKTOP;
  15784. STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
  15785. $4 = sp;
  15786. $5 = HEAP32[$0>>2]|0;
  15787. $6 = ((($5)) + -8|0);
  15788. $7 = HEAP32[$6>>2]|0;
  15789. $8 = (($0) + ($7)|0);
  15790. $9 = ((($5)) + -4|0);
  15791. $10 = HEAP32[$9>>2]|0;
  15792. HEAP32[$4>>2] = $2;
  15793. $11 = ((($4)) + 4|0);
  15794. HEAP32[$11>>2] = $0;
  15795. $12 = ((($4)) + 8|0);
  15796. HEAP32[$12>>2] = $1;
  15797. $13 = ((($4)) + 12|0);
  15798. HEAP32[$13>>2] = $3;
  15799. $14 = ((($4)) + 16|0);
  15800. $15 = ((($4)) + 20|0);
  15801. $16 = ((($4)) + 24|0);
  15802. $17 = ((($4)) + 28|0);
  15803. $18 = ((($4)) + 32|0);
  15804. $19 = ((($4)) + 40|0);
  15805. dest=$14; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));HEAP16[$14+36>>1]=0|0;HEAP8[$14+38>>0]=0|0;
  15806. $20 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($10,$2,0)|0);
  15807. L1: do {
  15808. if ($20) {
  15809. $21 = ((($4)) + 48|0);
  15810. HEAP32[$21>>2] = 1;
  15811. $22 = HEAP32[$10>>2]|0;
  15812. $23 = ((($22)) + 20|0);
  15813. $24 = HEAP32[$23>>2]|0;
  15814. FUNCTION_TABLE_viiiiii[$24 & 31]($10,$4,$8,$8,1,0);
  15815. $25 = HEAP32[$16>>2]|0;
  15816. $26 = ($25|0)==(1);
  15817. $$ = $26 ? $8 : 0;
  15818. $$0 = $$;
  15819. } else {
  15820. $27 = ((($4)) + 36|0);
  15821. $28 = HEAP32[$10>>2]|0;
  15822. $29 = ((($28)) + 24|0);
  15823. $30 = HEAP32[$29>>2]|0;
  15824. FUNCTION_TABLE_viiiii[$30 & 31]($10,$4,$8,1,0);
  15825. $31 = HEAP32[$27>>2]|0;
  15826. switch ($31|0) {
  15827. case 0: {
  15828. $32 = HEAP32[$19>>2]|0;
  15829. $33 = ($32|0)==(1);
  15830. $34 = HEAP32[$17>>2]|0;
  15831. $35 = ($34|0)==(1);
  15832. $or$cond = $33 & $35;
  15833. $36 = HEAP32[$18>>2]|0;
  15834. $37 = ($36|0)==(1);
  15835. $or$cond28 = $or$cond & $37;
  15836. $38 = HEAP32[$15>>2]|0;
  15837. $$33 = $or$cond28 ? $38 : 0;
  15838. $$0 = $$33;
  15839. break L1;
  15840. break;
  15841. }
  15842. case 1: {
  15843. break;
  15844. }
  15845. default: {
  15846. $$0 = 0;
  15847. break L1;
  15848. }
  15849. }
  15850. $39 = HEAP32[$16>>2]|0;
  15851. $40 = ($39|0)==(1);
  15852. if (!($40)) {
  15853. $41 = HEAP32[$19>>2]|0;
  15854. $42 = ($41|0)==(0);
  15855. $43 = HEAP32[$17>>2]|0;
  15856. $44 = ($43|0)==(1);
  15857. $or$cond30 = $42 & $44;
  15858. $45 = HEAP32[$18>>2]|0;
  15859. $46 = ($45|0)==(1);
  15860. $or$cond32 = $or$cond30 & $46;
  15861. if (!($or$cond32)) {
  15862. $$0 = 0;
  15863. break;
  15864. }
  15865. }
  15866. $47 = HEAP32[$14>>2]|0;
  15867. $$0 = $47;
  15868. }
  15869. } while(0);
  15870. STACKTOP = sp;return ($$0|0);
  15871. }
  15872. function __ZN10__cxxabiv120__si_class_type_infoD0Ev($0) {
  15873. $0 = $0|0;
  15874. var label = 0, sp = 0;
  15875. sp = STACKTOP;
  15876. __ZN10__cxxabiv116__shim_type_infoD2Ev($0);
  15877. __ZdlPv($0);
  15878. return;
  15879. }
  15880. function __ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($0,$1,$2,$3,$4,$5) {
  15881. $0 = $0|0;
  15882. $1 = $1|0;
  15883. $2 = $2|0;
  15884. $3 = $3|0;
  15885. $4 = $4|0;
  15886. $5 = $5|0;
  15887. var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  15888. sp = STACKTOP;
  15889. $6 = ((($1)) + 8|0);
  15890. $7 = HEAP32[$6>>2]|0;
  15891. $8 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$7,$5)|0);
  15892. if ($8) {
  15893. __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0,$1,$2,$3,$4);
  15894. } else {
  15895. $9 = ((($0)) + 8|0);
  15896. $10 = HEAP32[$9>>2]|0;
  15897. $11 = HEAP32[$10>>2]|0;
  15898. $12 = ((($11)) + 20|0);
  15899. $13 = HEAP32[$12>>2]|0;
  15900. FUNCTION_TABLE_viiiiii[$13 & 31]($10,$1,$2,$3,$4,$5);
  15901. }
  15902. return;
  15903. }
  15904. function __ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0,$1,$2,$3,$4) {
  15905. $0 = $0|0;
  15906. $1 = $1|0;
  15907. $2 = $2|0;
  15908. $3 = $3|0;
  15909. $4 = $4|0;
  15910. var $$037$off038 = 0, $$037$off039 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
  15911. var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0;
  15912. var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0;
  15913. sp = STACKTOP;
  15914. $5 = ((($1)) + 8|0);
  15915. $6 = HEAP32[$5>>2]|0;
  15916. $7 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$6,$4)|0);
  15917. do {
  15918. if ($7) {
  15919. __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi(0,$1,$2,$3);
  15920. } else {
  15921. $8 = HEAP32[$1>>2]|0;
  15922. $9 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$8,$4)|0);
  15923. $10 = ((($0)) + 8|0);
  15924. if (!($9)) {
  15925. $41 = HEAP32[$10>>2]|0;
  15926. $42 = HEAP32[$41>>2]|0;
  15927. $43 = ((($42)) + 24|0);
  15928. $44 = HEAP32[$43>>2]|0;
  15929. FUNCTION_TABLE_viiiii[$44 & 31]($41,$1,$2,$3,$4);
  15930. break;
  15931. }
  15932. $11 = ((($1)) + 16|0);
  15933. $12 = HEAP32[$11>>2]|0;
  15934. $13 = ($12|0)==($2|0);
  15935. $14 = ((($1)) + 32|0);
  15936. if (!($13)) {
  15937. $15 = ((($1)) + 20|0);
  15938. $16 = HEAP32[$15>>2]|0;
  15939. $17 = ($16|0)==($2|0);
  15940. if (!($17)) {
  15941. HEAP32[$14>>2] = $3;
  15942. $19 = ((($1)) + 44|0);
  15943. $20 = HEAP32[$19>>2]|0;
  15944. $21 = ($20|0)==(4);
  15945. if ($21) {
  15946. break;
  15947. }
  15948. $22 = ((($1)) + 52|0);
  15949. HEAP8[$22>>0] = 0;
  15950. $23 = ((($1)) + 53|0);
  15951. HEAP8[$23>>0] = 0;
  15952. $24 = HEAP32[$10>>2]|0;
  15953. $25 = HEAP32[$24>>2]|0;
  15954. $26 = ((($25)) + 20|0);
  15955. $27 = HEAP32[$26>>2]|0;
  15956. FUNCTION_TABLE_viiiiii[$27 & 31]($24,$1,$2,$2,1,$4);
  15957. $28 = HEAP8[$23>>0]|0;
  15958. $29 = ($28<<24>>24)==(0);
  15959. if ($29) {
  15960. $$037$off038 = 4;
  15961. label = 11;
  15962. } else {
  15963. $30 = HEAP8[$22>>0]|0;
  15964. $not$ = ($30<<24>>24)==(0);
  15965. if ($not$) {
  15966. $$037$off038 = 3;
  15967. label = 11;
  15968. } else {
  15969. $$037$off039 = 3;
  15970. }
  15971. }
  15972. if ((label|0) == 11) {
  15973. HEAP32[$15>>2] = $2;
  15974. $31 = ((($1)) + 40|0);
  15975. $32 = HEAP32[$31>>2]|0;
  15976. $33 = (($32) + 1)|0;
  15977. HEAP32[$31>>2] = $33;
  15978. $34 = ((($1)) + 36|0);
  15979. $35 = HEAP32[$34>>2]|0;
  15980. $36 = ($35|0)==(1);
  15981. if ($36) {
  15982. $37 = ((($1)) + 24|0);
  15983. $38 = HEAP32[$37>>2]|0;
  15984. $39 = ($38|0)==(2);
  15985. if ($39) {
  15986. $40 = ((($1)) + 54|0);
  15987. HEAP8[$40>>0] = 1;
  15988. $$037$off039 = $$037$off038;
  15989. } else {
  15990. $$037$off039 = $$037$off038;
  15991. }
  15992. } else {
  15993. $$037$off039 = $$037$off038;
  15994. }
  15995. }
  15996. HEAP32[$19>>2] = $$037$off039;
  15997. break;
  15998. }
  15999. }
  16000. $18 = ($3|0)==(1);
  16001. if ($18) {
  16002. HEAP32[$14>>2] = 1;
  16003. }
  16004. }
  16005. } while(0);
  16006. return;
  16007. }
  16008. function __ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0,$1,$2,$3) {
  16009. $0 = $0|0;
  16010. $1 = $1|0;
  16011. $2 = $2|0;
  16012. $3 = $3|0;
  16013. var $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  16014. sp = STACKTOP;
  16015. $4 = ((($1)) + 8|0);
  16016. $5 = HEAP32[$4>>2]|0;
  16017. $6 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$5,0)|0);
  16018. if ($6) {
  16019. __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0,$1,$2,$3);
  16020. } else {
  16021. $7 = ((($0)) + 8|0);
  16022. $8 = HEAP32[$7>>2]|0;
  16023. $9 = HEAP32[$8>>2]|0;
  16024. $10 = ((($9)) + 28|0);
  16025. $11 = HEAP32[$10>>2]|0;
  16026. FUNCTION_TABLE_viiii[$11 & 31]($8,$1,$2,$3);
  16027. }
  16028. return;
  16029. }
  16030. function __ZdlPv($0) {
  16031. $0 = $0|0;
  16032. var label = 0, sp = 0;
  16033. sp = STACKTOP;
  16034. _free($0);
  16035. return;
  16036. }
  16037. function __ZNSt9type_infoD2Ev($0) {
  16038. $0 = $0|0;
  16039. var label = 0, sp = 0;
  16040. sp = STACKTOP;
  16041. return;
  16042. }
  16043. function __ZN10__cxxabiv123__fundamental_type_infoD0Ev($0) {
  16044. $0 = $0|0;
  16045. var label = 0, sp = 0;
  16046. sp = STACKTOP;
  16047. __ZN10__cxxabiv116__shim_type_infoD2Ev($0);
  16048. __ZdlPv($0);
  16049. return;
  16050. }
  16051. function __ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv($0,$1,$2) {
  16052. $0 = $0|0;
  16053. $1 = $1|0;
  16054. $2 = $2|0;
  16055. var $3 = 0, label = 0, sp = 0;
  16056. sp = STACKTOP;
  16057. $3 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$1,0)|0);
  16058. return ($3|0);
  16059. }
  16060. function __ZN10__cxxabiv121__vmi_class_type_infoD0Ev($0) {
  16061. $0 = $0|0;
  16062. var label = 0, sp = 0;
  16063. sp = STACKTOP;
  16064. __ZN10__cxxabiv116__shim_type_infoD2Ev($0);
  16065. __ZdlPv($0);
  16066. return;
  16067. }
  16068. function __ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($0,$1,$2,$3,$4,$5) {
  16069. $0 = $0|0;
  16070. $1 = $1|0;
  16071. $2 = $2|0;
  16072. $3 = $3|0;
  16073. $4 = $4|0;
  16074. $5 = $5|0;
  16075. var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
  16076. var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  16077. sp = STACKTOP;
  16078. $6 = ((($1)) + 8|0);
  16079. $7 = HEAP32[$6>>2]|0;
  16080. $8 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$7,$5)|0);
  16081. if ($8) {
  16082. __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0,$1,$2,$3,$4);
  16083. } else {
  16084. $9 = ((($1)) + 52|0);
  16085. $10 = HEAP8[$9>>0]|0;
  16086. $11 = ((($1)) + 53|0);
  16087. $12 = HEAP8[$11>>0]|0;
  16088. $13 = ((($0)) + 16|0);
  16089. $14 = ((($0)) + 12|0);
  16090. $15 = HEAP32[$14>>2]|0;
  16091. $16 = (((($0)) + 16|0) + ($15<<3)|0);
  16092. HEAP8[$9>>0] = 0;
  16093. HEAP8[$11>>0] = 0;
  16094. __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($13,$1,$2,$3,$4,$5);
  16095. $17 = ($15|0)>(1);
  16096. L4: do {
  16097. if ($17) {
  16098. $18 = ((($0)) + 24|0);
  16099. $19 = ((($1)) + 24|0);
  16100. $20 = ((($1)) + 54|0);
  16101. $21 = ((($0)) + 8|0);
  16102. $$0 = $18;
  16103. while(1) {
  16104. $22 = HEAP8[$20>>0]|0;
  16105. $23 = ($22<<24>>24)==(0);
  16106. if (!($23)) {
  16107. break L4;
  16108. }
  16109. $24 = HEAP8[$9>>0]|0;
  16110. $25 = ($24<<24>>24)==(0);
  16111. if ($25) {
  16112. $31 = HEAP8[$11>>0]|0;
  16113. $32 = ($31<<24>>24)==(0);
  16114. if (!($32)) {
  16115. $33 = HEAP32[$21>>2]|0;
  16116. $34 = $33 & 1;
  16117. $35 = ($34|0)==(0);
  16118. if ($35) {
  16119. break L4;
  16120. }
  16121. }
  16122. } else {
  16123. $26 = HEAP32[$19>>2]|0;
  16124. $27 = ($26|0)==(1);
  16125. if ($27) {
  16126. break L4;
  16127. }
  16128. $28 = HEAP32[$21>>2]|0;
  16129. $29 = $28 & 2;
  16130. $30 = ($29|0)==(0);
  16131. if ($30) {
  16132. break L4;
  16133. }
  16134. }
  16135. HEAP8[$9>>0] = 0;
  16136. HEAP8[$11>>0] = 0;
  16137. __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($$0,$1,$2,$3,$4,$5);
  16138. $36 = ((($$0)) + 8|0);
  16139. $37 = ($36>>>0)<($16>>>0);
  16140. if ($37) {
  16141. $$0 = $36;
  16142. } else {
  16143. break;
  16144. }
  16145. }
  16146. }
  16147. } while(0);
  16148. HEAP8[$9>>0] = $10;
  16149. HEAP8[$11>>0] = $12;
  16150. }
  16151. return;
  16152. }
  16153. function __ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0,$1,$2,$3,$4) {
  16154. $0 = $0|0;
  16155. $1 = $1|0;
  16156. $2 = $2|0;
  16157. $3 = $3|0;
  16158. $4 = $4|0;
  16159. var $$0 = 0, $$081$off0 = 0, $$084 = 0, $$085$off0 = 0, $$1 = 0, $$182$off0 = 0, $$186$off0 = 0, $$2 = 0, $$283$off0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
  16160. var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0;
  16161. var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
  16162. var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
  16163. var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, label = 0, sp = 0;
  16164. sp = STACKTOP;
  16165. $5 = ((($1)) + 8|0);
  16166. $6 = HEAP32[$5>>2]|0;
  16167. $7 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$6,$4)|0);
  16168. L1: do {
  16169. if ($7) {
  16170. __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi(0,$1,$2,$3);
  16171. } else {
  16172. $8 = HEAP32[$1>>2]|0;
  16173. $9 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$8,$4)|0);
  16174. $10 = ((($0)) + 12|0);
  16175. $11 = ((($1)) + 24|0);
  16176. $12 = ((($1)) + 36|0);
  16177. $13 = ((($1)) + 54|0);
  16178. $14 = ((($0)) + 8|0);
  16179. $15 = ((($0)) + 16|0);
  16180. if (!($9)) {
  16181. $55 = HEAP32[$10>>2]|0;
  16182. $56 = (((($0)) + 16|0) + ($55<<3)|0);
  16183. __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($15,$1,$2,$3,$4);
  16184. $57 = ((($0)) + 24|0);
  16185. $58 = ($55|0)>(1);
  16186. if (!($58)) {
  16187. break;
  16188. }
  16189. $59 = HEAP32[$14>>2]|0;
  16190. $60 = $59 & 2;
  16191. $61 = ($60|0)==(0);
  16192. if ($61) {
  16193. $62 = HEAP32[$12>>2]|0;
  16194. $63 = ($62|0)==(1);
  16195. if ($63) {
  16196. $$0 = $57;
  16197. } else {
  16198. $68 = $59 & 1;
  16199. $69 = ($68|0)==(0);
  16200. if ($69) {
  16201. $$2 = $57;
  16202. while(1) {
  16203. $78 = HEAP8[$13>>0]|0;
  16204. $79 = ($78<<24>>24)==(0);
  16205. if (!($79)) {
  16206. break L1;
  16207. }
  16208. $80 = HEAP32[$12>>2]|0;
  16209. $81 = ($80|0)==(1);
  16210. if ($81) {
  16211. break L1;
  16212. }
  16213. __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($$2,$1,$2,$3,$4);
  16214. $82 = ((($$2)) + 8|0);
  16215. $83 = ($82>>>0)<($56>>>0);
  16216. if ($83) {
  16217. $$2 = $82;
  16218. } else {
  16219. break L1;
  16220. }
  16221. }
  16222. } else {
  16223. $$1 = $57;
  16224. }
  16225. while(1) {
  16226. $70 = HEAP8[$13>>0]|0;
  16227. $71 = ($70<<24>>24)==(0);
  16228. if (!($71)) {
  16229. break L1;
  16230. }
  16231. $72 = HEAP32[$12>>2]|0;
  16232. $73 = ($72|0)==(1);
  16233. if ($73) {
  16234. $74 = HEAP32[$11>>2]|0;
  16235. $75 = ($74|0)==(1);
  16236. if ($75) {
  16237. break L1;
  16238. }
  16239. }
  16240. __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($$1,$1,$2,$3,$4);
  16241. $76 = ((($$1)) + 8|0);
  16242. $77 = ($76>>>0)<($56>>>0);
  16243. if ($77) {
  16244. $$1 = $76;
  16245. } else {
  16246. break L1;
  16247. }
  16248. }
  16249. }
  16250. } else {
  16251. $$0 = $57;
  16252. }
  16253. while(1) {
  16254. $64 = HEAP8[$13>>0]|0;
  16255. $65 = ($64<<24>>24)==(0);
  16256. if (!($65)) {
  16257. break L1;
  16258. }
  16259. __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($$0,$1,$2,$3,$4);
  16260. $66 = ((($$0)) + 8|0);
  16261. $67 = ($66>>>0)<($56>>>0);
  16262. if ($67) {
  16263. $$0 = $66;
  16264. } else {
  16265. break L1;
  16266. }
  16267. }
  16268. }
  16269. $16 = ((($1)) + 16|0);
  16270. $17 = HEAP32[$16>>2]|0;
  16271. $18 = ($17|0)==($2|0);
  16272. $19 = ((($1)) + 32|0);
  16273. if (!($18)) {
  16274. $20 = ((($1)) + 20|0);
  16275. $21 = HEAP32[$20>>2]|0;
  16276. $22 = ($21|0)==($2|0);
  16277. if (!($22)) {
  16278. HEAP32[$19>>2] = $3;
  16279. $24 = ((($1)) + 44|0);
  16280. $25 = HEAP32[$24>>2]|0;
  16281. $26 = ($25|0)==(4);
  16282. if ($26) {
  16283. break;
  16284. }
  16285. $27 = HEAP32[$10>>2]|0;
  16286. $28 = (((($0)) + 16|0) + ($27<<3)|0);
  16287. $29 = ((($1)) + 52|0);
  16288. $30 = ((($1)) + 53|0);
  16289. $$081$off0 = 0;$$084 = $15;$$085$off0 = 0;
  16290. L29: while(1) {
  16291. $31 = ($$084>>>0)<($28>>>0);
  16292. if (!($31)) {
  16293. $$283$off0 = $$081$off0;
  16294. label = 18;
  16295. break;
  16296. }
  16297. HEAP8[$29>>0] = 0;
  16298. HEAP8[$30>>0] = 0;
  16299. __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($$084,$1,$2,$2,1,$4);
  16300. $32 = HEAP8[$13>>0]|0;
  16301. $33 = ($32<<24>>24)==(0);
  16302. if (!($33)) {
  16303. $$283$off0 = $$081$off0;
  16304. label = 18;
  16305. break;
  16306. }
  16307. $34 = HEAP8[$30>>0]|0;
  16308. $35 = ($34<<24>>24)==(0);
  16309. do {
  16310. if ($35) {
  16311. $$182$off0 = $$081$off0;$$186$off0 = $$085$off0;
  16312. } else {
  16313. $36 = HEAP8[$29>>0]|0;
  16314. $37 = ($36<<24>>24)==(0);
  16315. if ($37) {
  16316. $43 = HEAP32[$14>>2]|0;
  16317. $44 = $43 & 1;
  16318. $45 = ($44|0)==(0);
  16319. if ($45) {
  16320. $$283$off0 = 1;
  16321. label = 18;
  16322. break L29;
  16323. } else {
  16324. $$182$off0 = 1;$$186$off0 = $$085$off0;
  16325. break;
  16326. }
  16327. }
  16328. $38 = HEAP32[$11>>2]|0;
  16329. $39 = ($38|0)==(1);
  16330. if ($39) {
  16331. label = 23;
  16332. break L29;
  16333. }
  16334. $40 = HEAP32[$14>>2]|0;
  16335. $41 = $40 & 2;
  16336. $42 = ($41|0)==(0);
  16337. if ($42) {
  16338. label = 23;
  16339. break L29;
  16340. } else {
  16341. $$182$off0 = 1;$$186$off0 = 1;
  16342. }
  16343. }
  16344. } while(0);
  16345. $46 = ((($$084)) + 8|0);
  16346. $$081$off0 = $$182$off0;$$084 = $46;$$085$off0 = $$186$off0;
  16347. }
  16348. do {
  16349. if ((label|0) == 18) {
  16350. if (!($$085$off0)) {
  16351. HEAP32[$20>>2] = $2;
  16352. $47 = ((($1)) + 40|0);
  16353. $48 = HEAP32[$47>>2]|0;
  16354. $49 = (($48) + 1)|0;
  16355. HEAP32[$47>>2] = $49;
  16356. $50 = HEAP32[$12>>2]|0;
  16357. $51 = ($50|0)==(1);
  16358. if ($51) {
  16359. $52 = HEAP32[$11>>2]|0;
  16360. $53 = ($52|0)==(2);
  16361. if ($53) {
  16362. HEAP8[$13>>0] = 1;
  16363. if ($$283$off0) {
  16364. label = 23;
  16365. break;
  16366. } else {
  16367. $54 = 4;
  16368. break;
  16369. }
  16370. }
  16371. }
  16372. }
  16373. if ($$283$off0) {
  16374. label = 23;
  16375. } else {
  16376. $54 = 4;
  16377. }
  16378. }
  16379. } while(0);
  16380. if ((label|0) == 23) {
  16381. $54 = 3;
  16382. }
  16383. HEAP32[$24>>2] = $54;
  16384. break;
  16385. }
  16386. }
  16387. $23 = ($3|0)==(1);
  16388. if ($23) {
  16389. HEAP32[$19>>2] = 1;
  16390. }
  16391. }
  16392. } while(0);
  16393. return;
  16394. }
  16395. function __ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0,$1,$2,$3) {
  16396. $0 = $0|0;
  16397. $1 = $1|0;
  16398. $2 = $2|0;
  16399. $3 = $3|0;
  16400. var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  16401. sp = STACKTOP;
  16402. $4 = ((($1)) + 8|0);
  16403. $5 = HEAP32[$4>>2]|0;
  16404. $6 = (__ZN10__cxxabiv18is_equalEPKSt9type_infoS2_b($0,$5,0)|0);
  16405. L1: do {
  16406. if ($6) {
  16407. __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0,$1,$2,$3);
  16408. } else {
  16409. $7 = ((($0)) + 16|0);
  16410. $8 = ((($0)) + 12|0);
  16411. $9 = HEAP32[$8>>2]|0;
  16412. $10 = (((($0)) + 16|0) + ($9<<3)|0);
  16413. __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($7,$1,$2,$3);
  16414. $11 = ($9|0)>(1);
  16415. if ($11) {
  16416. $12 = ((($0)) + 24|0);
  16417. $13 = ((($1)) + 54|0);
  16418. $$0 = $12;
  16419. while(1) {
  16420. __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($$0,$1,$2,$3);
  16421. $14 = HEAP8[$13>>0]|0;
  16422. $15 = ($14<<24>>24)==(0);
  16423. if (!($15)) {
  16424. break L1;
  16425. }
  16426. $16 = ((($$0)) + 8|0);
  16427. $17 = ($16>>>0)<($10>>>0);
  16428. if ($17) {
  16429. $$0 = $16;
  16430. } else {
  16431. break;
  16432. }
  16433. }
  16434. }
  16435. }
  16436. } while(0);
  16437. return;
  16438. }
  16439. function __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0,$1,$2,$3) {
  16440. $0 = $0|0;
  16441. $1 = $1|0;
  16442. $2 = $2|0;
  16443. $3 = $3|0;
  16444. var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  16445. sp = STACKTOP;
  16446. $4 = ((($0)) + 4|0);
  16447. $5 = HEAP32[$4>>2]|0;
  16448. $6 = $5 >> 8;
  16449. $7 = $5 & 1;
  16450. $8 = ($7|0)==(0);
  16451. if ($8) {
  16452. $$0 = $6;
  16453. } else {
  16454. $9 = HEAP32[$2>>2]|0;
  16455. $10 = (($9) + ($6)|0);
  16456. $11 = HEAP32[$10>>2]|0;
  16457. $$0 = $11;
  16458. }
  16459. $12 = HEAP32[$0>>2]|0;
  16460. $13 = HEAP32[$12>>2]|0;
  16461. $14 = ((($13)) + 28|0);
  16462. $15 = HEAP32[$14>>2]|0;
  16463. $16 = (($2) + ($$0)|0);
  16464. $17 = $5 & 2;
  16465. $18 = ($17|0)!=(0);
  16466. $19 = $18 ? $3 : 2;
  16467. FUNCTION_TABLE_viiii[$15 & 31]($12,$1,$16,$19);
  16468. return;
  16469. }
  16470. function __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($0,$1,$2,$3,$4,$5) {
  16471. $0 = $0|0;
  16472. $1 = $1|0;
  16473. $2 = $2|0;
  16474. $3 = $3|0;
  16475. $4 = $4|0;
  16476. $5 = $5|0;
  16477. var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  16478. sp = STACKTOP;
  16479. $6 = ((($0)) + 4|0);
  16480. $7 = HEAP32[$6>>2]|0;
  16481. $8 = $7 >> 8;
  16482. $9 = $7 & 1;
  16483. $10 = ($9|0)==(0);
  16484. if ($10) {
  16485. $$0 = $8;
  16486. } else {
  16487. $11 = HEAP32[$3>>2]|0;
  16488. $12 = (($11) + ($8)|0);
  16489. $13 = HEAP32[$12>>2]|0;
  16490. $$0 = $13;
  16491. }
  16492. $14 = HEAP32[$0>>2]|0;
  16493. $15 = HEAP32[$14>>2]|0;
  16494. $16 = ((($15)) + 20|0);
  16495. $17 = HEAP32[$16>>2]|0;
  16496. $18 = (($3) + ($$0)|0);
  16497. $19 = $7 & 2;
  16498. $20 = ($19|0)!=(0);
  16499. $21 = $20 ? $4 : 2;
  16500. FUNCTION_TABLE_viiiiii[$17 & 31]($14,$1,$2,$18,$21,$5);
  16501. return;
  16502. }
  16503. function __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0,$1,$2,$3,$4) {
  16504. $0 = $0|0;
  16505. $1 = $1|0;
  16506. $2 = $2|0;
  16507. $3 = $3|0;
  16508. $4 = $4|0;
  16509. var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
  16510. sp = STACKTOP;
  16511. $5 = ((($0)) + 4|0);
  16512. $6 = HEAP32[$5>>2]|0;
  16513. $7 = $6 >> 8;
  16514. $8 = $6 & 1;
  16515. $9 = ($8|0)==(0);
  16516. if ($9) {
  16517. $$0 = $7;
  16518. } else {
  16519. $10 = HEAP32[$2>>2]|0;
  16520. $11 = (($10) + ($7)|0);
  16521. $12 = HEAP32[$11>>2]|0;
  16522. $$0 = $12;
  16523. }
  16524. $13 = HEAP32[$0>>2]|0;
  16525. $14 = HEAP32[$13>>2]|0;
  16526. $15 = ((($14)) + 24|0);
  16527. $16 = HEAP32[$15>>2]|0;
  16528. $17 = (($2) + ($$0)|0);
  16529. $18 = $6 & 2;
  16530. $19 = ($18|0)!=(0);
  16531. $20 = $19 ? $3 : 2;
  16532. FUNCTION_TABLE_viiiii[$16 & 31]($13,$1,$17,$20,$4);
  16533. return;
  16534. }
  16535. function runPostSets() {
  16536. }
  16537. function _i64Subtract(a, b, c, d) {
  16538. a = a|0; b = b|0; c = c|0; d = d|0;
  16539. var l = 0, h = 0;
  16540. l = (a - c)>>>0;
  16541. h = (b - d)>>>0;
  16542. h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow.
  16543. return ((tempRet0 = h,l|0)|0);
  16544. }
  16545. function _i64Add(a, b, c, d) {
  16546. /*
  16547. x = a + b*2^32
  16548. y = c + d*2^32
  16549. result = l + h*2^32
  16550. */
  16551. a = a|0; b = b|0; c = c|0; d = d|0;
  16552. var l = 0, h = 0;
  16553. l = (a + c)>>>0;
  16554. h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow.
  16555. return ((tempRet0 = h,l|0)|0);
  16556. }
  16557. function _memset(ptr, value, num) {
  16558. ptr = ptr|0; value = value|0; num = num|0;
  16559. var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0;
  16560. end = (ptr + num)|0;
  16561. value = value & 0xff;
  16562. if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) {
  16563. while ((ptr&3) != 0) {
  16564. HEAP8[((ptr)>>0)]=value;
  16565. ptr = (ptr+1)|0;
  16566. }
  16567. aligned_end = (end & -4)|0;
  16568. block_aligned_end = (aligned_end - 64)|0;
  16569. value4 = value | (value << 8) | (value << 16) | (value << 24);
  16570. while((ptr|0) <= (block_aligned_end|0)) {
  16571. HEAP32[((ptr)>>2)]=value4;
  16572. HEAP32[(((ptr)+(4))>>2)]=value4;
  16573. HEAP32[(((ptr)+(8))>>2)]=value4;
  16574. HEAP32[(((ptr)+(12))>>2)]=value4;
  16575. HEAP32[(((ptr)+(16))>>2)]=value4;
  16576. HEAP32[(((ptr)+(20))>>2)]=value4;
  16577. HEAP32[(((ptr)+(24))>>2)]=value4;
  16578. HEAP32[(((ptr)+(28))>>2)]=value4;
  16579. HEAP32[(((ptr)+(32))>>2)]=value4;
  16580. HEAP32[(((ptr)+(36))>>2)]=value4;
  16581. HEAP32[(((ptr)+(40))>>2)]=value4;
  16582. HEAP32[(((ptr)+(44))>>2)]=value4;
  16583. HEAP32[(((ptr)+(48))>>2)]=value4;
  16584. HEAP32[(((ptr)+(52))>>2)]=value4;
  16585. HEAP32[(((ptr)+(56))>>2)]=value4;
  16586. HEAP32[(((ptr)+(60))>>2)]=value4;
  16587. ptr = (ptr + 64)|0;
  16588. }
  16589. while ((ptr|0) < (aligned_end|0) ) {
  16590. HEAP32[((ptr)>>2)]=value4;
  16591. ptr = (ptr+4)|0;
  16592. }
  16593. }
  16594. // The remaining bytes.
  16595. while ((ptr|0) < (end|0)) {
  16596. HEAP8[((ptr)>>0)]=value;
  16597. ptr = (ptr+1)|0;
  16598. }
  16599. return (end-num)|0;
  16600. }
  16601. function _bitshift64Shl(low, high, bits) {
  16602. low = low|0; high = high|0; bits = bits|0;
  16603. var ander = 0;
  16604. if ((bits|0) < 32) {
  16605. ander = ((1 << bits) - 1)|0;
  16606. tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits));
  16607. return low << bits;
  16608. }
  16609. tempRet0 = low << (bits - 32);
  16610. return 0;
  16611. }
  16612. function _bitshift64Lshr(low, high, bits) {
  16613. low = low|0; high = high|0; bits = bits|0;
  16614. var ander = 0;
  16615. if ((bits|0) < 32) {
  16616. ander = ((1 << bits) - 1)|0;
  16617. tempRet0 = high >>> bits;
  16618. return (low >>> bits) | ((high&ander) << (32 - bits));
  16619. }
  16620. tempRet0 = 0;
  16621. return (high >>> (bits - 32))|0;
  16622. }
  16623. function _llvm_cttz_i32(x) {
  16624. x = x|0;
  16625. var ret = 0;
  16626. ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0);
  16627. if ((ret|0) < 8) return ret|0;
  16628. ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0);
  16629. if ((ret|0) < 8) return (ret + 8)|0;
  16630. ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0);
  16631. if ((ret|0) < 8) return (ret + 16)|0;
  16632. return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0;
  16633. }
  16634. function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) {
  16635. $a$0 = $a$0 | 0;
  16636. $a$1 = $a$1 | 0;
  16637. $b$0 = $b$0 | 0;
  16638. $b$1 = $b$1 | 0;
  16639. $rem = $rem | 0;
  16640. var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0;
  16641. $n_sroa_0_0_extract_trunc = $a$0;
  16642. $n_sroa_1_4_extract_shift$0 = $a$1;
  16643. $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0;
  16644. $d_sroa_0_0_extract_trunc = $b$0;
  16645. $d_sroa_1_4_extract_shift$0 = $b$1;
  16646. $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0;
  16647. if (($n_sroa_1_4_extract_trunc | 0) == 0) {
  16648. $4 = ($rem | 0) != 0;
  16649. if (($d_sroa_1_4_extract_trunc | 0) == 0) {
  16650. if ($4) {
  16651. HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
  16652. HEAP32[$rem + 4 >> 2] = 0;
  16653. }
  16654. $_0$1 = 0;
  16655. $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
  16656. return (tempRet0 = $_0$1, $_0$0) | 0;
  16657. } else {
  16658. if (!$4) {
  16659. $_0$1 = 0;
  16660. $_0$0 = 0;
  16661. return (tempRet0 = $_0$1, $_0$0) | 0;
  16662. }
  16663. HEAP32[$rem >> 2] = $a$0 & -1;
  16664. HEAP32[$rem + 4 >> 2] = $a$1 & 0;
  16665. $_0$1 = 0;
  16666. $_0$0 = 0;
  16667. return (tempRet0 = $_0$1, $_0$0) | 0;
  16668. }
  16669. }
  16670. $17 = ($d_sroa_1_4_extract_trunc | 0) == 0;
  16671. do {
  16672. if (($d_sroa_0_0_extract_trunc | 0) == 0) {
  16673. if ($17) {
  16674. if (($rem | 0) != 0) {
  16675. HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
  16676. HEAP32[$rem + 4 >> 2] = 0;
  16677. }
  16678. $_0$1 = 0;
  16679. $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
  16680. return (tempRet0 = $_0$1, $_0$0) | 0;
  16681. }
  16682. if (($n_sroa_0_0_extract_trunc | 0) == 0) {
  16683. if (($rem | 0) != 0) {
  16684. HEAP32[$rem >> 2] = 0;
  16685. HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0);
  16686. }
  16687. $_0$1 = 0;
  16688. $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0;
  16689. return (tempRet0 = $_0$1, $_0$0) | 0;
  16690. }
  16691. $37 = $d_sroa_1_4_extract_trunc - 1 | 0;
  16692. if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) {
  16693. if (($rem | 0) != 0) {
  16694. HEAP32[$rem >> 2] = 0 | $a$0 & -1;
  16695. HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0;
  16696. }
  16697. $_0$1 = 0;
  16698. $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0);
  16699. return (tempRet0 = $_0$1, $_0$0) | 0;
  16700. }
  16701. $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
  16702. $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
  16703. if ($51 >>> 0 <= 30) {
  16704. $57 = $51 + 1 | 0;
  16705. $58 = 31 - $51 | 0;
  16706. $sr_1_ph = $57;
  16707. $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0);
  16708. $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0);
  16709. $q_sroa_0_1_ph = 0;
  16710. $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58;
  16711. break;
  16712. }
  16713. if (($rem | 0) == 0) {
  16714. $_0$1 = 0;
  16715. $_0$0 = 0;
  16716. return (tempRet0 = $_0$1, $_0$0) | 0;
  16717. }
  16718. HEAP32[$rem >> 2] = 0 | $a$0 & -1;
  16719. HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
  16720. $_0$1 = 0;
  16721. $_0$0 = 0;
  16722. return (tempRet0 = $_0$1, $_0$0) | 0;
  16723. } else {
  16724. if (!$17) {
  16725. $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
  16726. $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
  16727. if ($119 >>> 0 <= 31) {
  16728. $125 = $119 + 1 | 0;
  16729. $126 = 31 - $119 | 0;
  16730. $130 = $119 - 31 >> 31;
  16731. $sr_1_ph = $125;
  16732. $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126;
  16733. $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130;
  16734. $q_sroa_0_1_ph = 0;
  16735. $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126;
  16736. break;
  16737. }
  16738. if (($rem | 0) == 0) {
  16739. $_0$1 = 0;
  16740. $_0$0 = 0;
  16741. return (tempRet0 = $_0$1, $_0$0) | 0;
  16742. }
  16743. HEAP32[$rem >> 2] = 0 | $a$0 & -1;
  16744. HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
  16745. $_0$1 = 0;
  16746. $_0$0 = 0;
  16747. return (tempRet0 = $_0$1, $_0$0) | 0;
  16748. }
  16749. $66 = $d_sroa_0_0_extract_trunc - 1 | 0;
  16750. if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) {
  16751. $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0;
  16752. $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
  16753. $89 = 64 - $88 | 0;
  16754. $91 = 32 - $88 | 0;
  16755. $92 = $91 >> 31;
  16756. $95 = $88 - 32 | 0;
  16757. $105 = $95 >> 31;
  16758. $sr_1_ph = $88;
  16759. $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105;
  16760. $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0);
  16761. $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92;
  16762. $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31;
  16763. break;
  16764. }
  16765. if (($rem | 0) != 0) {
  16766. HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc;
  16767. HEAP32[$rem + 4 >> 2] = 0;
  16768. }
  16769. if (($d_sroa_0_0_extract_trunc | 0) == 1) {
  16770. $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
  16771. $_0$0 = 0 | $a$0 & -1;
  16772. return (tempRet0 = $_0$1, $_0$0) | 0;
  16773. } else {
  16774. $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0;
  16775. $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0);
  16776. $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0;
  16777. return (tempRet0 = $_0$1, $_0$0) | 0;
  16778. }
  16779. }
  16780. } while (0);
  16781. if (($sr_1_ph | 0) == 0) {
  16782. $q_sroa_1_1_lcssa = $q_sroa_1_1_ph;
  16783. $q_sroa_0_1_lcssa = $q_sroa_0_1_ph;
  16784. $r_sroa_1_1_lcssa = $r_sroa_1_1_ph;
  16785. $r_sroa_0_1_lcssa = $r_sroa_0_1_ph;
  16786. $carry_0_lcssa$1 = 0;
  16787. $carry_0_lcssa$0 = 0;
  16788. } else {
  16789. $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1;
  16790. $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0;
  16791. $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0;
  16792. $137$1 = tempRet0;
  16793. $q_sroa_1_1198 = $q_sroa_1_1_ph;
  16794. $q_sroa_0_1199 = $q_sroa_0_1_ph;
  16795. $r_sroa_1_1200 = $r_sroa_1_1_ph;
  16796. $r_sroa_0_1201 = $r_sroa_0_1_ph;
  16797. $sr_1202 = $sr_1_ph;
  16798. $carry_0203 = 0;
  16799. while (1) {
  16800. $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1;
  16801. $149 = $carry_0203 | $q_sroa_0_1199 << 1;
  16802. $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31);
  16803. $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0;
  16804. _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0;
  16805. $150$1 = tempRet0;
  16806. $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1;
  16807. $152 = $151$0 & 1;
  16808. $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0;
  16809. $r_sroa_0_0_extract_trunc = $154$0;
  16810. $r_sroa_1_4_extract_trunc = tempRet0;
  16811. $155 = $sr_1202 - 1 | 0;
  16812. if (($155 | 0) == 0) {
  16813. break;
  16814. } else {
  16815. $q_sroa_1_1198 = $147;
  16816. $q_sroa_0_1199 = $149;
  16817. $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc;
  16818. $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc;
  16819. $sr_1202 = $155;
  16820. $carry_0203 = $152;
  16821. }
  16822. }
  16823. $q_sroa_1_1_lcssa = $147;
  16824. $q_sroa_0_1_lcssa = $149;
  16825. $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc;
  16826. $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc;
  16827. $carry_0_lcssa$1 = 0;
  16828. $carry_0_lcssa$0 = $152;
  16829. }
  16830. $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa;
  16831. $q_sroa_0_0_insert_ext75$1 = 0;
  16832. $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1;
  16833. if (($rem | 0) != 0) {
  16834. HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa;
  16835. HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0;
  16836. }
  16837. $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1;
  16838. $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0;
  16839. return (tempRet0 = $_0$1, $_0$0) | 0;
  16840. }
  16841. function ___udivdi3($a$0, $a$1, $b$0, $b$1) {
  16842. $a$0 = $a$0 | 0;
  16843. $a$1 = $a$1 | 0;
  16844. $b$0 = $b$0 | 0;
  16845. $b$1 = $b$1 | 0;
  16846. var $1$0 = 0;
  16847. $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0;
  16848. return $1$0 | 0;
  16849. }
  16850. function ___muldsi3($a, $b) {
  16851. $a = $a | 0;
  16852. $b = $b | 0;
  16853. var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0;
  16854. $1 = $a & 65535;
  16855. $2 = $b & 65535;
  16856. $3 = Math_imul($2, $1) | 0;
  16857. $6 = $a >>> 16;
  16858. $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0;
  16859. $11 = $b >>> 16;
  16860. $12 = Math_imul($11, $1) | 0;
  16861. return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0;
  16862. }
  16863. function ___muldi3($a$0, $a$1, $b$0, $b$1) {
  16864. $a$0 = $a$0 | 0;
  16865. $a$1 = $a$1 | 0;
  16866. $b$0 = $b$0 | 0;
  16867. $b$1 = $b$1 | 0;
  16868. var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0;
  16869. $x_sroa_0_0_extract_trunc = $a$0;
  16870. $y_sroa_0_0_extract_trunc = $b$0;
  16871. $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0;
  16872. $1$1 = tempRet0;
  16873. $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0;
  16874. return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0;
  16875. }
  16876. function _sbrk(increment) {
  16877. increment = increment|0;
  16878. var oldDynamicTop = 0;
  16879. var oldDynamicTopOnChange = 0;
  16880. var newDynamicTop = 0;
  16881. var totalMemory = 0;
  16882. increment = ((increment + 15) & -16)|0;
  16883. oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0;
  16884. newDynamicTop = oldDynamicTop + increment | 0;
  16885. if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int.
  16886. | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract.
  16887. abortOnCannotGrowMemory()|0;
  16888. ___setErrNo(12);
  16889. return -1;
  16890. }
  16891. HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop;
  16892. totalMemory = getTotalMemory()|0;
  16893. if ((newDynamicTop|0) > (totalMemory|0)) {
  16894. if ((enlargeMemory()|0) == 0) {
  16895. HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop;
  16896. ___setErrNo(12);
  16897. return -1;
  16898. }
  16899. }
  16900. return oldDynamicTop|0;
  16901. }
  16902. function ___uremdi3($a$0, $a$1, $b$0, $b$1) {
  16903. $a$0 = $a$0 | 0;
  16904. $a$1 = $a$1 | 0;
  16905. $b$0 = $b$0 | 0;
  16906. $b$1 = $b$1 | 0;
  16907. var $rem = 0, __stackBase__ = 0;
  16908. __stackBase__ = STACKTOP;
  16909. STACKTOP = STACKTOP + 16 | 0;
  16910. $rem = __stackBase__ | 0;
  16911. ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0;
  16912. STACKTOP = __stackBase__;
  16913. return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0;
  16914. }
  16915. function _memcpy(dest, src, num) {
  16916. dest = dest|0; src = src|0; num = num|0;
  16917. var ret = 0;
  16918. var aligned_dest_end = 0;
  16919. var block_aligned_dest_end = 0;
  16920. var dest_end = 0;
  16921. // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use.
  16922. if ((num|0) >=
  16923. 8192
  16924. ) {
  16925. return _emscripten_memcpy_big(dest|0, src|0, num|0)|0;
  16926. }
  16927. ret = dest|0;
  16928. dest_end = (dest + num)|0;
  16929. if ((dest&3) == (src&3)) {
  16930. // The initial unaligned < 4-byte front.
  16931. while (dest & 3) {
  16932. if ((num|0) == 0) return ret|0;
  16933. HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
  16934. dest = (dest+1)|0;
  16935. src = (src+1)|0;
  16936. num = (num-1)|0;
  16937. }
  16938. aligned_dest_end = (dest_end & -4)|0;
  16939. block_aligned_dest_end = (aligned_dest_end - 64)|0;
  16940. while ((dest|0) <= (block_aligned_dest_end|0) ) {
  16941. HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
  16942. HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0);
  16943. HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0);
  16944. HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0);
  16945. HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0);
  16946. HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0);
  16947. HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0);
  16948. HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0);
  16949. HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0);
  16950. HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0);
  16951. HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0);
  16952. HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0);
  16953. HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0);
  16954. HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0);
  16955. HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0);
  16956. HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0);
  16957. dest = (dest+64)|0;
  16958. src = (src+64)|0;
  16959. }
  16960. while ((dest|0) < (aligned_dest_end|0) ) {
  16961. HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
  16962. dest = (dest+4)|0;
  16963. src = (src+4)|0;
  16964. }
  16965. } else {
  16966. // In the unaligned copy case, unroll a bit as well.
  16967. aligned_dest_end = (dest_end - 4)|0;
  16968. while ((dest|0) < (aligned_dest_end|0) ) {
  16969. HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
  16970. HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0);
  16971. HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0);
  16972. HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0);
  16973. dest = (dest+4)|0;
  16974. src = (src+4)|0;
  16975. }
  16976. }
  16977. // The remaining unaligned < 4 byte tail.
  16978. while ((dest|0) < (dest_end|0)) {
  16979. HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
  16980. dest = (dest+1)|0;
  16981. src = (src+1)|0;
  16982. }
  16983. return ret|0;
  16984. }
  16985. function _llvm_bswap_i32(x) {
  16986. x = x|0;
  16987. return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0;
  16988. }
  16989. function dynCall_iiii(index,a1,a2,a3) {
  16990. index = index|0;
  16991. a1=a1|0; a2=a2|0; a3=a3|0;
  16992. return FUNCTION_TABLE_iiii[index&31](a1|0,a2|0,a3|0)|0;
  16993. }
  16994. function dynCall_viiiii(index,a1,a2,a3,a4,a5) {
  16995. index = index|0;
  16996. a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0;
  16997. FUNCTION_TABLE_viiiii[index&31](a1|0,a2|0,a3|0,a4|0,a5|0);
  16998. }
  16999. function dynCall_vi(index,a1) {
  17000. index = index|0;
  17001. a1=a1|0;
  17002. FUNCTION_TABLE_vi[index&31](a1|0);
  17003. }
  17004. function dynCall_ii(index,a1) {
  17005. index = index|0;
  17006. a1=a1|0;
  17007. return FUNCTION_TABLE_ii[index&1](a1|0)|0;
  17008. }
  17009. function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) {
  17010. index = index|0;
  17011. a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0;
  17012. FUNCTION_TABLE_viiiiii[index&31](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0);
  17013. }
  17014. function dynCall_viiii(index,a1,a2,a3,a4) {
  17015. index = index|0;
  17016. a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
  17017. FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0);
  17018. }
  17019. function b0(p0,p1,p2) {
  17020. p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(0);return 0;
  17021. }
  17022. function b1(p0,p1,p2,p3,p4) {
  17023. p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(1);
  17024. }
  17025. function b2(p0) {
  17026. p0 = p0|0; nullFunc_vi(2);
  17027. }
  17028. function b3(p0) {
  17029. p0 = p0|0; nullFunc_ii(3);return 0;
  17030. }
  17031. function b4(p0,p1,p2,p3,p4,p5) {
  17032. p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(4);
  17033. }
  17034. function b5(p0,p1,p2,p3) {
  17035. p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(5);
  17036. }
  17037. // EMSCRIPTEN_END_FUNCS
  17038. var FUNCTION_TABLE_iiii = [b0,b0,___stdout_write,___stdio_seek,_sn_write,b0,b0,b0,b0,__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv,b0,b0,b0,b0,b0,b0,b0,b0,__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv,b0,b0,b0,b0,___stdio_write,_do_read,b0,b0,b0,b0
  17039. ,b0,b0,b0];
  17040. var FUNCTION_TABLE_viiiii = [b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,b1,b1,b1,__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,b1,b1,b1,b1,b1,__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,b1,b1,b1,b1,b1,b1,b1
  17041. ,b1,b1,b1];
  17042. var FUNCTION_TABLE_vi = [b2,b2,b2,b2,b2,__ZN10__cxxabiv116__shim_type_infoD2Ev,__ZN10__cxxabiv117__class_type_infoD0Ev,__ZNK10__cxxabiv116__shim_type_info5noop1Ev,__ZNK10__cxxabiv116__shim_type_info5noop2Ev,b2,b2,b2,b2,__ZN10__cxxabiv120__si_class_type_infoD0Ev,b2,b2,b2,__ZN10__cxxabiv123__fundamental_type_infoD0Ev,b2,__ZN10__cxxabiv121__vmi_class_type_infoD0Ev,b2,b2,b2,b2,b2,b2,b2,b2,b2
  17043. ,b2,b2,b2];
  17044. var FUNCTION_TABLE_ii = [b3,___stdio_close];
  17045. var FUNCTION_TABLE_viiiiii = [b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,b4,b4,b4,__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,b4,b4,b4,b4,b4,__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,b4,b4,b4,b4,b4,b4,b4,b4
  17046. ,b4,b4,b4];
  17047. var FUNCTION_TABLE_viiii = [b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,b5,b5,b5,__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,b5,b5,b5,b5,b5,__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,b5,b5,b5,b5,b5,b5
  17048. ,b5,b5,b5];
  17049. return { stackSave: stackSave, _i64Subtract: _i64Subtract, ___udivdi3: ___udivdi3, setThrew: setThrew, _str_to_uint64: _str_to_uint64, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _crc64: _crc64, ___errno_location: ___errno_location, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, stackAlloc: stackAlloc, ___muldi3: ___muldi3, _crc64_init: _crc64_init, ___uremdi3: ___uremdi3, dynCall_vi: dynCall_vi, getTempRet0: getTempRet0, __GLOBAL__sub_I_bind_cpp: __GLOBAL__sub_I_bind_cpp, _uint64_to_str: _uint64_to_str, setTempRet0: setTempRet0, _i64Add: _i64Add, dynCall_iiii: dynCall_iiii, _emscripten_get_global_libc: _emscripten_get_global_libc, ___getTypeName: ___getTypeName, dynCall_ii: dynCall_ii, dynCall_viiii: dynCall_viiii, _llvm_bswap_i32: _llvm_bswap_i32, dynCall_viiiii: dynCall_viiiii, _free: _free, runPostSets: runPostSets, dynCall_viiiiii: dynCall_viiiiii, establishStackSpace: establishStackSpace, stackRestore: stackRestore, _malloc: _malloc };
  17050. })
  17051. // EMSCRIPTEN_END_ASM
  17052. (Module.asmGlobalArg, Module.asmLibraryArg, buffer);
  17053. var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() {
  17054. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17055. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17056. return real_stackSave.apply(null, arguments);
  17057. };
  17058. var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() {
  17059. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17060. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17061. return real_getTempRet0.apply(null, arguments);
  17062. };
  17063. var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() {
  17064. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17065. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17066. return real____udivdi3.apply(null, arguments);
  17067. };
  17068. var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() {
  17069. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17070. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17071. return real_setThrew.apply(null, arguments);
  17072. };
  17073. var real___GLOBAL__sub_I_bind_cpp = asm["__GLOBAL__sub_I_bind_cpp"]; asm["__GLOBAL__sub_I_bind_cpp"] = function() {
  17074. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17075. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17076. return real___GLOBAL__sub_I_bind_cpp.apply(null, arguments);
  17077. };
  17078. var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() {
  17079. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17080. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17081. return real__bitshift64Lshr.apply(null, arguments);
  17082. };
  17083. var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() {
  17084. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17085. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17086. return real__bitshift64Shl.apply(null, arguments);
  17087. };
  17088. var real__fflush = asm["_fflush"]; asm["_fflush"] = function() {
  17089. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17090. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17091. return real__fflush.apply(null, arguments);
  17092. };
  17093. var real__crc64 = asm["_crc64"]; asm["_crc64"] = function() {
  17094. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17095. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17096. return real__crc64.apply(null, arguments);
  17097. };
  17098. var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() {
  17099. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17100. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17101. return real__sbrk.apply(null, arguments);
  17102. };
  17103. var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() {
  17104. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17105. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17106. return real__llvm_bswap_i32.apply(null, arguments);
  17107. };
  17108. var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() {
  17109. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17110. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17111. return real____muldi3.apply(null, arguments);
  17112. };
  17113. var real__crc64_init = asm["_crc64_init"]; asm["_crc64_init"] = function() {
  17114. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17115. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17116. return real__crc64_init.apply(null, arguments);
  17117. };
  17118. var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() {
  17119. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17120. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17121. return real____uremdi3.apply(null, arguments);
  17122. };
  17123. var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() {
  17124. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17125. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17126. return real_stackAlloc.apply(null, arguments);
  17127. };
  17128. var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() {
  17129. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17130. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17131. return real__i64Subtract.apply(null, arguments);
  17132. };
  17133. var real__str_to_uint64 = asm["_str_to_uint64"]; asm["_str_to_uint64"] = function() {
  17134. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17135. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17136. return real__str_to_uint64.apply(null, arguments);
  17137. };
  17138. var real__uint64_to_str = asm["_uint64_to_str"]; asm["_uint64_to_str"] = function() {
  17139. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17140. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17141. return real__uint64_to_str.apply(null, arguments);
  17142. };
  17143. var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() {
  17144. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17145. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17146. return real_setTempRet0.apply(null, arguments);
  17147. };
  17148. var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() {
  17149. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17150. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17151. return real__i64Add.apply(null, arguments);
  17152. };
  17153. var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() {
  17154. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17155. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17156. return real__emscripten_get_global_libc.apply(null, arguments);
  17157. };
  17158. var real____getTypeName = asm["___getTypeName"]; asm["___getTypeName"] = function() {
  17159. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17160. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17161. return real____getTypeName.apply(null, arguments);
  17162. };
  17163. var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() {
  17164. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17165. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17166. return real____errno_location.apply(null, arguments);
  17167. };
  17168. var real__free = asm["_free"]; asm["_free"] = function() {
  17169. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17170. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17171. return real__free.apply(null, arguments);
  17172. };
  17173. var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() {
  17174. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17175. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17176. return real_establishStackSpace.apply(null, arguments);
  17177. };
  17178. var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() {
  17179. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17180. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17181. return real_stackRestore.apply(null, arguments);
  17182. };
  17183. var real__malloc = asm["_malloc"]; asm["_malloc"] = function() {
  17184. assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
  17185. assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
  17186. return real__malloc.apply(null, arguments);
  17187. };
  17188. var stackSave = Module["stackSave"] = asm["stackSave"];
  17189. var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"];
  17190. var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
  17191. var setThrew = Module["setThrew"] = asm["setThrew"];
  17192. var __GLOBAL__sub_I_bind_cpp = Module["__GLOBAL__sub_I_bind_cpp"] = asm["__GLOBAL__sub_I_bind_cpp"];
  17193. var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
  17194. var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
  17195. var _fflush = Module["_fflush"] = asm["_fflush"];
  17196. var _crc64 = Module["_crc64"] = asm["_crc64"];
  17197. var _memset = Module["_memset"] = asm["_memset"];
  17198. var _sbrk = Module["_sbrk"] = asm["_sbrk"];
  17199. var _memcpy = Module["_memcpy"] = asm["_memcpy"];
  17200. var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
  17201. var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
  17202. var _crc64_init = Module["_crc64_init"] = asm["_crc64_init"];
  17203. var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"];
  17204. var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
  17205. var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
  17206. var _str_to_uint64 = Module["_str_to_uint64"] = asm["_str_to_uint64"];
  17207. var _uint64_to_str = Module["_uint64_to_str"] = asm["_uint64_to_str"];
  17208. var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"];
  17209. var _i64Add = Module["_i64Add"] = asm["_i64Add"];
  17210. var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"];
  17211. var ___getTypeName = Module["___getTypeName"] = asm["___getTypeName"];
  17212. var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
  17213. var _free = Module["_free"] = asm["_free"];
  17214. var runPostSets = Module["runPostSets"] = asm["runPostSets"];
  17215. var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
  17216. var stackRestore = Module["stackRestore"] = asm["stackRestore"];
  17217. var _malloc = Module["_malloc"] = asm["_malloc"];
  17218. var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
  17219. var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
  17220. var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
  17221. var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
  17222. var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];
  17223. var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
  17224. ;
  17225. Runtime.stackAlloc = Module['stackAlloc'];
  17226. Runtime.stackSave = Module['stackSave'];
  17227. Runtime.stackRestore = Module['stackRestore'];
  17228. Runtime.establishStackSpace = Module['establishStackSpace'];
  17229. Runtime.setTempRet0 = Module['setTempRet0'];
  17230. Runtime.getTempRet0 = Module['getTempRet0'];
  17231. // === Auto-generated postamble setup entry stuff ===
  17232. Module['asm'] = asm;
  17233. /**
  17234. * @constructor
  17235. * @extends {Error}
  17236. */
  17237. function ExitStatus(status) {
  17238. this.name = "ExitStatus";
  17239. this.message = "Program terminated with exit(" + status + ")";
  17240. this.status = status;
  17241. };
  17242. ExitStatus.prototype = new Error();
  17243. ExitStatus.prototype.constructor = ExitStatus;
  17244. var initialStackTop;
  17245. var preloadStartTime = null;
  17246. var calledMain = false;
  17247. dependenciesFulfilled = function runCaller() {
  17248. // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
  17249. if (!Module['calledRun']) run();
  17250. if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
  17251. }
  17252. Module['callMain'] = Module.callMain = function callMain(args) {
  17253. assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)');
  17254. assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called');
  17255. args = args || [];
  17256. ensureInitRuntime();
  17257. var argc = args.length+1;
  17258. function pad() {
  17259. for (var i = 0; i < 4-1; i++) {
  17260. argv.push(0);
  17261. }
  17262. }
  17263. var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ];
  17264. pad();
  17265. for (var i = 0; i < argc-1; i = i + 1) {
  17266. argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL));
  17267. pad();
  17268. }
  17269. argv.push(0);
  17270. argv = allocate(argv, 'i32', ALLOC_NORMAL);
  17271. try {
  17272. var ret = Module['_main'](argc, argv, 0);
  17273. // if we're not running an evented main loop, it's time to exit
  17274. exit(ret, /* implicit = */ true);
  17275. }
  17276. catch(e) {
  17277. if (e instanceof ExitStatus) {
  17278. // exit() throws this once it's done to make sure execution
  17279. // has been stopped completely
  17280. return;
  17281. } else if (e == 'SimulateInfiniteLoop') {
  17282. // running an evented main loop, don't immediately exit
  17283. Module['noExitRuntime'] = true;
  17284. return;
  17285. } else {
  17286. var toLog = e;
  17287. if (e && typeof e === 'object' && e.stack) {
  17288. toLog = [e, e.stack];
  17289. }
  17290. Module.printErr('exception thrown: ' + toLog);
  17291. Module['quit'](1, e);
  17292. }
  17293. } finally {
  17294. calledMain = true;
  17295. }
  17296. }
  17297. /** @type {function(Array=)} */
  17298. function run(args) {
  17299. args = args || Module['arguments'];
  17300. if (preloadStartTime === null) preloadStartTime = Date.now();
  17301. if (runDependencies > 0) {
  17302. return;
  17303. }
  17304. writeStackCookie();
  17305. preRun();
  17306. if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
  17307. if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
  17308. function doRun() {
  17309. if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
  17310. Module['calledRun'] = true;
  17311. if (ABORT) return;
  17312. ensureInitRuntime();
  17313. preMain();
  17314. if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) {
  17315. Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms');
  17316. }
  17317. if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
  17318. if (Module['_main'] && shouldRunNow) Module['callMain'](args);
  17319. postRun();
  17320. }
  17321. if (Module['setStatus']) {
  17322. Module['setStatus']('Running...');
  17323. setTimeout(function() {
  17324. setTimeout(function() {
  17325. Module['setStatus']('');
  17326. }, 1);
  17327. doRun();
  17328. }, 1);
  17329. } else {
  17330. doRun();
  17331. }
  17332. checkStackCookie();
  17333. }
  17334. Module['run'] = Module.run = run;
  17335. function exit(status, implicit) {
  17336. if (implicit && Module['noExitRuntime']) {
  17337. Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)');
  17338. return;
  17339. }
  17340. if (Module['noExitRuntime']) {
  17341. Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)');
  17342. } else {
  17343. ABORT = true;
  17344. EXITSTATUS = status;
  17345. STACKTOP = initialStackTop;
  17346. exitRuntime();
  17347. if (Module['onExit']) Module['onExit'](status);
  17348. }
  17349. if (ENVIRONMENT_IS_NODE) {
  17350. process['exit'](status);
  17351. }
  17352. Module['quit'](status, new ExitStatus(status));
  17353. }
  17354. Module['exit'] = Module.exit = exit;
  17355. var abortDecorators = [];
  17356. function abort(what) {
  17357. if (Module['onAbort']) {
  17358. Module['onAbort'](what);
  17359. }
  17360. if (what !== undefined) {
  17361. Module.print(what);
  17362. Module.printErr(what);
  17363. what = JSON.stringify(what)
  17364. } else {
  17365. what = '';
  17366. }
  17367. ABORT = true;
  17368. EXITSTATUS = 1;
  17369. var extra = '';
  17370. var output = 'abort(' + what + ') at ' + stackTrace() + extra;
  17371. if (abortDecorators) {
  17372. abortDecorators.forEach(function(decorator) {
  17373. output = decorator(output, what);
  17374. });
  17375. }
  17376. throw output;
  17377. }
  17378. Module['abort'] = Module.abort = abort;
  17379. // {{PRE_RUN_ADDITIONS}}
  17380. if (Module['preInit']) {
  17381. if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
  17382. while (Module['preInit'].length > 0) {
  17383. Module['preInit'].pop()();
  17384. }
  17385. }
  17386. // shouldRunNow refers to calling main(), not run().
  17387. var shouldRunNow = true;
  17388. if (Module['noInitialRun']) {
  17389. shouldRunNow = false;
  17390. }
  17391. run();
  17392. // {{POST_RUN_ADDITIONS}}
  17393. // {{MODULE_ADDITIONS}}
  17394. return Module;
  17395. })();
  17396. (function () {
  17397. /**
  17398. * Kaidi ZHU <zhukaidi@souche.com> created at 2017-09-07 16:02:19 with ❤
  17399. *
  17400. * Copyright (c) 2017 Souche.com, all rights reserved.
  17401. */
  17402. 'use strict';
  17403. const binding = CRC_BASE;
  17404. const raw = {
  17405. crc64: binding.cwrap('crc64', 'null', [ 'number', 'number', 'number' ]),
  17406. crc64Init: binding.cwrap('crc64_init', 'null', []),
  17407. strToUint64Ptr: binding.cwrap('str_to_uint64', 'null', [ 'number', 'number' ]),
  17408. uint64PtrToStr: binding.cwrap('uint64_to_str', 'null', [ 'number', 'number' ])
  17409. };
  17410. raw.crc64Init();
  17411. function strToUint64Ptr(str) {
  17412. const strPtr = binding._malloc(str.length + 1);
  17413. binding.stringToUTF8(str, strPtr, str.length + 1);
  17414. const uint64Ptr = binding._malloc(8);
  17415. raw.strToUint64Ptr(strPtr, uint64Ptr);
  17416. binding._free(strPtr);
  17417. return uint64Ptr;
  17418. }
  17419. function uint64PtrToStr(uint64Ptr) {
  17420. const strPtr = binding._malloc(32);
  17421. raw.uint64PtrToStr(strPtr, uint64Ptr);
  17422. const str = binding.UTF8ToString(strPtr);
  17423. binding._free(strPtr);
  17424. return str;
  17425. }
  17426. function str2ab(str) {
  17427. var bytes = [];
  17428. var len, c, i;
  17429. len = str.length;
  17430. for (i = 0; i < len; i++) {
  17431. c = str.charCodeAt(i);
  17432. if (c >= 0x010000 && c <= 0x10FFFF) {
  17433. bytes.push(((c >> 18) & 0x07) | 0xF0);
  17434. bytes.push(((c >> 12) & 0x3F) | 0x80);
  17435. bytes.push(((c >> 6) & 0x3F) | 0x80);
  17436. bytes.push((c & 0x3F) | 0x80);
  17437. } else if (c >= 0x000800 && c <= 0x00FFFF) {
  17438. bytes.push(((c >> 12) & 0x0F) | 0xE0);
  17439. bytes.push(((c >> 6) & 0x3F) | 0x80);
  17440. bytes.push((c & 0x3F) | 0x80);
  17441. } else if (c >= 0x000080 && c <= 0x0007FF) {
  17442. bytes.push(((c >> 6) & 0x1F) | 0xC0);
  17443. bytes.push((c & 0x3F) | 0x80);
  17444. } else {
  17445. bytes.push(c & 0xFF);
  17446. }
  17447. }
  17448. var array = new Int8Array(bytes.length);
  17449. for (i in bytes) {
  17450. array[i] = bytes[i];
  17451. }
  17452. return array.buffer;
  17453. }
  17454. function size(buf) {
  17455. return buf instanceof ArrayBuffer ? buf.byteLength : buf.length;
  17456. }
  17457. function buffToPtr(buff) {
  17458. if (typeof buff === 'string') {
  17459. buff = str2ab(buff);
  17460. } else if(!buff instanceof ArrayBuffer) {
  17461. throw new Error('Invalid buffer type.');
  17462. }
  17463. const buffPtr = binding._malloc(size(buff));
  17464. var arr = new Uint8Array(buff);
  17465. binding.writeArrayToMemory(arr, buffPtr);
  17466. return buffPtr;
  17467. }
  17468. var CRC64 = {};
  17469. CRC64.crc64 = function(buff, prev) {
  17470. if(!prev) prev = '0';
  17471. if(typeof prev !== 'string' || !/\d+/.test(prev)) {
  17472. throw new Error('Invlid previous value.');
  17473. }
  17474. if (typeof buff === 'string') buff = str2ab(buff);
  17475. const prevPtr = strToUint64Ptr(prev);
  17476. const buffPtr = buffToPtr(buff);
  17477. raw.crc64(prevPtr, buffPtr, size(buff));
  17478. const ret = uint64PtrToStr(prevPtr);
  17479. binding._free(prevPtr);
  17480. binding._free(buffPtr);
  17481. return ret;
  17482. };
  17483. CRC64.file_crc64 = function (file, callback, progress) {
  17484. var chunkSize = 1024 * 1024 * 2;
  17485. var fileSize = file.size;
  17486. var prev = '0';
  17487. var canceled = false;
  17488. var next = function (index) {
  17489. var start = index * chunkSize;
  17490. var end = Math.min(start + chunkSize, fileSize);
  17491. if (canceled) return;
  17492. if (start >= fileSize) return callback(null, prev)
  17493. var reader = new FileReader();
  17494. reader.onload = function () {
  17495. var buf = this.result;
  17496. try {
  17497. prev = CRC64.crc64(buf, prev);
  17498. } catch (err) {
  17499. !canceled && callback && callback(err);
  17500. }
  17501. !canceled && progress && progress(Math.round(end / fileSize * 100) / 100)
  17502. next(index + 1);
  17503. };
  17504. var blob = file.slice(start, end);
  17505. reader.readAsArrayBuffer(blob);
  17506. };
  17507. next(0);
  17508. var ret = {
  17509. cancel: function () {
  17510. canceled = true;
  17511. },
  17512. };
  17513. return ret;
  17514. };
  17515. window.CRC64 = CRC64;
  17516. })();
  17517. })()