| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659103660103661103662103663103664103665103666103667103668103669103670103671103672103673103674103675103676103677103678103679103680103681103682103683103684103685103686103687103688103689103690103691103692103693103694103695103696103697103698103699103700103701103702103703103704103705103706103707103708103709103710103711103712103713103714103715103716103717103718103719103720103721103722103723103724103725103726103727103728103729103730103731103732103733103734103735103736103737103738103739103740103741103742103743103744103745103746103747103748103749103750103751103752103753103754103755103756103757103758103759103760103761103762103763103764103765103766103767103768103769103770103771103772103773103774103775103776103777103778103779103780103781103782103783103784103785103786103787103788103789103790103791103792103793103794103795103796103797103798103799103800103801103802103803103804103805103806103807103808103809103810103811103812103813103814103815103816103817103818103819103820103821103822103823103824103825103826103827103828103829103830103831103832103833103834103835103836103837103838103839103840103841103842103843103844103845103846103847103848103849103850103851103852103853103854103855103856103857103858103859103860103861103862103863103864103865103866103867103868103869103870103871103872103873103874103875103876103877103878103879103880103881103882103883103884103885103886103887103888103889103890103891103892103893103894103895103896103897103898103899103900103901103902103903103904103905103906103907103908103909103910103911103912103913103914103915103916103917103918103919103920103921103922103923103924103925103926103927103928103929103930103931103932103933103934103935103936103937103938103939103940103941103942103943103944103945103946103947103948103949103950103951103952103953103954103955103956103957103958103959103960103961103962103963103964103965103966103967103968103969103970103971103972103973103974103975103976103977103978103979103980103981103982103983103984103985103986103987103988103989103990103991103992103993103994103995103996103997103998103999104000104001104002104003104004104005104006104007104008104009104010104011104012104013104014104015104016104017104018104019104020104021104022104023104024104025104026104027104028104029104030104031104032104033104034104035104036104037104038104039104040104041104042104043104044104045104046104047104048104049104050104051104052104053104054104055104056104057104058104059104060104061104062104063104064104065104066104067104068104069104070104071104072104073104074104075104076104077104078104079104080104081104082104083104084104085104086104087104088104089104090104091104092104093104094104095104096104097104098104099104100104101104102104103104104104105104106104107104108104109104110104111104112104113104114104115104116104117104118104119104120104121104122104123104124104125104126104127104128104129104130104131104132104133104134104135104136104137104138104139104140104141104142104143104144104145104146104147104148104149104150104151104152104153104154104155104156104157104158104159104160104161104162104163104164104165104166104167104168104169104170104171104172104173104174104175104176104177104178104179104180104181104182104183104184104185104186104187104188104189104190104191104192104193104194104195104196104197104198104199104200104201104202104203104204104205104206104207104208104209104210104211104212104213104214104215104216104217104218104219104220104221104222104223104224104225104226104227104228104229104230104231104232104233104234104235104236104237104238104239104240104241104242104243104244104245104246104247104248104249104250104251104252104253104254104255104256104257104258104259104260104261104262104263104264104265104266104267104268104269104270104271104272104273104274104275104276104277104278104279104280104281104282104283104284104285104286104287104288104289104290104291104292104293104294104295104296104297104298104299104300104301104302104303104304104305104306104307104308104309104310104311104312104313104314104315104316104317104318104319104320104321104322104323104324104325104326104327104328104329104330104331104332104333104334104335104336104337104338104339104340104341104342104343104344104345104346104347104348104349104350104351104352104353104354104355104356104357104358104359104360104361104362104363104364104365104366104367104368104369104370104371104372104373104374104375104376104377104378104379104380104381104382104383104384104385104386104387104388104389104390104391104392104393104394104395104396104397104398104399104400104401104402104403104404104405104406104407104408104409104410104411104412104413104414104415104416104417104418104419104420104421104422104423104424104425104426104427104428104429104430104431104432104433104434104435104436104437104438104439104440104441104442104443104444104445104446104447104448104449104450104451104452104453104454104455104456104457104458104459104460104461104462104463104464104465104466104467104468104469104470104471104472104473104474104475104476104477104478104479104480104481104482104483104484104485104486104487104488104489104490104491104492104493104494104495104496104497104498104499104500104501104502104503104504104505104506104507104508104509104510104511104512104513104514104515104516104517104518104519104520104521104522104523104524104525104526104527104528104529104530104531104532104533104534104535104536104537104538104539104540104541104542104543104544104545104546104547104548104549104550104551104552104553104554104555104556104557104558104559104560104561104562104563104564104565104566104567104568104569104570104571104572104573104574104575104576104577104578104579104580104581104582104583104584104585104586104587104588104589104590104591104592104593104594104595104596104597104598104599104600104601104602104603104604104605104606104607104608104609104610104611104612104613104614104615104616104617104618104619104620104621104622104623104624104625104626104627104628104629104630104631104632104633104634104635104636104637104638104639104640104641104642104643104644104645104646104647104648104649104650104651104652104653104654104655104656104657104658104659104660104661104662104663104664104665104666104667104668104669104670104671104672104673104674104675104676104677104678104679104680104681104682104683104684104685104686104687104688104689104690104691104692104693104694104695104696104697104698104699104700104701104702104703104704104705104706104707104708104709104710104711104712104713104714104715104716104717104718104719104720104721104722104723104724104725104726104727104728104729104730104731104732104733104734104735104736104737104738104739104740104741104742104743104744104745104746104747104748104749104750104751104752104753104754104755104756104757104758104759104760104761104762104763104764104765104766104767104768104769104770104771104772104773104774104775104776104777104778104779104780104781104782104783104784104785104786104787104788104789104790104791104792104793104794104795104796104797104798104799104800104801104802104803104804104805104806104807104808104809104810104811104812104813104814104815104816104817104818104819104820104821104822104823104824104825104826104827104828104829104830104831104832104833104834104835104836104837104838104839104840104841104842104843104844104845104846104847104848104849104850104851104852104853104854104855104856104857104858104859104860104861104862104863104864104865104866104867104868104869104870104871104872104873104874104875104876104877104878104879104880104881104882104883104884104885104886104887104888104889104890104891104892104893104894104895104896104897104898104899104900104901104902104903104904104905104906104907104908104909104910104911104912104913104914104915104916104917104918104919104920104921104922104923104924104925104926104927104928104929104930104931104932104933104934104935104936104937104938104939104940104941104942104943104944104945104946104947104948104949104950104951104952104953104954104955104956104957104958104959104960104961104962104963104964104965104966104967104968104969104970104971104972104973104974104975104976104977104978104979104980104981104982104983104984104985104986104987104988104989104990104991104992104993104994104995104996104997104998104999105000105001105002105003105004105005105006105007105008105009105010105011105012105013105014105015105016105017105018105019105020105021105022105023105024105025105026105027105028105029105030105031105032105033105034105035105036105037105038105039105040105041105042105043105044105045105046105047105048105049105050105051105052105053105054105055105056105057105058105059105060105061105062105063105064105065105066105067105068105069105070105071105072105073105074105075105076105077105078105079105080105081105082105083105084105085105086105087105088105089105090105091105092105093105094105095105096105097105098105099105100105101105102105103105104105105105106105107105108105109105110105111105112105113105114105115105116105117105118105119105120105121105122105123105124105125105126105127105128105129105130105131105132105133105134105135105136105137105138105139105140105141105142105143105144105145105146105147105148105149105150105151105152105153105154105155105156105157105158105159105160105161105162105163105164105165105166105167105168105169105170105171105172105173105174105175105176105177105178105179105180105181105182105183105184105185105186105187105188105189105190105191105192105193105194105195105196105197105198105199105200105201105202105203105204105205105206105207105208105209105210105211105212105213105214105215105216105217105218105219105220105221105222105223105224105225105226105227105228105229105230105231105232105233105234105235105236105237105238105239105240105241105242105243105244105245105246105247105248105249105250105251105252105253105254105255105256105257105258105259105260105261105262105263105264105265105266105267105268105269105270105271105272105273105274105275105276105277105278105279105280105281105282105283105284105285105286105287105288105289105290105291105292105293105294105295105296105297105298105299105300105301105302105303105304105305105306105307105308105309105310105311105312105313105314105315105316105317105318105319105320105321105322105323105324105325105326105327105328105329105330105331105332105333105334105335105336105337105338105339105340105341105342105343105344105345105346105347105348105349105350105351105352105353105354105355105356105357105358105359105360105361105362105363105364105365105366105367105368105369105370105371105372105373105374105375105376105377105378105379105380105381105382105383105384105385105386105387105388105389105390105391105392105393105394105395105396105397105398105399105400105401105402105403105404105405105406105407105408105409105410105411105412105413105414105415105416105417105418105419105420105421105422105423105424105425105426105427105428105429105430105431105432105433105434105435105436105437105438105439105440105441105442105443105444105445105446105447105448105449105450105451105452105453105454105455105456105457105458105459105460105461105462105463105464105465105466105467105468105469105470105471105472105473105474105475105476105477105478105479105480105481105482105483105484105485105486105487105488105489105490105491105492105493105494105495105496105497105498105499105500105501105502105503105504105505105506105507105508105509105510105511105512105513105514105515105516105517105518105519105520105521105522105523105524105525105526105527105528105529105530105531105532105533105534105535105536105537105538105539105540105541105542105543105544105545105546105547105548105549105550105551105552105553105554105555105556105557105558105559105560105561105562105563105564105565105566105567105568105569105570105571105572105573105574105575105576105577105578105579105580105581105582105583105584105585105586105587105588105589105590105591105592105593105594105595105596105597105598105599105600105601105602105603105604105605105606105607105608105609105610105611105612105613105614105615105616105617105618105619105620105621105622105623105624105625105626105627105628105629105630105631105632105633105634105635105636105637105638105639105640105641105642105643105644105645105646105647105648105649105650105651105652105653105654105655105656105657105658105659105660105661105662105663105664105665105666105667105668105669105670105671105672105673105674105675105676105677105678105679105680105681105682105683105684105685105686105687105688105689105690105691105692105693105694105695105696105697105698105699105700105701105702105703105704105705105706105707105708105709105710105711105712105713105714105715105716105717105718105719105720105721105722105723105724105725105726105727105728105729105730105731105732105733105734105735105736105737105738105739105740105741105742105743105744105745105746105747105748105749105750105751105752105753105754105755105756105757105758105759105760105761105762105763105764105765105766105767105768105769105770105771105772105773105774105775105776105777105778105779105780105781105782105783105784105785105786105787105788105789105790105791105792105793105794105795105796105797105798105799105800105801105802105803105804105805105806105807105808105809105810105811105812105813105814105815105816105817105818105819105820105821105822105823105824105825105826105827105828105829105830105831105832105833105834105835105836105837105838105839105840105841105842105843105844105845105846105847105848105849105850105851105852105853105854105855105856105857105858105859105860105861105862105863105864105865105866105867105868105869105870105871105872105873105874105875105876105877105878105879105880105881105882105883105884105885105886105887105888105889105890105891105892105893105894105895105896105897105898105899105900105901105902105903105904105905105906105907105908105909105910105911105912105913105914105915105916105917105918105919105920105921105922105923105924105925105926105927105928105929105930105931105932105933105934105935105936105937105938105939105940105941105942105943105944105945105946105947105948105949105950105951105952105953105954105955105956105957105958105959105960105961105962105963105964105965105966105967105968105969105970105971105972105973105974105975105976105977105978105979105980105981105982105983105984105985105986105987105988105989105990105991105992105993105994105995105996105997105998105999106000106001106002106003106004106005106006106007106008106009106010106011106012106013106014106015106016106017106018106019106020106021106022106023106024106025106026106027106028106029106030106031106032106033106034106035106036106037106038106039106040106041106042106043106044106045106046106047106048106049106050106051106052106053106054106055106056106057106058106059106060106061106062106063106064106065106066106067106068106069106070106071106072106073106074106075106076106077106078106079106080106081106082106083106084106085106086106087106088106089106090106091106092106093106094106095106096106097106098106099106100106101106102106103106104106105106106106107106108106109106110106111106112106113106114106115106116106117106118106119106120106121106122106123106124106125106126106127106128106129106130106131106132106133106134106135106136106137106138106139106140106141106142106143106144106145106146106147106148106149106150106151106152106153106154106155106156106157106158106159106160106161106162106163106164106165106166106167106168106169106170106171106172106173106174106175106176106177106178106179106180106181106182106183106184106185106186106187106188106189106190106191106192106193106194106195106196106197106198106199106200106201106202106203106204106205106206106207106208106209106210106211106212106213106214106215106216106217106218106219106220106221106222106223106224106225106226106227106228106229106230106231106232106233106234106235106236106237106238106239106240106241106242106243106244106245106246106247106248106249106250106251106252106253106254106255106256106257106258106259106260106261106262106263106264106265106266106267106268106269106270106271106272106273106274106275106276106277106278106279106280106281106282106283106284106285106286106287106288106289106290106291106292106293106294106295106296106297106298106299106300106301106302106303106304106305106306106307106308106309106310106311106312106313106314106315106316106317106318106319106320106321106322106323106324106325106326106327106328106329106330106331106332106333106334106335106336106337106338106339106340106341106342106343106344106345106346106347106348106349106350106351106352106353106354106355106356106357106358106359106360106361106362106363106364106365106366106367106368106369106370106371106372106373106374106375106376106377106378106379106380106381106382106383106384106385106386106387106388106389106390106391106392106393106394106395106396106397106398106399106400106401106402106403106404106405106406106407106408106409106410106411106412106413106414106415106416106417106418106419106420106421106422106423106424106425106426106427106428106429106430106431106432106433106434106435106436106437106438106439106440106441106442106443106444106445106446106447106448106449106450106451106452106453106454106455106456106457106458106459106460106461106462106463106464106465106466106467106468106469106470106471106472106473106474106475106476106477106478106479106480106481106482106483106484106485106486106487106488106489106490106491106492106493106494106495106496106497106498106499106500106501106502106503106504106505106506106507106508106509106510106511106512106513106514106515106516106517106518106519106520106521106522106523106524106525106526106527106528106529106530106531106532106533106534106535106536106537106538106539106540106541106542106543106544106545106546106547106548106549106550106551106552106553106554106555106556106557106558106559106560106561106562106563106564106565106566106567106568106569106570106571106572106573106574106575106576106577106578106579106580106581106582106583106584106585106586106587106588106589106590106591106592106593106594106595106596106597106598106599106600106601106602106603106604106605106606106607106608106609106610106611106612106613106614106615106616106617106618106619106620106621106622106623106624106625106626106627106628106629106630106631106632106633106634106635106636106637106638106639106640106641106642106643106644106645106646106647106648106649106650106651106652106653106654106655106656106657106658106659106660106661106662106663106664106665106666106667106668106669106670106671106672106673106674106675106676106677106678106679106680106681106682106683106684106685106686106687106688106689106690106691106692106693106694106695106696106697106698106699106700106701106702106703106704106705106706106707106708106709106710106711106712106713106714106715106716106717106718106719106720106721106722106723106724106725106726106727106728106729106730106731106732106733106734106735106736106737106738106739106740106741106742106743106744106745106746106747106748106749106750106751106752106753106754106755106756106757106758106759106760106761106762106763106764106765106766106767106768106769106770106771106772106773106774106775106776106777106778106779106780106781106782106783106784106785106786106787106788106789106790106791106792106793106794106795106796106797106798106799106800106801106802106803106804106805106806106807106808106809106810106811106812106813106814106815106816106817106818106819106820106821106822106823106824106825106826106827106828106829106830106831106832106833106834106835106836106837106838106839106840106841106842106843106844106845106846106847106848106849106850106851106852106853106854106855106856106857106858106859106860106861106862106863106864106865106866106867106868106869106870106871106872106873106874106875106876106877106878106879106880106881106882106883106884106885106886106887106888106889106890106891106892106893106894106895106896106897106898106899106900106901106902106903106904106905106906106907106908106909106910106911106912106913106914106915106916106917106918106919106920106921106922106923106924106925106926106927106928106929106930106931106932106933106934106935106936106937106938106939106940106941106942106943106944106945106946106947106948106949106950106951106952106953106954106955106956106957106958106959106960106961106962106963106964106965106966106967106968106969106970106971106972106973106974106975106976106977106978106979106980106981106982106983106984106985106986106987106988106989106990106991106992106993106994106995106996106997106998106999107000107001107002107003107004107005107006107007107008107009107010107011107012107013107014107015107016107017107018107019107020107021107022107023107024107025107026107027107028107029107030107031107032107033107034107035107036107037107038107039107040107041107042107043107044107045107046107047107048107049107050107051107052107053107054107055107056107057107058107059107060107061107062107063107064107065107066107067107068107069107070107071107072107073107074107075107076107077107078107079107080107081107082107083107084107085107086107087107088107089107090107091107092107093107094107095107096107097107098107099107100107101107102107103107104107105107106107107107108107109107110107111107112107113107114107115107116107117107118107119107120107121107122107123107124107125107126107127107128107129107130107131107132107133107134107135107136107137107138107139107140107141107142107143107144107145107146107147107148107149107150107151107152107153107154107155107156107157107158107159107160107161107162107163107164107165107166107167107168107169107170107171107172107173107174107175107176107177107178107179107180107181107182107183107184107185107186107187107188107189107190107191107192107193107194107195107196107197107198107199107200107201107202107203107204107205107206107207107208107209107210107211107212107213107214107215107216107217107218107219107220107221107222107223107224107225107226107227107228107229107230107231107232107233107234107235107236107237107238107239107240107241107242107243107244107245107246107247107248107249107250107251107252107253107254107255107256107257107258107259107260107261107262107263107264107265107266107267107268107269107270107271107272107273107274107275107276107277107278107279107280107281107282107283107284107285107286107287107288107289107290107291107292107293107294107295107296107297107298107299107300107301107302107303107304107305107306107307107308107309107310107311107312107313107314107315107316107317107318107319107320107321107322107323107324107325107326107327107328107329107330107331107332107333107334107335107336107337107338107339107340107341107342107343107344107345107346107347107348107349107350107351107352107353107354107355107356107357107358107359107360107361107362107363107364107365107366107367107368107369107370107371107372107373107374107375107376107377107378107379107380107381107382107383107384107385107386107387107388107389107390107391107392107393107394107395107396107397107398107399107400107401107402107403107404107405107406107407107408107409107410107411107412107413107414107415107416107417107418107419107420107421107422107423107424107425107426107427107428107429107430107431107432107433107434107435107436107437107438107439107440107441107442107443107444107445107446107447107448107449107450107451107452107453107454107455107456107457107458107459107460107461107462107463107464107465107466107467107468107469107470107471107472107473107474107475107476107477107478107479107480107481107482107483107484107485107486107487107488107489107490107491107492107493107494107495107496107497107498107499107500107501107502107503107504107505107506107507107508107509107510107511107512107513107514107515107516107517107518107519107520107521107522107523107524107525107526107527107528107529107530107531107532107533107534107535107536107537107538107539107540107541107542107543107544107545107546107547107548107549107550107551107552107553107554107555107556107557107558107559107560107561107562107563107564107565107566107567107568107569107570107571107572107573107574107575107576107577107578107579107580107581107582107583107584107585107586107587107588107589107590107591107592107593107594107595107596107597107598107599107600107601107602107603107604107605107606107607107608107609107610107611107612107613107614107615107616107617107618107619107620107621107622107623107624107625107626107627107628107629107630107631107632107633107634107635107636107637107638107639107640107641107642107643107644107645107646107647107648107649107650107651107652107653107654107655107656107657107658107659107660107661107662107663107664107665107666107667107668107669107670107671107672107673107674107675107676107677107678107679107680107681107682107683107684107685107686107687107688107689107690107691107692107693107694107695107696107697107698107699107700107701107702107703107704107705107706107707107708107709107710107711107712107713107714107715107716107717107718107719107720107721107722107723107724107725107726107727107728107729107730107731107732107733107734107735107736107737107738107739107740107741107742107743107744107745107746107747107748107749107750107751107752107753107754107755107756107757107758107759107760107761107762107763107764107765107766107767107768107769107770107771107772107773107774107775107776107777107778107779107780107781107782107783107784107785107786107787107788107789107790107791107792107793107794107795107796107797107798107799107800107801107802107803107804107805107806107807107808107809107810107811107812107813107814107815107816107817107818107819107820107821107822107823107824107825107826107827107828107829107830107831107832107833107834107835107836107837107838107839107840107841107842107843107844107845107846107847107848107849107850107851107852107853107854107855107856107857107858107859107860107861107862107863107864107865107866107867107868107869107870107871107872107873107874107875107876107877107878107879107880107881107882107883107884107885107886107887107888107889107890107891107892107893107894107895107896107897107898107899107900107901107902107903107904107905107906107907107908107909107910107911107912107913107914107915107916107917107918107919107920107921107922107923107924107925107926107927107928107929107930107931107932107933107934107935107936107937107938107939107940107941107942107943107944107945107946107947107948107949107950107951107952107953107954107955107956107957107958107959107960107961107962107963107964107965107966107967107968107969107970107971107972107973107974107975107976107977107978107979107980107981107982107983107984107985107986107987107988107989107990107991107992107993107994107995107996107997107998107999108000108001108002108003108004108005108006108007108008108009108010108011108012108013108014108015108016108017108018108019108020108021108022108023108024108025108026108027108028108029108030108031108032108033108034108035108036108037108038108039108040108041108042108043108044108045108046108047108048108049108050108051108052108053108054108055108056108057108058108059108060108061108062108063108064108065108066108067108068108069108070108071108072108073108074108075108076108077108078108079108080108081108082108083108084108085108086108087108088108089108090108091108092108093108094108095108096108097108098108099108100108101108102108103108104108105108106108107108108108109108110108111108112108113108114108115108116108117108118108119108120108121108122108123108124108125108126108127108128108129108130108131108132108133108134108135108136108137108138108139108140108141108142108143108144108145108146108147108148108149108150108151108152108153108154108155108156108157108158108159108160108161108162108163108164108165108166108167108168108169108170108171108172108173108174108175108176108177108178108179108180108181108182108183108184108185108186108187108188108189108190108191108192108193108194108195108196108197108198108199108200108201108202108203108204108205108206108207108208108209108210108211108212108213108214108215108216108217108218108219108220108221108222108223108224108225108226108227108228108229108230108231108232108233108234108235108236108237108238108239108240108241108242108243108244108245108246108247108248108249108250108251108252108253108254108255108256108257108258108259108260108261108262108263108264108265108266108267108268108269108270108271108272108273108274108275108276108277108278108279108280108281108282108283108284108285108286108287108288108289108290108291108292108293108294108295108296108297108298108299108300108301108302108303108304108305108306108307108308108309108310108311108312108313108314108315108316108317108318108319108320108321108322108323108324108325108326108327108328108329108330108331108332108333108334108335108336108337108338108339108340108341108342108343108344108345108346108347108348108349108350108351108352108353108354108355108356108357108358108359108360108361108362108363108364108365108366108367108368108369108370108371108372108373108374108375108376108377108378108379108380108381108382108383108384108385108386108387108388108389108390108391108392108393108394108395108396108397108398108399108400108401108402108403108404108405108406108407108408108409108410108411108412108413108414108415108416108417108418108419108420108421108422108423108424108425108426108427108428108429108430108431108432108433108434108435108436108437108438108439108440108441108442108443108444108445108446108447108448108449108450108451108452108453108454108455108456108457108458108459108460108461108462108463108464108465108466108467108468108469108470108471108472108473108474108475108476108477108478108479108480108481108482108483108484108485108486108487108488108489108490108491108492108493108494108495108496108497108498108499108500108501108502108503108504108505108506108507108508108509108510108511108512108513108514108515108516108517108518108519108520108521108522108523108524108525108526108527108528108529108530108531108532108533108534108535108536108537108538108539108540108541108542108543108544108545108546108547108548108549108550108551108552108553108554108555108556108557108558108559108560108561108562108563108564108565108566108567108568108569108570108571108572108573108574108575108576108577108578108579108580108581108582108583108584108585108586108587108588108589108590108591108592108593108594108595108596108597108598108599108600108601108602108603108604108605108606108607108608108609108610108611108612108613108614108615108616108617108618108619108620108621108622108623108624108625108626108627108628108629108630108631108632108633108634108635108636108637108638108639108640108641108642108643108644108645108646108647108648108649108650108651108652108653108654108655108656108657108658108659108660108661108662108663108664108665108666108667108668108669108670108671108672108673108674108675108676108677108678108679108680108681108682108683108684108685108686108687108688108689108690108691108692108693108694108695108696108697108698108699108700108701108702108703108704108705108706108707108708108709108710108711108712108713108714108715108716108717108718108719108720108721108722108723108724108725108726108727108728108729108730108731108732108733108734108735108736108737108738108739108740108741108742108743108744108745108746108747108748108749108750108751108752108753108754108755108756108757108758108759108760108761108762108763108764108765108766108767108768108769108770108771108772108773108774108775108776108777108778108779108780108781108782108783108784108785108786108787108788108789108790108791108792108793108794108795108796108797108798108799108800108801108802108803108804108805108806108807108808108809108810108811108812108813108814108815108816108817108818108819108820108821108822108823108824108825108826108827108828108829108830108831108832108833108834108835108836108837108838108839108840108841108842108843108844108845108846108847108848108849108850108851108852108853108854108855108856108857108858108859108860108861108862108863108864108865108866108867108868108869108870108871108872108873108874108875108876108877108878108879108880108881108882108883108884108885108886108887108888108889108890108891108892108893108894108895108896108897108898108899108900108901108902108903108904108905108906108907108908108909108910108911108912108913108914108915108916108917108918108919108920108921108922108923108924108925108926108927108928108929108930108931108932108933108934108935108936108937108938108939108940108941108942108943108944108945108946108947108948108949108950108951108952108953108954108955108956108957108958108959108960108961108962108963108964108965108966108967108968108969108970108971108972108973108974108975108976108977108978108979108980108981108982108983108984108985108986108987108988108989108990108991108992108993108994108995108996108997108998108999109000109001109002109003109004109005109006109007109008109009109010109011109012109013109014109015109016109017109018109019109020109021109022109023109024109025109026109027109028109029109030109031109032109033109034109035109036109037109038109039109040109041109042109043109044109045109046109047109048109049109050109051109052109053109054109055109056109057109058109059109060109061109062109063109064109065109066109067109068109069109070109071109072109073109074109075109076109077109078109079109080109081109082109083109084109085109086109087109088109089109090109091109092109093109094109095109096109097109098109099109100109101109102109103109104109105109106109107109108109109109110109111109112109113109114109115109116109117109118109119109120109121109122109123109124109125109126109127109128109129109130109131109132109133109134109135109136109137109138109139109140109141109142109143109144109145109146109147109148109149109150109151109152109153109154109155109156109157109158109159109160109161109162109163109164109165109166109167109168109169109170109171109172109173109174109175109176109177109178109179109180109181109182109183109184109185109186109187109188109189109190109191109192109193109194109195109196109197109198109199109200109201109202109203109204109205109206109207109208109209109210109211109212109213109214109215109216109217109218109219109220109221109222109223109224109225109226109227109228109229109230109231109232109233109234109235109236109237109238109239109240109241109242109243109244109245109246109247109248109249109250109251109252109253109254109255109256109257109258109259109260109261109262109263109264109265109266109267109268109269109270109271109272109273109274109275109276109277109278109279109280109281109282109283109284109285109286109287109288109289109290109291109292109293109294109295109296109297109298109299109300109301109302109303109304109305109306109307109308109309109310109311109312109313109314109315109316109317109318109319109320109321109322109323109324109325109326109327109328109329109330109331109332109333109334109335109336109337109338109339109340109341109342109343109344109345109346109347109348109349109350109351109352109353109354109355109356109357109358109359109360109361109362109363109364109365109366109367109368109369109370109371109372109373109374109375109376109377109378109379109380109381109382109383109384109385109386109387109388109389109390109391109392109393109394109395109396109397109398109399109400109401109402109403109404109405109406109407109408109409109410109411109412109413109414109415109416109417109418109419109420109421109422109423109424109425109426109427109428109429109430109431109432109433109434109435109436109437109438109439109440109441109442109443109444109445109446109447109448109449109450109451109452109453109454109455109456109457109458109459109460109461109462109463109464109465109466109467109468109469109470109471109472109473109474109475109476109477109478109479109480109481109482109483109484109485109486109487109488109489109490109491109492109493109494109495109496109497109498109499109500109501109502109503109504109505109506109507109508109509109510109511109512109513109514109515109516109517109518109519109520109521109522109523109524109525109526109527109528109529109530109531109532109533109534109535109536109537109538109539109540109541109542109543109544109545109546109547109548109549109550109551109552109553109554109555109556109557109558109559109560109561109562109563109564109565109566109567109568109569109570109571109572109573109574109575109576109577109578109579109580109581109582109583109584109585109586109587109588109589109590109591109592109593109594109595109596109597109598109599109600109601109602109603109604109605109606109607109608109609109610109611109612109613109614109615109616109617109618109619109620109621109622109623109624109625109626109627109628109629109630109631109632109633109634109635109636109637109638109639109640109641109642109643109644109645109646109647109648109649109650109651109652109653109654109655109656109657109658109659109660109661109662109663109664109665109666109667109668109669109670109671109672109673109674109675109676109677109678109679109680109681109682109683109684109685109686109687109688109689109690109691109692109693109694109695109696109697109698109699109700109701109702109703109704109705109706109707109708109709109710109711109712109713109714109715109716109717109718109719109720109721109722109723109724109725109726109727109728109729109730109731109732109733109734109735109736109737109738109739109740109741109742109743109744109745109746109747109748109749109750109751109752109753109754109755109756109757109758109759109760109761109762109763109764109765109766109767109768109769109770109771109772109773109774109775109776109777109778109779109780109781109782109783109784109785109786109787109788109789109790109791109792109793109794109795109796109797109798109799109800109801109802109803109804109805109806109807109808109809109810109811109812109813109814109815109816109817109818109819109820109821109822109823109824109825109826109827109828109829109830109831109832109833109834109835109836109837109838109839109840109841109842109843109844109845109846109847109848109849109850109851109852109853109854109855109856109857109858109859109860109861109862109863109864109865109866109867109868109869109870109871109872109873109874109875109876109877109878109879109880109881109882109883109884109885109886109887109888109889109890109891109892109893109894109895109896109897109898109899109900109901109902109903109904109905109906109907109908109909109910109911109912109913109914109915109916109917109918109919109920109921109922109923109924109925109926109927109928109929109930109931109932109933109934109935109936109937109938109939109940109941109942109943109944109945109946109947109948109949109950109951109952109953109954109955109956109957109958109959109960109961109962109963109964109965109966109967109968109969109970109971109972109973109974109975109976109977109978109979109980109981109982109983109984109985109986109987109988109989109990109991109992109993109994109995109996109997109998109999110000110001110002110003110004110005110006110007110008110009110010110011110012110013110014110015110016110017110018110019110020110021110022110023110024110025110026110027110028110029110030110031110032110033110034110035110036110037110038110039110040110041110042110043110044110045110046110047110048110049110050110051110052110053110054110055110056110057110058110059110060110061110062110063110064110065110066110067110068110069110070110071110072110073110074110075110076110077110078110079110080110081110082110083110084110085110086110087110088110089110090110091110092110093110094110095110096110097110098110099110100110101110102110103110104110105110106110107110108110109110110110111110112110113110114110115110116110117110118110119110120110121110122110123110124110125110126110127110128110129110130110131110132110133110134110135110136110137110138110139110140110141110142110143110144110145110146110147110148110149110150110151110152110153110154110155110156110157110158110159110160110161110162110163110164110165110166110167110168110169110170110171110172110173110174110175110176110177110178110179110180110181110182110183110184110185110186110187110188110189110190110191110192110193110194110195110196110197110198110199110200110201110202110203110204110205110206110207110208110209110210110211110212110213110214110215110216110217110218110219110220110221110222110223110224110225110226110227110228110229110230110231110232110233110234110235110236110237110238110239110240110241110242110243110244110245110246110247110248110249110250110251110252110253110254110255110256110257110258110259110260110261110262110263110264110265110266110267110268110269110270110271110272110273110274110275110276110277110278110279110280110281110282110283110284110285110286110287110288110289110290110291110292110293110294110295110296110297110298110299110300110301110302110303110304110305110306110307110308110309110310110311110312110313110314110315110316110317110318110319110320110321110322110323110324110325110326110327110328110329110330110331110332110333110334110335110336110337110338110339110340110341110342110343110344110345110346110347110348110349110350110351110352110353110354110355110356110357110358110359110360110361110362110363110364110365110366110367110368110369110370110371110372110373110374110375110376110377110378110379110380110381110382110383110384110385110386110387110388110389110390110391110392110393110394110395110396110397110398110399110400110401110402110403110404110405110406110407110408110409110410110411110412110413110414110415110416110417110418110419110420110421110422110423110424110425110426110427110428110429110430110431110432110433110434110435110436110437110438110439110440110441110442110443110444110445110446110447110448110449110450110451110452110453110454110455110456110457110458110459110460110461110462110463110464110465110466110467110468110469110470110471110472110473110474110475110476110477110478110479110480110481110482110483110484110485110486110487110488110489110490110491110492110493110494110495110496110497110498110499110500110501110502110503110504110505110506110507110508110509110510110511110512110513110514110515110516110517110518110519110520110521110522110523110524110525110526110527110528110529110530110531110532110533110534110535110536110537110538110539110540110541110542110543110544110545110546110547110548110549110550110551110552110553110554110555110556110557110558110559110560110561110562110563110564110565110566110567110568110569110570110571110572110573110574110575110576110577110578110579110580110581110582110583110584110585110586110587110588110589110590110591110592110593110594110595110596110597110598110599110600110601110602110603110604110605110606110607110608110609110610110611110612110613110614110615110616110617110618110619110620110621110622110623110624110625110626110627110628110629110630110631110632110633110634110635110636110637110638110639110640110641110642110643110644110645110646110647110648110649110650110651110652110653110654110655110656110657110658110659110660110661110662110663110664110665110666110667110668110669110670110671110672110673110674110675110676110677110678110679110680110681110682110683110684110685110686110687110688110689110690110691110692110693110694110695110696110697110698110699110700110701110702110703110704110705110706110707110708110709110710110711110712110713110714110715110716110717110718110719110720110721110722110723110724110725110726110727110728110729110730110731110732110733110734110735110736110737110738110739110740110741110742110743110744110745110746110747110748110749110750110751110752110753110754110755110756110757110758110759110760110761110762110763110764110765110766110767110768110769110770110771110772110773110774110775110776110777110778110779110780110781110782110783110784110785110786110787110788110789110790110791110792110793110794110795110796110797110798110799110800110801110802110803110804110805110806110807110808110809110810110811110812110813110814110815110816110817110818110819110820110821110822110823110824110825110826110827110828110829110830110831110832110833110834110835110836110837110838110839110840110841110842110843110844110845110846110847110848110849110850110851110852110853110854110855110856110857110858110859110860110861110862110863110864110865110866110867110868110869110870110871110872110873110874110875110876110877110878110879110880110881110882110883110884110885110886110887110888110889110890110891110892110893110894110895110896110897110898110899110900110901110902110903110904110905110906110907110908110909110910110911110912110913110914110915110916110917110918110919110920110921110922110923110924110925110926110927110928110929110930110931110932110933110934110935110936110937110938110939110940110941110942110943110944110945110946110947110948110949110950110951110952110953110954110955110956110957110958110959110960110961110962110963110964110965110966110967110968110969110970110971110972110973110974110975110976110977110978110979110980110981110982110983110984110985110986110987110988110989110990110991110992110993110994110995110996110997110998110999111000111001111002111003111004111005111006111007111008111009111010111011111012111013111014111015111016111017111018111019111020111021111022111023111024111025111026111027111028111029111030111031111032111033111034111035111036111037111038111039111040111041111042111043111044111045111046111047111048111049111050111051111052111053111054111055111056111057111058111059111060111061111062111063111064111065111066111067111068111069111070111071111072111073111074111075111076111077111078111079111080111081111082111083111084111085111086111087111088111089111090111091111092111093111094111095111096111097111098111099111100111101111102111103111104111105111106111107111108111109111110111111111112111113111114111115111116111117111118111119111120111121111122111123111124111125111126111127111128111129111130111131111132111133111134111135111136111137111138111139111140111141111142111143111144111145111146111147111148111149111150111151111152111153111154111155111156111157111158111159111160111161111162111163111164111165111166111167111168111169111170111171111172111173111174111175111176111177111178111179111180111181111182111183111184111185111186111187111188111189111190111191111192111193111194111195111196111197111198111199111200111201111202111203111204111205111206111207111208111209111210111211111212111213111214111215111216111217111218111219111220111221111222111223111224111225111226111227111228111229111230111231111232111233111234111235111236111237111238111239111240111241111242111243111244111245111246111247111248111249111250111251111252111253111254111255111256111257111258111259111260111261111262111263111264111265111266111267111268111269111270111271111272111273111274111275111276111277111278111279111280111281111282111283111284111285111286111287111288111289111290111291111292111293111294111295111296111297111298111299111300111301111302111303111304111305111306111307111308111309111310111311111312111313111314111315111316111317111318111319111320111321111322111323111324111325111326111327111328111329111330111331111332111333111334111335111336111337111338111339111340111341111342111343111344111345111346111347111348111349111350111351111352111353111354111355111356111357111358111359111360111361111362111363111364111365111366111367111368111369111370111371111372111373111374111375111376111377111378111379111380111381111382111383111384111385111386111387111388111389111390111391111392111393111394111395111396111397111398111399111400111401111402111403111404111405111406111407111408111409111410111411111412111413111414111415111416111417111418111419111420111421111422111423111424111425111426111427111428111429111430111431111432111433111434111435111436111437111438111439111440111441111442111443111444111445111446111447111448111449111450111451111452111453111454111455111456111457111458111459111460111461111462111463111464111465111466111467111468111469111470111471111472111473111474111475111476111477111478111479111480111481111482111483111484111485111486111487111488111489111490111491111492111493111494111495111496111497111498111499111500111501111502111503111504111505111506111507111508111509111510111511111512111513111514111515111516111517111518111519111520111521111522111523111524111525111526111527111528111529111530111531111532111533111534111535111536111537111538111539111540111541111542111543111544111545111546111547111548111549111550111551111552111553111554111555111556111557111558111559111560111561111562111563111564111565111566111567111568111569111570111571111572111573111574111575111576111577111578111579111580111581111582111583111584111585111586111587111588111589111590111591111592111593111594111595111596111597111598111599111600111601111602111603111604111605111606111607111608111609111610111611111612111613111614111615111616111617111618111619111620111621111622111623111624111625111626111627111628111629111630111631111632111633111634111635111636111637111638111639111640111641111642111643111644111645111646111647111648111649111650111651111652111653111654111655111656111657111658111659111660111661111662111663111664111665111666111667111668111669111670111671111672111673111674111675111676111677111678111679111680111681111682111683111684111685111686111687111688111689111690111691111692111693111694111695111696111697111698111699111700111701111702111703111704111705111706111707111708111709111710111711111712111713111714111715111716111717111718111719111720111721111722111723111724111725111726111727111728111729111730111731111732111733111734111735111736111737111738111739111740111741111742111743111744111745111746111747111748111749111750111751111752111753111754111755111756111757111758111759111760111761111762111763111764111765111766111767111768111769111770111771111772111773111774111775111776111777111778111779111780111781111782111783111784111785111786111787111788111789111790111791111792111793111794111795111796111797111798111799111800111801111802111803111804111805111806111807111808111809111810111811111812111813111814111815111816111817111818111819111820111821111822111823111824111825111826111827111828111829111830111831111832111833111834111835111836111837111838111839111840111841111842111843111844111845111846111847111848111849111850111851111852111853111854111855111856111857111858111859111860111861111862111863111864111865111866111867111868111869111870111871111872111873111874111875111876111877111878111879111880111881111882111883111884111885111886111887111888111889111890111891111892111893111894111895111896111897111898111899111900111901111902111903111904111905111906111907111908111909111910111911111912111913111914111915111916111917111918111919111920111921111922111923111924111925111926111927111928111929111930111931111932111933111934111935111936111937111938111939111940111941111942111943111944111945111946111947111948111949111950111951111952111953111954111955111956111957111958111959111960111961111962111963111964111965111966111967111968111969111970111971111972111973111974111975111976111977111978111979111980111981111982111983111984111985111986111987111988111989111990111991111992111993111994111995111996111997111998111999112000112001112002112003112004112005112006112007112008112009112010112011112012112013112014112015112016112017112018112019112020112021112022112023112024112025112026112027112028112029112030112031112032112033112034112035112036112037112038112039112040112041112042112043112044112045112046112047112048112049112050112051112052112053112054112055112056112057112058112059112060112061112062112063112064112065112066112067112068112069112070112071112072112073112074112075112076112077112078112079112080112081112082112083112084112085112086112087112088112089112090112091112092112093112094112095112096112097112098112099112100112101112102112103112104112105112106112107112108112109112110112111112112112113112114112115112116112117112118112119112120112121112122112123112124112125112126112127112128112129112130112131112132112133112134112135112136112137112138112139112140112141112142112143112144112145112146112147112148112149112150112151112152112153112154112155112156112157112158112159112160112161112162112163112164112165112166112167112168112169112170112171112172112173112174112175112176112177112178112179112180112181112182112183112184112185112186112187112188112189112190112191112192112193112194112195112196112197112198112199112200112201112202112203112204112205112206112207112208112209112210112211112212112213112214112215112216112217112218112219112220112221112222112223112224112225112226112227112228112229112230112231112232112233112234112235112236112237112238112239112240112241112242112243112244112245112246112247112248112249112250112251112252112253112254112255112256112257112258112259112260112261112262112263112264112265112266112267112268112269112270112271112272112273112274112275112276112277112278112279112280112281112282112283112284112285112286112287112288112289112290112291112292112293112294112295112296112297112298112299112300112301112302112303112304112305112306112307112308112309112310112311112312112313112314112315112316112317112318112319112320112321112322112323112324112325112326112327112328112329112330112331112332112333112334112335112336112337112338112339112340112341112342112343112344112345112346112347112348112349112350112351112352112353112354112355112356112357112358112359112360112361112362112363112364112365112366112367112368112369112370112371112372112373112374112375112376112377112378112379112380112381112382112383112384112385112386112387112388112389112390112391112392112393112394112395112396112397112398112399112400112401112402112403112404112405112406112407112408112409112410112411112412112413112414112415112416112417112418112419112420112421112422112423112424112425112426112427112428112429112430112431112432112433112434112435112436112437112438112439112440112441112442112443112444112445112446112447112448112449112450112451112452112453112454112455112456112457112458112459112460112461112462112463112464112465112466112467112468112469112470112471112472112473112474112475112476112477112478112479112480112481112482112483112484112485112486112487112488112489112490112491112492112493112494112495112496112497112498112499112500112501112502112503112504112505112506112507112508112509112510112511112512112513112514112515112516112517112518112519112520112521112522112523112524112525112526112527112528112529112530112531112532112533112534112535112536112537112538112539112540112541112542112543112544112545112546112547112548112549112550112551112552112553112554112555112556112557112558112559112560112561112562112563112564112565112566112567112568112569112570112571112572112573112574112575112576112577112578112579112580112581112582112583112584112585112586112587112588112589112590112591112592112593112594112595112596112597112598112599112600112601112602112603112604112605112606112607112608112609112610112611112612112613112614112615112616112617112618112619112620112621112622112623112624112625112626112627112628112629112630112631112632112633112634112635112636112637112638112639112640112641112642112643112644112645112646112647112648112649112650112651112652112653112654112655112656112657112658112659112660112661112662112663112664112665112666112667112668112669112670112671112672112673112674112675112676112677112678112679112680112681112682112683112684112685112686112687112688112689112690112691112692112693112694112695112696112697112698112699112700112701112702112703112704112705112706112707112708112709112710112711112712112713112714112715112716112717112718112719112720112721112722112723112724112725112726112727112728112729112730112731112732112733112734112735112736112737112738112739112740112741112742112743112744112745112746112747112748112749112750112751112752112753112754112755112756112757112758112759112760112761112762112763112764112765112766112767112768112769112770112771112772112773112774112775112776112777112778112779112780112781112782112783112784112785112786112787112788112789112790112791112792112793112794112795112796112797112798112799112800112801112802112803112804112805112806112807112808112809112810112811112812112813112814112815112816112817112818112819112820112821112822112823112824112825112826112827112828112829112830112831112832112833112834112835112836112837112838112839112840112841112842112843112844112845112846112847112848112849112850112851112852112853112854112855112856112857112858112859112860112861112862112863112864112865112866112867112868112869112870112871112872112873112874112875112876112877112878112879112880112881112882112883112884112885112886112887112888112889112890112891112892112893112894112895112896112897112898112899112900112901112902112903112904112905112906112907112908112909112910112911112912112913112914112915112916112917112918112919112920112921112922112923112924112925112926112927112928112929112930112931112932112933112934112935112936112937112938112939112940112941112942112943112944112945112946112947112948112949112950112951112952112953112954112955112956112957112958112959112960112961112962112963112964112965112966112967112968112969112970112971112972112973112974112975112976112977112978112979112980112981112982112983112984112985112986112987112988112989112990112991112992112993112994112995112996112997112998112999113000113001113002113003113004113005113006113007113008113009113010113011113012113013113014113015113016113017113018113019113020113021113022113023113024113025113026113027113028113029113030113031113032113033113034113035113036113037113038113039113040113041113042113043113044113045113046113047113048113049113050113051113052113053113054113055113056113057113058113059113060113061113062113063113064113065113066113067113068113069113070113071113072113073113074113075113076113077113078113079113080113081113082113083113084113085113086113087113088113089113090113091113092113093113094113095113096113097113098113099113100113101113102113103113104113105113106113107113108113109113110113111113112113113113114113115113116113117113118113119113120113121113122113123113124113125113126113127113128113129113130113131113132113133113134113135113136113137113138113139113140113141113142113143113144113145113146113147113148113149113150113151113152113153113154113155113156113157113158113159113160113161113162113163113164113165113166113167113168113169113170113171113172113173113174113175113176113177113178113179113180113181113182113183113184113185113186113187113188113189113190113191113192113193113194113195113196113197113198113199113200113201113202113203113204113205113206113207113208113209113210113211113212113213113214113215113216113217113218113219113220113221113222113223113224113225113226113227113228113229113230113231113232113233113234113235113236113237113238113239113240113241113242113243113244113245113246113247113248113249113250113251113252113253113254113255113256113257113258113259113260113261113262113263113264113265113266113267113268113269113270113271113272113273113274113275113276113277113278113279113280113281113282113283113284113285113286113287113288113289113290113291113292113293113294113295113296113297113298113299113300113301113302113303113304113305113306113307113308113309113310113311113312113313113314113315113316113317113318113319113320113321113322113323113324113325113326113327113328113329113330113331113332113333113334113335113336113337113338113339113340113341113342113343113344113345113346113347113348113349113350113351113352113353113354113355113356113357113358113359113360113361113362113363113364113365113366113367113368113369113370113371113372113373113374113375113376113377113378113379113380113381113382113383113384113385113386113387113388113389113390113391113392113393113394113395113396113397113398113399113400113401113402113403113404113405113406113407113408113409113410113411113412113413113414113415113416113417113418113419113420113421113422113423113424113425113426113427113428113429113430113431113432113433113434113435113436113437113438113439113440113441113442113443113444113445113446113447113448113449113450113451113452113453113454113455113456113457113458113459113460113461113462113463113464113465113466113467113468113469113470113471113472113473113474113475113476113477113478113479113480113481113482113483113484113485113486113487113488113489113490113491113492113493113494113495113496113497113498113499113500113501113502113503113504113505113506113507113508113509113510113511113512113513113514113515113516113517113518113519113520113521113522113523113524113525113526113527113528113529113530113531113532113533113534113535113536113537113538113539113540113541113542113543113544113545113546113547113548113549113550113551113552113553113554113555113556113557113558113559113560113561113562113563113564113565113566113567113568113569113570113571113572113573113574113575113576113577113578113579113580113581113582113583113584113585113586113587113588113589113590113591113592113593113594113595113596113597113598113599113600113601113602113603113604113605113606113607113608113609113610113611113612113613113614113615113616113617113618113619113620113621113622113623113624113625113626113627113628113629113630113631113632113633113634113635113636113637113638113639113640113641113642113643113644113645113646113647113648113649113650113651113652113653113654113655113656113657113658113659113660113661113662113663113664113665113666113667113668113669113670113671113672113673113674113675113676113677113678113679113680113681113682113683113684113685113686113687113688113689113690113691113692113693113694113695113696113697113698113699113700113701113702113703113704113705113706113707113708113709113710113711113712113713113714113715113716113717113718113719113720113721113722113723113724113725113726113727113728113729113730113731113732113733113734113735113736113737113738113739113740113741113742113743113744113745113746113747113748113749113750113751113752113753113754113755113756113757113758113759113760113761113762113763113764113765113766113767113768113769113770113771113772113773113774113775113776113777113778113779113780113781113782113783113784113785113786113787113788113789113790113791113792113793113794113795113796113797113798113799113800113801113802113803113804113805113806113807113808113809113810113811113812113813113814113815113816113817113818113819113820113821113822113823113824113825113826113827113828113829113830113831113832113833113834113835113836113837113838113839113840113841113842113843113844113845113846113847113848113849113850113851113852113853113854113855113856113857113858113859113860113861113862113863113864113865113866113867113868113869113870113871113872113873113874113875113876113877113878113879113880113881113882113883113884113885113886113887113888113889113890113891113892113893113894113895113896113897113898113899113900113901113902113903113904113905113906113907113908113909113910113911113912113913113914113915113916113917113918113919113920113921113922113923113924113925113926113927113928113929113930113931113932113933113934113935113936113937113938113939113940113941113942113943113944113945113946113947113948113949113950113951113952113953113954113955113956113957113958113959113960113961113962113963113964113965113966113967113968113969113970113971113972113973113974113975113976113977113978113979113980113981113982113983113984113985113986113987113988113989113990113991113992113993113994113995113996113997113998113999114000114001114002114003114004114005114006114007114008114009114010114011114012114013114014114015114016114017114018114019114020114021114022114023114024114025114026114027114028114029114030114031114032114033114034114035114036114037114038114039114040114041114042114043114044114045114046114047114048114049114050114051114052114053114054114055114056114057114058114059114060114061114062114063114064114065114066114067114068114069114070114071114072114073114074114075114076114077114078114079114080114081114082114083114084114085114086114087114088114089114090114091114092114093114094114095114096114097114098114099114100114101114102114103114104114105114106114107114108114109114110114111114112114113114114114115114116114117114118114119114120114121114122114123114124114125114126114127114128114129114130114131114132114133114134114135114136114137114138114139114140114141114142114143114144114145114146114147114148114149114150114151114152114153114154114155114156114157114158114159114160114161114162114163114164114165114166114167114168114169114170114171114172114173114174114175114176114177114178114179114180114181114182114183114184114185114186114187114188114189114190114191114192114193114194114195114196114197114198114199114200114201114202114203114204114205114206114207114208114209114210114211114212114213114214114215114216114217114218114219114220114221114222114223114224114225114226114227114228114229114230114231114232114233114234114235114236114237114238114239114240114241114242114243114244114245114246114247114248114249114250114251114252114253114254114255114256114257114258114259114260114261114262114263114264114265114266114267114268114269114270114271114272114273114274114275114276114277114278114279114280114281114282114283114284114285114286114287114288114289114290114291114292114293114294114295114296114297114298114299114300114301114302114303114304114305114306114307114308114309114310114311114312114313114314114315114316114317114318114319114320114321114322114323114324114325114326114327114328114329114330114331114332114333114334114335114336114337114338114339114340114341114342114343114344114345114346114347114348114349114350114351114352114353114354114355114356114357114358114359114360114361114362114363114364114365114366114367114368114369114370114371114372114373114374114375114376114377114378114379114380114381114382114383114384114385114386114387114388114389114390114391114392114393114394114395114396114397114398114399114400114401114402114403114404114405114406114407114408114409114410114411114412114413114414114415114416114417114418114419114420114421114422114423114424114425114426114427114428114429114430114431114432114433114434114435114436114437114438114439114440114441114442114443114444114445114446114447114448114449114450114451114452114453114454114455114456114457114458114459114460114461114462114463114464114465114466114467114468114469114470114471114472114473114474114475114476114477114478114479114480114481114482114483114484114485114486114487114488114489114490114491114492114493114494114495114496114497114498114499114500114501114502114503114504114505114506114507114508114509114510114511114512114513114514114515114516114517114518114519114520114521114522114523114524114525114526114527114528114529114530114531114532114533114534114535114536114537114538114539114540114541114542114543114544114545114546114547114548114549114550114551114552114553114554114555114556114557114558114559114560114561114562114563114564114565114566114567114568114569114570114571114572114573114574114575114576114577114578114579114580114581114582114583114584114585114586114587114588114589114590114591114592114593114594114595114596114597114598114599114600114601114602114603114604114605114606114607114608114609114610114611114612114613114614114615114616114617114618114619114620114621114622114623114624114625114626114627114628114629114630114631114632114633114634114635114636114637114638114639114640114641114642114643114644114645114646114647114648114649114650114651114652114653114654114655114656114657114658114659114660114661114662114663114664114665114666114667114668114669114670114671114672114673114674114675114676114677114678114679114680114681114682114683114684114685114686114687114688114689114690114691114692114693114694114695114696114697114698114699114700114701114702114703114704114705114706114707114708114709114710114711114712114713114714114715114716114717114718114719114720114721114722114723114724114725114726114727114728114729114730114731114732114733114734114735114736114737114738114739114740114741114742114743114744114745114746114747114748114749114750114751114752114753114754114755114756114757114758114759114760114761114762114763114764114765114766114767114768114769114770114771114772114773114774114775114776114777114778114779114780114781114782114783114784114785114786114787114788114789114790114791114792114793114794114795114796114797114798114799114800114801114802114803114804114805114806114807114808114809114810114811114812114813114814114815114816114817114818114819114820114821114822114823114824114825114826114827114828114829114830114831114832114833114834114835114836114837114838114839114840114841114842114843114844114845114846114847114848114849114850114851114852114853114854114855114856114857114858114859114860114861114862114863114864114865114866114867114868114869114870114871114872114873114874114875114876114877114878114879114880114881114882114883114884114885114886114887114888114889114890114891114892114893114894114895114896114897114898114899114900114901114902114903114904114905114906114907114908114909114910114911114912114913114914114915114916114917114918114919114920114921114922114923114924114925114926114927114928114929114930114931114932114933114934114935114936114937114938114939114940114941114942114943114944114945114946114947114948114949114950114951114952114953114954114955114956114957114958114959114960114961114962114963114964114965114966114967114968114969114970114971114972114973114974114975114976114977114978114979114980114981114982114983114984114985114986114987114988114989114990114991114992114993114994114995114996114997114998114999115000115001115002115003115004115005115006115007115008115009115010115011115012115013115014115015115016115017115018115019115020115021115022115023115024115025115026115027115028115029115030115031115032115033115034115035115036115037115038115039115040115041115042115043115044115045115046115047115048115049115050115051115052115053115054115055115056115057115058115059115060115061115062115063115064115065115066115067115068115069115070115071115072115073115074115075115076115077115078115079115080115081115082115083115084115085115086115087115088115089115090115091115092115093115094115095115096115097115098115099115100115101115102115103115104115105115106115107115108115109115110115111115112115113115114115115115116115117115118115119115120115121115122115123115124115125115126115127115128115129115130115131115132115133115134115135115136115137115138115139115140115141115142115143115144115145115146115147115148115149115150115151115152115153115154115155115156115157115158115159115160115161115162115163115164115165115166115167115168115169115170115171115172115173115174115175115176115177115178115179115180115181115182115183115184115185115186115187115188115189115190115191115192115193115194115195115196115197115198115199115200115201115202115203115204115205115206115207115208115209115210115211115212115213115214115215115216115217115218115219115220115221115222115223115224115225115226115227115228115229115230115231115232115233115234115235115236115237115238115239115240115241115242115243115244115245115246115247115248115249115250115251115252115253115254115255115256115257115258115259115260115261115262115263115264115265115266115267115268115269115270115271115272115273115274115275115276115277115278115279115280115281115282115283115284115285115286115287115288115289115290115291115292115293115294115295115296115297115298115299115300115301115302115303115304115305115306115307115308115309115310115311115312115313115314115315115316115317115318115319115320115321115322115323115324115325115326115327115328115329115330115331115332115333115334115335115336115337115338115339115340115341115342115343115344115345115346115347115348115349115350115351115352115353115354115355115356115357115358115359115360115361115362115363115364115365115366115367115368115369115370115371115372115373115374115375115376115377115378115379115380115381115382115383115384115385115386115387115388115389115390115391115392115393115394115395115396115397115398115399115400115401115402115403115404115405115406115407115408115409115410115411115412115413115414115415115416115417115418115419115420115421115422115423115424115425115426115427115428115429115430115431115432115433115434115435115436115437115438115439115440115441115442115443115444115445115446115447115448115449115450115451115452115453115454115455115456115457115458115459115460115461115462115463115464115465115466115467115468115469115470115471115472115473115474115475115476115477115478115479115480115481115482115483115484115485115486115487115488115489115490115491115492115493115494115495115496115497115498115499115500115501115502115503115504115505115506115507115508115509115510115511115512115513115514115515115516115517115518115519115520115521115522115523115524115525115526115527115528115529115530115531115532115533115534115535115536115537115538115539115540115541115542115543115544115545115546115547115548115549115550115551115552115553115554115555115556115557115558115559115560115561115562115563115564115565115566115567115568115569115570115571115572115573115574115575115576115577115578115579115580115581115582115583115584115585115586115587115588115589115590115591115592115593115594115595115596115597115598115599115600115601115602115603115604115605115606115607115608115609115610115611115612115613115614115615115616115617115618115619115620115621115622115623115624115625115626115627115628115629115630115631115632115633115634115635115636115637115638115639115640115641115642115643115644115645115646115647115648115649115650115651115652115653115654115655115656115657115658115659115660115661115662115663115664115665115666115667115668115669115670115671115672115673115674115675115676115677115678115679115680115681115682115683115684115685115686115687115688115689115690115691115692115693115694115695115696115697115698115699115700115701115702115703115704115705115706115707115708115709115710115711115712115713115714115715115716115717115718115719115720115721115722115723115724115725115726115727115728115729115730115731115732115733115734115735115736115737115738115739115740115741115742115743115744115745115746115747115748115749115750115751115752115753115754115755115756115757115758115759115760115761115762115763115764115765115766115767115768115769115770115771115772115773115774115775115776115777115778115779115780115781115782115783115784115785115786115787115788115789115790115791115792115793115794115795115796115797115798115799115800115801115802115803115804115805115806115807115808115809115810115811115812115813115814115815115816115817115818115819115820115821115822115823115824115825115826115827115828115829115830115831115832115833115834115835115836115837115838115839115840115841115842115843115844115845115846115847115848115849115850115851115852115853115854115855115856115857115858115859115860115861115862115863115864115865115866115867115868115869115870115871115872115873115874115875115876115877115878115879115880115881115882115883115884115885115886115887115888115889115890115891115892115893115894115895115896115897115898115899115900115901115902115903115904115905115906115907115908115909115910115911115912115913115914115915115916115917115918115919115920115921115922115923115924115925115926115927115928115929115930115931115932115933115934115935115936115937115938115939115940115941115942115943115944115945115946115947115948115949115950115951115952115953115954115955115956115957115958115959115960115961115962115963115964115965115966115967115968115969115970115971115972115973115974115975115976115977115978115979115980115981115982115983115984115985115986115987115988115989115990115991115992115993115994115995115996115997115998115999116000116001116002116003116004116005116006116007116008116009116010116011116012116013116014116015116016116017116018116019116020116021116022116023116024116025116026116027116028116029116030116031116032116033116034116035116036116037116038116039116040116041116042116043116044116045116046116047116048116049116050116051116052116053116054116055116056116057116058116059116060116061116062116063116064116065116066116067116068116069116070116071116072116073116074116075116076116077116078116079116080116081116082116083116084116085116086116087116088116089116090116091116092116093116094116095116096116097116098116099116100116101116102116103116104116105116106116107116108116109116110116111116112116113116114116115116116116117116118116119116120116121116122116123116124116125116126116127116128116129116130116131116132116133116134116135116136116137116138116139116140116141116142116143116144116145116146116147116148116149116150116151116152116153116154116155116156116157116158116159116160116161116162116163116164116165116166116167116168116169116170116171116172116173116174116175116176116177116178116179116180116181116182116183116184116185116186116187116188116189116190116191116192116193116194116195116196116197116198116199116200116201116202116203116204116205116206116207116208116209116210116211116212116213116214116215116216116217116218116219116220116221116222116223116224116225116226116227116228116229116230116231116232116233116234116235116236116237116238116239116240116241116242116243116244116245116246116247116248116249116250116251116252116253116254116255116256116257116258116259116260116261116262116263116264116265116266116267116268116269116270116271116272116273116274116275116276116277116278116279116280116281116282116283116284116285116286116287116288116289116290116291116292116293116294116295116296116297116298116299116300116301116302116303116304116305116306116307116308116309116310116311116312116313116314116315116316116317116318116319116320116321116322116323116324116325116326116327116328116329116330116331116332116333116334116335116336116337116338116339116340116341116342116343116344116345116346116347116348116349116350116351116352116353116354116355116356116357116358116359116360116361116362116363116364116365116366116367116368116369116370116371116372116373116374116375116376116377116378116379116380116381116382116383116384116385116386116387116388116389116390116391116392116393116394116395116396116397116398116399116400116401116402116403116404116405116406116407116408116409116410116411116412116413116414116415116416116417116418116419116420116421116422116423116424116425116426116427116428116429116430116431116432116433116434116435116436116437116438116439116440116441116442116443116444116445116446116447116448116449116450116451116452116453116454116455116456116457116458116459116460116461116462116463116464116465116466116467116468116469116470116471116472116473116474116475116476116477116478116479116480116481116482116483116484116485116486116487116488116489116490116491116492116493116494116495116496116497116498116499116500116501116502116503116504116505116506116507116508116509116510116511116512116513116514116515116516116517116518116519116520116521116522116523116524116525116526116527116528116529116530116531116532116533116534116535116536116537116538116539116540116541116542116543116544116545116546116547116548116549116550116551116552116553116554116555116556116557116558116559116560116561116562116563116564116565116566116567116568116569116570116571116572116573116574116575116576116577116578116579116580116581116582116583116584116585116586116587116588116589116590116591116592116593116594116595116596116597116598116599116600116601116602116603116604116605116606116607116608116609116610116611116612116613116614116615116616116617116618116619116620116621116622116623116624116625116626116627116628116629116630116631116632116633116634116635116636116637116638116639116640116641116642116643116644116645116646116647116648116649116650116651116652116653116654116655116656116657116658116659116660116661116662116663116664116665116666116667116668116669116670116671116672116673116674116675116676116677116678116679116680116681116682116683116684116685116686116687116688116689116690116691116692116693116694116695116696116697116698116699116700116701116702116703116704116705116706116707116708116709116710116711116712116713116714116715116716116717116718116719116720116721116722116723116724116725116726116727116728116729116730116731116732116733116734116735116736116737116738116739116740116741116742116743116744116745116746116747116748116749116750116751116752116753116754116755116756116757116758116759116760116761116762116763116764116765116766116767116768116769116770116771116772116773116774116775116776116777116778116779116780116781116782116783116784116785116786116787116788116789116790116791116792116793116794116795116796116797116798116799116800116801116802116803116804116805116806116807116808116809116810116811116812116813116814116815116816116817116818116819116820116821116822116823116824116825116826116827116828116829116830116831116832116833116834116835116836116837116838116839116840116841116842116843116844116845116846116847116848116849116850116851116852116853116854116855116856116857116858116859116860116861116862116863116864116865116866116867116868116869116870116871116872116873116874116875116876116877116878116879116880116881116882116883116884116885116886116887116888116889116890116891116892116893116894116895116896116897116898116899116900116901116902116903116904116905116906116907116908116909116910116911116912116913116914116915116916116917116918116919116920116921116922116923116924116925116926116927116928116929116930116931116932116933116934116935116936116937116938116939116940116941116942116943116944116945116946116947116948116949116950116951116952116953116954116955116956116957116958116959116960116961116962116963116964116965116966116967116968116969116970116971116972116973116974116975116976116977116978116979116980116981116982116983116984116985116986116987116988116989116990116991116992116993116994116995116996116997116998116999117000117001117002117003117004117005117006117007117008117009117010117011117012117013117014117015117016117017117018117019117020117021117022117023117024117025117026117027117028117029117030117031117032117033117034117035117036117037117038117039117040117041117042117043117044117045117046117047117048117049117050117051117052117053117054117055117056117057117058117059117060117061117062117063117064117065117066117067117068117069117070117071117072117073117074117075117076117077117078117079117080117081117082117083117084117085117086117087117088117089117090117091117092117093117094117095117096117097117098117099117100117101117102117103117104117105117106117107117108117109117110117111117112117113117114117115117116117117117118117119117120117121117122117123117124117125117126117127117128117129117130117131117132117133117134117135117136117137117138117139117140117141117142117143117144117145117146117147117148117149117150117151117152117153117154117155117156117157117158117159117160117161117162117163117164117165117166117167117168117169117170117171117172117173117174117175117176117177117178117179117180117181117182117183117184117185117186117187117188117189117190117191117192117193117194117195117196117197117198117199117200117201117202117203117204117205117206117207117208117209117210117211117212117213117214117215117216117217117218117219117220117221117222117223117224117225117226117227117228117229117230117231117232117233117234117235117236117237117238117239117240117241117242117243117244117245117246117247117248117249117250117251117252117253117254117255117256117257117258117259117260117261117262117263117264117265117266117267117268117269117270117271117272117273117274117275117276117277117278117279117280117281117282117283117284117285117286117287117288117289117290117291117292117293117294117295117296117297117298117299117300117301117302117303117304117305117306117307117308117309117310117311117312117313117314117315117316117317117318117319117320117321117322117323117324117325117326117327117328117329117330117331117332117333117334117335117336117337117338117339117340117341117342117343117344117345117346117347117348117349117350117351117352117353117354117355117356117357117358117359117360117361117362117363117364117365117366117367117368117369117370117371117372117373117374117375117376117377117378117379117380117381117382117383117384117385117386117387117388117389117390117391117392117393117394117395117396117397117398117399117400117401117402117403117404117405117406117407117408117409117410117411117412117413117414117415117416117417117418117419117420117421117422117423117424117425117426117427117428117429117430117431117432117433117434117435117436117437117438117439117440117441117442117443117444117445117446117447117448117449117450117451117452117453117454117455117456117457117458117459117460117461117462117463117464117465117466117467117468117469117470117471117472117473117474117475117476117477117478117479117480117481117482117483117484117485117486117487117488117489117490117491117492117493117494117495117496117497117498117499117500117501117502117503117504117505117506117507117508117509117510117511117512117513117514117515117516117517117518117519117520117521117522117523117524117525117526117527117528117529117530117531117532117533117534117535117536117537117538117539117540117541117542117543117544117545117546117547117548117549117550117551117552117553117554117555117556117557117558117559117560117561117562117563117564117565117566117567117568117569117570117571117572117573117574117575117576117577117578117579117580117581117582117583117584117585117586117587117588117589117590117591117592117593117594117595117596117597117598117599117600117601117602117603117604117605117606117607117608117609117610117611117612117613117614117615117616117617117618117619117620117621117622117623117624117625117626117627117628117629117630117631117632117633117634117635117636117637117638117639117640117641117642117643117644117645117646117647117648117649117650117651117652117653117654117655117656117657117658117659117660117661117662117663117664117665117666117667117668117669117670117671117672117673117674117675117676117677117678117679117680117681117682117683117684117685117686117687117688117689117690117691117692117693117694117695117696117697117698117699117700117701117702117703117704117705117706117707117708117709117710117711117712117713117714117715117716117717117718117719117720117721117722117723117724117725117726117727117728117729117730117731117732117733117734117735117736117737117738117739117740117741117742117743117744117745117746117747117748117749117750117751117752117753117754117755117756117757117758117759117760117761117762117763117764117765117766117767117768117769117770117771117772117773117774117775117776117777117778117779117780117781117782117783117784117785117786117787117788117789117790117791117792117793117794117795117796117797117798117799117800117801117802117803117804117805117806117807117808117809117810117811117812117813117814117815117816117817117818117819117820117821117822117823117824117825117826117827117828117829117830117831117832117833117834117835117836117837117838117839117840117841117842117843117844117845117846117847117848117849117850117851117852117853117854117855117856117857117858117859117860117861117862117863117864117865117866117867117868117869117870117871117872117873117874117875117876117877117878117879117880117881117882117883117884117885117886117887117888117889117890117891117892117893117894117895117896117897117898117899117900117901117902117903117904117905117906117907117908117909117910117911117912117913117914117915117916117917117918117919117920117921117922117923117924117925117926117927117928117929117930117931117932117933117934117935117936117937117938117939117940117941117942117943117944117945117946117947117948117949117950117951117952117953117954117955117956117957117958117959117960117961117962117963117964117965117966117967117968117969117970117971117972117973117974117975117976117977117978117979117980117981117982117983117984117985117986117987117988117989117990117991117992117993117994117995117996117997117998117999118000118001118002118003118004118005118006118007118008118009118010118011118012118013118014118015118016118017118018118019118020118021118022118023118024118025118026118027118028118029118030118031118032118033118034118035118036118037118038118039118040118041118042118043118044118045118046118047118048118049118050118051118052118053118054118055118056118057118058118059118060118061118062118063118064118065118066118067118068118069118070118071118072118073118074118075118076118077118078118079118080118081118082118083118084118085118086118087118088118089118090118091118092118093118094118095118096118097118098118099118100118101118102118103118104118105118106118107118108118109118110118111118112118113118114118115118116118117118118118119118120118121118122118123118124118125118126118127118128118129118130118131118132118133118134118135118136118137118138118139118140118141118142118143118144118145118146118147118148118149118150118151118152118153118154118155118156118157118158118159118160118161118162118163118164118165118166118167118168118169118170118171118172118173118174118175118176118177118178118179118180118181118182118183118184118185118186118187118188118189118190118191118192118193118194118195118196118197118198118199118200118201118202118203118204118205118206118207118208118209118210118211118212118213118214118215118216118217118218118219118220118221118222118223118224118225118226118227118228118229118230118231118232118233118234118235118236118237118238118239118240118241118242118243118244118245118246118247118248118249118250118251118252118253118254118255118256118257118258118259118260118261118262118263118264118265118266118267118268118269118270118271118272118273118274118275118276118277118278118279118280118281118282118283118284118285118286118287118288118289118290118291118292118293118294118295118296118297118298118299118300118301118302118303118304118305118306118307118308118309118310118311118312118313118314118315118316118317118318118319118320118321118322118323118324118325118326118327118328118329118330118331118332118333118334118335118336118337118338118339118340118341118342118343118344118345118346118347118348118349118350118351118352118353118354118355118356118357118358118359118360118361118362118363118364118365118366118367118368118369118370118371118372118373118374118375118376118377118378118379118380118381118382118383118384118385118386118387118388118389118390118391118392118393118394118395118396118397118398118399118400118401118402118403118404118405118406118407118408118409118410118411118412118413118414118415118416118417118418118419118420118421118422118423118424118425118426118427118428118429118430118431118432118433118434118435118436118437118438118439118440118441118442118443118444118445118446118447118448118449118450118451118452118453118454118455118456118457118458118459118460118461118462118463118464118465118466118467118468118469118470118471118472118473118474118475118476118477118478118479118480118481118482118483118484118485118486118487118488118489118490118491118492118493118494118495118496118497118498118499118500118501118502118503118504118505118506118507118508118509118510118511118512118513118514118515118516118517118518118519118520118521118522118523118524118525118526118527118528118529118530118531118532118533118534118535118536118537118538118539118540118541118542118543118544118545118546118547118548118549118550118551118552118553118554118555118556118557118558118559118560118561118562118563118564118565118566118567118568118569118570118571118572118573118574118575118576118577118578118579118580118581118582118583118584118585118586118587118588118589118590118591118592118593118594118595118596118597118598118599118600118601118602118603118604118605118606118607118608118609118610118611118612118613118614118615118616118617118618118619118620118621118622118623118624118625118626118627118628118629118630118631118632118633118634118635118636118637118638118639118640118641118642118643118644118645118646118647118648118649118650118651118652118653118654118655118656118657118658118659118660118661118662118663118664118665118666118667118668118669118670118671118672118673118674118675118676118677118678118679118680118681118682118683118684118685118686118687118688118689118690118691118692118693118694118695118696118697118698118699118700118701118702118703118704118705118706118707118708118709118710118711118712118713118714118715118716118717118718118719118720118721118722118723118724118725118726118727118728118729118730118731118732118733118734118735118736118737118738118739118740118741118742118743118744118745118746118747118748118749118750118751118752118753118754118755118756118757118758118759118760118761118762118763118764118765118766118767118768118769118770118771118772118773118774118775118776118777118778118779118780118781118782118783118784118785118786118787118788118789118790118791118792118793118794118795118796118797118798118799118800118801118802118803118804118805118806118807118808118809118810118811118812118813118814118815118816118817118818118819118820118821118822118823118824118825118826118827118828118829118830118831118832118833118834118835118836118837118838118839118840118841118842118843118844118845118846118847118848118849118850118851118852118853118854118855118856118857118858118859118860118861118862118863118864118865118866118867118868118869118870118871118872118873118874118875118876118877118878118879118880118881118882118883118884118885118886118887118888118889118890118891118892118893118894118895118896118897118898118899118900118901118902118903118904118905118906118907118908118909118910118911118912118913118914118915118916118917118918118919118920118921118922118923118924118925118926118927118928118929118930118931118932118933118934118935118936118937118938118939118940118941118942118943118944118945118946118947118948118949118950118951118952118953118954118955118956118957118958118959118960118961118962118963118964118965118966118967118968118969118970118971118972118973118974118975118976118977118978118979118980118981118982118983118984118985118986118987118988118989118990118991118992118993118994118995118996118997118998118999119000119001119002119003119004119005119006119007119008119009119010119011119012119013119014119015119016119017119018119019119020119021119022119023119024119025119026119027119028119029119030119031119032119033119034119035119036119037119038119039119040119041119042119043119044119045119046119047119048119049119050119051119052119053119054119055119056119057119058119059119060119061119062119063119064119065119066119067119068119069119070119071119072119073119074119075119076119077119078119079119080119081119082119083119084119085119086119087119088119089119090119091119092119093119094119095119096119097119098119099119100119101119102119103119104119105119106119107119108119109119110119111119112119113119114119115119116119117119118119119119120119121119122119123119124119125119126119127119128119129119130119131119132119133119134119135119136119137119138119139119140119141119142119143119144119145119146119147119148119149119150119151119152119153119154119155119156119157119158119159119160119161119162119163119164119165119166119167119168119169119170119171119172119173119174119175119176119177119178119179119180119181119182119183119184119185119186119187119188119189119190119191119192119193119194119195119196119197119198119199119200119201119202119203119204119205119206119207119208119209119210119211119212119213119214119215119216119217119218119219119220119221119222119223119224119225119226119227119228119229119230119231119232119233119234119235119236119237119238119239119240119241119242119243119244119245119246119247119248119249119250119251119252119253119254119255119256119257119258119259119260119261119262119263119264119265119266119267119268119269119270119271119272119273119274119275119276119277119278119279119280119281119282119283119284119285119286119287119288119289119290119291119292119293119294119295119296119297119298119299119300119301119302119303119304119305119306119307119308119309119310119311119312119313119314119315119316119317119318119319119320119321119322119323119324119325119326119327119328119329119330119331119332119333119334119335119336119337119338119339119340119341119342119343119344119345119346119347119348119349119350119351119352119353119354119355119356119357119358119359119360119361119362119363119364119365119366119367119368119369119370119371119372119373119374119375119376119377119378119379119380119381119382119383119384119385119386119387119388119389119390119391119392119393119394119395119396119397119398119399119400119401119402119403119404119405119406119407119408119409119410119411119412119413119414119415119416119417119418119419119420119421119422119423119424119425119426119427119428119429119430119431119432119433119434119435119436119437119438119439119440119441119442119443119444119445119446119447119448119449119450119451119452119453119454119455119456119457119458119459119460119461119462119463119464119465119466119467119468119469119470119471119472119473119474119475119476119477119478119479119480119481119482119483119484119485119486119487119488119489119490119491119492119493119494119495119496119497119498119499119500119501119502119503119504119505119506119507119508119509119510119511119512119513119514119515119516119517119518119519119520119521119522119523119524119525119526119527119528119529119530119531119532119533119534119535119536119537119538119539119540119541119542119543119544119545119546119547119548119549119550119551119552119553119554119555119556119557119558119559119560119561119562119563119564119565119566119567119568119569119570119571119572119573119574119575119576119577119578119579119580119581119582119583119584119585119586119587119588119589119590119591119592119593119594119595119596119597119598119599119600119601119602119603119604119605119606119607119608119609119610119611119612119613119614119615119616119617119618119619119620119621119622119623119624119625119626119627119628119629119630119631119632119633119634119635119636119637119638119639119640119641119642119643119644119645119646119647119648119649119650119651119652119653119654119655119656119657119658119659119660119661119662119663119664119665119666119667119668119669119670119671119672119673119674119675119676119677119678119679119680119681119682119683119684119685119686119687119688119689119690119691119692119693119694119695119696119697119698119699119700119701119702119703119704119705119706119707119708119709119710119711119712119713119714119715119716119717119718119719119720119721119722119723119724119725119726119727119728119729119730119731119732119733119734119735119736119737119738119739119740119741119742119743119744119745119746119747119748119749119750119751119752119753119754119755119756119757119758119759119760119761119762119763119764119765119766119767119768119769119770119771119772119773119774119775119776119777119778119779119780119781119782119783119784119785119786119787119788119789119790119791119792119793119794119795119796119797119798119799119800119801119802119803119804119805119806119807119808119809119810119811119812119813119814119815119816119817119818119819119820119821119822119823119824119825119826119827119828119829119830119831119832119833119834119835119836119837119838119839119840119841119842119843119844119845119846119847119848119849119850119851119852119853119854119855119856119857119858119859119860119861119862119863119864119865119866119867119868119869119870119871119872119873119874119875119876119877119878119879119880119881119882119883119884119885119886119887119888119889119890119891119892119893119894119895119896119897119898119899119900119901119902119903119904119905119906119907119908119909119910119911119912119913119914119915119916119917119918119919119920119921119922119923119924119925119926119927119928119929119930119931119932119933119934119935119936119937119938119939119940119941119942119943119944119945119946119947119948119949119950119951119952119953119954119955119956119957119958119959119960119961119962119963119964119965119966119967119968119969119970119971119972119973119974119975119976119977119978119979119980119981119982119983119984119985119986119987119988119989119990119991119992119993119994119995119996119997119998119999120000120001120002120003120004120005120006120007120008120009120010120011120012120013120014120015120016120017120018120019120020120021120022120023120024120025120026120027120028120029120030120031120032120033120034120035120036120037120038120039120040120041120042120043120044120045120046120047120048120049120050120051120052120053120054120055120056120057120058120059120060120061120062120063120064120065120066120067120068120069120070120071120072120073120074120075120076120077120078120079120080120081120082120083120084120085120086120087120088120089120090120091120092120093120094120095120096120097120098120099120100120101120102120103120104120105120106120107120108120109120110120111120112120113120114120115120116120117120118120119120120120121120122120123120124120125120126120127120128120129120130120131120132120133120134120135120136120137120138120139120140120141120142120143120144120145120146120147120148120149120150120151120152120153120154120155120156120157120158120159120160120161120162120163120164120165120166120167120168120169120170120171120172120173120174120175120176120177120178120179120180120181120182120183120184120185120186120187120188120189120190120191120192120193120194120195120196120197120198120199120200120201120202120203120204120205120206120207120208120209120210120211120212120213120214120215120216120217120218120219120220120221120222120223120224120225120226120227120228120229120230120231120232120233120234120235120236120237120238120239120240120241120242120243120244120245120246120247120248120249120250120251120252120253120254120255120256120257120258120259120260120261120262120263120264120265120266120267120268120269120270120271120272120273120274120275120276120277120278120279120280120281120282120283120284120285120286120287120288120289120290120291120292120293120294120295120296120297120298120299120300120301120302120303120304120305120306120307120308120309120310120311120312120313120314120315120316120317120318120319120320120321120322120323120324120325120326120327120328120329120330120331120332120333120334120335120336120337120338120339120340120341120342120343120344120345120346120347120348120349120350120351120352120353120354120355120356120357120358120359120360120361120362120363120364120365120366120367120368120369120370120371120372120373120374120375120376120377120378120379120380120381120382120383120384120385120386120387120388120389120390120391120392120393120394120395120396120397120398120399120400120401120402120403120404120405120406120407120408120409120410120411120412120413120414120415120416120417120418120419120420120421120422120423120424120425120426120427120428120429120430120431120432120433120434120435120436120437120438120439120440120441120442120443120444120445120446120447120448120449120450120451120452120453120454120455120456120457120458120459120460120461120462120463120464120465120466120467120468120469120470120471120472120473120474120475120476120477120478120479120480120481120482120483120484120485120486120487120488120489120490120491120492120493120494120495120496120497120498120499120500120501120502120503120504120505120506120507120508120509120510120511120512120513120514120515120516120517120518120519120520120521120522120523120524120525120526120527120528120529120530120531120532120533120534120535120536120537120538120539120540120541120542120543120544120545120546120547120548120549120550120551120552120553120554120555120556120557120558120559120560120561120562120563120564120565120566120567120568120569120570120571120572120573120574120575120576120577120578120579120580120581120582120583120584120585120586120587120588120589120590120591120592120593120594120595120596120597120598120599120600120601120602120603120604120605120606120607120608120609120610120611120612120613120614120615120616120617120618120619120620120621120622120623120624120625120626120627120628120629120630120631120632120633120634120635120636120637120638120639120640120641120642120643120644120645120646120647120648120649120650120651120652120653120654120655120656120657120658120659120660120661120662120663120664120665120666120667120668120669120670120671120672120673120674120675120676120677120678120679120680120681120682120683120684120685120686120687120688120689120690120691120692120693120694120695120696120697120698120699120700120701120702120703120704120705120706120707120708120709120710120711120712120713120714120715120716120717120718120719120720120721120722120723120724120725120726120727120728120729120730120731120732120733120734120735120736120737120738120739120740120741120742120743120744120745120746120747120748120749120750120751120752120753120754120755120756120757120758120759120760120761120762120763120764120765120766120767120768120769120770120771120772120773120774120775120776120777120778120779120780120781120782120783120784120785120786120787120788120789120790120791120792120793120794120795120796120797120798120799120800120801120802120803120804120805120806120807120808120809120810120811120812120813120814120815120816120817120818120819120820120821120822120823120824120825120826120827120828120829120830120831120832120833120834120835120836120837120838120839120840120841120842120843120844120845120846120847120848120849120850120851120852120853120854120855120856120857120858120859120860120861120862120863120864120865120866120867120868120869120870120871120872120873120874120875120876120877120878120879120880120881120882120883120884120885120886120887120888120889120890120891120892120893120894120895120896120897120898120899120900120901120902120903120904120905120906120907120908120909120910120911120912120913120914120915120916120917120918120919120920120921120922120923120924120925120926120927120928120929120930120931120932120933120934120935120936120937120938120939120940120941120942120943120944120945120946120947120948120949120950120951120952120953120954120955120956120957120958120959120960120961120962120963120964120965120966120967120968120969120970120971120972120973120974120975120976120977120978120979120980120981120982120983120984120985120986120987120988120989120990120991120992120993120994120995120996120997120998120999121000121001121002121003121004121005121006121007121008121009121010121011121012121013121014121015121016121017121018121019121020121021121022121023121024121025121026121027121028121029121030121031121032121033121034121035121036121037121038121039121040121041121042121043121044121045121046121047121048121049121050121051121052121053121054121055121056121057121058121059121060121061121062121063121064121065121066121067121068121069121070121071121072121073121074121075121076121077121078121079121080121081121082121083121084121085121086121087121088121089121090121091121092121093121094121095121096121097121098121099121100121101121102121103121104121105121106121107121108121109121110121111121112121113121114121115121116121117121118121119121120121121121122121123121124121125121126121127121128121129121130121131121132121133121134121135121136121137121138121139121140121141121142121143121144121145121146121147121148121149121150121151121152121153121154121155121156121157121158121159121160121161121162121163121164121165121166121167121168121169121170121171121172121173121174121175121176121177121178121179121180121181121182121183121184121185121186121187121188121189121190121191121192121193121194121195121196121197121198121199121200121201121202121203121204121205121206121207121208121209121210121211121212121213121214121215121216121217121218121219121220121221121222121223121224121225121226121227121228121229121230121231121232121233121234121235121236121237121238121239121240121241121242121243121244121245121246121247121248121249121250121251121252121253121254121255121256121257121258121259121260121261121262121263121264121265121266121267121268121269121270121271121272121273121274121275121276121277121278121279121280121281121282121283121284121285121286121287121288121289121290121291121292121293121294121295121296121297121298121299121300121301121302121303121304121305121306121307121308121309121310121311121312121313121314121315121316121317121318121319121320121321121322121323121324121325121326121327121328121329121330121331121332121333121334121335121336121337121338121339121340121341121342121343121344121345121346121347121348121349121350121351121352121353121354121355121356121357121358121359121360121361121362121363121364121365121366121367121368121369121370121371121372121373121374121375121376121377121378121379121380121381121382121383121384121385121386121387121388121389121390121391121392121393121394121395121396121397121398121399121400121401121402121403121404121405121406121407121408121409121410121411121412121413121414121415121416121417121418121419121420121421121422121423121424121425121426121427121428121429121430121431121432121433121434121435121436121437121438121439121440121441121442121443121444121445121446121447121448121449121450121451121452121453121454121455121456121457121458121459121460121461121462121463121464121465121466121467121468121469121470121471121472121473121474121475121476121477121478121479121480121481121482121483121484121485121486121487121488121489121490121491121492121493121494121495121496121497121498121499121500121501121502121503121504121505121506121507121508121509121510121511121512121513121514121515121516121517121518121519121520121521121522121523121524121525121526121527121528121529121530121531121532121533121534121535121536121537121538121539121540121541121542121543121544121545121546121547121548121549121550121551121552121553121554121555121556121557121558121559121560121561121562121563121564121565121566121567121568121569121570121571121572121573121574121575121576121577121578121579121580121581121582121583121584121585121586121587121588121589121590121591121592121593121594121595121596121597121598121599121600121601121602121603121604121605121606121607121608121609121610121611121612121613121614121615121616121617121618121619121620121621121622121623121624121625121626121627121628121629121630121631121632121633121634121635121636121637121638121639121640121641121642121643121644121645121646121647121648121649121650121651121652121653121654121655121656121657121658121659121660121661121662121663121664121665121666121667121668121669121670121671121672121673121674121675121676121677121678121679121680121681121682121683121684121685121686121687121688121689121690121691121692121693121694121695121696121697121698121699121700121701121702121703121704121705121706121707121708121709121710121711121712121713121714121715121716121717121718121719121720121721121722121723121724121725121726121727121728121729121730121731121732121733121734121735121736121737121738121739121740121741121742121743121744121745121746121747121748121749121750121751121752121753121754121755121756121757121758121759121760121761121762121763121764121765121766121767121768121769121770121771121772121773121774121775121776121777121778121779121780121781121782121783121784121785121786121787121788121789121790121791121792121793121794121795121796121797121798121799121800121801121802121803121804121805121806121807121808121809121810121811121812121813121814121815121816121817121818121819121820121821121822121823121824121825121826121827121828121829121830121831121832121833121834121835121836121837121838121839121840121841121842121843121844121845121846121847121848121849121850121851121852121853121854121855121856121857121858121859121860121861121862121863121864121865121866121867121868121869121870121871121872121873121874121875121876121877121878121879121880121881121882121883121884121885121886121887121888121889121890121891121892121893121894121895121896121897121898121899121900121901121902121903121904121905121906121907121908121909121910121911121912121913121914121915121916121917121918121919121920121921121922121923121924121925121926121927121928121929121930121931121932121933121934121935121936121937121938121939121940121941121942121943121944121945121946121947121948121949121950121951121952121953121954121955121956121957121958121959121960121961121962121963121964121965121966121967121968121969121970121971121972121973121974121975121976121977121978121979121980121981121982121983121984121985121986121987121988121989121990121991121992121993121994121995121996121997121998121999122000122001122002122003122004122005122006122007122008122009122010122011122012122013122014122015122016122017122018122019122020122021122022122023122024122025122026122027122028122029122030122031122032122033122034122035122036122037122038122039122040122041122042122043122044122045122046122047122048122049122050122051122052122053122054122055122056122057122058122059122060122061122062122063122064122065122066122067122068122069122070122071122072122073122074122075122076122077122078122079122080122081122082122083122084122085122086122087122088122089122090122091122092122093122094122095122096122097122098122099122100122101122102122103122104122105122106122107122108122109122110122111122112122113122114122115122116122117122118122119122120122121122122122123122124122125122126122127122128122129122130122131122132122133122134122135122136122137122138122139122140122141122142122143122144122145122146122147122148122149122150122151122152122153122154122155122156122157122158122159122160122161122162122163122164122165122166122167122168122169122170122171122172122173122174122175122176122177122178122179122180122181122182122183122184122185122186122187122188122189122190122191122192122193122194122195122196122197122198122199122200122201122202122203122204122205122206122207122208122209122210122211122212122213122214122215122216122217122218122219122220122221122222122223122224122225122226122227122228122229122230122231122232122233122234122235122236122237122238122239122240122241122242122243122244122245122246122247122248122249122250122251122252122253122254122255122256122257122258122259122260122261122262122263122264122265122266122267122268122269122270122271122272122273122274122275122276122277122278122279122280122281122282122283122284122285122286122287122288122289122290122291122292122293122294122295122296122297122298122299122300122301122302122303122304122305122306122307122308122309122310122311122312122313122314122315122316122317122318122319122320122321122322122323122324122325122326122327122328122329122330122331122332122333122334122335122336122337122338122339122340122341122342122343122344122345122346122347122348122349122350122351122352122353122354122355122356122357122358122359122360122361122362122363122364122365122366122367122368122369122370122371122372122373122374122375122376122377122378122379122380122381122382122383122384122385122386122387122388122389122390122391122392122393122394122395122396122397122398122399122400122401122402122403122404122405122406122407122408122409122410122411122412122413122414122415122416122417122418122419122420122421122422122423122424122425122426122427122428122429122430122431122432122433122434122435122436122437122438122439122440122441122442122443122444122445122446122447122448122449122450122451122452122453122454122455122456122457122458122459122460122461122462122463122464122465122466122467122468122469122470122471122472122473122474122475122476122477122478122479122480122481122482122483122484122485122486122487122488122489122490122491122492122493122494122495122496122497122498122499122500122501122502122503122504122505122506122507122508122509122510122511122512122513122514122515122516122517122518122519122520122521122522122523122524122525122526122527122528122529122530122531122532122533122534122535122536122537122538122539122540122541122542122543122544122545122546122547122548122549122550122551122552122553122554122555122556122557122558122559122560122561122562122563122564122565122566122567122568122569122570122571122572122573122574122575122576122577122578122579122580122581122582122583122584122585122586122587122588122589122590122591122592122593122594122595122596122597122598122599122600122601122602122603122604122605122606122607122608122609122610122611122612122613122614122615122616122617122618122619122620122621122622122623122624122625122626122627122628122629122630122631122632122633122634122635122636122637122638122639122640122641122642122643122644122645122646122647122648122649122650122651122652122653122654122655122656122657122658122659122660122661122662122663122664122665122666122667122668122669122670122671122672122673122674122675122676122677122678122679122680122681122682122683122684122685122686122687122688122689122690122691122692122693122694122695122696122697122698122699122700122701122702122703122704122705122706122707122708122709122710122711122712122713122714122715122716122717122718122719122720122721122722122723122724122725122726122727122728122729122730122731122732122733122734122735122736122737122738122739122740122741122742122743122744122745122746122747122748122749122750122751122752122753122754122755122756122757122758122759122760122761122762122763122764122765122766122767122768122769122770122771122772122773122774122775122776122777122778122779122780122781122782122783122784122785122786122787122788122789122790122791122792122793122794122795122796122797122798122799122800122801122802122803122804122805122806122807122808122809122810122811122812122813122814122815122816122817122818122819122820122821122822122823122824122825122826122827122828122829122830122831122832122833122834122835122836122837122838122839122840122841122842122843122844122845122846122847122848122849122850122851122852122853122854122855122856122857122858122859122860122861122862122863122864122865122866122867122868122869122870122871122872122873122874122875122876122877122878122879122880122881122882122883122884122885122886122887122888122889122890122891122892122893122894122895122896122897122898122899122900122901122902122903122904122905122906122907122908122909122910122911122912122913122914122915122916122917122918122919122920122921122922122923122924122925122926122927122928122929122930122931122932122933122934122935122936122937122938122939122940122941122942122943122944122945122946122947122948122949122950122951122952122953122954122955122956122957122958122959122960122961122962122963122964122965122966122967122968122969122970122971122972122973122974122975122976122977122978122979122980122981122982122983122984122985122986122987122988122989122990122991122992122993122994122995122996122997122998122999123000123001123002123003123004123005123006123007123008123009123010123011123012123013123014123015123016123017123018123019123020123021123022123023123024123025123026123027123028123029123030123031123032123033123034123035123036123037123038123039123040123041123042123043123044123045123046123047123048123049123050123051123052123053123054123055123056123057123058123059123060123061123062123063123064123065123066123067123068123069123070123071123072123073123074123075123076123077123078123079123080123081123082123083123084123085123086123087123088123089123090123091123092123093123094123095123096123097123098123099123100123101123102123103123104123105123106123107123108123109123110123111123112123113123114123115123116123117123118123119123120123121123122123123123124123125123126123127123128123129123130123131123132123133123134123135123136123137123138123139123140123141123142123143123144123145123146123147123148123149123150123151123152123153123154123155123156123157123158123159123160123161123162123163123164123165123166123167123168123169123170123171123172123173123174123175123176123177123178123179123180123181123182123183123184123185123186123187123188123189123190123191123192123193123194123195123196123197123198123199123200123201123202123203123204123205123206123207123208123209123210123211123212123213123214123215123216123217123218123219123220123221123222123223123224123225123226123227123228123229123230123231123232123233123234123235123236123237123238123239123240123241123242123243123244123245123246123247123248123249123250123251123252123253123254123255123256123257123258123259123260123261123262123263123264123265123266123267123268123269123270123271123272123273123274123275123276123277123278123279123280123281123282123283123284123285123286123287123288123289123290123291123292123293123294123295123296123297123298123299123300123301123302123303123304123305123306123307123308123309123310123311123312123313123314123315123316123317123318123319123320123321123322123323123324123325123326123327123328123329123330123331123332123333123334123335123336123337123338123339123340123341123342123343123344123345123346123347123348123349123350123351123352123353123354123355123356123357123358123359123360123361123362123363123364123365123366123367123368123369123370123371123372123373123374123375123376123377123378123379123380123381123382123383123384123385123386123387123388123389123390123391123392123393123394123395123396123397123398123399123400123401123402123403123404123405123406123407123408123409123410123411123412123413123414123415123416123417123418123419123420123421123422123423123424123425123426123427123428123429123430123431123432123433123434123435123436123437123438123439123440123441123442123443123444123445123446123447123448123449123450123451123452123453123454123455123456123457123458123459123460123461123462123463123464123465123466123467123468123469123470123471123472123473123474123475123476123477123478123479123480123481123482123483123484123485123486123487123488123489123490123491123492123493123494123495123496123497123498123499123500123501123502123503123504123505123506123507123508123509123510123511123512123513123514123515123516123517123518123519123520123521123522123523123524123525123526123527123528123529123530123531123532123533123534123535123536123537123538123539123540123541123542123543123544123545123546123547123548123549123550123551123552123553123554123555123556123557123558123559123560123561123562123563123564123565123566123567123568123569123570123571123572123573123574123575123576123577123578123579123580123581123582123583123584123585123586123587123588123589123590123591123592123593123594123595123596123597123598123599123600123601123602123603123604123605123606123607123608123609123610123611123612123613123614123615123616123617123618123619123620123621123622123623123624123625123626123627123628123629123630123631123632123633123634123635123636123637123638123639123640123641123642123643123644123645123646123647123648123649123650123651123652123653123654123655123656123657123658123659123660123661123662123663123664123665123666123667123668123669123670123671123672123673123674123675123676123677123678123679123680123681123682123683123684123685123686123687123688123689123690123691123692123693123694123695123696123697123698123699123700123701123702123703123704123705123706123707123708123709123710123711123712123713123714123715123716123717123718123719123720123721123722123723123724123725123726123727123728123729123730123731123732123733123734123735123736123737123738123739123740123741123742123743123744123745123746123747123748123749123750123751123752123753123754123755123756123757123758123759123760123761123762123763123764123765123766123767123768123769123770123771123772123773123774123775123776123777123778123779123780123781123782123783123784123785123786123787123788123789123790123791123792123793123794123795123796123797123798123799123800123801123802123803123804123805123806123807123808123809123810123811123812123813123814123815123816123817123818123819123820123821123822123823123824123825123826123827123828123829123830123831123832123833123834123835123836123837123838123839123840123841123842123843123844123845123846123847123848123849123850123851123852123853123854123855123856123857123858123859123860123861123862123863123864123865123866123867123868123869123870123871123872123873123874123875123876123877123878123879123880123881123882123883123884123885123886123887123888123889123890123891123892123893123894123895123896123897123898123899123900123901123902123903123904123905123906123907123908123909123910123911123912123913123914123915123916123917123918123919123920123921123922123923123924123925123926123927123928123929123930123931123932123933123934123935123936123937123938123939123940123941123942123943123944123945123946123947123948123949123950123951123952123953123954123955123956123957123958123959123960123961123962123963123964123965123966123967123968123969123970123971123972123973123974123975123976123977123978123979123980123981123982123983123984123985123986123987123988123989123990123991123992123993123994123995123996123997123998123999124000124001124002124003124004124005124006124007124008124009124010124011124012124013124014124015124016124017124018124019124020124021124022124023124024124025124026124027124028124029124030124031124032124033124034124035124036124037124038124039124040124041124042124043124044124045124046124047124048124049124050124051124052124053124054124055124056124057124058124059124060124061124062124063124064124065124066124067124068124069124070124071124072124073124074124075124076124077124078124079124080124081124082124083124084124085124086124087124088124089124090124091124092124093124094124095124096124097124098124099124100124101124102124103124104124105124106124107124108124109124110124111124112124113124114124115124116124117124118124119124120124121124122124123124124124125124126124127124128124129124130124131124132124133124134124135124136124137124138124139124140124141124142124143124144124145124146124147124148124149124150124151124152124153124154124155124156124157124158124159124160124161124162124163124164124165124166124167124168124169124170124171124172124173124174124175124176124177124178124179124180124181124182124183124184124185124186124187124188124189124190124191124192124193124194124195124196124197124198124199124200124201124202124203124204124205124206124207124208124209124210124211124212124213124214124215124216124217124218124219124220124221124222124223124224124225124226124227124228124229124230124231124232124233124234124235124236124237124238124239124240124241124242124243124244124245124246124247124248124249124250124251124252124253124254124255124256124257124258124259124260124261124262124263124264124265124266124267124268124269124270124271124272124273124274124275124276124277124278124279124280124281124282124283124284124285124286124287124288124289124290124291124292124293124294124295124296124297124298124299124300124301124302124303124304124305124306124307124308124309124310124311124312124313124314124315124316124317124318124319124320124321124322124323124324124325124326124327124328124329124330124331124332124333124334124335124336124337124338124339124340124341124342124343124344124345124346124347124348124349124350124351124352124353124354124355124356124357124358124359124360124361124362124363124364124365124366124367124368124369124370124371124372124373124374124375124376124377124378124379124380124381124382124383124384124385124386124387124388124389124390124391124392124393124394124395124396124397124398124399124400124401124402124403124404124405124406124407124408124409124410124411124412124413124414124415124416124417124418124419124420124421124422124423124424124425124426124427124428124429124430124431124432124433124434124435124436124437124438124439124440124441124442124443124444124445124446124447124448124449124450124451124452124453124454124455124456124457124458124459124460124461124462124463124464124465124466124467124468124469124470124471124472124473124474124475124476124477124478124479124480124481124482124483124484124485124486124487124488124489124490124491124492124493124494124495124496124497124498124499124500124501124502124503124504124505124506124507124508124509124510124511124512124513124514124515124516124517124518124519124520124521124522124523124524124525124526124527124528124529124530124531124532124533124534124535124536124537124538124539124540124541124542124543124544124545124546124547124548124549124550124551124552124553124554124555124556124557124558124559124560124561124562124563124564124565124566124567124568124569124570124571124572124573124574124575124576124577124578124579124580124581124582124583124584124585124586124587124588124589124590124591124592124593124594124595124596124597124598124599124600124601124602124603124604124605124606124607124608124609124610124611124612124613124614124615124616124617124618124619124620124621124622124623124624124625124626124627124628124629124630124631124632124633124634124635124636124637124638124639124640124641124642124643124644124645124646124647124648124649124650124651124652124653124654124655124656124657124658124659124660124661124662124663124664124665124666124667124668124669124670124671124672124673124674124675124676124677124678124679124680124681124682124683124684124685124686124687124688124689124690124691124692124693124694124695124696124697124698124699124700124701124702124703124704124705124706124707124708124709124710124711124712124713124714124715124716124717124718124719124720124721124722124723124724124725124726124727124728124729124730124731124732124733124734124735124736124737124738124739124740124741124742124743124744124745124746124747124748124749124750124751124752124753124754124755124756124757124758124759124760124761124762124763124764124765124766124767124768124769124770124771124772124773124774124775124776124777124778124779124780124781124782124783124784124785124786124787124788124789124790124791124792124793124794124795124796124797124798124799124800124801124802124803124804124805124806124807124808124809124810124811124812124813124814124815124816124817124818124819124820124821124822124823124824124825124826124827124828124829124830124831124832124833124834124835124836124837124838124839124840124841124842124843124844124845124846124847124848124849124850124851124852124853124854124855124856124857124858124859124860124861124862124863124864124865124866124867124868124869124870124871124872124873124874124875124876124877124878124879124880124881124882124883124884124885124886124887124888124889124890124891124892124893124894124895124896124897124898124899124900124901124902124903124904124905124906124907124908124909124910124911124912124913124914124915124916124917124918124919124920124921124922124923124924124925124926124927124928124929124930124931124932124933124934124935124936124937124938124939124940124941124942124943124944124945124946124947124948124949124950124951124952124953124954124955124956124957124958124959124960124961124962124963124964124965124966124967124968124969124970124971124972124973124974124975124976124977124978124979124980124981124982124983124984124985124986124987124988124989124990124991124992124993124994124995124996124997124998124999125000125001125002125003125004125005125006125007125008125009125010125011125012125013125014125015125016125017125018125019125020125021125022125023125024125025125026125027125028125029125030125031125032125033125034125035125036125037125038125039125040125041125042125043125044125045125046125047125048125049125050125051125052125053125054125055125056125057125058125059125060125061125062125063125064125065125066125067125068125069125070125071125072125073125074125075125076125077125078125079125080125081125082125083125084125085125086125087125088125089125090125091125092125093125094125095125096125097125098125099125100125101125102125103125104125105125106125107125108125109125110125111125112125113125114125115125116125117125118125119125120125121125122125123125124125125125126125127125128125129125130125131125132125133125134125135125136125137125138125139125140125141125142125143125144125145125146125147125148125149125150125151125152125153125154125155125156125157125158125159125160125161125162125163125164125165125166125167125168125169125170125171125172125173125174125175125176125177125178125179125180125181125182125183125184125185125186125187125188125189125190125191125192125193125194125195125196125197125198125199125200125201125202125203125204125205125206125207125208125209125210125211125212125213125214125215125216125217125218125219125220125221125222125223125224125225125226125227125228125229125230125231125232125233125234125235125236125237125238125239125240125241125242125243125244125245125246125247125248125249125250125251125252125253125254125255125256125257125258125259125260125261125262125263125264125265125266125267125268125269125270125271125272125273125274125275125276125277125278125279125280125281125282125283125284125285125286125287125288125289125290125291125292125293125294125295125296125297125298125299125300125301125302125303125304125305125306125307125308125309125310125311125312125313125314125315125316125317125318125319125320125321125322125323125324125325125326125327125328125329125330125331125332125333125334125335125336125337125338125339125340125341125342125343125344125345125346125347125348125349125350125351125352125353125354125355125356125357125358125359125360125361125362125363125364125365125366125367125368125369125370125371125372125373125374125375125376125377125378125379125380125381125382125383125384125385125386125387125388125389125390125391125392125393125394125395125396125397125398125399125400125401125402125403125404125405125406125407125408125409125410125411125412125413125414125415125416125417125418125419125420125421125422125423125424125425125426125427125428125429125430125431125432125433125434125435125436125437125438125439125440125441125442125443125444125445125446125447125448125449125450125451125452125453125454125455125456125457125458125459125460125461125462125463125464125465125466125467125468125469125470125471125472125473125474125475125476125477125478125479125480125481125482125483125484125485125486125487125488125489125490125491125492125493125494125495125496125497125498125499125500125501125502125503125504125505125506125507125508125509125510125511125512125513125514125515125516125517125518125519125520125521125522125523125524125525125526125527125528125529125530125531125532125533125534125535125536125537125538125539125540125541125542125543125544125545125546125547125548125549125550125551125552125553125554125555125556125557125558125559125560125561125562125563125564125565125566125567125568125569125570125571125572125573125574125575125576125577125578125579125580125581125582125583125584125585125586125587125588125589125590125591125592125593125594125595125596125597125598125599125600125601125602125603125604125605125606125607125608125609125610125611125612125613125614125615125616125617125618125619125620125621125622125623125624125625125626125627125628125629125630125631125632125633125634125635125636125637125638125639125640125641125642125643125644125645125646125647125648125649125650125651125652125653125654125655125656125657125658125659125660125661125662125663125664125665125666125667125668125669125670125671125672125673125674125675125676125677125678125679125680125681125682125683125684125685125686125687125688125689125690125691125692125693125694125695125696125697125698125699125700125701125702125703125704125705125706125707125708125709125710125711125712125713125714125715125716125717125718125719125720125721125722125723125724125725125726125727125728125729125730125731125732125733125734125735125736125737125738125739125740125741125742125743125744125745125746125747125748125749125750125751125752125753125754125755125756125757125758125759125760125761125762125763125764125765125766125767125768125769125770125771125772125773125774125775125776125777125778125779125780125781125782125783125784125785125786125787125788125789125790125791125792125793125794125795125796125797125798125799125800125801125802125803125804125805125806125807125808125809125810125811125812125813125814125815125816125817125818125819125820125821125822125823125824125825125826125827125828125829125830125831125832125833125834125835125836125837125838125839125840125841125842125843125844125845125846125847125848125849125850125851125852125853125854125855125856125857125858125859125860125861125862125863125864125865125866125867125868125869125870125871125872125873125874125875125876125877125878125879125880125881125882125883125884125885125886125887125888125889125890125891125892125893125894125895125896125897125898125899125900125901125902125903125904125905125906125907125908125909125910125911125912125913125914125915125916125917125918125919125920125921125922125923125924125925125926125927125928125929125930125931125932125933125934125935125936125937125938125939125940125941125942125943125944125945125946125947125948125949125950125951125952125953125954125955125956125957125958125959125960125961125962125963125964125965125966125967125968125969125970125971125972125973125974125975125976125977125978125979125980125981125982125983125984125985125986125987125988125989125990125991125992125993125994125995125996125997125998125999126000126001126002126003126004126005126006126007126008126009126010126011126012126013126014126015126016126017126018126019126020126021126022126023126024126025126026126027126028126029126030126031126032126033126034126035126036126037126038126039126040126041126042126043126044126045126046126047126048126049126050126051126052126053126054126055126056126057126058126059126060126061126062126063126064126065126066126067126068126069126070126071126072126073126074126075126076126077126078126079126080126081126082126083126084126085126086126087126088126089126090126091126092126093126094126095126096126097126098126099126100126101126102126103126104126105126106126107126108126109126110126111126112126113126114126115126116126117126118126119126120126121126122126123126124126125126126126127126128126129126130126131126132126133126134126135126136126137126138126139126140126141126142126143126144126145126146126147126148126149126150126151126152126153126154126155126156126157126158126159126160126161126162126163126164126165126166126167126168126169126170126171126172126173126174126175126176126177126178126179126180126181126182126183126184126185126186126187126188126189126190126191126192126193126194126195126196126197126198126199126200126201126202126203126204126205126206126207126208126209126210126211126212126213126214126215126216126217126218126219126220126221126222126223126224126225126226126227126228126229126230126231126232126233126234126235126236126237126238126239126240126241126242126243126244126245126246126247126248126249126250126251126252126253126254126255126256126257126258126259126260126261126262126263126264126265126266126267126268126269126270126271126272126273126274126275126276126277126278126279126280126281126282126283126284126285126286126287126288126289126290126291126292126293126294126295126296126297126298126299126300126301126302126303126304126305126306126307126308126309126310126311126312126313126314126315126316126317126318126319126320126321126322126323126324126325126326126327126328126329126330126331126332126333126334126335126336126337126338126339126340126341126342126343126344126345126346126347126348126349126350126351126352126353126354126355126356126357126358126359126360126361126362126363126364126365126366126367126368126369126370126371126372126373126374126375126376126377126378126379126380126381126382126383126384126385126386126387126388126389126390126391126392126393126394126395126396126397126398126399126400126401126402126403126404126405126406126407126408126409126410126411126412126413126414126415126416126417126418126419126420126421126422126423126424126425126426126427126428126429126430126431126432126433126434126435126436126437126438126439126440126441126442126443126444126445126446126447126448126449126450126451126452126453126454126455126456126457126458126459126460126461126462126463126464126465126466126467126468126469126470126471126472126473126474126475126476126477126478126479126480126481126482126483126484126485126486126487126488126489126490126491126492126493126494126495126496126497126498126499126500126501126502126503126504126505126506126507126508126509126510126511126512126513126514126515126516126517126518126519126520126521126522126523126524126525126526126527126528126529126530126531126532126533126534126535126536126537126538126539126540126541126542126543126544126545126546126547126548126549126550126551126552126553126554126555126556126557126558126559126560126561126562126563126564126565126566126567126568126569126570126571126572126573126574126575126576126577126578126579126580126581126582126583126584126585126586126587126588126589126590126591126592126593126594126595126596126597126598126599126600126601126602126603126604126605126606126607126608126609126610126611126612126613126614126615126616126617126618126619126620126621126622126623126624126625126626126627126628126629126630126631126632126633126634126635126636126637126638126639126640126641126642126643126644126645126646126647126648126649126650126651126652126653126654126655126656126657126658126659126660126661126662126663126664126665126666126667126668126669126670126671126672126673126674126675126676126677126678126679126680126681126682126683126684126685126686126687126688126689126690126691126692126693126694126695126696126697126698126699126700126701126702126703126704126705126706126707126708126709126710126711126712126713126714126715126716126717126718126719126720126721126722126723126724126725126726126727126728126729126730126731126732126733126734126735126736126737126738126739126740126741126742126743126744126745126746126747126748126749126750126751126752126753126754126755126756126757126758126759126760126761126762126763126764126765126766126767126768126769126770126771126772126773126774126775126776126777126778126779126780126781126782126783126784126785126786126787126788126789126790126791126792126793126794126795126796126797126798126799126800126801126802126803126804126805126806126807126808126809126810126811126812126813126814126815126816126817126818126819126820126821126822126823126824126825126826126827126828126829126830126831126832126833126834126835126836126837126838126839126840126841126842126843126844126845126846126847126848126849126850126851126852126853126854126855126856126857126858126859126860126861126862126863126864126865126866126867126868126869126870126871126872126873126874126875126876126877126878126879126880126881126882126883126884126885126886126887126888126889126890126891126892126893126894126895126896126897126898126899126900126901126902126903126904126905126906126907126908126909126910126911126912126913126914126915126916126917126918126919126920126921126922126923126924126925126926126927126928126929126930126931126932126933126934126935126936126937126938126939126940126941126942126943126944126945126946126947126948126949126950126951126952126953126954126955126956126957126958126959126960126961126962126963126964126965126966126967126968126969126970126971126972126973126974126975126976126977126978126979126980126981126982126983126984126985126986126987126988126989126990126991126992126993126994126995126996126997126998126999127000127001127002127003127004127005127006127007127008127009127010127011127012127013127014127015127016127017127018127019127020127021127022127023127024127025127026127027127028127029127030127031127032127033127034127035127036127037127038127039127040127041127042127043127044127045127046127047127048127049127050127051127052127053127054127055127056127057127058127059127060127061127062127063127064127065127066127067127068127069127070127071127072127073127074127075127076127077127078127079127080127081127082127083127084127085127086127087127088127089127090127091127092127093127094127095127096127097127098127099127100127101127102127103127104127105127106127107127108127109127110127111127112127113127114127115127116127117127118127119127120127121127122127123127124127125127126127127127128127129127130127131127132127133127134127135127136127137127138127139127140127141127142127143127144127145127146127147127148127149127150127151127152127153127154127155127156127157127158127159127160127161127162127163127164127165127166127167127168127169127170127171127172127173127174127175127176127177127178127179127180127181127182127183127184127185127186127187127188127189127190127191127192127193127194127195127196127197127198127199127200127201127202127203127204127205127206127207127208127209127210127211127212127213127214127215127216127217127218127219127220127221127222127223127224127225127226127227127228127229127230127231127232127233127234127235127236127237127238127239127240127241127242127243127244127245127246127247127248127249127250127251127252127253127254127255127256127257127258127259127260127261127262127263127264127265127266127267127268127269127270127271127272127273127274127275127276127277127278127279127280127281127282127283127284127285127286127287127288127289127290127291127292127293127294127295127296127297127298127299127300127301127302127303127304127305127306127307127308127309127310127311127312127313127314127315127316127317127318127319127320127321127322127323127324127325127326127327127328127329127330127331127332127333127334127335127336127337127338127339127340127341127342127343127344127345127346127347127348127349127350127351127352127353127354127355127356127357127358127359127360127361127362127363127364127365127366127367127368127369127370127371127372127373127374127375127376127377127378127379127380127381127382127383127384127385127386127387127388127389127390127391127392127393127394127395127396127397127398127399127400127401127402127403127404127405127406127407127408127409127410127411127412127413127414127415127416127417127418127419127420127421127422127423127424127425127426127427127428127429127430127431127432127433127434127435127436127437127438127439127440127441127442127443127444127445127446127447127448127449127450127451127452127453127454127455127456127457127458127459127460127461127462127463127464127465127466127467127468127469127470127471127472127473127474127475127476127477127478127479127480127481127482127483127484127485127486127487127488127489127490127491127492127493127494127495127496127497127498127499127500127501127502127503127504127505127506127507127508127509127510127511127512127513127514127515127516127517127518127519127520127521127522127523127524127525127526127527127528127529127530127531127532127533127534127535127536127537127538127539127540127541127542127543127544127545127546127547127548127549127550127551127552127553127554127555127556127557127558127559127560127561127562127563127564127565127566127567127568127569127570127571127572127573127574127575127576127577127578127579127580127581127582127583127584127585127586127587127588127589127590127591127592127593127594127595127596127597127598127599127600127601127602127603127604127605127606127607127608127609127610127611127612127613127614127615127616127617127618127619127620127621127622127623127624127625127626127627127628127629127630127631127632127633127634127635127636127637127638127639127640127641127642127643127644127645127646127647127648127649127650127651127652127653127654127655127656127657127658127659127660127661127662127663127664127665127666127667127668127669127670127671127672127673127674127675127676127677127678127679127680127681127682127683127684127685127686127687127688127689127690127691127692127693127694127695127696127697127698127699127700127701127702127703127704127705127706127707127708127709127710127711127712127713127714127715127716127717127718127719127720127721127722127723127724127725127726127727127728127729127730127731127732127733127734127735127736127737127738127739127740127741127742127743127744127745127746127747127748127749127750127751127752127753127754127755127756127757127758127759127760127761127762127763127764127765127766127767127768127769127770127771127772127773127774127775127776127777127778127779127780127781127782127783127784127785127786127787127788127789127790127791127792127793127794127795127796127797127798127799127800127801127802127803127804127805127806127807127808127809127810127811127812127813127814127815127816127817127818127819127820127821127822127823127824127825127826127827127828127829127830127831127832127833127834127835127836127837127838127839127840127841127842127843127844127845127846127847127848127849127850127851127852127853127854127855127856127857127858127859127860127861127862127863127864127865127866127867127868127869127870127871127872127873127874127875127876127877127878127879127880127881127882127883127884127885127886127887127888127889127890127891127892127893127894127895127896127897127898127899127900127901127902127903127904127905127906127907127908127909127910127911127912127913127914127915127916127917127918127919127920127921127922127923127924127925127926127927127928127929127930127931127932127933127934127935127936127937127938127939127940127941127942127943127944127945127946127947127948127949127950127951127952127953127954127955127956127957127958127959127960127961127962127963127964127965127966127967127968127969127970127971127972127973127974127975127976127977127978127979127980127981127982127983127984127985127986127987127988127989127990127991127992127993127994127995127996127997127998127999128000128001128002128003128004128005128006128007128008128009128010128011128012128013128014128015128016128017128018128019128020128021128022128023128024128025128026128027128028128029128030128031128032128033128034128035128036128037128038128039128040128041128042128043128044128045128046128047128048128049128050128051128052128053128054128055128056128057128058128059128060128061128062128063128064128065128066128067128068128069128070128071128072128073128074128075128076128077128078128079128080128081128082128083128084128085128086128087128088128089128090128091128092128093128094128095128096128097128098128099128100128101128102128103128104128105128106128107128108128109128110128111128112128113128114128115128116128117128118128119128120128121128122128123128124128125128126128127128128128129128130128131128132128133128134128135128136128137128138128139128140128141128142128143128144128145128146128147128148128149128150128151128152128153128154128155128156128157128158128159128160128161128162128163128164128165128166128167128168128169128170128171128172128173128174128175128176128177128178128179128180128181128182128183128184128185128186128187128188128189128190128191128192128193128194128195128196128197128198128199128200128201128202128203128204128205128206128207128208128209128210128211128212128213128214128215128216128217128218128219128220128221128222128223128224128225128226128227128228128229128230128231128232128233128234128235128236128237128238128239128240128241128242128243128244128245128246128247128248128249128250128251128252128253128254128255128256128257128258128259128260128261128262128263128264128265128266128267128268128269128270128271128272128273128274128275128276128277128278128279128280128281128282128283128284128285128286128287128288128289128290128291128292128293128294128295128296128297128298128299128300128301128302128303128304128305128306128307128308128309128310128311128312128313128314128315128316128317128318128319128320128321128322128323128324128325128326128327128328128329128330128331128332128333128334128335128336128337128338128339128340128341128342128343128344128345128346128347128348128349128350128351128352128353128354128355128356128357128358128359128360128361128362128363128364128365128366128367128368128369128370128371128372128373128374128375128376128377128378128379128380128381128382128383128384128385128386128387128388128389128390128391128392128393128394128395128396128397128398128399128400128401128402128403128404128405128406128407128408128409128410128411128412128413128414128415128416128417128418128419128420128421128422128423128424128425128426128427128428128429128430128431128432128433128434128435128436128437128438128439128440128441128442128443128444128445128446128447128448128449128450128451128452128453128454128455128456128457128458128459128460128461128462128463128464128465128466128467128468128469128470128471128472128473128474128475128476128477128478128479128480128481128482128483128484128485128486128487128488128489128490128491128492128493128494128495128496128497128498128499128500128501128502128503128504128505128506128507128508128509128510128511128512128513128514128515128516128517128518128519128520128521128522128523128524128525128526128527128528128529128530128531128532128533128534128535128536128537128538128539128540128541128542128543128544128545128546128547128548128549128550128551128552128553128554128555128556128557128558128559128560128561128562128563128564128565128566128567128568128569128570128571128572128573128574128575128576128577128578128579128580128581128582128583128584128585128586128587128588128589128590128591128592128593128594128595128596128597128598128599128600128601128602128603128604128605128606128607128608128609128610128611128612128613128614128615128616128617128618128619128620128621128622128623128624128625128626128627128628128629128630128631128632128633128634128635128636128637128638128639128640128641128642128643128644128645128646128647128648128649128650128651128652128653128654128655128656128657128658128659128660128661128662128663128664128665128666128667128668128669128670128671128672128673128674128675128676128677128678128679128680128681128682128683128684128685128686128687128688128689128690128691128692128693128694128695128696128697128698128699128700128701128702128703128704128705128706128707128708128709128710128711128712128713128714128715128716128717128718128719128720128721128722128723128724128725128726128727128728128729128730128731128732128733128734128735128736128737128738128739128740128741128742128743128744128745128746128747128748128749128750128751128752128753128754128755128756128757128758128759128760128761128762128763128764128765128766128767128768128769128770128771128772128773128774128775128776128777128778128779128780128781128782128783128784128785128786128787128788128789128790128791128792128793128794128795128796128797128798128799128800128801128802128803128804128805128806128807128808128809128810128811128812128813128814128815128816128817128818128819128820128821128822128823128824128825128826128827128828128829128830128831128832128833128834128835128836128837128838128839128840128841128842128843128844128845128846128847128848128849128850128851128852128853128854128855128856128857128858128859128860128861128862128863128864128865128866128867128868128869128870128871128872128873128874128875128876128877128878128879128880128881128882128883128884128885128886128887128888128889128890128891128892128893128894128895128896128897128898128899128900128901128902128903128904128905128906128907128908128909128910128911128912128913128914128915128916128917128918128919128920128921128922128923128924128925128926128927128928128929128930128931128932128933128934128935128936128937128938128939128940128941128942128943128944128945128946128947128948128949128950128951128952128953128954128955128956128957128958128959128960128961128962128963128964128965128966128967128968128969128970128971128972128973128974128975128976128977128978128979128980128981128982128983128984128985128986128987128988128989128990128991128992128993128994128995128996128997128998128999129000129001129002129003129004129005129006129007129008129009129010129011129012129013129014129015129016129017129018129019129020129021129022129023129024129025129026129027129028129029129030129031129032129033129034129035129036129037129038129039129040129041129042129043129044129045129046129047129048129049129050129051129052129053129054129055129056129057129058129059129060129061129062129063129064129065129066129067129068129069129070129071129072129073129074129075129076129077129078129079129080129081129082129083129084129085129086129087129088129089129090129091129092129093129094129095129096129097129098129099129100129101129102129103129104129105129106129107129108129109129110129111129112129113129114129115129116129117129118129119129120129121129122129123129124129125129126129127129128129129129130129131129132129133129134129135129136129137129138129139129140129141129142129143129144129145129146129147129148129149129150129151129152129153129154129155129156129157129158129159129160129161129162129163129164129165129166129167129168129169129170129171129172129173129174129175129176129177129178129179129180129181129182129183129184129185129186129187129188129189129190129191129192129193129194129195129196129197129198129199129200129201129202129203129204129205129206129207129208129209129210129211129212129213129214129215129216129217129218129219129220129221129222129223129224129225129226129227129228129229129230129231129232129233129234129235129236129237129238129239129240129241129242129243129244129245129246129247129248129249129250129251129252129253129254129255129256129257129258129259129260129261129262129263129264129265129266129267129268129269129270129271129272129273129274129275129276129277129278129279129280129281129282129283129284129285129286129287129288129289129290129291129292129293129294129295129296129297129298129299129300129301129302129303129304129305129306129307129308129309129310129311129312129313129314129315129316129317129318129319129320129321129322129323129324129325129326129327129328129329129330129331129332129333129334129335129336129337129338129339129340129341129342129343129344129345129346129347129348129349129350129351129352129353129354129355129356129357129358129359129360129361129362129363129364129365129366129367129368129369129370129371129372129373129374129375129376129377129378129379129380129381129382129383129384129385129386129387129388129389129390129391129392129393129394129395129396129397129398129399129400129401129402129403129404129405129406129407129408129409129410129411129412129413129414129415129416129417129418129419129420129421129422129423129424129425129426129427129428129429129430129431129432129433129434129435129436129437129438129439129440129441129442129443129444129445129446129447129448129449129450129451129452129453129454129455129456129457129458129459129460129461129462129463129464129465129466129467129468129469129470129471129472129473129474129475129476129477129478129479129480129481129482129483129484129485129486129487129488129489129490129491129492129493129494129495129496129497129498129499129500129501129502129503129504129505129506129507129508129509129510129511129512129513129514129515129516129517129518129519129520129521129522129523129524129525129526129527129528129529129530129531129532129533129534129535129536129537129538129539129540129541129542129543129544129545129546129547129548129549129550129551129552129553129554129555129556129557129558129559129560129561129562129563129564129565129566129567129568129569129570129571129572129573129574129575129576129577129578129579129580129581129582129583129584129585129586129587129588129589129590129591129592129593129594129595129596129597129598129599129600129601129602129603129604129605129606129607129608129609129610129611129612129613129614129615129616129617129618129619129620129621129622129623129624129625129626129627129628129629129630129631129632129633129634129635129636129637129638129639129640129641129642129643129644129645129646129647129648129649129650129651129652129653129654129655129656129657129658129659129660129661129662129663129664129665129666129667129668129669129670129671129672129673129674129675129676129677129678129679129680129681129682129683129684129685129686129687129688129689129690129691129692129693129694129695129696129697129698129699129700129701129702129703129704129705129706129707129708129709129710129711129712129713129714129715129716129717129718129719129720129721129722129723129724129725129726129727129728129729129730129731129732129733129734129735129736129737129738129739129740129741129742129743129744129745129746129747129748129749129750129751129752129753129754129755129756129757129758129759129760129761129762129763129764129765129766129767129768129769129770129771129772129773129774129775129776129777129778129779129780129781129782129783129784129785129786129787129788129789129790129791129792129793129794129795129796129797129798129799129800129801129802129803129804129805129806129807129808129809129810129811129812129813129814129815129816129817129818129819129820129821129822129823129824129825129826129827129828129829129830129831129832129833129834129835129836129837129838129839129840129841129842129843129844129845129846129847129848129849129850129851129852129853129854129855129856129857129858129859129860129861129862129863129864129865129866129867129868129869129870129871129872129873129874129875129876129877129878129879129880129881129882129883129884129885129886129887129888129889129890129891129892129893129894129895129896129897129898129899129900129901129902129903129904129905129906129907129908129909129910129911129912129913129914129915129916129917129918129919129920129921129922129923129924129925129926129927129928129929129930129931129932129933129934129935129936129937129938129939129940129941129942129943129944129945129946129947129948129949129950129951129952129953129954129955129956129957129958129959129960129961129962129963129964129965129966129967129968129969129970129971129972129973129974129975129976129977129978129979129980129981129982129983129984129985129986129987129988129989129990129991129992129993129994129995129996129997129998129999130000130001130002130003130004130005130006130007130008130009130010130011130012130013130014130015130016130017130018130019130020130021130022130023130024130025130026130027130028130029130030130031130032130033130034130035130036130037130038130039130040130041130042130043130044130045130046130047130048130049130050130051130052130053130054130055130056130057130058130059130060130061130062130063130064130065130066130067130068130069130070130071130072130073130074130075130076130077130078130079130080130081130082130083130084130085130086130087130088130089130090130091130092130093130094130095130096130097130098130099130100130101130102130103130104130105130106130107130108130109130110130111130112130113130114130115130116130117130118130119130120130121130122130123130124130125130126130127130128130129130130130131130132130133130134130135130136130137130138130139130140130141130142130143130144130145130146130147130148130149130150130151130152130153130154130155130156130157130158130159130160130161130162130163130164130165130166130167130168130169130170130171130172130173130174130175130176130177130178130179130180130181130182130183130184130185130186130187130188130189130190130191130192130193130194130195130196130197130198130199130200130201130202130203130204130205130206130207130208130209130210130211130212130213130214130215130216130217130218130219130220130221130222130223130224130225130226130227130228130229130230130231130232130233130234130235130236130237130238130239130240130241130242130243130244130245130246130247130248130249130250130251130252130253130254130255130256130257130258130259130260130261130262130263130264130265130266130267130268130269130270130271130272130273130274130275130276130277130278130279130280130281130282130283130284130285130286130287130288130289130290130291130292130293130294130295130296130297130298130299130300130301130302130303130304130305130306130307130308130309130310130311130312130313130314130315130316130317130318130319130320130321130322130323130324130325130326130327130328130329130330130331130332130333130334130335130336130337130338130339130340130341130342130343130344130345130346130347130348130349130350130351130352130353130354130355130356130357130358130359130360130361130362130363130364130365130366130367130368130369130370130371130372130373130374130375130376130377130378130379130380130381130382130383130384130385130386130387130388130389130390130391130392130393130394130395130396130397130398130399130400130401130402130403130404130405130406130407130408130409130410130411130412130413130414130415130416130417130418130419130420130421130422130423130424130425130426130427130428130429130430130431130432130433130434130435130436130437130438130439130440130441130442130443130444130445130446130447130448130449130450130451130452130453130454130455130456130457130458130459130460130461130462130463130464130465130466130467130468130469130470130471130472130473130474130475130476130477130478130479130480130481130482130483130484130485130486130487130488130489130490130491130492130493130494130495130496130497130498130499130500130501130502130503130504130505130506130507130508130509130510130511130512130513130514130515130516130517130518130519130520130521130522130523130524130525130526130527130528130529130530130531130532130533130534130535130536130537130538130539130540130541130542130543130544130545130546130547130548130549130550130551130552130553130554130555130556130557130558130559130560130561130562130563130564130565130566130567130568130569130570130571130572130573130574130575130576130577130578130579130580130581130582130583130584130585130586130587130588130589130590130591130592130593130594130595130596130597130598130599130600130601130602130603130604130605130606130607130608130609130610130611130612130613130614130615130616130617130618130619130620130621130622130623130624130625130626130627130628130629130630130631130632130633130634130635130636130637130638130639130640130641130642130643130644130645130646130647130648130649130650130651130652130653130654130655130656130657130658130659130660130661130662130663130664130665130666130667130668130669130670130671130672130673130674130675130676130677130678130679130680130681130682130683130684130685130686130687130688130689130690130691130692130693130694130695130696130697130698130699130700130701130702130703130704130705130706130707130708130709130710130711130712130713130714130715130716130717130718130719130720130721130722130723130724130725130726130727130728130729130730130731130732130733130734130735130736130737130738130739130740130741130742130743130744130745130746130747130748130749130750130751130752130753130754130755130756130757130758130759130760130761130762130763130764130765130766130767130768130769130770130771130772130773130774130775130776130777130778130779130780130781130782130783130784130785130786130787130788130789130790130791130792130793130794130795130796130797130798130799130800130801130802130803130804130805130806130807130808130809130810130811130812130813130814130815130816130817130818130819130820130821130822130823130824130825130826130827130828130829130830130831130832130833130834130835130836130837130838130839130840130841130842130843130844130845130846130847130848130849130850130851130852130853130854130855130856130857130858130859130860130861130862130863130864130865130866130867130868130869130870130871130872130873130874130875130876130877130878130879130880130881130882130883130884130885130886130887130888130889130890130891130892130893130894130895130896130897130898130899130900130901130902130903130904130905130906130907130908130909130910130911130912130913130914130915130916130917130918130919130920130921130922130923130924130925130926130927130928130929130930130931130932130933130934130935130936130937130938130939130940130941130942130943130944130945130946130947130948130949130950130951130952130953130954130955130956130957130958130959130960130961130962130963130964130965130966130967130968130969130970130971130972130973130974130975130976130977130978130979130980130981130982130983130984130985130986130987130988130989130990130991130992130993130994130995130996130997130998130999131000131001131002131003131004131005131006131007131008131009131010131011131012131013131014131015131016131017131018131019131020131021131022131023131024131025131026131027131028131029131030131031131032131033131034131035131036131037131038131039131040131041131042131043131044131045131046131047131048131049131050131051131052131053131054131055131056131057131058131059131060131061131062131063131064131065131066131067131068131069131070131071131072131073131074131075131076131077131078131079131080131081131082131083131084131085131086131087131088131089131090131091131092131093131094131095131096131097131098131099131100131101131102131103131104131105131106131107131108131109131110131111131112131113131114131115131116131117131118131119131120131121131122131123131124131125131126131127131128131129131130131131131132131133131134131135131136131137131138131139131140131141131142131143131144131145131146131147131148131149131150131151131152131153131154131155131156131157131158131159131160131161131162131163131164131165131166131167131168131169131170131171131172131173131174131175131176131177131178131179131180131181131182131183131184131185131186131187131188131189131190131191131192131193131194131195131196131197131198131199131200131201131202131203131204131205131206131207131208131209131210131211131212131213131214131215131216131217131218131219131220131221131222131223131224131225131226131227131228131229131230131231131232131233131234131235131236131237131238131239131240131241131242131243131244131245131246131247131248131249131250131251131252131253131254131255131256131257131258131259131260131261131262131263131264131265131266131267131268131269131270131271131272131273131274131275131276131277131278131279131280131281131282131283131284131285131286131287131288131289131290131291131292131293131294131295131296131297131298131299131300131301131302131303131304131305131306131307131308131309131310131311131312131313131314131315131316131317131318131319131320131321131322131323131324131325131326131327131328131329131330131331131332131333131334131335131336131337131338131339131340131341131342131343131344131345131346131347131348131349131350131351131352131353131354131355131356131357131358131359131360131361131362131363131364131365131366131367131368131369131370131371131372131373131374131375131376131377131378131379131380131381131382131383131384131385131386131387131388131389131390131391131392131393131394131395131396131397131398131399131400131401131402131403131404131405131406131407131408131409131410131411131412131413131414131415131416131417131418131419131420131421131422131423131424131425131426131427131428131429131430131431131432131433131434131435131436131437131438131439131440131441131442131443131444131445131446131447131448131449131450131451131452131453131454131455131456131457131458131459131460131461131462131463131464131465131466131467131468131469131470131471131472131473131474131475131476131477131478131479131480131481131482131483131484131485131486131487131488131489131490131491131492131493131494131495131496131497131498131499131500131501131502131503131504131505131506131507131508131509131510131511131512131513131514131515131516131517131518131519131520131521131522131523131524131525131526131527131528131529131530131531131532131533131534131535131536131537131538131539131540131541131542131543131544131545131546131547131548131549131550131551131552131553131554131555131556131557131558131559131560131561131562131563131564131565131566131567131568131569131570131571131572131573131574131575131576131577131578131579131580131581131582131583131584131585131586131587131588131589131590131591131592131593131594131595131596131597131598131599131600131601131602131603131604131605131606131607131608131609131610131611131612131613131614131615131616131617131618131619131620131621131622131623131624131625131626131627131628131629131630131631131632131633131634131635131636131637131638131639131640131641131642131643131644131645131646131647131648131649131650131651131652131653131654131655131656131657131658131659131660131661131662131663131664131665131666131667131668131669131670131671131672131673131674131675131676131677131678131679131680131681131682131683131684131685131686131687131688131689131690131691131692131693131694131695131696131697131698131699131700131701131702131703131704131705131706131707131708131709131710131711131712131713131714131715131716131717131718131719131720131721131722131723131724131725131726131727131728131729131730131731131732131733131734131735131736131737131738131739131740131741131742131743131744131745131746131747131748131749131750131751131752131753131754131755131756131757131758131759131760131761131762131763131764131765131766131767131768131769131770131771131772131773131774131775131776131777131778131779131780131781131782131783131784131785131786131787131788131789131790131791131792131793131794131795131796131797131798131799131800131801131802131803131804131805131806131807131808131809131810131811131812131813131814131815131816131817131818131819131820131821131822131823131824131825131826131827131828131829131830131831131832131833131834131835131836131837131838131839131840131841131842131843131844131845131846131847131848131849131850131851131852131853131854131855131856131857131858131859131860131861131862131863131864131865131866131867131868131869131870131871131872131873131874131875131876131877131878131879131880131881131882131883131884131885131886131887131888131889131890131891131892131893131894131895131896131897131898131899131900131901131902131903131904131905131906131907131908131909131910131911131912131913131914131915131916131917131918131919131920131921131922131923131924131925131926131927131928131929131930131931131932131933131934131935131936131937131938131939131940131941131942131943131944131945131946131947131948131949131950131951131952131953131954131955131956131957131958131959131960131961131962131963131964131965131966131967131968131969131970131971131972131973131974131975131976131977131978131979131980131981131982131983131984131985131986131987131988131989131990131991131992131993131994131995131996131997131998131999132000132001132002132003132004132005132006132007132008132009132010132011132012132013132014132015132016132017132018132019132020132021132022132023132024132025132026132027132028132029132030132031132032132033132034132035132036132037132038132039132040132041132042132043132044132045132046132047132048132049132050132051132052132053132054132055132056132057132058132059132060132061132062132063132064132065132066132067132068132069132070132071132072132073132074132075132076132077132078132079132080132081132082132083132084132085132086132087132088132089132090132091132092132093132094132095132096132097132098132099132100132101132102132103132104132105132106132107132108132109132110132111132112132113132114132115132116132117132118132119132120132121132122132123132124132125132126132127132128132129132130132131132132132133132134132135132136132137132138132139132140132141132142132143132144132145132146132147132148132149132150132151132152132153132154132155132156132157132158132159132160132161132162132163132164132165132166132167132168132169132170132171132172132173132174132175132176132177132178132179132180132181132182132183132184132185132186132187132188132189132190132191132192132193132194132195132196132197132198132199132200132201132202132203132204132205132206132207132208132209132210132211132212132213132214132215132216132217132218132219132220132221132222132223132224132225132226132227132228132229132230132231132232132233132234132235132236132237132238132239132240132241132242132243132244132245132246132247132248132249132250132251132252132253132254132255132256132257132258132259132260132261132262132263132264132265132266132267132268132269132270132271132272132273132274132275132276132277132278132279132280132281132282132283132284132285132286132287132288132289132290132291132292132293132294132295132296132297132298132299132300132301132302132303132304132305132306132307132308132309132310132311132312132313132314132315132316132317132318132319132320132321132322132323132324132325132326132327132328132329132330132331132332132333132334132335132336132337132338132339132340132341132342132343132344132345132346132347132348132349132350132351132352132353132354132355132356132357132358132359132360132361132362132363132364132365132366132367132368132369132370132371132372132373132374132375132376132377132378132379132380132381132382132383132384132385132386132387132388132389132390132391132392132393132394132395132396132397132398132399132400132401132402132403132404132405132406132407132408132409132410132411132412132413132414132415132416132417132418132419132420132421132422132423132424132425132426132427132428132429132430132431132432132433132434132435132436132437132438132439132440132441132442132443132444132445132446132447132448132449132450132451132452132453132454132455132456132457132458132459132460132461132462132463132464132465132466132467132468132469132470132471132472132473132474132475132476132477132478132479132480132481132482132483132484132485132486132487132488132489132490132491132492132493132494132495132496132497132498132499132500132501132502132503132504132505132506132507132508132509132510132511132512132513132514132515132516132517132518132519132520132521132522132523132524132525132526132527132528132529132530132531132532132533132534132535132536132537132538132539132540132541132542132543132544132545132546132547132548132549132550132551132552132553132554132555132556132557132558132559132560132561132562132563132564132565132566132567132568132569132570132571132572132573132574132575132576132577132578132579132580132581132582132583132584132585132586132587132588132589132590132591132592132593132594132595132596132597132598132599132600132601132602132603132604132605132606132607132608132609132610132611132612132613132614132615132616132617132618132619132620132621132622132623132624132625132626132627132628132629132630132631132632132633132634132635132636132637132638132639132640132641132642132643132644132645132646132647132648132649132650132651132652132653132654132655132656132657132658132659132660132661132662132663132664132665132666132667132668132669132670132671132672132673132674132675132676132677132678132679132680132681132682132683132684132685132686132687132688132689132690132691132692132693132694132695132696132697132698132699132700132701132702132703132704132705132706132707132708132709132710132711132712132713132714132715132716132717132718132719132720132721132722132723132724132725132726132727132728132729132730132731132732132733132734132735132736132737132738132739132740132741132742132743132744132745132746132747132748132749132750132751132752132753132754132755132756132757132758132759132760132761132762132763132764132765132766132767132768132769132770132771132772132773132774132775132776132777132778132779132780132781132782132783132784132785132786132787132788132789132790132791132792132793132794132795132796132797132798132799132800132801132802132803132804132805132806132807132808132809132810132811132812132813132814132815132816132817132818132819132820132821132822132823132824132825132826132827132828132829132830132831132832132833132834132835132836132837132838132839132840132841132842132843132844132845132846132847132848132849132850132851132852132853132854132855132856132857132858132859132860132861132862132863132864132865132866132867132868132869132870132871132872132873132874132875132876132877132878132879132880132881132882132883132884132885132886132887132888132889132890132891132892132893132894132895132896132897132898132899132900132901132902132903132904132905132906132907132908132909132910132911132912132913132914132915132916132917132918132919132920132921132922132923132924132925132926132927132928132929132930132931132932132933132934132935132936132937132938132939132940132941132942132943132944132945132946132947132948132949132950132951132952132953132954132955132956132957132958132959132960132961132962132963132964132965132966132967132968132969132970132971132972132973132974132975132976132977132978132979132980132981132982132983132984132985132986132987132988132989132990132991132992132993132994132995132996132997132998132999133000133001133002133003133004133005133006133007133008133009133010133011133012133013133014133015133016133017133018133019133020133021133022133023133024133025133026133027133028133029133030133031133032133033133034133035133036133037133038133039133040133041133042133043133044133045133046133047133048133049133050133051133052133053133054133055133056133057133058133059133060133061133062133063133064133065133066133067133068133069133070133071133072133073133074133075133076133077133078133079133080133081133082133083133084133085133086133087133088133089133090133091133092133093133094133095133096133097133098133099133100133101133102133103133104133105133106133107133108133109133110133111133112133113133114133115133116133117133118133119133120133121133122133123133124133125133126133127133128133129133130133131133132133133133134133135133136133137133138133139133140133141133142133143133144133145133146133147133148133149133150133151133152133153133154133155133156133157133158133159133160133161133162133163133164133165133166133167133168133169133170133171133172133173133174133175133176133177133178133179133180133181133182133183133184133185133186133187133188133189133190133191133192133193133194133195133196133197133198133199133200133201133202133203133204133205133206133207133208133209133210133211133212133213133214133215133216133217133218133219133220133221133222133223133224133225133226133227133228133229133230133231133232133233133234133235133236133237133238133239133240133241133242133243133244133245133246133247133248133249133250133251133252133253133254133255133256133257133258133259133260133261133262133263133264133265133266133267133268133269133270133271133272133273133274133275133276133277133278133279133280133281133282133283133284133285133286133287133288133289133290133291133292133293133294133295133296133297133298133299133300133301133302133303133304133305133306133307133308133309133310133311133312133313133314133315133316133317133318133319133320133321133322133323133324133325133326133327133328133329133330133331133332133333133334133335133336133337133338133339133340133341133342133343133344133345133346133347133348133349133350133351133352133353133354133355133356133357133358133359133360133361133362133363133364133365133366133367133368133369133370133371133372133373133374133375133376133377133378133379133380133381133382133383133384133385133386133387133388133389133390133391133392133393133394133395133396133397133398133399133400133401133402133403133404133405133406133407133408133409133410133411133412133413133414133415133416133417133418133419133420133421133422133423133424133425133426133427133428133429133430133431133432133433133434133435133436133437133438133439133440133441133442133443133444133445133446133447133448133449133450133451133452133453133454133455133456133457133458133459133460133461133462133463133464133465133466133467133468133469133470133471133472133473133474133475133476133477133478133479133480133481133482133483133484133485133486133487133488133489133490133491133492133493133494133495133496133497133498133499133500133501133502133503133504133505133506133507133508133509133510133511133512133513133514133515133516133517133518133519133520133521133522133523133524133525133526133527133528133529133530133531133532133533133534133535133536133537133538133539133540133541133542133543133544133545133546133547133548133549133550133551133552133553133554133555133556133557133558133559133560133561133562133563133564133565133566133567133568133569133570133571133572133573133574133575133576133577133578133579133580133581133582133583133584133585133586133587133588133589133590133591133592133593133594133595133596133597133598133599133600133601133602133603133604133605133606133607133608133609133610133611133612133613133614133615133616133617133618133619133620133621133622133623133624133625133626133627133628133629133630133631133632133633133634133635133636133637133638133639133640133641133642133643133644133645133646133647133648133649133650133651133652133653133654133655133656133657133658133659133660133661133662133663133664133665133666133667133668133669133670133671133672133673133674133675133676133677133678133679133680133681133682133683133684133685133686133687133688133689133690133691133692133693133694133695133696133697133698133699133700133701133702133703133704133705133706133707133708133709133710133711133712133713133714133715133716133717133718133719133720133721133722133723133724133725133726133727133728133729133730133731133732133733133734133735133736133737133738133739133740133741133742133743133744133745133746133747133748133749133750133751133752133753133754133755133756133757133758133759133760133761133762133763133764133765133766133767133768133769133770133771133772133773133774133775133776133777133778133779133780133781133782133783133784133785133786133787133788133789133790133791133792133793133794133795133796133797133798133799133800133801133802133803133804133805133806133807133808133809133810133811133812133813133814133815133816133817133818133819133820133821133822133823133824133825133826133827133828133829133830133831133832133833133834133835133836133837133838133839133840133841133842133843133844133845133846133847133848133849133850133851133852133853133854133855133856133857133858133859133860133861133862133863133864133865133866133867133868133869133870133871133872133873133874133875133876133877133878133879133880133881133882133883133884133885133886133887133888133889133890133891133892133893133894133895133896133897133898133899133900133901133902133903133904133905133906133907133908133909133910133911133912133913133914133915133916133917133918133919133920133921133922133923133924133925133926133927133928133929133930133931133932133933133934133935133936133937133938133939133940133941133942133943133944133945133946133947133948133949133950133951133952133953133954133955133956133957133958133959133960133961133962133963133964133965133966133967133968133969133970133971133972133973133974133975133976133977133978133979133980133981133982133983133984133985133986133987133988133989133990133991133992133993133994133995133996133997133998133999134000134001134002134003134004134005134006134007134008134009134010134011134012134013134014134015134016134017134018134019134020134021134022134023134024134025134026134027134028134029134030134031134032134033134034134035134036134037134038134039134040134041134042134043134044134045134046134047134048134049134050134051134052134053134054134055134056134057134058134059134060134061134062134063134064134065134066134067134068134069134070134071134072134073134074134075134076134077134078134079134080134081134082134083134084134085134086134087134088134089134090134091134092134093134094134095134096134097134098134099134100134101134102134103134104134105134106134107134108134109134110134111134112134113134114134115134116134117134118134119134120134121134122134123134124134125134126134127134128134129134130134131134132134133134134134135134136134137134138134139134140134141134142134143134144134145134146134147134148134149134150134151134152134153134154134155134156134157134158134159134160134161134162134163134164134165134166134167134168134169134170134171134172134173134174134175134176134177134178134179134180134181134182134183134184134185134186134187134188134189134190134191134192134193134194134195134196134197134198134199134200134201134202134203134204134205134206134207134208134209134210134211134212134213134214134215134216134217134218134219134220134221134222134223134224134225134226134227134228134229134230134231134232134233134234134235134236134237134238134239134240134241134242134243134244134245134246134247134248134249134250134251134252134253134254134255134256134257134258134259134260134261134262134263134264134265134266134267134268134269134270134271134272134273134274134275134276134277134278134279134280134281134282134283134284134285134286134287134288134289134290134291134292134293134294134295134296134297134298134299134300134301134302134303134304134305134306134307134308134309134310134311134312134313134314134315134316134317134318134319134320134321134322134323134324134325134326134327134328134329134330134331134332134333134334134335134336134337134338134339134340134341134342134343134344134345134346134347134348134349134350134351134352134353134354134355134356134357134358134359134360134361134362134363134364134365134366134367134368134369134370134371134372134373134374134375134376134377134378134379134380134381134382134383134384134385134386134387134388134389134390134391134392134393134394134395134396134397134398134399134400134401134402134403134404134405134406134407134408134409134410134411134412134413134414134415134416134417134418134419134420134421134422134423134424134425134426134427134428134429134430134431134432134433134434134435134436134437134438134439134440134441134442134443134444134445134446134447134448134449134450134451134452134453134454134455134456134457134458134459134460134461134462134463134464134465134466134467134468134469134470134471134472134473134474134475134476134477134478134479134480134481134482134483134484134485134486134487134488134489134490134491134492134493134494134495134496134497134498134499134500134501134502134503134504134505134506134507134508134509134510134511134512134513134514134515134516134517134518134519134520134521134522134523134524134525134526134527134528134529134530134531134532134533134534134535134536134537134538134539134540134541134542134543134544134545134546134547134548134549134550134551134552134553134554134555134556134557134558134559134560134561134562134563134564134565134566134567134568134569134570134571134572134573134574134575134576134577134578134579134580134581134582134583134584134585134586134587134588134589134590134591134592134593134594134595134596134597134598134599134600134601134602134603134604134605134606134607134608134609134610134611134612134613134614134615134616134617134618134619134620134621134622134623134624134625134626134627134628134629134630134631134632134633134634134635134636134637134638134639134640134641134642134643134644134645134646134647134648134649134650134651134652134653134654134655134656134657134658134659134660134661134662134663134664134665134666134667134668134669134670134671134672134673134674134675134676134677134678134679134680134681134682134683134684134685134686134687134688134689134690134691134692134693134694134695134696134697134698134699134700134701134702134703134704134705134706134707134708134709134710134711134712134713134714134715134716134717134718134719134720134721134722134723134724134725134726134727134728134729134730134731134732134733134734134735134736134737134738134739134740134741134742134743134744134745134746134747134748134749134750134751134752134753134754134755134756134757134758134759134760134761134762134763134764134765134766134767134768134769134770134771134772134773134774134775134776134777134778134779134780134781134782134783134784134785134786134787134788134789134790134791134792134793134794134795134796134797134798134799134800134801134802134803134804134805134806134807134808134809134810134811134812134813134814134815134816134817134818134819134820134821134822134823134824134825134826134827134828134829134830134831134832134833134834134835134836134837134838134839134840134841134842134843134844134845134846134847134848134849134850134851134852134853134854134855134856134857134858134859134860134861134862134863134864134865134866134867134868134869134870134871134872134873134874134875134876134877134878134879134880134881134882134883134884134885134886134887134888134889134890134891134892134893134894134895134896134897134898134899134900134901134902134903134904134905134906134907134908134909134910134911134912134913134914134915134916134917134918134919134920134921134922134923134924134925134926134927134928134929134930134931134932134933134934134935134936134937134938134939134940134941134942134943134944134945134946134947134948134949134950134951134952134953134954134955134956134957134958134959134960134961134962134963134964134965134966134967134968134969134970134971134972134973134974134975134976134977134978134979134980134981134982134983134984134985134986134987134988134989134990134991134992134993134994134995134996134997134998134999135000135001135002135003135004135005135006135007135008135009135010135011135012135013135014135015135016135017135018135019135020135021135022135023135024135025135026135027135028135029135030135031135032135033135034135035135036135037135038135039135040135041135042135043135044135045135046135047135048135049135050135051135052135053135054135055135056135057135058135059135060135061135062135063135064135065135066135067135068135069135070135071135072135073135074135075135076135077135078135079135080135081135082135083135084135085135086135087135088135089135090135091135092135093135094135095135096135097135098135099135100135101135102135103135104135105135106135107135108135109135110135111135112135113135114135115135116135117135118135119135120135121135122135123135124135125135126135127135128135129135130135131135132135133135134135135135136135137135138135139135140135141135142135143135144135145135146135147135148135149135150135151135152135153135154135155135156135157135158135159135160135161135162135163135164135165135166135167135168135169135170135171135172135173135174135175135176135177135178135179135180135181135182135183135184135185135186135187135188135189135190135191135192135193135194135195135196135197135198135199135200135201135202135203135204135205135206135207135208135209135210135211135212135213135214135215135216135217135218135219135220135221135222135223135224135225135226135227135228135229135230135231135232135233135234135235135236135237135238135239135240135241135242135243135244135245135246135247135248135249135250135251135252135253135254135255135256135257135258135259135260135261135262135263135264135265135266135267135268135269135270135271135272135273135274135275135276135277135278135279135280135281135282135283135284135285135286135287135288135289135290135291135292135293135294135295135296135297135298135299135300135301135302135303135304135305135306135307135308135309135310135311135312135313135314135315135316135317135318135319135320135321135322135323135324135325135326135327135328135329135330135331135332135333135334135335135336135337135338135339135340135341135342135343135344135345135346135347135348135349135350135351135352135353135354135355135356135357135358135359135360135361135362135363135364135365135366135367135368135369135370135371135372135373135374135375135376135377135378135379135380135381135382135383135384135385135386135387135388135389135390135391135392135393135394135395135396135397135398135399135400135401135402135403135404135405135406135407135408135409135410135411135412135413135414135415135416135417135418135419135420135421135422135423135424135425135426135427135428135429135430135431135432135433135434135435135436135437135438135439135440135441135442135443135444135445135446135447135448135449135450135451135452135453135454135455135456135457135458135459135460135461135462135463135464135465135466135467135468135469135470135471135472135473135474135475135476135477135478135479135480135481135482135483135484135485135486135487135488135489135490135491135492135493135494135495135496135497135498135499135500135501135502135503135504135505135506135507135508135509135510135511135512135513135514135515135516135517135518135519135520135521135522135523135524135525135526135527135528135529135530135531135532135533135534135535135536135537135538135539135540135541135542135543135544135545135546135547135548135549135550135551135552135553135554135555135556135557135558135559135560135561135562135563135564135565135566135567135568135569135570135571135572135573135574135575135576135577135578135579135580135581135582135583135584135585135586135587135588135589135590135591135592135593135594135595135596135597135598135599135600135601135602135603135604135605135606135607135608135609135610135611135612135613135614135615135616135617135618135619135620135621135622135623135624135625135626135627135628135629135630135631135632135633135634135635135636135637135638135639135640135641135642135643135644135645135646135647135648135649135650135651135652135653135654135655135656135657135658135659135660135661135662135663135664135665135666135667135668135669135670135671135672135673135674135675135676135677135678135679135680135681135682135683135684135685135686135687135688135689135690135691135692135693135694135695135696135697135698135699135700135701135702135703135704135705135706135707135708135709135710135711135712135713135714135715135716135717135718135719135720135721135722135723135724135725135726135727135728135729135730135731135732135733135734135735135736135737135738135739135740135741135742135743135744135745135746135747135748135749135750135751135752135753135754135755135756135757135758135759135760135761135762135763135764135765135766135767135768135769135770135771135772135773135774135775135776135777135778135779135780135781135782135783135784135785135786135787135788135789135790135791135792135793135794135795135796135797135798135799135800135801135802135803135804135805135806135807135808135809135810135811135812135813135814135815135816135817135818135819135820135821135822135823135824135825135826135827135828135829135830135831135832135833135834135835135836135837135838135839135840135841135842135843135844135845135846135847135848135849135850135851135852135853135854135855135856135857135858135859135860135861135862135863135864135865135866135867135868135869135870135871135872135873135874135875135876135877135878135879135880135881135882135883135884135885135886135887135888135889135890135891135892135893135894135895135896135897135898135899135900135901135902135903135904135905135906135907135908135909135910135911135912135913135914135915135916135917135918135919135920135921135922135923135924135925135926135927135928135929135930135931135932135933135934135935135936135937135938135939135940135941135942135943135944135945135946135947135948135949135950135951135952135953135954135955135956135957135958135959135960135961135962135963135964135965135966135967135968135969135970135971135972135973135974135975135976135977135978135979135980135981135982135983135984135985135986135987135988135989135990135991135992135993135994135995135996135997135998135999136000136001136002136003136004136005136006136007136008136009136010136011136012136013136014136015136016136017136018136019136020136021136022136023136024136025136026136027136028136029136030136031136032136033136034136035136036136037136038136039136040136041136042136043136044136045136046136047136048136049136050136051136052136053136054136055136056136057136058136059136060136061136062136063136064136065136066136067136068136069136070136071136072136073136074136075136076136077136078136079136080136081136082136083136084136085136086136087136088136089136090136091136092136093136094136095136096136097136098136099136100136101136102136103136104136105136106136107136108136109136110136111136112136113136114136115136116136117136118136119136120136121136122136123136124136125136126136127136128136129136130136131136132136133136134136135136136136137136138136139136140136141136142136143136144136145136146136147136148136149136150136151136152136153136154136155136156136157136158136159136160136161136162136163136164136165136166136167136168136169136170136171136172136173136174136175136176136177136178136179136180136181136182136183136184136185136186136187136188136189136190136191136192136193136194136195136196136197136198136199136200136201136202136203136204136205136206136207136208136209136210136211136212136213136214136215136216136217136218136219136220136221136222136223136224136225136226136227136228136229136230136231136232136233136234136235136236136237136238136239136240136241136242136243136244136245136246136247136248136249136250136251136252136253136254136255136256136257136258136259136260136261136262136263136264136265136266136267136268136269136270136271136272136273136274136275136276136277136278136279136280136281136282136283136284136285136286136287136288136289136290136291136292136293136294136295136296136297136298136299136300136301136302136303136304136305136306136307136308136309136310136311136312136313136314136315136316136317136318136319136320136321136322136323136324136325136326136327136328136329136330136331136332136333136334136335136336136337136338136339136340136341136342136343136344136345136346136347136348136349136350136351136352136353136354136355136356136357136358136359136360136361136362136363136364136365136366136367136368136369136370136371136372136373136374136375136376136377136378136379136380136381136382136383136384136385136386136387136388136389136390136391136392136393136394136395136396136397136398136399136400136401136402136403136404136405136406136407136408136409136410136411136412136413136414136415136416136417136418136419136420136421136422136423136424136425136426136427136428136429136430136431136432136433136434136435136436136437136438136439136440136441136442136443136444136445136446136447136448136449136450136451136452136453136454136455136456136457136458136459136460136461136462136463136464136465136466136467136468136469136470136471136472136473136474136475136476136477136478136479136480136481136482136483136484136485136486136487136488136489136490136491136492136493136494136495136496136497136498136499136500136501136502136503136504136505136506136507136508136509136510136511136512136513136514136515136516136517136518136519136520136521136522136523136524136525136526136527136528136529136530136531136532136533136534136535136536136537136538136539136540136541136542136543136544136545136546136547136548136549136550136551136552136553136554136555136556136557136558136559136560136561136562136563136564136565136566136567136568136569136570136571136572136573136574136575136576136577136578136579136580136581136582136583136584136585136586136587136588136589136590136591136592136593136594136595136596136597136598136599136600136601136602136603136604136605136606136607136608136609136610136611136612136613136614136615136616136617136618136619136620136621136622136623136624136625136626136627136628136629136630136631136632136633136634136635136636136637136638136639136640136641136642136643136644136645136646136647136648136649136650136651136652136653136654136655136656136657136658136659136660136661136662136663136664136665136666136667136668136669136670136671136672136673136674136675136676136677136678136679136680136681136682136683136684136685136686136687136688136689136690136691136692136693136694136695136696136697136698136699136700136701136702136703136704136705136706136707136708136709136710136711136712136713136714136715136716136717136718136719136720136721136722136723136724136725136726136727136728136729136730136731136732136733136734136735136736136737136738136739136740136741136742136743136744136745136746136747136748136749136750136751136752136753136754136755136756136757136758136759136760136761136762136763136764136765136766136767136768136769136770136771136772136773136774136775136776136777136778136779136780136781136782136783136784136785136786136787136788136789136790136791136792136793136794136795136796136797136798136799136800136801136802136803136804136805136806136807136808136809136810136811136812136813136814136815136816136817136818136819136820136821136822136823136824136825136826136827136828136829136830136831136832136833136834136835136836136837136838136839136840136841136842136843136844136845136846136847136848136849136850136851136852136853136854136855136856136857136858136859136860136861136862136863136864136865136866136867136868136869136870136871136872136873136874136875136876136877136878136879136880136881136882136883136884136885136886136887136888136889136890136891136892136893136894136895136896136897136898136899136900136901136902136903136904136905136906136907136908136909136910136911136912136913136914136915136916136917136918136919136920136921136922136923136924136925136926136927136928136929136930136931136932136933136934136935136936136937136938136939136940136941136942136943136944136945136946136947136948136949136950136951136952136953136954136955136956136957136958136959136960136961136962136963136964136965136966136967136968136969136970136971136972136973136974136975136976136977136978136979136980136981136982136983136984136985136986136987136988136989136990136991136992136993136994136995136996136997136998136999137000137001137002137003137004137005137006137007137008137009137010137011137012137013137014137015137016137017137018137019137020137021137022137023137024137025137026137027137028137029137030137031137032137033137034137035137036137037137038137039137040137041137042137043137044137045137046137047137048137049137050137051137052137053137054137055137056137057137058137059137060137061137062137063137064137065137066137067137068137069137070137071137072137073137074137075137076137077137078137079137080137081137082137083137084137085137086137087137088137089137090137091137092137093137094137095137096137097137098137099137100137101137102137103137104137105137106137107137108137109137110137111137112137113137114137115137116137117137118137119137120137121137122137123137124137125137126137127137128137129137130137131137132137133137134137135137136137137137138137139137140137141137142137143137144137145137146137147137148137149137150137151137152137153137154137155137156137157137158137159137160137161137162137163137164137165137166137167137168137169137170137171137172137173137174137175137176137177137178137179137180137181137182137183137184137185137186137187137188137189137190137191137192137193137194137195137196137197137198137199137200137201137202137203137204137205137206137207137208137209137210137211137212137213137214137215137216137217137218137219137220137221137222137223137224137225137226137227137228137229137230137231137232137233137234137235137236137237137238137239137240137241137242137243137244137245137246137247137248137249137250137251137252137253137254137255137256137257137258137259137260137261137262137263137264137265137266137267137268137269137270137271137272137273137274137275137276137277137278137279137280137281137282137283137284137285137286137287137288137289137290137291137292137293137294137295137296137297137298137299137300137301137302137303137304137305137306137307137308137309137310137311137312137313137314137315137316137317137318137319137320137321137322137323137324137325137326137327137328137329137330137331137332137333137334137335137336137337137338137339137340137341137342137343137344137345137346137347137348137349137350137351137352137353137354137355137356137357137358137359137360137361137362137363137364137365137366137367137368137369137370137371137372137373137374137375137376137377137378137379137380137381137382137383137384137385137386137387137388137389137390137391137392137393137394137395137396137397137398137399137400137401137402137403137404137405137406137407137408137409137410137411137412137413137414137415137416137417137418137419137420137421137422137423137424137425137426137427137428137429137430137431137432137433137434137435137436137437137438137439137440137441137442137443137444137445137446137447137448137449137450137451137452137453137454137455137456137457137458137459137460137461137462137463137464137465137466137467137468137469137470137471137472137473137474137475137476137477137478137479137480137481137482137483137484137485137486137487137488137489137490137491137492137493137494137495137496137497137498137499137500137501137502137503137504137505137506137507137508137509137510137511137512137513137514137515137516137517137518137519137520137521137522137523137524137525137526137527137528137529137530137531137532137533137534137535137536137537137538137539137540137541137542137543137544137545137546137547137548137549137550137551137552137553137554137555137556137557137558137559137560137561137562137563137564137565137566137567137568137569137570137571137572137573137574137575137576137577137578137579137580137581137582137583137584137585137586137587137588137589137590137591137592137593137594137595137596137597137598137599137600137601137602137603137604137605137606137607137608137609137610137611137612137613137614137615137616137617137618137619137620137621137622137623137624137625137626137627137628137629137630137631137632137633137634137635137636137637137638137639137640137641137642137643137644137645137646137647137648137649137650137651137652137653137654137655137656137657137658137659137660137661137662137663137664137665137666137667137668137669137670137671137672137673137674137675137676137677137678137679137680137681137682137683137684137685137686137687137688137689137690137691137692137693137694137695137696137697137698137699137700137701137702137703137704137705137706137707137708137709137710137711137712137713137714137715137716137717137718137719137720137721137722137723137724137725137726137727137728137729137730137731137732137733137734137735137736137737137738137739137740137741137742137743137744137745137746137747137748137749137750137751137752137753137754137755137756137757137758137759137760137761137762137763137764137765137766137767137768137769137770137771137772137773137774137775137776137777137778137779137780137781137782137783137784137785137786137787137788137789137790137791137792137793137794137795137796137797137798137799137800137801137802137803137804137805137806137807137808137809137810137811137812137813137814137815137816137817137818137819137820137821137822137823137824137825137826137827137828137829137830137831137832137833137834137835137836137837137838137839137840137841137842137843137844137845137846137847137848137849137850137851137852137853137854137855137856137857137858137859137860137861137862137863137864137865137866137867137868137869137870137871137872137873137874137875137876137877137878137879137880137881137882137883137884137885137886137887137888137889137890137891137892137893137894137895137896137897137898137899137900137901137902137903137904137905137906137907137908137909137910137911137912137913137914137915137916137917137918137919137920137921137922137923137924137925137926137927137928137929137930137931137932137933137934137935137936137937137938137939137940137941137942137943137944137945137946137947137948137949137950137951137952137953137954137955137956137957137958137959137960137961137962137963137964137965137966137967137968137969137970137971137972137973137974137975137976137977137978137979137980137981137982137983137984137985137986137987137988137989137990137991137992137993137994137995137996137997137998137999138000138001138002138003138004138005138006138007138008138009138010138011138012138013138014138015138016138017138018138019138020138021138022138023138024138025138026138027138028138029138030138031138032138033138034138035138036138037138038138039138040138041138042138043138044138045138046138047138048138049138050138051138052138053138054138055138056138057138058138059138060138061138062138063138064138065138066138067138068138069138070138071138072138073138074138075138076138077138078138079138080138081138082138083138084138085138086138087138088138089138090138091138092138093138094138095138096138097138098138099138100138101138102138103138104138105138106138107138108138109138110138111138112138113138114138115138116138117138118138119138120138121138122138123138124138125138126138127138128138129138130138131138132138133138134138135138136138137138138138139138140138141138142138143138144138145138146138147138148138149138150138151138152138153138154138155138156138157138158138159138160138161138162138163138164138165138166138167138168138169138170138171138172138173138174138175138176138177138178138179138180138181138182138183138184138185138186138187138188138189138190138191138192138193138194138195138196138197138198138199138200138201138202138203138204138205138206138207138208138209138210138211138212138213138214138215138216138217138218138219138220138221138222138223138224138225138226138227138228138229138230138231138232138233138234138235138236138237138238138239138240138241138242138243138244138245138246138247138248138249138250138251138252138253138254138255138256138257138258138259138260138261138262138263138264138265138266138267138268138269138270138271138272138273138274138275138276138277138278138279138280138281138282138283138284138285138286138287138288138289138290138291138292138293138294138295138296138297138298138299138300138301138302138303138304138305138306138307138308138309138310138311138312138313138314138315138316138317138318138319138320138321138322138323138324138325138326138327138328138329138330138331138332138333138334138335138336138337138338138339138340138341138342138343138344138345138346138347138348138349138350138351138352138353138354138355138356138357138358138359138360138361138362138363138364138365138366138367138368138369138370138371138372138373138374138375138376138377138378138379138380138381138382138383138384138385138386138387138388138389138390138391138392138393138394138395138396138397138398138399138400138401138402138403138404138405138406138407138408138409138410138411138412138413138414138415138416138417138418138419138420138421138422138423138424138425138426138427138428138429138430138431138432138433138434138435138436138437138438138439138440138441138442138443138444138445138446138447138448138449138450138451138452138453138454138455138456138457138458138459138460138461138462138463138464138465138466138467138468138469138470138471138472138473138474138475138476138477138478138479138480138481138482138483138484138485138486138487138488138489138490138491138492138493138494138495138496138497138498138499138500138501138502138503138504138505138506138507138508138509138510138511138512138513138514138515138516138517138518138519138520138521138522138523138524138525138526138527138528138529138530138531138532138533138534138535138536138537138538138539138540138541138542138543138544138545138546138547138548138549138550138551138552138553138554138555138556138557138558138559138560138561138562138563138564138565138566138567138568138569138570138571138572138573138574138575138576138577138578138579138580138581138582138583138584138585138586138587138588138589138590138591138592138593138594138595138596138597138598138599138600138601138602138603138604138605138606138607138608138609138610138611138612138613138614138615138616138617138618138619138620138621138622138623138624138625138626138627138628138629138630138631138632138633138634138635138636138637138638138639138640138641138642138643138644138645138646138647138648138649138650138651138652138653138654138655138656138657138658138659138660138661138662138663138664138665138666138667138668138669138670138671138672138673138674138675138676138677138678138679138680138681138682138683138684138685138686138687138688138689138690138691138692138693138694138695138696138697138698138699138700138701138702138703138704138705138706138707138708138709138710138711138712138713138714138715138716138717138718138719138720138721138722138723138724138725138726138727138728138729138730138731138732138733138734138735138736138737138738138739138740138741138742138743138744138745138746138747138748138749138750138751138752138753138754138755138756138757138758138759138760138761138762138763138764138765138766138767138768138769138770138771138772138773138774138775138776138777138778138779138780138781138782138783138784138785138786138787138788138789138790138791138792138793138794138795138796138797138798138799138800138801138802138803138804138805138806138807138808138809138810138811138812138813138814138815138816138817138818138819138820138821138822138823138824138825138826138827138828138829138830138831138832138833138834138835138836138837138838138839138840138841138842138843138844138845138846138847138848138849138850138851138852138853138854138855138856138857138858138859138860138861138862138863138864138865138866138867138868138869138870138871138872138873138874138875138876138877138878138879138880138881138882138883138884138885138886138887138888138889138890138891138892138893138894138895138896138897138898138899138900138901138902138903138904138905138906138907138908138909138910138911138912138913138914138915138916138917138918138919138920138921138922138923138924138925138926138927138928138929138930138931138932138933138934138935138936138937138938138939138940138941138942138943138944138945138946138947138948138949138950138951138952138953138954138955138956138957138958138959138960138961138962138963138964138965138966138967138968138969138970138971138972138973138974138975138976138977138978138979138980138981138982138983138984138985138986138987138988138989138990138991138992138993138994138995138996138997138998138999139000139001139002139003139004139005139006139007139008139009139010139011139012139013139014139015139016139017139018139019139020139021139022139023139024139025139026139027139028139029139030139031139032139033139034139035139036139037139038139039139040139041139042139043139044139045139046139047139048139049139050139051139052139053139054139055139056139057139058139059139060139061139062139063139064139065139066139067139068139069139070139071139072139073139074139075139076139077139078139079139080139081139082139083139084139085139086139087139088139089139090139091139092139093139094139095139096139097139098139099139100139101139102139103139104139105139106139107139108139109139110139111139112139113139114139115139116139117139118139119139120139121139122139123139124139125139126139127139128139129139130139131139132139133139134139135139136139137139138139139139140139141139142139143139144139145139146139147139148139149139150139151139152139153139154139155139156139157139158139159139160139161139162139163139164139165139166139167139168139169139170139171139172139173139174139175139176139177139178139179139180139181139182139183139184139185139186139187139188139189139190139191139192139193139194139195139196139197139198139199139200139201139202139203139204139205139206139207139208139209139210139211139212139213139214139215139216139217139218139219139220139221139222139223139224139225139226139227139228139229139230139231139232139233139234139235139236139237139238139239139240139241139242139243139244139245139246139247139248139249139250139251139252139253139254139255139256139257139258139259139260139261139262139263139264139265139266139267139268139269139270139271139272139273139274139275139276139277139278139279139280139281139282139283139284139285139286139287139288139289139290139291139292139293139294139295139296139297139298139299139300139301139302139303139304139305139306139307139308139309139310139311139312139313139314139315139316139317139318139319139320139321139322139323139324139325139326139327139328139329139330139331139332139333139334139335139336139337139338139339139340139341139342139343139344139345139346139347139348139349139350139351139352139353139354139355139356139357139358139359139360139361139362139363139364139365139366139367139368139369139370139371139372139373139374139375139376139377139378139379139380139381139382139383139384139385139386139387139388139389139390139391139392139393139394139395139396139397139398139399139400139401139402139403139404139405139406139407139408139409139410139411139412139413139414139415139416139417139418139419139420139421139422139423139424139425139426139427139428139429139430139431139432139433139434139435139436139437139438139439139440139441139442139443139444139445139446139447139448139449139450139451139452139453139454139455139456139457139458139459139460139461139462139463139464139465139466139467139468139469139470139471139472139473139474139475139476139477139478139479139480139481139482139483139484139485139486139487139488139489139490139491139492139493139494139495139496139497139498139499139500139501139502139503139504139505139506139507139508139509139510139511139512139513139514139515139516139517139518139519139520139521139522139523139524139525139526139527139528139529139530139531139532139533139534139535139536139537139538139539139540139541139542139543139544139545139546139547139548139549139550139551139552139553139554139555139556139557139558139559139560139561139562139563139564139565139566139567139568139569139570139571139572139573139574139575139576139577139578139579139580139581139582139583139584139585139586139587139588139589139590139591139592139593139594139595139596139597139598139599139600139601139602139603139604139605139606139607139608139609139610139611139612139613139614139615139616139617139618139619139620139621139622139623139624139625139626139627139628139629139630139631139632139633139634139635139636139637139638139639139640139641139642139643139644139645139646139647139648139649139650139651139652139653139654139655139656139657139658139659139660139661139662139663139664139665139666139667139668139669139670139671139672139673139674139675139676139677139678139679139680139681139682139683139684139685139686139687139688139689139690139691139692139693139694139695139696139697139698139699139700139701139702139703139704139705139706139707139708139709139710139711139712139713139714139715139716139717139718139719139720139721139722139723139724139725139726139727139728139729139730139731139732139733139734139735139736139737139738139739139740139741139742139743139744139745139746139747139748139749139750139751139752139753139754139755139756139757139758139759139760139761139762139763139764139765139766139767139768139769139770139771139772139773139774139775139776139777139778139779139780139781139782139783139784139785139786139787139788139789139790139791139792139793139794139795139796139797139798139799139800139801139802139803139804139805139806139807139808139809139810139811139812139813139814139815139816139817139818139819139820139821139822139823139824139825139826139827139828139829139830139831139832139833139834139835139836139837139838139839139840139841139842139843139844139845139846139847139848139849139850139851139852139853139854139855139856139857139858139859139860139861139862139863139864139865139866139867139868139869139870139871139872139873139874139875139876139877139878139879139880139881139882139883139884139885139886139887139888139889139890139891139892139893139894139895139896139897139898139899139900139901139902139903139904139905139906139907139908139909139910139911139912139913139914139915139916139917139918139919139920139921139922139923139924139925139926139927139928139929139930139931139932139933139934139935139936139937139938139939139940139941139942139943139944139945139946139947139948139949139950139951139952139953139954139955139956139957139958139959139960139961139962139963139964139965139966139967139968139969139970139971139972139973139974139975139976139977139978139979139980139981139982139983139984139985139986139987139988139989139990139991139992139993139994139995139996139997139998139999140000140001140002140003140004140005140006140007140008140009140010140011140012140013140014140015140016140017140018140019140020140021140022140023140024140025140026140027140028140029140030140031140032140033140034140035140036140037140038140039140040140041140042140043140044140045140046140047140048140049140050140051140052140053140054140055140056140057140058140059140060140061140062140063140064140065140066140067140068140069140070140071140072140073140074140075140076140077140078140079140080140081140082140083140084140085140086140087140088140089140090140091140092140093140094140095140096140097140098140099140100140101140102140103140104140105140106140107140108140109140110140111140112140113140114140115140116140117140118140119140120140121140122140123140124140125140126140127140128140129140130140131140132140133140134140135140136140137140138140139140140140141140142140143140144140145140146140147140148140149140150140151140152140153140154140155140156140157140158140159140160140161140162140163140164140165140166140167140168140169140170140171140172140173140174140175140176140177140178140179140180140181140182140183140184140185140186140187140188140189140190140191140192140193140194140195140196140197140198140199140200140201140202140203140204140205140206140207140208140209140210140211140212140213140214140215140216140217140218140219140220140221140222140223140224140225140226140227140228140229140230140231140232140233140234140235140236140237140238140239140240140241140242140243140244140245140246140247140248140249140250140251140252140253140254140255140256140257140258140259140260140261140262140263140264140265140266140267140268140269140270140271140272140273140274140275140276140277140278140279140280140281140282140283140284140285140286140287140288140289140290140291140292140293140294140295140296140297140298140299140300140301140302140303140304140305140306140307140308140309140310140311140312140313140314140315140316140317140318140319140320140321140322140323140324140325140326140327140328140329140330140331140332140333140334140335140336140337140338140339140340140341140342140343140344140345140346140347140348140349140350140351140352140353140354140355140356140357140358140359140360140361140362140363140364140365140366140367140368140369140370140371140372140373140374140375140376140377140378140379140380140381140382140383140384140385140386140387140388140389140390140391140392140393140394140395140396140397140398140399140400140401140402140403140404140405140406140407140408140409140410140411140412140413140414140415140416140417140418140419140420140421140422140423140424140425140426140427140428140429140430140431140432140433140434140435140436140437140438140439140440140441140442140443140444140445140446140447140448140449140450140451140452140453140454140455140456140457140458140459140460140461140462140463140464140465140466140467140468140469140470140471140472140473140474140475140476140477140478140479140480140481140482140483140484140485140486140487140488140489140490140491140492140493140494140495140496140497140498140499140500140501140502140503140504140505140506140507140508140509140510140511140512140513140514140515140516140517140518140519140520140521140522140523140524140525140526140527140528140529140530140531140532140533140534140535140536140537140538140539140540140541140542140543140544140545140546140547140548140549140550140551140552140553140554140555140556140557140558140559140560140561140562140563140564140565140566140567140568140569140570140571140572140573140574140575140576140577140578140579140580140581140582140583140584140585140586140587140588140589140590140591140592140593140594140595140596140597140598140599140600140601140602140603140604140605140606140607140608140609140610140611140612140613140614140615140616140617140618140619140620140621140622140623140624140625140626140627140628140629140630140631140632140633140634140635140636140637140638140639140640140641140642140643140644140645140646140647140648140649140650140651140652140653140654140655140656140657140658140659140660140661140662140663140664140665140666140667140668140669140670140671140672140673140674140675140676140677140678140679140680140681140682140683140684140685140686140687140688140689140690140691140692140693140694140695140696140697140698140699140700140701140702140703140704140705140706140707140708140709140710140711140712140713140714140715140716140717140718140719140720140721140722140723140724140725140726140727140728140729140730140731140732140733140734140735140736140737140738140739140740140741140742140743140744140745140746140747140748140749140750140751140752140753140754140755140756140757140758140759140760140761140762140763140764140765140766140767140768140769140770140771140772140773140774140775140776140777140778140779140780140781140782140783140784140785140786140787140788140789140790140791140792140793140794140795140796140797140798140799140800140801140802140803140804140805140806140807140808140809140810140811140812140813140814140815140816140817140818140819140820140821140822140823140824140825140826140827140828140829140830140831140832140833140834140835140836140837140838140839140840140841140842140843140844140845140846140847140848140849140850140851140852140853140854140855140856140857140858140859140860140861140862140863140864140865140866140867140868140869140870140871140872140873140874140875140876140877140878140879140880140881140882140883140884140885140886140887140888140889140890140891140892140893140894140895140896140897140898140899140900140901140902140903140904140905140906140907140908140909140910140911140912140913140914140915140916140917140918140919140920140921140922140923140924140925140926140927140928140929140930140931140932140933140934140935140936140937140938140939140940140941140942140943140944140945140946140947140948140949140950140951140952140953140954140955140956140957140958140959140960140961140962140963140964140965140966140967140968140969140970140971140972140973140974140975140976140977140978140979140980140981140982140983140984140985140986140987140988140989140990140991140992140993140994140995140996140997140998140999141000141001141002141003141004141005141006141007141008141009141010141011141012141013141014141015141016141017141018141019141020141021141022141023141024141025141026141027141028141029141030141031141032141033141034141035141036141037141038141039141040141041141042141043141044141045141046141047141048141049141050141051141052141053141054141055141056141057141058141059141060141061141062141063141064141065141066141067141068141069141070141071141072141073141074141075141076141077141078141079141080141081141082141083141084141085141086141087141088141089141090141091141092141093141094141095141096141097141098141099141100141101141102141103141104141105141106141107141108141109141110141111141112141113141114141115141116141117141118141119141120141121141122141123141124141125141126141127141128141129141130141131141132141133141134141135141136141137141138141139141140141141141142141143141144141145141146141147141148141149141150141151141152141153141154141155141156141157141158141159141160141161141162141163141164141165141166141167141168141169141170141171141172141173141174141175141176141177141178141179141180141181141182141183141184141185141186141187141188141189141190141191141192141193141194141195141196141197141198141199141200141201141202141203141204141205141206141207141208141209141210141211141212141213141214141215141216141217141218141219141220141221141222141223141224141225141226141227141228141229141230141231141232141233141234141235141236141237141238141239141240141241141242141243141244141245141246141247141248141249141250141251141252141253141254141255141256141257141258141259141260141261141262141263141264141265141266141267141268141269141270141271141272141273141274141275141276141277141278141279141280141281141282141283141284141285141286141287141288141289141290141291141292141293141294141295141296141297141298141299141300141301141302141303141304141305141306141307141308141309141310141311141312141313141314141315141316141317141318141319141320141321141322141323141324141325141326141327141328141329141330141331141332141333141334141335141336141337141338141339141340141341141342141343141344141345141346141347141348141349141350141351141352141353141354141355141356141357141358141359141360141361141362141363141364141365141366141367141368141369141370141371141372141373141374141375141376141377141378141379141380141381141382141383141384141385141386141387141388141389141390141391141392141393141394141395141396141397141398141399141400141401141402141403141404141405141406141407141408141409141410141411141412141413141414141415141416141417141418141419141420141421141422141423141424141425141426141427141428141429141430141431141432141433141434141435141436141437141438141439141440141441141442141443141444141445141446141447141448141449141450141451141452141453141454141455141456141457141458141459141460141461141462141463141464141465141466141467141468141469141470141471141472141473141474141475141476141477141478141479141480141481141482141483141484141485141486141487141488141489141490141491141492141493141494141495141496141497141498141499141500141501141502141503141504141505141506141507141508141509141510141511141512141513141514141515141516141517141518141519141520141521141522141523141524141525141526141527141528141529141530141531141532141533141534141535141536141537141538141539141540141541141542141543141544141545141546141547141548141549141550141551141552141553141554141555141556141557141558141559141560141561141562141563141564141565141566141567141568141569141570141571141572141573141574141575141576141577141578141579141580141581141582141583141584141585141586141587141588141589141590141591141592141593141594141595141596141597141598141599141600141601141602141603141604141605141606141607141608141609141610141611141612141613141614141615141616141617141618141619141620141621141622141623141624141625141626141627141628141629141630141631141632141633141634141635141636141637141638141639141640141641141642141643141644141645141646141647141648141649141650141651141652141653141654141655141656141657141658141659141660141661141662141663141664141665141666141667141668141669141670141671141672141673141674141675141676141677141678141679141680141681141682141683141684141685141686141687141688141689141690141691141692141693141694141695141696141697141698141699141700141701141702141703141704141705141706141707141708141709141710141711141712141713141714141715141716141717141718141719141720141721141722141723141724141725141726141727141728141729141730141731141732141733141734141735141736141737141738141739141740141741141742141743141744141745141746141747141748141749141750141751141752141753141754141755141756141757141758141759141760141761141762141763141764141765141766141767141768141769141770141771141772141773141774141775141776141777141778141779141780141781141782141783141784141785141786141787141788141789141790141791141792141793141794141795141796141797141798141799141800141801141802141803141804141805141806141807141808141809141810141811141812141813141814141815141816141817141818141819141820141821141822141823141824141825141826141827141828141829141830141831141832141833141834141835141836141837141838141839141840141841141842141843141844141845141846141847141848141849141850141851141852141853141854141855141856141857141858141859141860141861141862141863141864141865141866141867141868141869141870141871141872141873141874141875141876141877141878141879141880141881141882141883141884141885141886141887141888141889141890141891141892141893141894141895141896141897141898141899141900141901141902141903141904141905141906141907141908141909141910141911141912141913141914141915141916141917141918141919141920141921141922141923141924141925141926141927141928141929141930141931141932141933141934141935141936141937141938141939141940141941141942141943141944141945141946141947141948141949141950141951141952141953141954141955141956141957141958141959141960141961141962141963141964141965141966141967141968141969141970141971141972141973141974141975141976141977141978141979141980141981141982141983141984141985141986141987141988141989141990141991141992141993141994141995141996141997141998141999142000142001142002142003142004142005142006142007142008142009142010142011142012142013142014142015142016142017142018142019142020142021142022142023142024142025142026142027142028142029142030142031142032142033142034142035142036142037142038142039142040142041142042142043142044142045142046142047142048142049142050142051142052142053142054142055142056142057142058142059142060142061142062142063142064142065142066142067142068142069142070142071142072142073142074142075142076142077142078142079142080142081142082142083142084142085142086142087142088142089142090142091142092142093142094142095142096142097142098142099142100142101142102142103142104142105142106142107142108142109142110142111142112142113142114142115142116142117142118142119142120142121142122142123142124142125142126142127142128142129142130142131142132142133142134142135142136142137142138142139142140142141142142142143142144142145142146142147142148142149142150142151142152142153142154142155142156142157142158142159142160142161142162142163142164142165142166142167142168142169142170142171142172142173142174142175142176142177142178142179142180142181142182142183142184142185142186142187142188142189142190142191142192142193142194142195142196142197142198142199142200142201142202142203142204142205142206142207142208142209142210142211142212142213142214142215142216142217142218142219142220142221142222142223142224142225142226142227142228142229142230142231142232142233142234142235142236142237142238142239142240142241142242142243142244142245142246142247142248142249142250142251142252142253142254142255142256142257142258142259142260142261142262142263142264142265142266142267142268142269142270142271142272142273142274142275142276142277142278142279142280142281142282142283142284142285142286142287142288142289142290142291142292142293142294142295142296142297142298142299142300142301142302142303142304142305142306142307142308142309142310142311142312142313142314142315142316142317142318142319142320142321142322142323142324142325142326142327142328142329142330142331142332142333142334142335142336142337142338142339142340142341142342142343142344142345142346142347142348142349142350142351142352142353142354142355142356142357142358142359142360142361142362142363142364142365142366142367142368142369142370142371142372142373142374142375142376142377142378142379142380142381142382142383142384142385142386142387142388142389142390142391142392142393142394142395142396142397142398142399142400142401142402142403142404142405142406142407142408142409142410142411142412142413142414142415142416142417142418142419142420142421142422142423142424142425142426142427142428142429142430142431142432142433142434142435142436142437142438142439142440142441142442142443142444142445142446142447142448142449142450142451142452142453142454142455142456142457142458142459142460142461142462142463142464142465142466142467142468142469142470142471142472142473142474142475142476142477142478142479142480142481142482142483142484142485142486142487142488142489142490142491142492142493142494142495142496142497142498142499142500142501142502142503142504142505142506142507142508142509142510142511142512142513142514142515142516142517142518142519142520142521142522142523142524142525142526142527142528142529142530142531142532142533142534142535142536142537142538142539142540142541142542142543142544142545142546142547142548142549142550142551142552142553142554142555142556142557142558142559142560142561142562142563142564142565142566142567142568142569142570142571142572142573142574142575142576142577142578142579142580142581142582142583142584142585142586142587142588142589142590142591142592142593142594142595142596142597142598142599142600142601142602142603142604142605142606142607142608142609142610142611142612142613142614142615142616142617142618142619142620142621142622142623142624142625142626142627142628142629142630142631142632142633142634142635142636142637142638142639142640142641142642142643142644142645142646142647142648142649142650142651142652142653142654142655142656142657142658142659142660142661142662142663142664142665142666142667142668142669142670142671142672142673142674142675142676142677142678142679142680142681142682142683142684142685142686142687142688142689142690142691142692142693142694142695142696142697142698142699142700142701142702142703142704142705142706142707142708142709142710142711142712142713142714142715142716142717142718142719142720142721142722142723142724142725142726142727142728142729142730142731142732142733142734142735142736142737142738142739142740142741142742142743142744142745142746142747142748142749142750142751142752142753142754142755142756142757142758142759142760142761142762142763142764142765142766142767142768142769142770142771142772142773142774142775142776142777142778142779142780142781142782142783142784142785142786142787142788142789142790142791142792142793142794142795142796142797142798142799142800142801142802142803142804142805142806142807142808142809142810142811142812142813142814142815142816142817142818142819142820142821142822142823142824142825142826142827142828142829142830142831142832142833142834142835142836142837142838142839142840142841142842142843142844142845142846142847142848142849142850142851142852142853142854142855142856142857142858142859142860142861142862142863142864142865142866142867142868142869142870142871142872142873142874142875142876142877142878142879142880142881142882142883142884142885142886142887142888142889142890142891142892142893142894142895142896142897142898142899142900142901142902142903142904142905142906142907142908142909142910142911142912142913142914142915142916142917142918142919142920142921142922142923142924142925142926142927142928142929142930142931142932142933142934142935142936142937142938142939142940142941142942142943142944142945142946142947142948142949142950142951142952142953142954142955142956142957142958142959142960142961142962142963142964142965142966142967142968142969142970142971142972142973142974142975142976142977142978142979142980142981142982142983142984142985142986142987142988142989142990142991142992142993142994142995142996142997142998142999143000143001143002143003143004143005143006143007143008143009143010143011143012143013143014143015143016143017143018143019143020143021143022143023143024143025143026143027143028143029143030143031143032143033143034143035143036143037143038143039143040143041143042143043143044143045143046143047143048143049143050143051143052143053143054143055143056143057143058143059143060143061143062143063143064143065143066143067143068143069143070143071143072143073143074143075143076143077143078143079143080143081143082143083143084143085143086143087143088143089143090143091143092143093143094143095143096143097143098143099143100143101143102143103143104143105143106143107143108143109143110143111143112143113143114143115143116143117143118143119143120143121143122143123143124143125143126143127143128143129143130143131143132143133143134143135143136143137143138143139143140143141143142143143143144143145143146143147143148143149143150143151143152143153143154143155143156143157143158143159143160143161143162143163143164143165143166143167143168143169143170143171143172143173143174143175143176143177143178143179143180143181143182143183143184143185143186143187143188143189143190143191143192143193143194143195143196143197143198143199143200143201143202143203143204143205143206143207143208143209143210143211143212143213143214143215143216143217143218143219143220143221143222143223143224143225143226143227143228143229143230143231143232143233143234143235143236143237143238143239143240143241143242143243143244143245143246143247143248143249143250143251143252143253143254143255143256143257143258143259143260143261143262143263143264143265143266143267143268143269143270143271143272143273143274143275143276143277143278143279143280143281143282143283143284143285143286143287143288143289143290143291143292143293143294143295143296143297143298143299143300143301143302143303143304143305143306143307143308143309143310143311143312143313143314143315143316143317143318143319143320143321143322143323143324143325143326143327143328143329143330143331143332143333143334143335143336143337143338143339143340143341143342143343143344143345143346143347143348143349143350143351143352143353143354143355143356143357143358143359143360143361143362143363143364143365143366143367143368143369143370143371143372143373143374143375143376143377143378143379143380143381143382143383143384143385143386143387143388143389143390143391143392143393143394143395143396143397143398143399143400143401143402143403143404143405143406143407143408143409143410143411143412143413143414143415143416143417143418143419143420143421143422143423143424143425143426143427143428143429143430143431143432143433143434143435143436143437143438143439143440143441143442143443143444143445143446143447143448143449143450143451143452143453143454143455143456143457143458143459143460143461143462143463143464143465143466143467143468143469143470143471143472143473143474143475143476143477143478143479143480143481143482143483143484143485143486143487143488143489143490143491143492143493143494143495143496143497143498143499143500143501143502143503143504143505143506143507143508143509143510143511143512143513143514143515143516143517143518143519143520143521143522143523143524143525143526143527143528143529143530143531143532143533143534143535143536143537143538143539143540143541143542143543143544143545143546143547143548143549143550143551143552143553143554143555143556143557143558143559143560143561143562143563143564143565143566143567143568143569143570143571143572143573143574143575143576143577143578143579143580143581143582143583143584143585143586143587143588143589143590143591143592143593143594143595143596143597143598143599143600143601143602143603143604143605143606143607143608143609143610143611143612143613143614143615143616143617143618143619143620143621143622143623143624143625143626143627143628143629143630143631143632143633143634143635143636143637143638143639143640143641143642143643143644143645143646143647143648143649143650143651143652143653143654143655143656143657143658143659143660143661143662143663143664143665143666143667143668143669143670143671143672143673143674143675143676143677143678143679143680143681143682143683143684143685143686143687143688143689143690143691143692143693143694143695143696143697143698143699143700143701143702143703143704143705143706143707143708143709143710143711143712143713143714143715143716143717143718143719143720143721143722143723143724143725143726143727143728143729143730143731143732143733143734143735143736143737143738143739143740143741143742143743143744143745143746143747143748143749143750143751143752143753143754143755143756143757143758143759143760143761143762143763143764143765143766143767143768143769143770143771143772143773143774143775143776143777143778143779143780143781143782143783143784143785143786143787143788143789143790143791143792143793143794143795143796143797143798143799143800143801143802143803143804143805143806143807143808143809143810143811143812143813143814143815143816143817143818143819143820143821143822143823143824143825143826143827143828143829143830143831143832143833143834143835143836143837143838143839143840143841143842143843143844143845143846143847143848143849143850143851143852143853143854143855143856143857143858143859143860143861143862143863143864143865143866143867143868143869143870143871143872143873143874143875143876143877143878143879143880143881143882143883143884143885143886143887143888143889143890143891143892143893143894143895143896143897143898143899143900143901143902143903143904143905143906143907143908143909143910143911143912143913143914143915143916143917143918143919143920143921143922143923143924143925143926143927143928143929143930143931143932143933143934143935143936143937143938143939143940143941143942143943143944143945143946143947143948143949143950143951143952143953143954143955143956143957143958143959143960143961143962143963143964143965143966143967143968143969143970143971143972143973143974143975143976143977143978143979143980143981143982143983143984143985143986143987143988143989143990143991143992143993143994143995143996143997143998143999144000144001144002144003144004144005144006144007144008144009144010144011144012144013144014144015144016144017144018144019144020144021144022144023144024144025144026144027144028144029144030144031144032144033144034144035144036144037144038144039144040144041144042144043144044144045144046144047144048144049144050144051144052144053144054144055144056144057144058144059144060144061144062144063144064144065144066144067144068144069144070144071144072144073144074144075144076144077144078144079144080144081144082144083144084144085144086144087144088144089144090144091144092144093144094144095144096144097144098144099144100144101144102144103144104144105144106144107144108144109144110144111144112144113144114144115144116144117144118144119144120144121144122144123144124144125144126144127144128144129144130144131144132144133144134144135144136144137144138144139144140144141144142144143144144144145144146144147144148144149144150144151144152144153144154144155144156144157144158144159144160144161144162144163144164144165144166144167144168144169144170144171144172144173144174144175144176144177144178144179144180144181144182144183144184144185144186144187144188144189144190144191144192144193144194144195144196144197144198144199144200144201144202144203144204144205144206144207144208144209144210144211144212144213144214144215144216144217144218144219144220144221144222144223144224144225144226144227144228144229144230144231144232144233144234144235144236144237144238144239144240144241144242144243144244144245144246144247144248144249144250144251144252144253144254144255144256144257144258144259144260144261144262144263144264144265144266144267144268144269144270144271144272144273144274144275144276144277144278144279144280144281144282144283144284144285144286144287144288144289144290144291144292144293144294144295144296144297144298144299144300144301144302144303144304144305144306144307144308144309144310144311144312144313144314144315144316144317144318144319144320144321144322144323144324144325144326144327144328144329144330144331144332144333144334144335144336144337144338144339144340144341144342144343144344144345144346144347144348144349144350144351144352144353144354144355144356144357144358144359144360144361144362144363144364144365144366144367144368144369144370144371144372144373144374144375144376144377144378144379144380144381144382144383144384144385144386144387144388144389144390144391144392144393144394144395144396144397144398144399144400144401144402144403144404144405144406144407144408144409144410144411144412144413144414144415144416144417144418144419144420144421144422144423144424144425144426144427144428144429144430144431144432144433144434144435144436144437144438144439144440144441144442144443144444144445144446144447144448144449144450144451144452144453144454144455144456144457144458144459144460144461144462144463144464144465144466144467144468144469144470144471144472144473144474144475144476144477144478144479144480144481144482144483144484144485144486144487144488144489144490144491144492144493144494144495144496144497144498144499144500144501144502144503144504144505144506144507144508144509144510144511144512144513144514144515144516144517144518144519144520144521144522144523144524144525144526144527144528144529144530144531144532144533144534144535144536144537144538144539144540144541144542144543144544144545144546144547144548144549144550144551144552144553144554144555144556144557144558144559144560144561144562144563144564144565144566144567144568144569144570144571144572144573144574144575144576144577144578144579144580144581144582144583144584144585144586144587144588144589144590144591144592144593144594144595144596144597144598144599144600144601144602144603144604144605144606144607144608144609144610144611144612144613144614144615144616144617144618144619144620144621144622144623144624144625144626144627144628144629144630144631144632144633144634144635144636144637144638144639144640144641144642144643144644144645144646144647144648144649144650144651144652144653144654144655144656144657144658144659144660144661144662144663144664144665144666144667144668144669144670144671144672144673144674144675144676144677144678144679144680144681144682144683144684144685144686144687144688144689144690144691144692144693144694144695144696144697144698144699144700144701144702144703144704144705144706144707144708144709144710144711144712144713144714144715144716144717144718144719144720144721144722144723144724144725144726144727144728144729144730144731144732144733144734144735144736144737144738144739144740144741144742144743144744144745144746144747144748144749144750144751144752144753144754144755144756144757144758144759144760144761144762144763144764144765144766144767144768144769144770144771144772144773144774144775144776144777144778144779144780144781144782144783144784144785144786144787144788144789144790144791144792144793144794144795144796144797144798144799144800144801144802144803144804144805144806144807144808144809144810144811144812144813144814144815144816144817144818144819144820144821144822144823144824144825144826144827144828144829144830144831144832144833144834144835144836144837144838144839144840144841144842144843144844144845144846144847144848144849144850144851144852144853144854144855144856144857144858144859144860144861144862144863144864144865144866144867144868144869144870144871144872144873144874144875144876144877144878144879144880144881144882144883144884144885144886144887144888144889144890144891144892144893144894144895144896144897144898144899144900144901144902144903144904144905144906144907144908144909144910144911144912144913144914144915144916144917144918144919144920144921144922144923144924144925144926144927144928144929144930144931144932144933144934144935144936144937144938144939144940144941144942144943144944144945144946144947144948144949144950144951144952144953144954144955144956144957144958144959144960144961144962144963144964144965144966144967144968144969144970144971144972144973144974144975144976144977144978144979144980144981144982144983144984144985144986144987144988144989144990144991144992144993144994144995144996144997144998144999145000145001145002145003145004145005145006145007145008145009145010145011145012145013145014145015145016145017145018145019145020145021145022145023145024145025145026145027145028145029145030145031145032145033145034145035145036145037145038145039145040145041145042145043145044145045145046145047145048145049145050145051145052145053145054145055145056145057145058145059145060145061145062145063145064145065145066145067145068145069145070145071145072145073145074145075145076145077145078145079145080145081145082145083145084145085145086145087145088145089145090145091145092145093145094145095145096145097145098145099145100145101145102145103145104145105145106145107145108145109145110145111145112145113145114145115145116145117145118145119145120145121145122145123145124145125145126145127145128145129145130145131145132145133145134145135145136145137145138145139145140145141145142145143145144145145145146145147145148145149145150145151145152145153145154145155145156145157145158145159145160145161145162145163145164145165145166145167145168145169145170145171145172145173145174145175145176145177145178145179145180145181145182145183145184145185145186145187145188145189145190145191145192145193145194145195145196145197145198145199145200145201145202145203145204145205145206145207145208145209145210145211145212145213145214145215145216145217145218145219145220145221145222145223145224145225145226145227145228145229145230145231145232145233145234145235145236145237145238145239145240145241145242145243145244145245145246145247145248145249145250145251145252145253145254145255145256145257145258145259145260145261145262145263145264145265145266145267145268145269145270145271145272145273145274145275145276145277145278145279145280145281145282145283145284145285145286145287145288145289145290145291145292145293145294145295145296145297145298145299145300145301145302145303145304145305145306145307145308145309145310145311145312145313145314145315145316145317145318145319145320145321145322145323145324145325145326145327145328145329145330145331145332145333145334145335145336145337145338145339145340145341145342145343145344145345145346145347145348145349145350145351145352145353145354145355145356145357145358145359145360145361145362145363145364145365145366145367145368145369145370145371145372145373145374145375145376145377145378145379145380145381145382145383145384145385145386145387145388145389145390145391145392145393145394145395145396145397145398145399145400145401145402145403145404145405145406145407145408145409145410145411145412145413145414145415145416145417145418145419145420145421145422145423145424145425145426145427145428145429145430145431145432145433145434145435145436145437145438145439145440145441145442145443145444145445145446145447145448145449145450145451145452145453145454145455145456145457145458145459145460145461145462145463145464145465145466145467145468145469145470145471145472145473145474145475145476145477145478145479145480145481145482145483145484145485145486145487145488145489145490145491145492145493145494145495145496145497145498145499145500145501145502145503145504145505145506145507145508145509145510145511145512145513145514145515145516145517145518145519145520145521145522145523145524145525145526145527145528145529145530145531145532145533145534145535145536145537145538145539145540145541145542145543145544145545145546145547145548145549145550145551145552145553145554145555145556145557145558145559145560145561145562145563145564145565145566145567145568145569145570145571145572145573145574145575145576145577145578145579145580145581145582145583145584145585145586145587145588145589145590145591145592145593145594145595145596145597145598145599145600145601145602145603145604145605145606145607145608145609145610145611145612145613145614145615145616145617145618145619145620145621145622145623145624145625145626145627145628145629145630145631145632145633145634145635145636145637145638145639145640145641145642145643145644145645145646145647145648145649145650145651145652145653145654145655145656145657145658145659145660145661145662145663145664145665145666145667145668145669145670145671145672145673145674145675145676145677145678145679145680145681145682145683145684145685145686145687145688145689145690145691145692145693145694145695145696145697145698145699145700145701145702145703145704145705145706145707145708145709145710145711145712145713145714145715145716145717145718145719145720145721145722145723145724145725145726145727145728145729145730145731145732145733145734145735145736145737145738145739145740145741145742145743145744145745145746145747145748145749145750145751145752145753145754145755145756145757145758145759145760145761145762145763145764145765145766145767145768145769145770145771145772145773145774145775145776145777145778145779145780145781145782145783145784145785145786145787145788145789145790145791145792145793145794145795145796145797145798145799145800145801145802145803145804145805145806145807145808145809145810145811145812145813145814145815145816145817145818145819145820145821145822145823145824145825145826145827145828145829145830145831145832145833145834145835145836145837145838145839145840145841145842145843145844145845145846145847145848145849145850145851145852145853145854145855145856145857145858145859145860145861145862145863145864145865145866145867145868145869145870145871145872145873145874145875145876145877145878145879145880145881145882145883145884145885145886145887145888145889145890145891145892145893145894145895145896145897145898145899145900145901145902145903145904145905145906145907145908145909145910145911145912145913145914145915145916145917145918145919145920145921145922145923145924145925145926145927145928145929145930145931145932145933145934145935145936145937145938145939145940145941145942145943145944145945145946145947145948145949145950145951145952145953145954145955145956145957145958145959145960145961145962145963145964145965145966145967145968145969145970145971145972145973145974145975145976145977145978145979145980145981145982145983145984145985145986145987145988145989145990145991145992145993145994145995145996145997145998145999146000146001146002146003146004146005146006146007146008146009146010146011146012146013146014146015146016146017146018146019146020146021146022146023146024146025146026146027146028146029146030146031146032146033146034146035146036146037146038146039146040146041146042146043146044146045146046146047146048146049146050146051146052146053146054146055146056146057146058146059146060146061146062146063146064146065146066146067146068146069146070146071146072146073146074146075146076146077146078146079146080146081146082146083146084146085146086146087146088146089146090146091146092146093146094146095146096146097146098146099146100146101146102146103146104146105146106146107146108146109146110146111146112146113146114146115146116146117146118146119146120146121146122146123146124146125146126146127146128146129146130146131146132146133146134146135146136146137146138146139146140146141146142146143146144146145146146146147146148146149146150146151146152146153146154146155146156146157146158146159146160146161146162146163146164146165146166146167146168146169146170146171146172146173146174146175146176146177146178146179146180146181146182146183146184146185146186146187146188146189146190146191146192146193146194146195146196146197146198146199146200146201146202146203146204146205146206146207146208146209146210146211146212146213146214146215146216146217146218146219146220146221146222146223146224146225146226146227146228146229146230146231146232146233146234146235146236146237146238146239146240146241146242146243146244146245146246146247146248146249146250146251146252146253146254146255146256146257146258146259146260146261146262146263146264146265146266146267146268146269146270146271146272146273146274146275146276146277146278146279146280146281146282146283146284146285146286146287146288146289146290146291146292146293146294146295146296146297146298146299146300146301146302146303146304146305146306146307146308146309146310146311146312146313146314146315146316146317146318146319146320146321146322146323146324146325146326146327146328146329146330146331146332146333146334146335146336146337146338146339146340146341146342146343146344146345146346146347146348146349146350146351146352146353146354146355146356146357146358146359146360146361146362146363146364146365146366146367146368146369146370146371146372146373146374146375146376146377146378146379146380146381146382146383146384146385146386146387146388146389146390146391146392146393146394146395146396146397146398146399146400146401146402146403146404146405146406146407146408146409146410146411146412146413146414146415146416146417146418146419146420146421146422146423146424146425146426146427146428146429146430146431146432146433146434146435146436146437146438146439146440146441146442146443146444146445146446146447146448146449146450146451146452146453146454146455146456146457146458146459146460146461146462146463146464146465146466146467146468146469146470146471146472146473146474146475146476146477146478146479146480146481146482146483146484146485146486146487146488146489146490146491146492146493146494146495146496146497146498146499146500146501146502146503146504146505146506146507146508146509146510146511146512146513146514146515146516146517146518146519146520146521146522146523146524146525146526146527146528146529146530146531146532146533146534146535146536146537146538146539146540146541146542146543146544146545146546146547146548146549146550146551146552146553146554146555146556146557146558146559146560146561146562146563146564146565146566146567146568146569146570146571146572146573146574146575146576146577146578146579146580146581146582146583146584146585146586146587146588146589146590146591146592146593146594146595146596146597146598146599146600146601146602146603146604146605146606146607146608146609146610146611146612146613146614146615146616146617146618146619146620146621146622146623146624146625146626146627146628146629146630146631146632146633146634146635146636146637146638146639146640146641146642146643146644146645146646146647146648146649146650146651146652146653146654146655146656146657146658146659146660146661146662146663146664146665146666146667146668146669146670146671146672146673146674146675146676146677146678146679146680146681146682146683146684146685146686146687146688146689146690146691146692146693146694146695146696146697146698146699146700146701146702146703146704146705146706146707146708146709146710146711146712146713146714146715146716146717146718146719146720146721146722146723146724146725146726146727146728146729146730146731146732146733146734146735146736146737146738146739146740146741146742146743146744146745146746146747146748146749146750146751146752146753146754146755146756146757146758146759146760146761146762146763146764146765146766146767146768146769146770146771146772146773146774146775146776146777146778146779146780146781146782146783146784146785146786146787146788146789146790146791146792146793146794146795146796146797146798146799146800146801146802146803146804146805146806146807146808146809146810146811146812146813146814146815146816146817146818146819146820146821146822146823146824146825146826146827146828146829146830146831146832146833146834146835146836146837146838146839146840146841146842146843146844146845146846146847146848146849146850146851146852146853146854146855146856146857146858146859146860146861146862146863146864146865146866146867146868146869146870146871146872146873146874146875146876146877146878146879146880146881146882146883146884146885146886146887146888146889146890146891146892146893146894146895146896146897146898146899146900146901146902146903146904146905146906146907146908146909146910146911146912146913146914146915146916146917146918146919146920146921146922146923146924146925146926146927146928146929146930146931146932146933146934146935146936146937146938146939146940146941146942146943146944146945146946146947146948146949146950146951146952146953146954146955146956146957146958146959146960146961146962146963146964146965146966146967146968146969146970146971146972146973146974146975146976146977146978146979146980146981146982146983146984146985146986146987146988146989146990146991146992146993146994146995146996146997146998146999147000147001147002147003147004147005147006147007147008147009147010147011147012147013147014147015147016147017147018147019147020147021147022147023147024147025147026147027147028147029147030147031147032147033147034147035147036147037147038147039147040147041147042147043147044147045147046147047147048147049147050147051147052147053147054147055147056147057147058147059147060147061147062147063147064147065147066147067147068147069147070147071147072147073147074147075147076147077147078147079147080147081147082147083147084147085147086147087147088147089147090147091147092147093147094147095147096147097147098147099147100147101147102147103147104147105147106147107147108147109147110147111147112147113147114147115147116147117147118147119147120147121147122147123147124147125147126147127147128147129147130147131147132147133147134147135147136147137147138147139147140147141147142147143147144147145147146147147147148147149147150147151147152147153147154147155147156147157147158147159147160147161147162147163147164147165147166147167147168147169147170147171147172147173147174147175147176147177147178147179147180147181147182147183147184147185147186147187147188147189147190147191147192147193147194147195147196147197147198147199147200147201147202147203147204147205147206147207147208147209147210147211147212147213147214147215147216147217147218147219147220147221147222147223147224147225147226147227147228147229147230147231147232147233147234147235147236147237147238147239147240147241147242147243147244147245147246147247147248147249147250147251147252147253147254147255147256147257147258147259147260147261147262147263147264147265147266147267147268147269147270147271147272147273147274147275147276147277147278147279147280147281147282147283147284147285147286147287147288147289147290147291147292147293147294147295147296147297147298147299147300147301147302147303147304147305147306147307147308147309147310147311147312147313147314147315147316147317147318147319147320147321147322147323147324147325147326147327147328147329147330147331147332147333147334147335147336147337147338147339147340147341147342147343147344147345147346147347147348147349147350147351147352147353147354147355147356147357147358147359147360147361147362147363147364147365147366147367147368147369147370147371147372147373147374147375147376147377147378147379147380147381147382147383147384147385147386147387147388147389147390147391147392147393147394147395147396147397147398147399147400147401147402147403147404147405147406147407147408147409147410147411147412147413147414147415147416147417147418147419147420147421147422147423147424147425147426147427147428147429147430147431147432147433147434147435147436147437147438147439147440147441147442147443147444147445147446147447147448147449147450147451147452147453147454147455147456147457147458147459147460147461147462147463147464147465147466147467147468147469147470147471147472147473147474147475147476147477147478147479147480147481147482147483147484147485147486147487147488147489147490147491147492147493147494147495147496147497147498147499147500147501147502147503147504147505147506147507147508147509147510147511147512147513147514147515147516147517147518147519147520147521147522147523147524147525147526147527147528147529147530147531147532147533147534147535147536147537147538147539147540147541147542147543147544147545147546147547147548147549147550147551147552147553147554147555147556147557147558147559147560147561147562147563147564147565147566147567147568147569147570147571147572147573147574147575147576147577147578147579147580147581147582147583147584147585147586147587147588147589147590147591147592147593147594147595147596147597147598147599147600147601147602147603147604147605147606147607147608147609147610147611147612147613147614147615147616147617147618147619147620147621147622147623147624147625147626147627147628147629147630147631147632147633147634147635147636147637147638147639147640147641147642147643147644147645147646147647147648147649147650147651147652147653147654147655147656147657147658147659147660147661147662147663147664147665147666147667147668147669147670147671147672147673147674147675147676147677147678147679147680147681147682147683147684147685147686147687147688147689147690147691147692147693147694147695147696147697147698147699147700147701147702147703147704147705147706147707147708147709147710147711147712147713147714147715147716147717147718147719147720147721147722147723147724147725147726147727147728147729147730147731147732147733147734147735147736147737147738147739147740147741147742147743147744147745147746147747147748147749147750147751147752147753147754147755147756147757147758147759147760147761147762147763147764147765147766147767147768147769147770147771147772147773147774147775147776147777147778147779147780147781147782147783147784147785147786147787147788147789147790147791147792147793147794147795147796147797147798147799147800147801147802147803147804147805147806147807147808147809147810147811147812147813147814147815147816147817147818147819147820147821147822147823147824147825147826147827147828147829147830147831147832147833147834147835147836147837147838147839147840147841147842147843147844147845147846147847147848147849147850147851147852147853147854147855147856147857147858147859147860147861147862147863147864147865147866147867147868147869147870147871147872147873147874147875147876147877147878147879147880147881147882147883147884147885147886147887147888147889147890147891147892147893147894147895147896147897147898147899147900147901147902147903147904147905147906147907147908147909147910147911147912147913147914147915147916147917147918147919147920147921147922147923147924147925147926147927147928147929147930147931147932147933147934147935147936147937147938147939147940147941147942147943147944147945147946147947147948147949147950147951147952147953147954147955147956147957147958147959147960147961147962147963147964147965147966147967147968147969147970147971147972147973147974147975147976147977147978147979147980147981147982147983147984147985147986147987147988147989147990147991147992147993147994147995147996147997147998147999148000148001148002148003148004148005148006148007148008148009148010148011148012148013148014148015148016148017148018148019148020148021148022148023148024148025148026148027148028148029148030148031148032148033148034148035148036148037148038148039148040148041148042148043148044148045148046148047148048148049148050148051148052148053148054148055148056148057148058148059148060148061148062148063148064148065148066148067148068148069148070148071148072148073148074148075148076148077148078148079148080148081148082148083148084148085148086148087148088148089148090148091148092148093148094148095148096148097148098148099148100148101148102148103148104148105148106148107148108148109148110148111148112148113148114148115148116148117148118148119148120148121148122148123148124148125148126148127148128148129148130148131148132148133148134148135148136148137148138148139148140148141148142148143148144148145148146148147148148148149148150148151148152148153148154148155148156148157148158148159148160148161148162148163148164148165148166148167148168148169148170148171148172148173148174148175148176148177148178148179148180148181148182148183148184148185148186148187148188148189148190148191148192148193148194148195148196148197148198148199148200148201148202148203148204148205148206148207148208148209148210148211148212148213148214148215148216148217148218148219148220148221148222148223148224148225148226148227148228148229148230148231148232148233148234148235148236148237148238148239148240148241148242148243148244148245148246148247148248148249148250148251148252148253148254148255148256148257148258148259148260148261148262148263148264148265148266148267148268148269148270148271148272148273148274148275148276148277148278148279148280148281148282148283148284148285148286148287148288148289148290148291148292148293148294148295148296148297148298148299148300148301148302148303148304148305148306148307148308148309148310148311148312148313148314148315148316148317148318148319148320148321148322148323148324148325148326148327148328148329148330148331148332148333148334148335148336148337148338148339148340148341148342148343148344148345148346148347148348148349148350148351148352148353148354148355148356148357148358148359148360148361148362148363148364148365148366148367148368148369148370148371148372148373148374148375148376148377148378148379148380148381148382148383148384148385148386148387148388148389148390148391148392148393148394148395148396148397148398148399148400148401148402148403148404148405148406148407148408148409148410148411148412148413148414148415148416148417148418148419148420148421148422148423148424148425148426148427148428148429148430148431148432148433148434148435148436148437148438148439148440148441148442148443148444148445148446148447148448148449148450148451148452148453148454148455148456148457148458148459148460148461148462148463148464148465148466148467148468148469148470148471148472148473148474148475148476148477148478148479148480148481148482148483148484148485148486148487148488148489148490148491148492148493148494148495148496148497148498148499148500148501148502148503148504148505148506148507148508148509148510148511148512148513148514148515148516148517148518148519148520148521148522148523148524148525148526148527148528148529148530148531148532148533148534148535148536148537148538148539148540148541148542148543148544148545148546148547148548148549148550148551148552148553148554148555148556148557148558148559148560148561148562148563148564148565148566148567148568148569148570148571148572148573148574148575148576148577148578148579148580148581148582148583148584148585148586148587148588148589148590148591148592148593148594148595148596148597148598148599148600148601148602148603148604148605148606148607148608148609148610148611148612148613148614148615148616148617148618148619148620148621148622148623148624148625148626148627148628148629148630148631148632148633148634148635148636148637148638148639148640148641148642148643148644148645148646148647148648148649148650148651148652148653148654148655148656148657148658148659148660148661148662148663148664148665148666148667148668148669148670148671148672148673148674148675148676148677148678148679148680148681148682148683148684148685148686148687148688148689148690148691148692148693148694148695148696148697148698148699148700148701148702148703148704148705148706148707148708148709148710148711148712148713148714148715148716148717148718148719148720148721148722148723148724148725148726148727148728148729148730148731148732148733148734148735148736148737148738148739148740148741148742148743148744148745148746148747148748148749148750148751148752148753148754148755148756148757148758148759148760148761148762148763148764148765148766148767148768148769148770148771148772148773148774148775148776148777148778148779148780148781148782148783148784148785148786148787148788148789148790148791148792148793148794148795148796148797148798148799148800148801148802148803148804148805148806148807148808148809148810148811148812148813148814148815148816148817148818148819148820148821148822148823148824148825148826148827148828148829148830148831148832148833148834148835148836148837148838148839148840148841148842148843148844148845148846148847148848148849148850148851148852148853148854148855148856148857148858148859148860148861148862148863148864148865148866148867148868148869148870148871148872148873148874148875148876148877148878148879148880148881148882148883148884148885148886148887148888148889148890148891148892148893148894148895148896148897148898148899148900148901148902148903148904148905148906148907148908148909148910148911148912148913148914148915148916148917148918148919148920148921148922148923148924148925148926148927148928148929148930148931148932148933148934148935148936148937148938148939148940148941148942148943148944148945148946148947148948148949148950148951148952148953148954148955148956148957148958148959148960148961148962148963148964148965148966148967148968148969148970148971148972148973148974148975148976148977148978148979148980148981148982148983148984148985148986148987148988148989148990148991148992148993148994148995148996148997148998148999149000149001149002149003149004149005149006149007149008149009149010149011149012149013149014149015149016149017149018149019149020149021149022149023149024149025149026149027149028149029149030149031149032149033149034149035149036149037149038149039149040149041149042149043149044149045149046149047149048149049149050149051149052149053149054149055149056149057149058149059149060149061149062149063149064149065149066149067149068149069149070149071149072149073149074149075149076149077149078149079149080149081149082149083149084149085149086149087149088149089149090149091149092149093149094149095149096149097149098149099149100149101149102149103149104149105149106149107149108149109149110149111149112149113149114149115149116149117149118149119149120149121149122149123149124149125149126149127149128149129149130149131149132149133149134149135149136149137149138149139149140149141149142149143149144149145149146149147149148149149149150149151149152149153149154149155149156149157149158149159149160149161149162149163149164149165149166149167149168149169149170149171149172149173149174149175149176149177149178149179149180149181149182149183149184149185149186149187149188149189149190149191149192149193149194149195149196149197149198149199149200149201149202149203149204149205149206149207149208149209149210149211149212149213149214149215149216149217149218149219149220149221149222149223149224149225149226149227149228149229149230149231149232149233149234149235149236149237149238149239149240149241149242149243149244149245149246149247149248149249149250149251149252149253149254149255149256149257149258149259149260149261149262149263149264149265149266149267149268149269149270149271149272149273149274149275149276149277149278149279149280149281149282149283149284149285149286149287149288149289149290149291149292149293149294149295149296149297149298149299149300149301149302149303149304149305149306149307149308149309149310149311149312149313149314149315149316149317149318149319149320149321149322149323149324149325149326149327149328149329149330149331149332149333149334149335149336149337149338149339149340149341149342149343149344149345149346149347149348149349149350149351149352149353149354149355149356149357149358149359149360149361149362149363149364149365149366149367149368149369149370149371149372149373149374149375149376149377149378149379149380149381149382149383149384149385149386149387149388149389149390149391149392149393149394149395149396149397149398149399149400149401149402149403149404149405149406149407149408149409149410149411149412149413149414149415149416149417149418149419149420149421149422149423149424149425149426149427149428149429149430149431149432149433149434149435149436149437149438149439149440149441149442149443149444149445149446149447149448149449149450149451149452149453149454149455149456149457149458149459149460149461149462149463149464149465149466149467149468149469149470149471149472149473149474149475149476149477149478149479149480149481149482149483149484149485149486149487149488149489149490149491149492149493149494149495149496149497149498149499149500149501149502149503149504149505149506149507149508149509149510149511149512149513149514149515149516149517149518149519149520149521149522149523149524149525149526149527149528149529149530149531149532149533149534149535149536149537149538149539149540149541149542149543149544149545149546149547149548149549149550149551149552149553149554149555149556149557149558149559149560149561149562149563149564149565149566149567149568149569149570149571149572149573149574149575149576149577149578149579149580149581149582149583149584149585149586149587149588149589149590149591149592149593149594149595149596149597149598149599149600149601149602149603149604149605149606149607149608149609149610149611149612149613149614149615149616149617149618149619149620149621149622149623149624149625149626149627149628149629149630149631149632149633149634149635149636149637149638149639149640149641149642149643149644149645149646149647149648149649149650149651149652149653149654149655149656149657149658149659149660149661149662149663149664149665149666149667149668149669149670149671149672149673149674149675149676149677149678149679149680149681149682149683149684149685149686149687149688149689149690149691149692149693149694149695149696149697149698149699149700149701149702149703149704149705149706149707149708149709149710149711149712149713149714149715149716149717149718149719149720149721149722149723149724149725149726149727149728149729149730149731149732149733149734149735149736149737149738149739149740149741149742149743149744149745149746149747149748149749149750149751149752149753149754149755149756149757149758149759149760149761149762149763149764149765149766149767149768149769149770149771149772149773149774149775149776149777149778149779149780149781149782149783149784149785149786149787149788149789149790149791149792149793149794149795149796149797149798149799149800149801149802149803149804149805149806149807149808149809149810149811149812149813149814149815149816149817149818149819149820149821149822149823149824149825149826149827149828149829149830149831149832149833149834149835149836149837149838149839149840149841149842149843149844149845149846149847149848149849149850149851149852149853149854149855149856149857149858149859149860149861149862149863149864149865149866149867149868149869149870149871149872149873149874149875149876149877149878149879149880149881149882149883149884149885149886149887149888149889149890149891149892149893149894149895149896149897149898149899149900149901149902149903149904149905149906149907149908149909149910149911149912149913149914149915149916149917149918149919149920149921149922149923149924149925149926149927149928149929149930149931149932149933149934149935149936149937149938149939149940149941149942149943149944149945149946149947149948149949149950149951149952149953149954149955149956149957149958149959149960149961149962149963149964149965149966149967149968149969149970149971149972149973149974149975149976149977149978149979149980149981149982149983149984149985149986149987149988149989149990149991149992149993149994149995149996149997149998149999150000150001150002150003150004150005150006150007150008150009150010150011150012150013150014150015150016150017150018150019150020150021150022150023150024150025150026150027150028150029150030150031150032150033150034150035150036150037150038150039150040150041150042150043150044150045150046150047150048150049150050150051150052150053150054150055150056150057150058150059150060150061150062150063150064150065150066150067150068150069150070150071150072150073150074150075150076150077150078150079150080150081150082150083150084150085150086150087150088150089150090150091150092150093150094150095150096150097150098150099150100150101150102150103150104150105150106150107150108150109150110150111150112150113150114150115150116150117150118150119150120150121150122150123150124150125150126150127150128150129150130150131150132150133150134150135150136150137150138150139150140150141150142150143150144150145150146150147150148150149150150150151150152150153150154150155150156150157150158150159150160150161150162150163150164150165150166150167150168150169150170150171150172150173150174150175150176150177150178150179150180150181150182150183150184150185150186150187150188150189150190150191150192150193150194150195150196150197150198150199150200150201150202150203150204150205150206150207150208150209150210150211150212150213150214150215150216150217150218150219150220150221150222150223150224150225150226150227150228150229150230150231150232150233150234150235150236150237150238150239150240150241150242150243150244150245150246150247150248150249150250150251150252150253150254150255150256150257150258150259150260150261150262150263150264150265150266150267150268150269150270150271150272150273150274150275150276150277150278150279150280150281150282150283150284150285150286150287150288150289150290150291150292150293150294150295150296150297150298150299150300150301150302150303150304150305150306150307150308150309150310150311150312150313150314150315150316150317150318150319150320150321150322150323150324150325150326150327150328150329150330150331150332150333150334150335150336150337150338150339150340150341150342150343150344150345150346150347150348150349150350150351150352150353150354150355150356150357150358150359150360150361150362150363150364150365150366150367150368150369150370150371150372150373150374150375150376150377150378150379150380150381150382150383150384150385150386150387150388150389150390150391150392150393150394150395150396150397150398150399150400150401150402150403150404150405150406150407150408150409150410150411150412150413150414150415150416150417150418150419150420150421150422150423150424150425150426150427150428150429150430150431150432150433150434150435150436150437150438150439150440150441150442150443150444150445150446150447150448150449150450150451150452150453150454150455150456150457150458150459150460150461150462150463150464150465150466150467150468150469150470150471150472150473150474150475150476150477150478150479150480150481150482150483150484150485150486150487150488150489150490150491150492150493150494150495150496150497150498150499150500150501150502150503150504150505150506150507150508150509150510150511150512150513150514150515150516150517150518150519150520150521150522150523150524150525150526150527150528150529150530150531150532150533150534150535150536150537150538150539150540150541150542150543150544150545150546150547150548150549150550150551150552150553150554150555150556150557150558150559150560150561150562150563150564150565150566150567150568150569150570150571150572150573150574150575150576150577150578150579150580150581150582150583150584150585150586150587150588150589150590150591150592150593150594150595150596150597150598150599150600150601150602150603150604150605150606150607150608150609150610150611150612150613150614150615150616150617150618150619150620150621150622150623150624150625150626150627150628150629150630150631150632150633150634150635150636150637150638150639150640150641150642150643150644150645150646150647150648150649150650150651150652150653150654150655150656150657150658150659150660150661150662150663150664150665150666150667150668150669150670150671150672150673150674150675150676150677150678150679150680150681150682150683150684150685150686150687150688150689150690150691150692150693150694150695150696150697150698150699150700150701150702150703150704150705150706150707150708150709150710150711150712150713150714150715150716150717150718150719150720150721150722150723150724150725150726150727150728150729150730150731150732150733150734150735150736150737150738150739150740150741150742150743150744150745150746150747150748150749150750150751150752150753150754150755150756150757150758150759150760150761150762150763150764150765150766150767150768150769150770150771150772150773150774150775150776150777150778150779150780150781150782150783150784150785150786150787150788150789150790150791150792150793150794150795150796150797150798150799150800150801150802150803150804150805150806150807150808150809150810150811150812150813150814150815150816150817150818150819150820150821150822150823150824150825150826150827150828150829150830150831150832150833150834150835150836150837150838150839150840150841150842150843150844150845150846150847150848150849150850150851150852150853150854150855150856150857150858150859150860150861150862150863150864150865150866150867150868150869150870150871150872150873150874150875150876150877150878150879150880150881150882150883150884150885150886150887150888150889150890150891150892150893150894150895150896150897150898150899150900150901150902150903150904150905150906150907150908150909150910150911150912150913150914150915150916150917150918150919150920150921150922150923150924150925150926150927150928150929150930150931150932150933150934150935150936150937150938150939150940150941150942150943150944150945150946150947150948150949150950150951150952150953150954150955150956150957150958150959150960150961150962150963150964150965150966150967150968150969150970150971150972150973150974150975150976150977150978150979150980150981150982150983150984150985150986150987150988150989150990150991150992150993150994150995150996150997150998150999151000151001151002151003151004151005151006151007151008151009151010151011151012151013151014151015151016151017151018151019151020151021151022151023151024151025151026151027151028151029151030151031151032151033151034151035151036151037151038151039151040151041151042151043151044151045151046151047151048151049151050151051151052151053151054151055151056151057151058151059151060151061151062151063151064151065151066151067151068151069151070151071151072151073151074151075151076151077151078151079151080151081151082151083151084151085151086151087151088151089151090151091151092151093151094151095151096151097151098151099151100151101151102151103151104151105151106151107151108151109151110151111151112151113151114151115151116151117151118151119151120151121151122151123151124151125151126151127151128151129151130151131151132151133151134151135151136151137151138151139151140151141151142151143151144151145151146151147151148151149151150151151151152151153151154151155151156151157151158151159151160151161151162151163151164151165151166151167151168151169151170151171151172151173151174151175151176151177151178151179151180151181151182151183151184151185151186151187151188151189151190151191151192151193151194151195151196151197151198151199151200151201151202151203151204151205151206151207151208151209151210151211151212151213151214151215151216151217151218151219151220151221151222151223151224151225151226151227151228151229151230151231151232151233151234151235151236151237151238151239151240151241151242151243151244151245151246151247151248151249151250151251151252151253151254151255151256151257151258151259151260151261151262151263151264151265151266151267151268151269151270151271151272151273151274151275151276151277151278151279151280151281151282151283151284151285151286151287151288151289151290151291151292151293151294151295151296151297151298151299151300151301151302151303151304151305151306151307151308151309151310151311151312151313151314151315151316151317151318151319151320151321151322151323151324151325151326151327151328151329151330151331151332151333151334151335151336151337151338151339151340151341151342151343151344151345151346151347151348151349151350151351151352151353151354151355151356151357151358151359151360151361151362151363151364151365151366151367151368151369151370151371151372151373151374151375151376151377151378151379151380151381151382151383151384151385151386151387151388151389151390151391151392151393151394151395151396151397151398151399151400151401151402151403151404151405151406151407151408151409151410151411151412151413151414151415151416151417151418151419151420151421151422151423151424151425151426151427151428151429151430151431151432151433151434151435151436151437151438151439151440151441151442151443151444151445151446151447151448151449151450151451151452151453151454151455151456151457151458151459151460151461151462151463151464151465151466151467151468151469151470151471151472151473151474151475151476151477151478151479151480151481151482151483151484151485151486151487151488151489151490151491151492151493151494151495151496151497151498151499151500151501151502151503151504151505151506151507151508151509151510151511151512151513151514151515151516151517151518151519151520151521151522151523151524151525151526151527151528151529151530151531151532151533151534151535151536151537151538151539151540151541151542151543151544151545151546151547151548151549151550151551151552151553151554151555151556151557151558151559151560151561151562151563151564151565151566151567151568151569151570151571151572151573151574151575151576151577151578151579151580151581151582151583151584151585151586151587151588151589151590151591151592151593151594151595151596151597151598151599151600151601151602151603151604151605151606151607151608151609151610151611151612151613151614151615151616151617151618151619151620151621151622151623151624151625151626151627151628151629151630151631151632151633151634151635151636151637151638151639151640151641151642151643151644151645151646151647151648151649151650151651151652151653151654151655151656151657151658151659151660151661151662151663151664151665151666151667151668151669151670151671151672151673151674151675151676151677151678151679151680151681151682151683151684151685151686151687151688151689151690151691151692151693151694151695151696151697151698151699151700151701151702151703151704151705151706151707151708151709151710151711151712151713151714151715151716151717151718151719151720151721151722151723151724151725151726151727151728151729151730151731151732151733151734151735151736151737151738151739151740151741151742151743151744151745151746151747151748151749151750151751151752151753151754151755151756151757151758151759151760151761151762151763151764151765151766151767151768151769151770151771151772151773151774151775151776151777151778151779151780151781151782151783151784151785151786151787151788151789151790151791151792151793151794151795151796151797151798151799151800151801151802151803151804151805151806151807151808151809151810151811151812151813151814151815151816151817151818151819151820151821151822151823151824151825151826151827151828151829151830151831151832151833151834151835151836151837151838151839151840151841151842151843151844151845151846151847151848151849151850151851151852151853151854151855151856151857151858151859151860151861151862151863151864151865151866151867151868151869151870151871151872151873151874151875151876151877151878151879151880151881151882151883151884151885151886151887151888151889151890151891151892151893151894151895151896151897151898151899151900151901151902151903151904151905151906151907151908151909151910151911151912151913151914151915151916151917151918151919151920151921151922151923151924151925151926151927151928151929151930151931151932151933151934151935151936151937151938151939151940151941151942151943151944151945151946151947151948151949151950151951151952151953151954151955151956151957151958151959151960151961151962151963151964151965151966151967151968151969151970151971151972151973151974151975151976151977151978151979151980151981151982151983151984151985151986151987151988151989151990151991151992151993151994151995151996151997151998151999152000152001152002152003152004152005152006152007152008152009152010152011152012152013152014152015152016152017152018152019152020152021152022152023152024152025152026152027152028152029152030152031152032152033152034152035152036152037152038152039152040152041152042152043152044152045152046152047152048152049152050152051152052152053152054152055152056152057152058152059152060152061152062152063152064152065152066152067152068152069152070152071152072152073152074152075152076152077152078152079152080152081152082152083152084152085152086152087152088152089152090152091152092152093152094152095152096152097152098152099152100152101152102152103152104152105152106152107152108152109152110152111152112152113152114152115152116152117152118152119152120152121152122152123152124152125152126152127152128152129152130152131152132152133152134152135152136152137152138152139152140152141152142152143152144152145152146152147152148152149152150152151152152152153152154152155152156152157152158152159152160152161152162152163152164152165152166152167152168152169152170152171152172152173152174152175152176152177152178152179152180152181152182152183152184152185152186152187152188152189152190152191152192152193152194152195152196152197152198152199152200152201152202152203152204152205152206152207152208152209152210152211152212152213152214152215152216152217152218152219152220152221152222152223152224152225152226152227152228152229152230152231152232152233152234152235152236152237152238152239152240152241152242152243152244152245152246152247152248152249152250152251152252152253152254152255152256152257152258152259152260152261152262152263152264152265152266152267152268152269152270152271152272152273152274152275152276152277152278152279152280152281152282152283152284152285152286152287152288152289152290152291152292152293152294152295152296152297152298152299152300152301152302152303152304152305152306152307152308152309152310152311152312152313152314152315152316152317152318152319152320152321152322152323152324152325152326152327152328152329152330152331152332152333152334152335152336152337152338152339152340152341152342152343152344152345152346152347152348152349152350152351152352152353152354152355152356152357152358152359152360152361152362152363152364152365152366152367152368152369152370152371152372152373152374152375152376152377152378152379152380152381152382152383152384152385152386152387152388152389152390152391152392152393152394152395152396152397152398152399152400152401152402152403152404152405152406152407152408152409152410152411152412152413152414152415152416152417152418152419152420152421152422152423152424152425152426152427152428152429152430152431152432152433152434152435152436152437152438152439152440152441152442152443152444152445152446152447152448152449152450152451152452152453152454152455152456152457152458152459152460152461152462152463152464152465152466152467152468152469152470152471152472152473152474152475152476152477152478152479152480152481152482152483152484152485152486152487152488152489152490152491152492152493152494152495152496152497152498152499152500152501152502152503152504152505152506152507152508152509152510152511152512152513152514152515152516152517152518152519152520152521152522152523152524152525152526152527152528152529152530152531152532152533152534152535152536152537152538152539152540152541152542152543152544152545152546152547152548152549152550152551152552152553152554152555152556152557152558152559152560152561152562152563152564152565152566152567152568152569152570152571152572152573152574152575152576152577152578152579152580152581152582152583152584152585152586152587152588152589152590152591152592152593152594152595152596152597152598152599152600152601152602152603152604152605152606152607152608152609152610152611152612152613152614152615152616152617152618152619152620152621152622152623152624152625152626152627152628152629152630152631152632152633152634152635152636152637152638152639152640152641152642152643152644152645152646152647152648152649152650152651152652152653152654152655152656152657152658152659152660152661152662152663152664152665152666152667152668152669152670152671152672152673152674152675152676152677152678152679152680152681152682152683152684152685152686152687152688152689152690152691152692152693152694152695152696152697152698152699152700152701152702152703152704152705152706152707152708152709152710152711152712152713152714152715152716152717152718152719152720152721152722152723152724152725152726152727152728152729152730152731152732152733152734152735152736152737152738152739152740152741152742152743152744152745152746152747152748152749152750152751152752152753152754152755152756152757152758152759152760152761152762152763152764152765152766152767152768152769152770152771152772152773152774152775152776152777152778152779152780152781152782152783152784152785152786152787152788152789152790152791152792152793152794152795152796152797152798152799152800152801152802152803152804152805152806152807152808152809152810152811152812152813152814152815152816152817152818152819152820152821152822152823152824152825152826152827152828152829152830152831152832152833152834152835152836152837152838152839152840152841152842152843152844152845152846152847152848152849152850152851152852152853152854152855152856152857152858152859152860152861152862152863152864152865152866152867152868152869152870152871152872152873152874152875152876152877152878152879152880152881152882152883152884152885152886152887152888152889152890152891152892152893152894152895152896152897152898152899152900152901152902152903152904152905152906152907152908152909152910152911152912152913152914152915152916152917152918152919152920152921152922152923152924152925152926152927152928152929152930152931152932152933152934152935152936152937152938152939152940152941152942152943152944152945152946152947152948152949152950152951152952152953152954152955152956152957152958152959152960152961152962152963152964152965152966152967152968152969152970152971152972152973152974152975152976152977152978152979152980152981152982152983152984152985152986152987152988152989152990152991152992152993152994152995152996152997152998152999153000153001153002153003153004153005153006153007153008153009153010153011153012153013153014153015153016153017153018153019153020153021153022153023153024153025153026153027153028153029153030153031153032153033153034153035153036153037153038153039153040153041153042153043153044153045153046153047153048153049153050153051153052153053153054153055153056153057153058153059153060153061153062153063153064153065153066153067153068153069153070153071153072153073153074153075153076153077153078153079153080153081153082153083153084153085153086153087153088153089153090153091153092153093153094153095153096153097153098153099153100153101153102153103153104153105153106153107153108153109153110153111153112153113153114153115153116153117153118153119153120153121153122153123153124153125153126153127153128153129153130153131153132153133153134153135153136153137153138153139153140153141153142153143153144153145153146153147153148153149153150153151153152153153153154153155153156153157153158153159153160153161153162153163153164153165153166153167153168153169153170153171153172153173153174153175153176153177153178153179153180153181153182153183153184153185153186153187153188153189153190153191153192153193153194153195153196153197153198153199153200153201153202153203153204153205153206153207153208153209153210153211153212153213153214153215153216153217153218153219153220153221153222153223153224153225153226153227153228153229153230153231153232153233153234153235153236153237153238153239153240153241153242153243153244153245153246153247153248153249153250153251153252153253153254153255153256153257153258153259153260153261153262153263153264153265153266153267153268153269153270153271153272153273153274153275153276153277153278153279153280153281153282153283153284153285153286153287153288153289153290153291153292153293153294153295153296153297153298153299153300153301153302153303153304153305153306153307153308153309153310153311153312153313153314153315153316153317153318153319153320153321153322153323153324153325153326153327153328153329153330153331153332153333153334153335153336153337153338153339153340153341153342153343153344153345153346153347153348153349153350153351153352153353153354153355153356153357153358153359153360153361153362153363153364153365153366153367153368153369153370153371153372153373153374153375153376153377153378153379153380153381153382153383153384153385153386153387153388153389153390153391153392153393153394153395153396153397153398153399153400153401153402153403153404153405153406153407153408153409153410153411153412153413153414153415153416153417153418153419153420153421153422153423153424153425153426153427153428153429153430153431153432153433153434153435153436153437153438153439153440153441153442153443153444153445153446153447153448153449153450153451153452153453153454153455153456153457153458153459153460153461153462153463153464153465153466153467153468153469153470153471153472153473153474153475153476153477153478153479153480153481153482153483153484153485153486153487153488153489153490153491153492153493153494153495153496153497153498153499153500153501153502153503153504153505153506153507153508153509153510153511153512153513153514153515153516153517153518153519153520153521153522153523153524153525153526153527153528153529153530153531153532153533153534153535153536153537153538153539153540153541153542153543153544153545153546153547153548153549153550153551153552153553153554153555153556153557153558153559153560153561153562153563153564153565153566153567153568153569153570153571153572153573153574153575153576153577153578153579153580153581153582153583153584153585153586153587153588153589153590153591153592153593153594153595153596153597153598153599153600153601153602153603153604153605153606153607153608153609153610153611153612153613153614153615153616153617153618153619153620153621153622153623153624153625153626153627153628153629153630153631153632153633153634153635153636153637153638153639153640153641153642153643153644153645153646153647153648153649153650153651153652153653153654153655153656153657153658153659153660153661153662153663153664153665153666153667153668153669153670153671153672153673153674153675153676153677153678153679153680153681153682153683153684153685153686153687153688153689153690153691153692153693153694153695153696153697153698153699153700153701153702153703153704153705153706153707153708153709153710153711153712153713153714153715153716153717153718153719153720153721153722153723153724153725153726153727153728153729153730153731153732153733153734153735153736153737153738153739153740153741153742153743153744153745153746153747153748153749153750153751153752153753153754153755153756153757153758153759153760153761153762153763153764153765153766153767153768153769153770153771153772153773153774153775153776153777153778153779153780153781153782153783153784153785153786153787153788153789153790153791153792153793153794153795153796153797153798153799153800153801153802153803153804153805153806153807153808153809153810153811153812153813153814153815153816153817153818153819153820153821153822153823153824153825153826153827153828153829153830153831153832153833153834153835153836153837153838153839153840153841153842153843153844153845153846153847153848153849153850153851153852153853153854153855153856153857153858153859153860153861153862153863153864153865153866153867153868153869153870153871153872153873153874153875153876153877153878153879153880153881153882153883153884153885153886153887153888153889153890153891153892153893153894153895153896153897153898153899153900153901153902153903153904153905153906153907153908153909153910153911153912153913153914153915153916153917153918153919153920153921153922153923153924153925153926153927153928153929153930153931153932153933153934153935153936153937153938153939153940153941153942153943153944153945153946153947153948153949153950153951153952153953153954153955153956153957153958153959153960153961153962153963153964153965153966153967153968153969153970153971153972153973153974153975153976153977153978153979153980153981153982153983153984153985153986153987153988153989153990153991153992153993153994153995153996153997153998153999154000154001154002154003154004154005154006154007154008154009154010154011154012154013154014154015154016154017154018154019154020154021154022154023154024154025154026154027154028154029154030154031154032154033154034154035154036154037154038154039154040154041154042154043154044154045154046154047154048154049154050154051154052154053154054154055154056154057154058154059154060154061154062154063154064154065154066154067154068154069154070154071154072154073154074154075154076154077154078154079154080154081154082154083154084154085154086154087154088154089154090154091154092154093154094154095154096154097154098154099154100154101154102154103154104154105154106154107154108154109154110154111154112154113154114154115154116154117154118154119154120154121154122154123154124154125154126154127154128154129154130154131154132154133154134154135154136154137154138154139154140154141154142154143154144154145154146154147154148154149154150154151154152154153154154154155154156154157154158154159154160154161154162154163154164154165154166154167154168154169154170154171154172154173154174154175154176154177154178154179154180154181154182154183154184154185154186154187154188154189154190154191154192154193154194154195154196154197154198154199154200154201154202154203154204154205154206154207154208154209154210154211154212154213154214154215154216154217154218154219154220154221154222154223154224154225154226154227154228154229154230154231154232154233154234154235154236154237154238154239154240154241154242154243154244154245154246154247154248154249154250154251154252154253154254154255154256154257154258154259154260154261154262154263154264154265154266154267154268154269154270154271154272154273154274154275154276154277154278154279154280154281154282154283154284154285154286154287154288154289154290154291154292154293154294154295154296154297154298154299154300154301154302154303154304154305154306154307154308154309154310154311154312154313154314154315154316154317154318154319154320154321154322154323154324154325154326154327154328154329154330154331154332154333154334154335154336154337154338154339154340154341154342154343154344154345154346154347154348154349154350154351154352154353154354154355154356154357154358154359154360154361154362154363154364154365154366154367154368154369154370154371154372154373154374154375154376154377154378154379154380154381154382154383154384154385154386154387154388154389154390154391154392154393154394154395154396154397154398154399154400154401154402154403154404154405154406154407154408154409154410154411154412154413154414154415154416154417154418154419154420154421154422154423154424154425154426154427154428154429154430154431154432154433154434154435154436154437154438154439154440154441154442154443154444154445154446154447154448154449154450154451154452154453154454154455154456154457154458154459154460154461154462154463154464154465154466154467154468154469154470154471154472154473154474154475154476154477154478154479154480154481154482154483154484154485154486154487154488154489154490154491154492154493154494154495154496154497154498154499154500154501154502154503154504154505154506154507154508154509154510154511154512154513154514154515154516154517154518154519154520154521154522154523154524154525154526154527154528154529154530154531154532154533154534154535154536154537154538154539154540154541154542154543154544154545154546154547154548154549154550154551154552154553154554154555154556154557154558154559154560154561154562154563154564154565154566154567154568154569154570154571154572154573154574154575154576154577154578154579154580154581154582154583154584154585154586154587154588154589154590154591154592154593154594154595154596154597154598154599154600154601154602154603154604154605154606154607154608154609154610154611154612154613154614154615154616154617154618154619154620154621154622154623154624154625154626154627154628154629154630154631154632154633154634154635154636154637154638154639154640154641154642154643154644154645154646154647154648154649154650154651154652154653154654154655154656154657154658154659154660154661154662154663154664154665154666154667154668154669154670154671154672154673154674154675154676154677154678154679154680154681154682154683154684154685154686154687154688154689154690154691154692154693154694154695154696154697154698154699154700154701154702154703154704154705154706154707154708154709154710154711154712154713154714154715154716154717154718154719154720154721154722154723154724154725154726154727154728154729154730154731154732154733154734154735154736154737154738154739154740154741154742154743154744154745154746154747154748154749154750154751154752154753154754154755154756154757154758154759154760154761154762154763154764154765154766154767154768154769154770154771154772154773154774154775154776154777154778154779154780154781154782154783154784154785154786154787154788154789154790154791154792154793154794154795154796154797154798154799154800154801154802154803154804154805154806154807154808154809154810154811154812154813154814154815154816154817154818154819154820154821154822154823154824154825154826154827154828154829154830154831154832154833154834154835154836154837154838154839154840154841154842154843154844154845154846154847154848154849154850154851154852154853154854154855154856154857154858154859154860154861154862154863154864154865154866154867154868154869154870154871154872154873154874154875154876154877154878154879154880154881154882154883154884154885154886154887154888154889154890154891154892154893154894154895154896154897154898154899154900154901154902154903154904154905154906154907154908154909154910154911154912154913154914154915154916154917154918154919154920154921154922154923154924154925154926154927154928154929154930154931154932154933154934154935154936154937154938154939154940154941154942154943154944154945154946154947154948154949154950154951154952154953154954154955154956154957154958154959154960154961154962154963154964154965154966154967154968154969154970154971154972154973154974154975154976154977154978154979154980154981154982154983154984154985154986154987154988154989154990154991154992154993154994154995154996154997154998154999155000155001155002155003155004155005155006155007155008155009155010155011155012155013155014155015155016155017155018155019155020155021155022155023155024155025155026155027155028155029155030155031155032155033155034155035155036155037155038155039155040155041155042155043155044155045155046155047155048155049155050155051155052155053155054155055155056155057155058155059155060155061155062155063155064155065155066155067155068155069155070155071155072155073155074155075155076155077155078155079155080155081155082155083155084155085155086155087155088155089155090155091155092155093155094155095155096155097155098155099155100155101155102155103155104155105155106155107155108155109155110155111155112155113155114155115155116155117155118155119155120155121155122155123155124155125155126155127155128155129155130155131155132155133155134155135155136155137155138155139155140155141155142155143155144155145155146155147155148155149155150155151155152155153155154155155155156155157155158155159155160155161155162155163155164155165155166155167155168155169155170155171155172155173155174155175155176155177155178155179155180155181155182155183155184155185155186155187155188155189155190155191155192155193155194155195155196155197155198155199155200155201155202155203155204155205155206155207155208155209155210155211155212155213155214155215155216155217155218155219155220155221155222155223155224155225155226155227155228155229155230155231155232155233155234155235155236155237155238155239155240155241155242155243155244155245155246155247155248155249155250155251155252155253155254155255155256155257155258155259155260155261155262155263155264155265155266155267155268155269155270155271155272155273155274155275155276155277155278155279155280155281155282155283155284155285155286155287155288155289155290155291155292155293155294155295155296155297155298155299155300155301155302155303155304155305155306155307155308155309155310155311155312155313155314155315155316155317155318155319155320155321155322155323155324155325155326155327155328155329155330155331155332155333155334155335155336155337155338155339155340155341155342155343155344155345155346155347155348155349155350155351155352155353155354155355155356155357155358155359155360155361155362155363155364155365155366155367155368155369155370155371155372155373155374155375155376155377155378155379155380155381155382155383155384155385155386155387155388155389155390155391155392155393155394155395155396155397155398155399155400155401155402155403155404155405155406155407155408155409155410155411155412155413155414155415155416155417155418155419155420155421155422155423155424155425155426155427155428155429155430155431155432155433155434155435155436155437155438155439155440155441155442155443155444155445155446155447155448155449155450155451155452155453155454155455155456155457155458155459155460155461155462155463155464155465155466155467155468155469155470155471155472155473155474155475155476155477155478155479155480155481155482155483155484155485155486155487155488155489155490155491155492155493155494155495155496155497155498155499155500155501155502155503155504155505155506155507155508155509155510155511155512155513155514155515155516155517155518155519155520155521155522155523155524155525155526155527155528155529155530155531155532155533155534155535155536155537155538155539155540155541155542155543155544155545155546155547155548155549155550155551155552155553155554155555155556155557155558155559155560155561155562155563155564155565155566155567155568155569155570155571155572155573155574155575155576155577155578155579155580155581155582155583155584155585155586155587155588155589155590155591155592155593155594155595155596155597155598155599155600155601155602155603155604155605155606155607155608155609155610155611155612155613155614155615155616155617155618155619155620155621155622155623155624155625155626155627155628155629155630155631155632155633155634155635155636155637155638155639155640155641155642155643155644155645155646155647155648155649155650155651155652155653155654155655155656155657155658155659155660155661155662155663155664155665155666155667155668155669155670155671155672155673155674155675155676155677155678155679155680155681155682155683155684155685155686155687155688155689155690155691155692155693155694155695155696155697155698155699155700155701155702155703155704155705155706155707155708155709155710155711155712155713155714155715155716155717155718155719155720155721155722155723155724155725155726155727155728155729155730155731155732155733155734155735155736155737155738155739155740155741155742155743155744155745155746155747155748155749155750155751155752155753155754155755155756155757155758155759155760155761155762155763155764155765155766155767155768155769155770155771155772155773155774155775155776155777155778155779155780155781155782155783155784155785155786155787155788155789155790155791155792155793155794155795155796155797155798155799155800155801155802155803155804155805155806155807155808155809155810155811155812155813155814155815155816155817155818155819155820155821155822155823155824155825155826155827155828155829155830155831155832155833155834155835155836155837155838155839155840155841155842155843155844155845155846155847155848155849155850155851155852155853155854155855155856155857155858155859155860155861155862155863155864155865155866155867155868155869155870155871155872155873155874155875155876155877155878155879155880155881155882155883155884155885155886155887155888155889155890155891155892155893155894155895155896155897155898155899155900155901155902155903155904155905155906155907155908155909155910155911155912155913155914155915155916155917155918155919155920155921155922155923155924155925155926155927155928155929155930155931155932155933155934155935155936155937155938155939155940155941155942155943155944155945155946155947155948155949155950155951155952155953155954155955155956155957155958155959155960155961155962155963155964155965155966155967155968155969155970155971155972155973155974155975155976155977155978155979155980155981155982155983155984155985155986155987155988155989155990155991155992155993155994155995155996155997155998155999156000156001156002156003156004156005156006156007156008156009156010156011156012156013156014156015156016156017156018156019156020156021156022156023156024156025156026156027156028156029156030156031156032156033156034156035156036156037156038156039156040156041156042156043156044156045156046156047156048156049156050156051156052156053156054156055156056156057156058156059156060156061156062156063156064156065156066156067156068156069156070156071156072156073156074156075156076156077156078156079156080156081156082156083156084156085156086156087156088156089156090156091156092156093156094156095156096156097156098156099156100156101156102156103156104156105156106156107156108156109156110156111156112156113156114156115156116156117156118156119156120156121156122156123156124156125156126156127156128156129156130156131156132156133156134156135156136156137156138156139156140156141156142156143156144156145156146156147156148156149156150156151156152156153156154156155156156156157156158156159156160156161156162156163156164156165156166156167156168156169156170156171156172156173156174156175156176156177156178156179156180156181156182156183156184156185156186156187156188156189156190156191156192156193156194156195156196156197156198156199156200156201156202156203156204156205156206156207156208156209156210156211156212156213156214156215156216156217156218156219156220156221156222156223156224156225156226156227156228156229156230156231156232156233156234156235156236156237156238156239156240156241156242156243156244156245156246156247156248156249156250156251156252156253156254156255156256156257156258156259156260156261156262156263156264156265156266156267156268156269156270156271156272156273156274156275156276156277156278156279156280156281156282156283156284156285156286156287156288156289156290156291156292156293156294156295156296156297156298156299156300156301156302156303156304156305156306156307156308156309156310156311156312156313156314156315156316156317156318156319156320156321156322156323156324156325156326156327156328156329156330156331156332156333156334156335156336156337156338156339156340156341156342156343156344156345156346156347156348156349156350156351156352156353156354156355156356156357156358156359156360156361156362156363156364156365156366156367156368156369156370156371156372156373156374156375156376156377156378156379156380156381156382156383156384156385156386156387156388156389156390156391156392156393156394156395156396156397156398156399156400156401156402156403156404156405156406156407156408156409156410156411156412156413156414156415156416156417156418156419156420156421156422156423156424156425156426156427156428156429156430156431156432156433156434156435156436156437156438156439156440156441156442156443156444156445156446156447156448156449156450156451156452156453156454156455156456156457156458156459156460156461156462156463156464156465156466156467156468156469156470156471156472156473156474156475156476156477156478156479156480156481156482156483156484156485156486156487156488156489156490156491156492156493156494156495156496156497156498156499156500156501156502156503156504156505156506156507156508156509156510156511156512156513156514156515156516156517156518156519156520156521156522156523156524156525156526156527156528156529156530156531156532156533156534156535156536156537156538156539156540156541156542156543156544156545156546156547156548156549156550156551156552156553156554156555156556156557156558156559156560156561156562156563156564156565156566156567156568156569156570156571156572156573156574156575156576156577156578156579156580156581156582156583156584156585156586156587156588156589156590156591156592156593156594156595156596156597156598156599156600156601156602156603156604156605156606156607156608156609156610156611156612156613156614156615156616156617156618156619156620156621156622156623156624156625156626156627156628156629156630156631156632156633156634156635156636156637156638156639156640156641156642156643156644156645156646156647156648156649156650156651156652156653156654156655156656156657156658156659156660156661156662156663156664156665156666156667156668156669156670156671156672156673156674156675156676156677156678156679156680156681156682156683156684156685156686156687156688156689156690156691156692156693156694156695156696156697156698156699156700156701156702156703156704156705156706156707156708156709156710156711156712156713156714156715156716156717156718156719156720156721156722156723156724156725156726156727156728156729156730156731156732156733156734156735156736156737156738156739156740156741156742156743156744156745156746156747156748156749156750156751156752156753156754156755156756156757156758156759156760156761156762156763156764156765156766156767156768156769156770156771156772156773156774156775156776156777156778156779156780156781156782156783156784156785156786156787156788156789156790156791156792156793156794156795156796156797156798156799156800156801156802156803156804156805156806156807156808156809156810156811156812156813156814156815156816156817156818156819156820156821156822156823156824156825156826156827156828156829156830156831156832156833156834156835156836156837156838156839156840156841156842156843156844156845156846156847156848156849156850156851156852156853156854156855156856156857156858156859156860156861156862156863156864156865156866156867156868156869156870156871156872156873156874156875156876156877156878156879156880156881156882156883156884156885156886156887156888156889156890156891156892156893156894156895156896156897156898156899156900156901156902156903156904156905156906156907156908156909156910156911156912156913156914156915156916156917156918156919156920156921156922156923156924156925156926156927156928156929156930156931156932156933156934156935156936156937156938156939156940156941156942156943156944156945156946156947156948156949156950156951156952156953156954156955156956156957156958156959156960156961156962156963156964156965156966156967156968156969156970156971156972156973156974156975156976156977156978156979156980156981156982156983156984156985156986156987156988156989156990156991156992156993156994156995156996156997156998156999157000157001157002157003157004157005157006157007157008157009157010157011157012157013157014157015157016157017157018157019157020157021157022157023157024157025157026157027157028157029157030157031157032157033157034157035157036157037157038157039157040157041157042157043157044157045157046157047157048157049157050157051157052157053157054157055157056157057157058157059157060157061157062157063157064157065157066157067157068157069157070157071157072157073157074157075157076157077157078157079157080157081157082157083157084157085157086157087157088157089157090157091157092157093157094157095157096157097157098157099157100157101157102157103157104157105157106157107157108157109157110157111157112157113157114157115157116157117157118157119157120157121157122157123157124157125157126157127157128157129157130157131157132157133157134157135157136157137157138157139157140157141157142157143157144157145157146157147157148157149157150157151157152157153157154157155157156157157157158157159157160157161157162157163157164157165157166157167157168157169157170157171157172157173157174157175157176157177157178157179157180157181157182157183157184157185157186157187157188157189157190157191157192157193157194157195157196157197157198157199157200157201157202157203157204157205157206157207157208157209157210157211157212157213157214157215157216157217157218157219157220157221157222157223157224157225157226157227157228157229157230157231157232157233157234157235157236157237157238157239157240157241157242157243157244157245157246157247157248157249157250157251157252157253157254157255157256157257157258157259157260157261157262157263157264157265157266157267157268157269157270157271157272157273157274157275157276157277157278157279157280157281157282157283157284157285157286157287157288157289157290157291157292157293157294157295157296157297157298157299157300157301157302157303157304157305157306157307157308157309157310157311157312157313157314157315157316157317157318157319157320157321157322157323157324157325157326157327157328157329157330157331157332157333157334157335157336157337157338157339157340157341157342157343157344157345157346157347157348157349157350157351157352157353157354157355157356157357157358157359157360157361157362157363157364157365157366157367157368157369157370157371157372157373157374157375157376157377157378157379157380157381157382157383157384157385157386157387157388157389157390157391157392157393157394157395157396157397157398157399157400157401157402157403157404157405157406157407157408157409157410157411157412157413157414157415157416157417157418157419157420157421157422157423157424157425157426157427157428157429157430157431157432157433157434157435157436157437157438157439157440157441157442157443157444157445157446157447157448157449157450157451157452157453157454157455157456157457157458157459157460157461157462157463157464157465157466157467157468157469157470157471157472157473157474157475157476157477157478157479157480157481157482157483157484157485157486157487157488157489157490157491157492157493157494157495157496157497157498157499157500157501157502157503157504157505157506157507157508157509157510157511157512157513157514157515157516157517157518157519157520157521157522157523157524157525157526157527157528157529157530157531157532157533157534157535157536157537157538157539157540157541157542157543157544157545157546157547157548157549157550157551157552157553157554157555157556157557157558157559157560157561157562157563157564157565157566157567157568157569157570157571157572157573157574157575157576157577157578157579157580157581157582157583157584157585157586157587157588157589157590157591157592157593157594157595157596157597157598157599157600157601157602157603157604157605157606157607157608157609157610157611157612157613157614157615157616157617157618157619157620157621157622157623157624157625157626157627157628157629157630157631157632157633157634157635157636157637157638157639157640157641157642157643157644157645157646157647157648157649157650157651157652157653157654157655157656157657157658157659157660157661157662157663157664157665157666157667157668157669157670157671157672157673157674157675157676157677157678157679157680157681157682157683157684157685157686157687157688157689157690157691157692157693157694157695157696157697157698157699157700157701157702157703157704157705157706157707157708157709157710157711157712157713157714157715157716157717157718157719157720157721157722157723157724157725157726157727157728157729157730157731157732157733157734157735157736157737157738157739157740157741157742157743157744157745157746157747157748157749157750157751157752157753157754157755157756157757157758157759157760157761157762157763157764157765157766157767157768157769157770157771157772157773157774157775157776157777157778157779157780157781157782157783157784157785157786157787157788157789157790157791157792157793157794157795157796157797157798157799157800157801157802157803157804157805157806157807157808157809157810157811157812157813157814157815157816157817157818157819157820157821157822157823157824157825157826157827157828157829157830157831157832157833157834157835157836157837157838157839157840157841157842157843157844157845157846157847157848157849157850157851157852157853157854157855157856157857157858157859157860157861157862157863157864157865157866157867157868157869157870157871157872157873157874157875157876157877157878157879157880157881157882157883157884157885157886157887157888157889157890157891157892157893157894157895157896157897157898157899157900157901157902157903157904157905157906157907157908157909157910157911157912157913157914157915157916157917157918157919157920157921157922157923157924157925157926157927157928157929157930157931157932157933157934157935157936157937157938157939157940157941157942157943157944157945157946157947157948157949157950157951157952157953157954157955157956157957157958157959157960157961157962157963157964157965157966157967157968157969157970157971157972157973157974157975157976157977157978157979157980157981157982157983157984157985157986157987157988157989157990157991157992157993157994157995157996157997157998157999158000158001158002158003158004158005158006158007158008158009158010158011158012158013158014158015158016158017158018158019158020158021158022158023158024158025158026158027158028158029158030158031158032158033158034158035158036158037158038158039158040158041158042158043158044158045158046158047158048158049158050158051158052158053158054158055158056158057158058158059158060158061158062158063158064158065158066158067158068158069158070158071158072158073158074158075158076158077158078158079158080158081158082158083158084158085158086158087158088158089158090158091158092158093158094158095158096158097158098158099158100158101158102158103158104158105158106158107158108158109158110158111158112158113158114158115158116158117158118158119158120158121158122158123158124158125158126158127158128158129158130158131158132158133158134158135158136158137158138158139158140158141158142158143158144158145158146158147158148158149158150158151158152158153158154158155158156158157158158158159158160158161158162158163158164158165158166158167158168158169158170158171158172158173158174158175158176158177158178158179158180158181158182158183158184158185158186158187158188158189158190158191158192158193158194158195158196158197158198158199158200158201158202158203158204158205158206158207158208158209158210158211158212158213158214158215158216158217158218158219158220158221158222158223158224158225158226158227158228158229158230158231158232158233158234158235158236158237158238158239158240158241158242158243158244158245158246158247158248158249158250158251158252158253158254158255158256158257158258158259158260158261158262158263158264158265158266158267158268158269158270158271158272158273158274158275158276158277158278158279158280158281158282158283158284158285158286158287158288158289158290158291158292158293158294158295158296158297158298158299158300158301158302158303158304158305158306158307158308158309158310158311158312158313158314158315158316158317158318158319158320158321158322158323158324158325158326158327158328158329158330158331158332158333158334158335158336158337158338158339158340158341158342158343158344158345158346158347158348158349158350158351158352158353158354158355158356158357158358158359158360158361158362158363158364158365158366158367158368158369158370158371158372158373158374158375158376158377158378158379158380158381158382158383158384158385158386158387158388158389158390158391158392158393158394158395158396158397158398158399158400158401158402158403158404158405158406158407158408158409158410158411158412158413158414158415158416158417158418158419158420158421158422158423158424158425158426158427158428158429158430158431158432158433158434158435158436158437158438158439158440158441158442158443158444158445158446158447158448158449158450158451158452158453158454158455158456158457158458158459158460158461158462158463158464158465158466158467158468158469158470158471158472158473158474158475158476158477158478158479158480158481158482158483158484158485158486158487158488158489158490158491158492158493158494158495158496158497158498158499158500158501158502158503158504158505158506158507158508158509158510158511158512158513158514158515158516158517158518158519158520158521158522158523158524158525158526158527158528158529158530158531158532158533158534158535158536158537158538158539158540158541158542158543158544158545158546158547158548158549158550158551158552158553158554158555158556158557158558158559158560158561158562158563158564158565158566158567158568158569158570158571158572158573158574158575158576158577158578158579158580158581158582158583158584158585158586158587158588158589158590158591158592158593158594158595158596158597158598158599158600158601158602158603158604158605158606158607158608158609158610158611158612158613158614158615158616158617158618158619158620158621158622158623158624158625158626158627158628158629158630158631158632158633158634158635158636158637158638158639158640158641158642158643158644158645158646158647158648158649158650158651158652158653158654158655158656158657158658158659158660158661158662158663158664158665158666158667158668158669158670158671158672158673158674158675158676158677158678158679158680158681158682158683158684158685158686158687158688158689158690158691158692158693158694158695158696158697158698158699158700158701158702158703158704158705158706158707158708158709158710158711158712158713158714158715158716158717158718158719158720158721158722158723158724158725158726158727158728158729158730158731158732158733158734158735158736158737158738158739158740158741158742158743158744158745158746158747158748158749158750158751158752158753158754158755158756158757158758158759158760158761158762158763158764158765158766158767158768158769158770158771158772158773158774158775158776158777158778158779158780158781158782158783158784158785158786158787158788158789158790158791158792158793158794158795158796158797158798158799158800158801158802158803158804158805158806158807158808158809158810158811158812158813158814158815158816158817158818158819158820158821158822158823158824158825158826158827158828158829158830158831158832158833158834158835158836158837158838158839158840158841158842158843158844158845158846158847158848158849158850158851158852158853158854158855158856158857158858158859158860158861158862158863158864158865158866158867158868158869158870158871158872158873158874158875158876158877158878158879158880158881158882158883158884158885158886158887158888158889158890158891158892158893158894158895158896158897158898158899158900158901158902158903158904158905158906158907158908158909158910158911158912158913158914158915158916158917158918158919158920158921158922158923158924158925158926158927158928158929158930158931158932158933158934158935158936158937158938158939158940158941158942158943158944158945158946158947158948158949158950158951158952158953158954158955158956158957158958158959158960158961158962158963158964158965158966158967158968158969158970158971158972158973158974158975158976158977158978158979158980158981158982158983158984158985158986158987158988158989158990158991158992158993158994158995158996158997158998158999159000159001159002159003159004159005159006159007159008159009159010159011159012159013159014159015159016159017159018159019159020159021159022159023159024159025159026159027159028159029159030159031159032159033159034159035159036159037159038159039159040159041159042159043159044159045159046159047159048159049159050159051159052159053159054159055159056159057159058159059159060159061159062159063159064159065159066159067159068159069159070159071159072159073159074159075159076159077159078159079159080159081159082159083159084159085159086159087159088159089159090159091159092159093159094159095159096159097159098159099159100159101159102159103159104159105159106159107159108159109159110159111159112159113159114159115159116159117159118159119159120159121159122159123159124159125159126159127159128159129159130159131159132159133159134159135159136159137159138159139159140159141159142159143159144159145159146159147159148159149159150159151159152159153159154159155159156159157159158159159159160159161159162159163159164159165159166159167159168159169159170159171159172159173159174159175159176159177159178159179159180159181159182159183159184159185159186159187159188159189159190159191159192159193159194159195159196159197159198159199159200159201159202159203159204159205159206159207159208159209159210159211159212159213159214159215159216159217159218159219159220159221159222159223159224159225159226159227159228159229159230159231159232159233159234159235159236159237159238159239159240159241159242159243159244159245159246159247159248159249159250159251159252159253159254159255159256159257159258159259159260159261159262159263159264159265159266159267159268159269159270159271159272159273159274159275159276159277159278159279159280159281159282159283159284159285159286159287159288159289159290159291159292159293159294159295159296159297159298159299159300159301159302159303159304159305159306159307159308159309159310159311159312159313159314159315159316159317159318159319159320159321159322159323159324159325159326159327159328159329159330159331159332159333159334159335159336159337159338159339159340159341159342159343159344159345159346159347159348159349159350159351159352159353159354159355159356159357159358159359159360159361159362159363159364159365159366159367159368159369159370159371159372159373159374159375159376159377159378159379159380159381159382159383159384159385159386159387159388159389159390159391159392159393159394159395159396159397159398159399159400159401159402159403159404159405159406159407159408159409159410159411159412159413159414159415159416159417159418159419159420159421159422159423159424159425159426159427159428159429159430159431159432159433159434159435159436159437159438159439159440159441159442159443159444159445159446159447159448159449159450159451159452159453159454159455159456159457159458159459159460159461159462159463159464159465159466159467159468159469159470159471159472159473159474159475159476159477159478159479159480159481159482159483159484159485159486159487159488159489159490159491159492159493159494159495159496159497159498159499159500159501159502159503159504159505159506159507159508159509159510159511159512159513159514159515159516159517159518159519159520159521159522159523159524159525159526159527159528159529159530159531159532159533159534159535159536159537159538159539159540159541159542159543159544159545159546159547159548159549159550159551159552159553159554159555159556159557159558159559159560159561159562159563159564159565159566159567159568159569159570159571159572159573159574159575159576159577159578159579159580159581159582159583159584159585159586159587159588159589159590159591159592159593159594159595159596159597159598159599159600159601159602159603159604159605159606159607159608159609159610159611159612159613159614159615159616159617159618159619159620159621159622159623159624159625159626159627159628159629159630159631159632159633159634159635159636159637159638159639159640159641159642159643159644159645159646159647159648159649159650159651159652159653159654159655159656159657159658159659159660159661159662159663159664159665159666159667159668159669159670159671159672159673159674159675159676159677159678159679159680159681159682159683159684159685159686159687159688159689159690159691159692159693159694159695159696159697159698159699159700159701159702159703159704159705159706159707159708159709159710159711159712159713159714159715159716159717159718159719159720159721159722159723159724159725159726159727159728159729159730159731159732159733159734159735159736159737159738159739159740159741159742159743159744159745159746159747159748159749159750159751159752159753159754159755159756159757159758159759159760159761159762159763159764159765159766159767159768159769159770159771159772159773159774159775159776159777159778159779159780159781159782159783159784159785159786159787159788159789159790159791159792159793159794159795159796159797159798159799159800159801159802159803159804159805159806159807159808159809159810159811159812159813159814159815159816159817159818159819159820159821159822159823159824159825159826159827159828159829159830159831159832159833159834159835159836159837159838159839159840159841159842159843159844159845159846159847159848159849159850159851159852159853159854159855159856159857159858159859159860159861159862159863159864159865159866159867159868159869159870159871159872159873159874159875159876159877159878159879159880159881159882159883159884159885159886159887159888159889159890159891159892159893159894159895159896159897159898159899159900159901159902159903159904159905159906159907159908159909159910159911159912159913159914159915159916159917159918159919159920159921159922159923159924159925159926159927159928159929159930159931159932159933159934159935159936159937159938159939159940159941159942159943159944159945159946159947159948159949159950159951159952159953159954159955159956159957159958159959159960159961159962159963159964159965159966159967159968159969159970159971159972159973159974159975159976159977159978159979159980159981159982159983159984159985159986159987159988159989159990159991159992159993159994159995159996159997159998159999160000160001160002160003160004160005160006160007160008160009160010160011160012160013160014160015160016160017160018160019160020160021160022160023160024160025160026160027160028160029160030160031160032160033160034160035160036160037160038160039160040160041160042160043160044160045160046160047160048160049160050160051160052160053160054160055160056160057160058160059160060160061160062160063160064160065160066160067160068160069160070160071160072160073160074160075160076160077160078160079160080160081160082160083160084160085160086160087160088160089160090160091160092160093160094160095160096160097160098160099160100160101160102160103160104160105160106160107160108160109160110160111160112160113160114160115160116160117160118160119160120160121160122160123160124160125160126160127160128160129160130160131160132160133160134160135160136160137160138160139160140160141160142160143160144160145160146160147160148160149160150160151160152160153160154160155160156160157160158160159160160160161160162160163160164160165160166160167160168160169160170160171160172160173160174160175160176160177160178160179160180160181160182160183160184160185160186160187160188160189160190160191160192160193160194160195160196160197160198160199160200160201160202160203160204160205160206160207160208160209160210160211160212160213160214160215160216160217160218160219160220160221160222160223160224160225160226160227160228160229160230160231160232160233160234160235160236160237160238160239160240160241160242160243160244160245160246160247160248160249160250160251160252160253160254160255160256160257160258160259160260160261160262160263160264160265160266160267160268160269160270160271160272160273160274160275160276160277160278160279160280160281160282160283160284160285160286160287160288160289160290160291160292160293160294160295160296160297160298160299160300160301160302160303160304160305160306160307160308160309160310160311160312160313160314160315160316160317160318160319160320160321160322160323160324160325160326160327160328160329160330160331160332160333160334160335160336160337160338160339160340160341160342160343160344160345160346160347160348160349160350160351160352160353160354160355160356160357160358160359160360160361160362160363160364160365160366160367160368160369160370160371160372160373160374160375160376160377160378160379160380160381160382160383160384160385160386160387160388160389160390160391160392160393160394160395160396160397160398160399160400160401160402160403160404160405160406160407160408160409160410160411160412160413160414160415160416160417160418160419160420160421160422160423160424160425160426160427160428160429160430160431160432160433160434160435160436160437160438160439160440160441160442160443160444160445160446160447160448160449160450160451160452160453160454160455160456160457160458160459160460160461160462160463160464160465160466160467160468160469160470160471160472160473160474160475160476160477160478160479160480160481160482160483160484160485160486160487160488160489160490160491160492160493160494160495160496160497160498160499160500160501160502160503160504160505160506160507160508160509160510160511160512160513160514160515160516160517160518160519160520160521160522160523160524160525160526160527160528160529160530160531160532160533160534160535160536160537160538160539160540160541160542160543160544160545160546160547160548160549160550160551160552160553160554160555160556160557160558160559160560160561160562160563160564160565160566160567160568160569160570160571160572160573160574160575160576160577160578160579160580160581160582160583160584160585160586160587160588160589160590160591160592160593160594160595160596160597160598160599160600160601160602160603160604160605160606160607160608160609160610160611160612160613160614160615160616160617160618160619160620160621160622160623160624160625160626160627160628160629160630160631160632160633160634160635160636160637160638160639160640160641160642160643160644160645160646160647160648160649160650160651160652160653160654160655160656160657160658160659160660160661160662160663160664160665160666160667160668160669160670160671160672160673160674160675160676160677160678160679160680160681160682160683160684160685160686160687160688160689160690160691160692160693160694160695160696160697160698160699160700160701160702160703160704160705160706160707160708160709160710160711160712160713160714160715160716160717160718160719160720160721160722160723160724160725160726160727160728160729160730160731160732160733160734160735160736160737160738160739160740160741160742160743160744160745160746160747160748160749160750160751160752160753160754160755160756160757160758160759160760160761160762160763160764160765160766160767160768160769160770160771160772160773160774160775160776160777160778160779160780160781160782160783160784160785160786160787160788160789160790160791160792160793160794160795160796160797160798160799160800160801160802160803160804160805160806160807160808160809160810160811160812160813160814160815160816160817160818160819160820160821160822160823160824160825160826160827160828160829160830160831160832160833160834160835160836160837160838160839160840160841160842160843160844160845160846160847160848160849160850160851160852160853160854160855160856160857160858160859160860160861160862160863160864160865160866160867160868160869160870160871160872160873160874160875160876160877160878160879160880160881160882160883160884160885160886160887160888160889160890160891160892160893160894160895160896160897160898160899160900160901160902160903160904160905160906160907160908160909160910160911160912160913160914160915160916160917160918160919160920160921160922160923160924160925160926160927160928160929160930160931160932160933160934160935160936160937160938160939160940160941160942160943160944160945160946160947160948160949160950160951160952160953160954160955160956160957160958160959160960160961160962160963160964160965160966160967160968160969160970160971160972160973160974160975160976160977160978160979160980160981160982160983160984160985160986160987160988160989160990160991160992160993160994160995160996160997160998160999161000161001161002161003161004161005161006161007161008161009161010161011161012161013161014161015161016161017161018161019161020161021161022161023161024161025161026161027161028161029161030161031161032161033161034161035161036161037161038161039161040161041161042161043161044161045161046161047161048161049161050161051161052161053161054161055161056161057161058161059161060161061161062161063161064161065161066161067161068161069161070161071161072161073161074161075161076161077161078161079161080161081161082161083161084161085161086161087161088161089161090161091161092161093161094161095161096161097161098161099161100161101161102161103161104161105161106161107161108161109161110161111161112161113161114161115161116161117161118161119161120161121161122161123161124161125161126161127161128161129161130161131161132161133161134161135161136161137161138161139161140161141161142161143161144161145161146161147161148161149161150161151161152161153161154161155161156161157161158161159161160161161161162161163161164161165161166161167161168161169161170161171161172161173161174161175161176161177161178161179161180161181161182161183161184161185161186161187161188161189161190161191161192161193161194161195161196161197161198161199161200161201161202161203161204161205161206161207161208161209161210161211161212161213161214161215161216161217161218161219161220161221161222161223161224161225161226161227161228161229161230161231161232161233161234161235161236161237161238161239161240161241161242161243161244161245161246161247161248161249161250161251161252161253161254161255161256161257161258161259161260161261161262161263161264161265161266161267161268161269161270161271161272161273161274161275161276161277161278161279161280161281161282161283161284161285161286161287161288161289161290161291161292161293161294161295161296161297161298161299161300161301161302161303161304161305161306161307161308161309161310161311161312161313161314161315161316161317161318161319161320161321161322161323161324161325161326161327161328161329161330161331161332161333161334161335161336161337161338161339161340161341161342161343161344161345161346161347161348161349161350161351161352161353161354161355161356161357161358161359161360161361161362161363161364161365161366161367161368161369161370161371161372161373161374161375161376161377161378161379161380161381161382161383161384161385161386161387161388161389161390161391161392161393161394161395161396161397161398161399161400161401161402161403161404161405161406161407161408161409161410161411161412161413161414161415161416161417161418161419161420161421161422161423161424161425161426161427161428161429161430161431161432161433161434161435161436161437161438161439161440161441161442161443161444161445161446161447161448161449161450161451161452161453161454161455161456161457161458161459161460161461161462161463161464161465161466161467161468161469161470161471161472161473161474161475161476161477161478161479161480161481161482161483161484161485161486161487161488161489161490161491161492161493161494161495161496161497161498161499161500161501161502161503161504161505161506161507161508161509161510161511161512161513161514161515161516161517161518161519161520161521161522161523161524161525161526161527161528161529161530161531161532161533161534161535161536161537161538161539161540161541161542161543161544161545161546161547161548161549161550161551161552161553161554161555161556161557161558161559161560161561161562161563161564161565161566161567161568161569161570161571161572161573161574161575161576161577161578161579161580161581161582161583161584161585161586161587161588161589161590161591161592161593161594161595161596161597161598161599161600161601161602161603161604161605161606161607161608161609161610161611161612161613161614161615161616161617161618161619161620161621161622161623161624161625161626161627161628161629161630161631161632161633161634161635161636161637161638161639161640161641161642161643161644161645161646161647161648161649161650161651161652161653161654161655161656161657161658161659161660161661161662161663161664161665161666161667161668161669161670161671161672161673161674161675161676161677161678161679161680161681161682161683161684161685161686161687161688161689161690161691161692161693161694161695161696161697161698161699161700161701161702161703161704161705161706161707161708161709161710161711161712161713161714161715161716161717161718161719161720161721161722161723161724161725161726161727161728161729161730161731161732161733161734161735161736161737161738161739161740161741161742161743161744161745161746161747161748161749161750161751161752161753161754161755161756161757161758161759161760161761161762161763161764161765161766161767161768161769161770161771161772161773161774161775161776161777161778161779161780161781161782161783161784161785161786161787161788161789161790161791161792161793161794161795161796161797161798161799161800161801161802161803161804161805161806161807161808161809161810161811161812161813161814161815161816161817161818161819161820161821161822161823161824161825161826161827161828161829161830161831161832161833161834161835161836161837161838161839161840161841161842161843161844161845161846161847161848161849161850161851161852161853161854161855161856161857161858161859161860161861161862161863161864161865161866161867161868161869161870161871161872161873161874161875161876161877161878161879161880161881161882161883161884161885161886161887161888161889161890161891161892161893161894161895161896161897161898161899161900161901161902161903161904161905161906161907161908161909161910161911161912161913161914161915161916161917161918161919161920161921161922161923161924161925161926161927161928161929161930161931161932161933161934161935161936161937161938161939161940161941161942161943161944161945161946161947161948161949161950161951161952161953161954161955161956161957161958161959161960161961161962161963161964161965161966161967161968161969161970161971161972161973161974161975161976161977161978161979161980161981161982161983161984161985161986161987161988161989161990161991161992161993161994161995161996161997161998161999162000162001162002162003162004162005162006162007162008162009162010162011162012162013162014162015162016162017162018162019162020162021162022162023162024162025162026162027162028162029162030162031162032162033162034162035162036162037162038162039162040162041162042162043162044162045162046162047162048162049162050162051162052162053162054162055162056162057162058162059162060162061162062162063162064162065162066162067162068162069162070162071162072162073162074162075162076162077162078162079162080162081162082162083162084162085162086162087162088162089162090162091162092162093162094162095162096162097162098162099162100162101162102162103162104162105162106162107162108162109162110162111162112162113162114162115162116162117162118162119162120162121162122162123162124162125162126162127162128162129162130162131162132162133162134162135162136162137162138162139162140162141162142162143162144162145162146162147162148162149162150162151162152162153162154162155162156162157162158162159162160162161162162162163162164162165162166162167162168162169162170162171162172162173162174162175162176162177162178162179162180162181162182162183162184162185162186162187162188162189162190162191162192162193162194162195162196162197162198162199162200162201162202162203162204162205162206162207162208162209162210162211162212162213162214162215162216162217162218162219162220162221162222162223162224162225162226162227162228162229162230162231162232162233162234162235162236162237162238162239162240162241162242162243162244162245162246162247162248162249162250162251162252162253162254162255162256162257162258162259162260162261162262162263162264162265162266162267162268162269162270162271162272162273162274162275162276162277162278162279162280162281162282162283162284162285162286162287162288162289162290162291162292162293162294162295162296162297162298162299162300162301162302162303162304162305162306162307162308162309162310162311162312162313162314162315162316162317162318162319162320162321162322162323162324162325162326162327162328162329162330162331162332162333162334162335162336162337162338162339162340162341162342162343162344162345162346162347162348162349162350162351162352162353162354162355162356162357162358162359162360162361162362162363162364162365162366162367162368162369162370162371162372162373162374162375162376162377162378162379162380162381162382162383162384162385162386162387162388162389162390162391162392162393162394162395162396162397162398162399162400162401162402162403162404162405162406162407162408162409162410162411162412162413162414162415162416162417162418162419162420162421162422162423162424162425162426162427162428162429162430162431162432162433162434162435162436162437162438162439162440162441162442162443162444162445162446162447162448162449162450162451162452162453162454162455162456162457162458162459162460162461162462162463162464162465162466162467162468162469162470162471162472162473162474162475162476162477162478162479162480162481162482162483162484162485162486162487162488162489162490162491162492162493162494162495162496162497162498162499162500162501162502162503162504162505162506162507162508162509162510162511162512162513162514162515162516162517162518162519162520162521162522162523162524162525162526162527162528162529162530162531162532162533162534162535162536162537162538162539162540162541162542162543162544162545162546162547162548162549162550162551162552162553162554162555162556162557162558162559162560162561162562162563162564162565162566162567162568162569162570162571162572162573162574162575162576162577162578162579162580162581162582162583162584162585162586162587162588162589162590162591162592162593162594162595162596162597162598162599162600162601162602162603162604162605162606162607162608162609162610162611162612162613162614162615162616162617162618162619162620162621162622162623162624162625162626162627162628162629162630162631162632162633162634162635162636162637162638162639162640162641162642162643162644162645162646162647162648162649162650162651162652162653162654162655162656162657162658162659162660162661162662162663162664162665162666162667162668162669162670162671162672162673162674162675162676162677162678162679162680162681162682162683162684162685162686162687162688162689162690162691162692162693162694162695162696162697162698162699162700162701162702162703162704162705162706162707162708162709162710162711162712162713162714162715162716162717162718162719162720162721162722162723162724162725162726162727162728162729162730162731162732162733162734162735162736162737162738162739162740162741162742162743162744162745162746162747162748162749162750162751162752162753162754162755162756162757162758162759162760162761162762162763162764162765162766162767162768162769162770162771162772162773162774162775162776162777162778162779162780162781162782162783162784162785162786162787162788162789162790162791162792162793162794162795162796162797162798162799162800162801162802162803162804162805162806162807162808162809162810162811162812162813162814162815162816162817162818162819162820162821162822162823162824162825162826162827162828162829162830162831162832162833162834162835162836162837162838162839162840162841162842162843162844162845162846162847162848162849162850162851162852162853162854162855162856162857162858162859162860162861162862162863162864162865162866162867162868162869162870162871162872162873162874162875162876162877162878162879162880162881162882162883162884162885162886162887162888162889162890162891162892162893162894162895162896162897162898162899162900162901162902162903162904162905162906162907162908162909162910162911162912162913162914162915162916162917162918162919162920162921162922162923162924162925162926162927162928162929162930162931162932162933162934162935162936162937162938162939162940162941162942162943162944162945162946162947162948162949162950162951162952162953162954162955162956162957162958162959162960162961162962162963162964162965162966162967162968162969162970162971162972162973162974162975162976162977162978162979162980162981162982162983162984162985162986162987162988162989162990162991162992162993162994162995162996162997162998162999163000163001163002163003163004163005163006163007163008163009163010163011163012163013163014163015163016163017163018163019163020163021163022163023163024163025163026163027163028163029163030163031163032163033163034163035163036163037163038163039163040163041163042163043163044163045163046163047163048163049163050163051163052163053163054163055163056163057163058163059163060163061163062163063163064163065163066163067163068163069163070163071163072163073163074163075163076163077163078163079163080163081163082163083163084163085163086163087163088163089163090163091163092163093163094163095163096163097163098163099163100163101163102163103163104163105163106163107163108163109163110163111163112163113163114163115163116163117163118163119163120163121163122163123163124163125163126163127163128163129163130163131163132163133163134163135163136163137163138163139163140163141163142163143163144163145163146163147163148163149163150163151163152163153163154163155163156163157163158163159163160163161163162163163163164163165163166163167163168163169163170163171163172163173163174163175163176163177163178163179163180163181163182163183163184163185163186163187163188163189163190163191163192163193163194163195163196163197163198163199163200163201163202163203163204163205163206163207163208163209163210163211163212163213163214163215163216163217163218163219163220163221163222163223163224163225163226163227163228163229163230163231163232163233163234163235163236163237163238163239163240163241163242163243163244163245163246163247163248163249163250163251163252163253163254163255163256163257163258163259163260163261163262163263163264163265163266163267163268163269163270163271163272163273163274163275163276163277163278163279163280163281163282163283163284163285163286163287163288163289163290163291163292163293163294163295163296163297163298163299163300163301163302163303163304163305163306163307163308163309163310163311163312163313163314163315163316163317163318163319163320163321163322163323163324163325163326163327163328163329163330163331163332163333163334163335163336163337163338163339163340163341163342163343163344163345163346163347163348163349163350163351163352163353163354163355163356163357163358163359163360163361163362163363163364163365163366163367163368163369163370163371163372163373163374163375163376163377163378163379163380163381163382163383163384163385163386163387163388163389163390163391163392163393163394163395163396163397163398163399163400163401163402163403163404163405163406163407163408163409163410163411163412163413163414163415163416163417163418163419163420163421163422163423163424163425163426163427163428163429163430163431163432163433163434163435163436163437163438163439163440163441163442163443163444163445163446163447163448163449163450163451163452163453163454163455163456163457163458163459163460163461163462163463163464163465163466163467163468163469163470163471163472163473163474163475163476163477163478163479163480163481163482163483163484163485163486163487163488163489163490163491163492163493163494163495163496163497163498163499163500163501163502163503163504163505163506163507163508163509163510163511163512163513163514163515163516163517163518163519163520163521163522163523163524163525163526163527163528163529163530163531163532163533163534163535163536163537163538163539163540163541163542163543163544163545163546163547163548163549163550163551163552163553163554163555163556163557163558163559163560163561163562163563163564163565163566163567163568163569163570163571163572163573163574163575163576163577163578163579163580163581163582163583163584163585163586163587163588163589163590163591163592163593163594163595163596163597163598163599163600163601163602163603163604163605163606163607163608163609163610163611163612163613163614163615163616163617163618163619163620163621163622163623163624163625163626163627163628163629163630163631163632163633163634163635163636163637163638163639163640163641163642163643163644163645163646163647163648163649163650163651163652163653163654163655163656163657163658163659163660163661163662163663163664163665163666163667163668163669163670163671163672163673163674163675163676163677163678163679163680163681163682163683163684163685163686163687163688163689163690163691163692163693163694163695163696163697163698163699163700163701163702163703163704163705163706163707163708163709163710163711163712163713163714163715163716163717163718163719163720163721163722163723163724163725163726163727163728163729163730163731163732163733163734163735163736163737163738163739163740163741163742163743163744163745163746163747163748163749163750163751163752163753163754163755163756163757163758163759163760163761163762163763163764163765163766163767163768163769163770163771163772163773163774163775163776163777163778163779163780163781163782163783163784163785163786163787163788163789163790163791163792163793163794163795163796163797163798163799163800163801163802163803163804163805163806163807163808163809163810163811163812163813163814163815163816163817163818163819163820163821163822163823163824163825163826163827163828163829163830163831163832163833163834163835163836163837163838163839163840163841163842163843163844163845163846163847163848163849163850163851163852163853163854163855163856163857163858163859163860163861163862163863163864163865163866163867163868163869163870163871163872163873163874163875163876163877163878163879163880163881163882163883163884163885163886163887163888163889163890163891163892163893163894163895163896163897163898163899163900163901163902163903163904163905163906163907163908163909163910163911163912163913163914163915163916163917163918163919163920163921163922163923163924163925163926163927163928163929163930163931163932163933163934163935163936163937163938163939163940163941163942163943163944163945163946163947163948163949163950163951163952163953163954163955163956163957163958163959163960163961163962163963163964163965163966163967163968163969163970163971163972163973163974163975163976163977163978163979163980163981163982163983163984163985163986163987163988163989163990163991163992163993163994163995163996163997163998163999164000164001164002164003164004164005164006164007164008164009164010164011164012164013164014164015164016164017164018164019164020164021164022164023164024164025164026164027164028164029164030164031164032164033164034164035164036164037164038164039164040164041164042164043164044164045164046164047164048164049164050164051164052164053164054164055164056164057164058164059164060164061164062164063164064164065164066164067164068164069164070164071164072164073164074164075164076164077164078164079164080164081164082164083164084164085164086164087164088164089164090164091164092164093164094164095164096164097164098164099164100164101164102164103164104164105164106164107164108164109164110164111164112164113164114164115164116164117164118164119164120164121164122164123164124164125164126164127164128164129164130164131164132164133164134164135164136164137164138164139164140164141164142164143164144164145164146164147164148164149164150164151164152164153164154164155164156164157164158164159164160164161164162164163164164164165164166164167164168164169164170164171164172164173164174164175164176164177164178164179164180164181164182164183164184164185164186164187164188164189164190164191164192164193164194164195164196164197164198164199164200164201164202164203164204164205164206164207164208164209164210164211164212164213164214164215164216164217164218164219164220164221164222164223164224164225164226164227164228164229164230164231164232164233164234164235164236164237164238164239164240164241164242164243164244164245164246164247164248164249164250164251164252164253164254164255164256164257164258164259164260164261164262164263164264164265164266164267164268164269164270164271164272164273164274164275164276164277164278164279164280164281164282164283164284164285164286164287164288164289164290164291164292164293164294164295164296164297164298164299164300164301164302164303164304164305164306164307164308164309164310164311164312164313164314164315164316164317164318164319164320164321164322164323164324164325164326164327164328164329164330164331164332164333164334164335164336164337164338164339164340164341164342164343164344164345164346164347164348164349164350164351164352164353164354164355164356164357164358164359164360164361164362164363164364164365164366164367164368164369164370164371164372164373164374164375164376164377164378164379164380164381164382164383164384164385164386164387164388164389164390164391164392164393164394164395164396164397164398164399164400164401164402164403164404164405164406164407164408164409164410164411164412164413164414164415164416164417164418164419164420164421164422164423164424164425164426164427164428164429164430164431164432164433164434164435164436164437164438164439164440164441164442164443164444164445164446164447164448164449164450164451164452164453164454164455164456164457164458164459164460164461164462164463164464164465164466164467164468164469164470164471164472164473164474164475164476164477164478164479164480164481164482164483164484164485164486164487164488164489164490164491164492164493164494164495164496164497164498164499164500164501164502164503164504164505164506164507164508164509164510164511164512164513164514164515164516164517164518164519164520164521164522164523164524164525164526164527164528164529164530164531164532164533164534164535164536164537164538164539164540164541164542164543164544164545164546164547164548164549164550164551164552164553164554164555164556164557164558164559164560164561164562164563164564164565164566164567164568164569164570164571164572164573164574164575164576164577164578164579164580164581164582164583164584164585164586164587164588164589164590164591164592164593164594164595164596164597164598164599164600164601164602164603164604164605164606164607164608164609164610164611164612164613164614164615164616164617164618164619164620164621164622164623164624164625164626164627164628164629164630164631164632164633164634164635164636164637164638164639164640164641164642164643164644164645164646164647164648164649164650164651164652164653164654164655164656164657164658164659164660164661164662164663164664164665164666164667164668164669164670164671164672164673164674164675164676164677164678164679164680164681164682164683164684164685164686164687164688164689164690164691164692164693164694164695164696164697164698164699164700164701164702164703164704164705164706164707164708164709164710164711164712164713164714164715164716164717164718164719164720164721164722164723164724164725164726164727164728164729164730164731164732164733164734164735164736164737164738164739164740164741164742164743164744164745164746164747164748164749164750164751164752164753164754164755164756164757164758164759164760164761164762164763164764164765164766164767164768164769164770164771164772164773164774164775164776164777164778164779164780164781164782164783164784164785164786164787164788164789164790164791164792164793164794164795164796164797164798164799164800164801164802164803164804164805164806164807164808164809164810164811164812164813164814164815164816164817164818164819164820164821164822164823164824164825164826164827164828164829164830164831164832164833164834164835164836164837164838164839164840164841164842164843164844164845164846164847164848164849164850164851164852164853164854164855164856164857164858164859164860164861164862164863164864164865164866164867164868164869164870164871164872164873164874164875164876164877164878164879164880164881164882164883164884164885164886164887164888164889164890164891164892164893164894164895164896164897164898164899164900164901164902164903164904164905164906164907164908164909164910164911164912164913164914164915164916164917164918164919164920164921164922164923164924164925164926164927164928164929164930164931164932164933164934164935164936164937164938164939164940164941164942164943164944164945164946164947164948164949164950164951164952164953164954164955164956164957164958164959164960164961164962164963164964164965164966164967164968164969164970164971164972164973164974164975164976164977164978164979164980164981164982164983164984164985164986164987164988164989164990164991164992164993164994164995164996164997164998164999165000165001165002165003165004165005165006165007165008165009165010165011165012165013165014165015165016165017165018165019165020165021165022165023165024165025165026165027165028165029165030165031165032165033165034165035165036165037165038165039165040165041165042165043165044165045165046165047165048165049165050165051165052165053165054165055165056165057165058165059165060165061165062165063165064165065165066165067165068165069165070165071165072165073165074165075165076165077165078165079165080165081165082165083165084165085165086165087165088165089165090165091165092165093165094165095165096165097165098165099165100165101165102165103165104165105165106165107165108165109165110165111165112165113165114165115165116165117165118165119165120165121165122165123165124165125165126165127165128165129165130165131165132165133165134165135165136165137165138165139165140165141165142165143165144165145165146165147165148165149165150165151165152165153165154165155165156165157165158165159165160165161165162165163165164165165165166165167165168165169165170165171165172165173165174165175165176165177165178165179165180165181165182165183165184165185165186165187165188165189165190165191165192165193165194165195165196165197165198165199165200165201165202165203165204165205165206165207165208165209165210165211165212165213165214165215165216165217165218165219165220165221165222165223165224165225165226165227165228165229165230165231165232165233165234165235165236165237165238165239165240165241165242165243165244165245165246165247165248165249165250165251165252165253165254165255165256165257165258165259165260165261165262165263165264165265165266165267165268165269165270165271165272165273165274165275165276165277165278165279165280165281165282165283165284165285165286165287165288165289165290165291165292165293165294165295165296165297165298165299165300165301165302165303165304165305165306165307165308165309165310165311165312165313165314165315165316165317165318165319165320165321165322165323165324165325165326165327165328165329165330165331165332165333165334165335165336165337165338165339165340165341165342165343165344165345165346165347165348165349165350165351165352165353165354165355165356165357165358165359165360165361165362165363165364165365165366165367165368165369165370165371165372165373165374165375165376165377165378165379165380165381165382165383165384165385165386165387165388165389165390165391165392165393165394165395165396165397165398165399165400165401165402165403165404165405165406165407165408165409165410165411165412165413165414165415165416165417165418165419165420165421165422165423165424165425165426165427165428165429165430165431165432165433165434165435165436165437165438165439165440165441165442165443165444165445165446165447165448165449165450165451165452165453165454165455165456165457165458165459165460165461165462165463165464165465165466165467165468165469165470165471165472165473165474165475165476165477165478165479165480165481165482165483165484165485165486165487165488165489165490165491165492165493165494165495165496165497165498165499165500165501165502165503165504165505165506165507165508165509165510165511165512165513165514165515165516165517165518165519165520165521165522165523165524165525165526165527165528165529165530165531165532165533165534165535165536165537165538165539165540165541165542165543165544165545165546165547165548165549165550165551165552165553165554165555165556165557165558165559165560165561165562165563165564165565165566165567165568165569165570165571165572165573165574165575165576165577165578165579165580165581165582165583165584165585165586165587165588165589165590165591165592165593165594165595165596165597165598165599165600165601165602165603165604165605165606165607165608165609165610165611165612165613165614165615165616165617165618165619165620165621165622165623165624165625165626165627165628165629165630165631165632165633165634165635165636165637165638165639165640165641165642165643165644165645165646165647165648165649165650165651165652165653165654165655165656165657165658165659165660165661165662165663165664165665165666165667165668165669165670165671165672165673165674165675165676165677165678165679165680165681165682165683165684165685165686165687165688165689165690165691165692165693165694165695165696165697165698165699165700165701165702165703165704165705165706165707165708165709165710165711165712165713165714165715165716165717165718165719165720165721165722165723165724165725165726165727165728165729165730165731165732165733165734165735165736165737165738165739165740165741165742165743165744165745165746165747165748165749165750165751165752165753165754165755165756165757165758165759165760165761165762165763165764165765165766165767165768165769165770165771165772165773165774165775165776165777165778165779165780165781165782165783165784165785165786165787165788165789165790165791165792165793165794165795165796165797165798165799165800165801165802165803165804165805165806165807165808165809165810165811165812165813165814165815165816165817165818165819165820165821165822165823165824165825165826165827165828165829165830165831165832165833165834165835165836165837165838165839165840165841165842165843165844165845165846165847165848165849165850165851165852165853165854165855165856165857165858165859165860165861165862165863165864165865165866165867165868165869165870165871165872165873165874165875165876165877165878165879165880165881165882165883165884165885165886165887165888165889165890165891165892165893165894165895165896165897165898165899165900165901165902165903165904165905165906165907165908165909165910165911165912165913165914165915165916165917165918165919165920165921165922165923165924165925165926165927165928165929165930165931165932165933165934165935165936165937165938165939165940165941165942165943165944165945165946165947165948165949165950165951165952165953165954165955165956165957165958165959165960165961165962165963165964165965165966165967165968165969165970165971165972165973165974165975165976165977165978165979165980165981165982165983165984165985165986165987165988165989165990165991165992165993165994165995165996165997165998165999166000166001166002166003166004166005166006166007166008166009166010166011166012166013166014166015166016166017166018166019166020166021166022166023166024166025166026166027166028166029166030166031166032166033166034166035166036166037166038166039166040166041166042166043166044166045166046166047166048166049166050166051166052166053166054166055166056166057166058166059166060166061166062166063166064166065166066166067166068166069166070166071166072166073166074166075166076166077166078166079166080166081166082166083166084166085166086166087166088166089166090166091166092166093166094166095166096166097166098166099166100166101166102166103166104166105166106166107166108166109166110166111166112166113166114166115166116166117166118166119166120166121166122166123166124166125166126166127166128166129166130166131166132166133166134166135166136166137166138166139166140166141166142166143166144166145166146166147166148166149166150166151166152166153166154166155166156166157166158166159166160166161166162166163166164166165166166166167166168166169166170166171166172166173166174166175166176166177166178166179166180166181166182166183166184166185166186166187166188166189166190166191166192166193166194166195166196166197166198166199166200166201166202166203166204166205166206166207166208166209166210166211166212166213166214166215166216166217166218166219166220166221166222166223166224166225166226166227166228166229166230166231166232166233166234166235166236166237166238166239166240166241166242166243166244166245166246166247166248166249166250166251166252166253166254166255166256166257166258166259166260166261166262166263166264166265166266166267166268166269166270166271166272166273166274166275166276166277166278166279166280166281166282166283166284166285166286166287166288166289166290166291166292166293166294166295166296166297166298166299166300166301166302166303166304166305166306166307166308166309166310166311166312166313166314166315166316166317166318166319166320166321166322166323166324166325166326166327166328166329166330166331166332166333166334166335166336166337166338166339166340166341166342166343166344166345166346166347166348166349166350166351166352166353166354166355166356166357166358166359166360166361166362166363166364166365166366166367166368166369166370166371166372166373166374166375166376166377166378166379166380166381166382166383166384166385166386166387166388166389166390166391166392166393166394166395166396166397166398166399166400166401166402166403166404166405166406166407166408166409166410166411166412166413166414166415166416166417166418166419166420166421166422166423166424166425166426166427166428166429166430166431166432166433166434166435166436166437166438166439166440166441166442166443166444166445166446166447166448166449166450166451166452166453166454166455166456166457166458166459166460166461166462166463166464166465166466166467166468166469166470166471166472166473166474166475166476166477166478166479166480166481166482166483166484166485166486166487166488166489166490166491166492166493166494166495166496166497166498166499166500166501166502166503166504166505166506166507166508166509166510166511166512166513166514166515166516166517166518166519166520166521166522166523166524166525166526166527166528166529166530166531166532166533166534166535166536166537166538166539166540166541166542166543166544166545166546166547166548166549166550166551166552166553166554166555166556166557166558166559166560166561166562166563166564166565166566166567166568166569166570166571166572166573166574166575166576166577166578166579166580166581166582166583166584166585166586166587166588166589166590166591166592166593166594166595166596166597166598166599166600166601166602166603166604166605166606166607166608166609166610166611166612166613166614166615166616166617166618166619166620166621166622166623166624166625166626166627166628166629166630166631166632166633166634166635166636166637166638166639166640166641166642166643166644166645166646166647166648166649166650166651166652166653166654166655166656166657166658166659166660166661166662166663166664166665166666166667166668166669166670166671166672166673166674166675166676166677166678166679166680166681166682166683166684166685166686166687166688166689166690166691166692166693166694166695166696166697166698166699166700166701166702166703166704166705166706166707166708166709166710166711166712166713166714166715166716166717166718166719166720166721166722166723166724166725166726166727166728166729166730166731166732166733166734166735166736166737166738166739166740166741166742166743166744166745166746166747166748166749166750166751166752166753166754166755166756166757166758166759166760166761166762166763166764166765166766166767166768166769166770166771166772166773166774166775166776166777166778166779166780166781166782166783166784166785166786166787166788166789166790166791166792166793166794166795166796166797166798166799166800166801166802166803166804166805166806166807166808166809166810166811166812166813166814166815166816166817166818166819166820166821166822166823166824166825166826166827166828166829166830166831166832166833166834166835166836166837166838166839166840166841166842166843166844166845166846166847166848166849166850166851166852166853166854166855166856166857166858166859166860166861166862166863166864166865166866166867166868166869166870166871166872166873166874166875166876166877166878166879166880166881166882166883166884166885166886166887166888166889166890166891166892166893166894166895166896166897166898166899166900166901166902166903166904166905166906166907166908166909166910166911166912166913166914166915166916166917166918166919166920166921166922166923166924166925166926166927166928166929166930166931166932166933166934166935166936166937166938166939166940166941166942166943166944166945166946166947166948166949166950166951166952166953166954166955166956166957166958166959166960166961166962166963166964166965166966166967166968166969166970166971166972166973166974166975166976166977166978166979166980166981166982166983166984166985166986166987166988166989166990166991166992166993166994166995166996166997166998166999167000167001167002167003167004167005167006167007167008167009167010167011167012167013167014167015167016167017167018167019167020167021167022167023167024167025167026167027167028167029167030167031167032167033167034167035167036167037167038167039167040167041167042167043167044167045167046167047167048167049167050167051167052167053167054167055167056167057167058167059167060167061167062167063167064167065167066167067167068167069167070167071167072167073167074167075167076167077167078167079167080167081167082167083167084167085167086167087167088167089167090167091167092167093167094167095167096167097167098167099167100167101167102167103167104167105167106167107167108167109167110167111167112167113167114167115167116167117167118167119167120167121167122167123167124167125167126167127167128167129167130167131167132167133167134167135167136167137167138167139167140167141167142167143167144167145167146167147167148167149167150167151167152167153167154167155167156167157167158167159167160167161167162167163167164167165167166167167167168167169167170167171167172167173167174167175167176167177167178167179167180167181167182167183167184167185167186167187167188167189167190167191167192167193167194167195167196167197167198167199167200167201167202167203167204167205167206167207167208167209167210167211167212167213167214167215167216167217167218167219167220167221167222167223167224167225167226167227167228167229167230167231167232167233167234167235167236167237167238167239167240167241167242167243167244167245167246167247167248167249167250167251167252167253167254167255167256167257167258167259167260167261167262167263167264167265167266167267167268167269167270167271167272167273167274167275167276167277167278167279167280167281167282167283167284167285167286167287167288167289167290167291167292167293167294167295167296167297167298167299167300167301167302167303167304167305167306167307167308167309167310167311167312167313167314167315167316167317167318167319167320167321167322167323167324167325167326167327167328167329167330167331167332167333167334167335167336167337167338167339167340167341167342167343167344167345167346167347167348167349167350167351167352167353167354167355167356167357167358167359167360167361167362167363167364167365167366167367167368167369167370167371167372167373167374167375167376167377167378167379167380167381167382167383167384167385167386167387167388167389167390167391167392167393167394167395167396167397167398167399167400167401167402167403167404167405167406167407167408167409167410167411167412167413167414167415167416167417167418167419167420167421167422167423167424167425167426167427167428167429167430167431167432167433167434167435167436167437167438167439167440167441167442167443167444167445167446167447167448167449167450167451167452167453167454167455167456167457167458167459167460167461167462167463167464167465167466167467167468167469167470167471167472167473167474167475167476167477167478167479167480167481167482167483167484167485167486167487167488167489167490167491167492167493167494167495167496167497167498167499167500167501167502167503167504167505167506167507167508167509167510167511167512167513167514167515167516167517167518167519167520167521167522167523167524167525167526167527167528167529167530167531167532167533167534167535167536167537167538167539167540167541167542167543167544167545167546167547167548167549167550167551167552167553167554167555167556167557167558167559167560167561167562167563167564167565167566167567167568167569167570167571167572167573167574167575167576167577167578167579167580167581167582167583167584167585167586167587167588167589167590167591167592167593167594167595167596167597167598167599167600167601167602167603167604167605167606167607167608167609167610167611167612167613167614167615167616167617167618167619167620167621167622167623167624167625167626167627167628167629167630167631167632167633167634167635167636167637167638167639167640167641167642167643167644167645167646167647167648167649167650167651167652167653167654167655167656167657167658167659167660167661167662167663167664167665167666167667167668167669167670167671167672167673167674167675167676167677167678167679167680167681167682167683167684167685167686167687167688167689167690167691167692167693167694167695167696167697167698167699167700167701167702167703167704167705167706167707167708167709167710167711167712167713167714167715167716167717167718167719167720167721167722167723167724167725167726167727167728167729167730167731167732167733167734167735167736167737167738167739167740167741167742167743167744167745167746167747167748167749167750167751167752167753167754167755167756167757167758167759167760167761167762167763167764167765167766167767167768167769167770167771167772167773167774167775167776167777167778167779167780167781167782167783167784167785167786167787167788167789167790167791167792167793167794167795167796167797167798167799167800167801167802167803167804167805167806167807167808167809167810167811167812167813167814167815167816167817167818167819167820167821167822167823167824167825167826167827167828167829167830167831167832167833167834167835167836167837167838167839167840167841167842167843167844167845167846167847167848167849167850167851167852167853167854167855167856167857167858167859167860167861167862167863167864167865167866167867167868167869167870167871167872167873167874167875167876167877167878167879167880167881167882167883167884167885167886167887167888167889167890167891167892167893167894167895167896167897167898167899167900167901167902167903167904167905167906167907167908167909167910167911167912167913167914167915167916167917167918167919167920167921167922167923167924167925167926167927167928167929167930167931167932167933167934167935167936167937167938167939167940167941167942167943167944167945167946167947167948167949167950167951167952167953167954167955167956167957167958167959167960167961167962167963167964167965167966167967167968167969167970167971167972167973167974167975167976167977167978167979167980167981167982167983167984167985167986167987167988167989167990167991167992167993167994167995167996167997167998167999168000168001168002168003168004168005168006168007168008168009168010168011168012168013168014168015168016168017168018168019168020168021168022168023168024168025168026168027168028168029168030168031168032168033168034168035168036168037168038168039168040168041168042168043168044168045168046168047168048168049168050168051168052168053168054168055168056168057168058168059168060168061168062168063168064168065168066168067168068168069168070168071168072168073168074168075168076168077168078168079168080168081168082168083168084168085168086168087168088168089168090168091168092168093168094168095168096168097168098168099168100168101168102168103168104168105168106168107168108168109168110168111168112168113168114168115168116168117168118168119168120168121168122168123168124168125168126168127168128168129168130168131168132168133168134168135168136168137168138168139168140168141168142168143168144168145168146168147168148168149168150168151168152168153168154168155168156168157168158168159168160168161168162168163168164168165168166168167168168168169168170168171168172168173168174168175168176168177168178168179168180168181168182168183168184168185168186168187168188168189168190168191168192168193168194168195168196168197168198168199168200168201168202168203168204168205168206168207168208168209168210168211168212168213168214168215168216168217168218168219168220168221168222168223168224168225168226168227168228168229168230168231168232168233168234168235168236168237168238168239168240168241168242168243168244168245168246168247168248168249168250168251168252168253168254168255168256168257168258168259168260168261168262168263168264168265168266168267168268168269168270168271168272168273168274168275168276168277168278168279168280168281168282168283168284168285168286168287168288168289168290168291168292168293168294168295168296168297168298168299168300168301168302168303168304168305168306168307168308168309168310168311168312168313168314168315168316168317168318168319168320168321168322168323168324168325168326168327168328168329168330168331168332168333168334168335168336168337168338168339168340168341168342168343168344168345168346168347168348168349168350168351168352168353168354168355168356168357168358168359168360168361168362168363168364168365168366168367168368168369168370168371168372168373168374168375168376168377168378168379168380168381168382168383168384168385168386168387168388168389168390168391168392168393168394168395168396168397168398168399168400168401168402168403168404168405168406168407168408168409168410168411168412168413168414168415168416168417168418168419168420168421168422168423168424168425168426168427168428168429168430168431168432168433168434168435168436168437168438168439168440168441168442168443168444168445168446168447168448168449168450168451168452168453168454168455168456168457168458168459168460168461168462168463168464168465168466168467168468168469168470168471168472168473168474168475168476168477168478168479168480168481168482168483168484168485168486168487168488168489168490168491168492168493168494168495168496168497168498168499168500168501168502168503168504168505168506168507168508168509168510168511168512168513168514168515168516168517168518168519168520168521168522168523168524168525168526168527168528168529168530168531168532168533168534168535168536168537168538168539168540168541168542168543168544168545168546168547168548168549168550168551168552168553168554168555168556168557168558168559168560168561168562168563168564168565168566168567168568168569168570168571168572168573168574168575168576168577168578168579168580168581168582168583168584168585168586168587168588168589168590168591168592168593168594168595168596168597168598168599168600168601168602168603168604168605168606168607168608168609168610168611168612168613168614168615168616168617168618168619168620168621168622168623168624168625168626168627168628168629168630168631168632168633168634168635168636168637168638168639168640168641168642168643168644168645168646168647168648168649168650168651168652168653168654168655168656168657168658168659168660168661168662168663168664168665168666168667168668168669168670168671168672168673168674168675168676168677168678168679168680168681168682168683168684168685168686168687168688168689168690168691168692168693168694168695168696168697168698168699168700168701168702168703168704168705168706168707168708168709168710168711168712168713168714168715168716168717168718168719168720168721168722168723168724168725168726168727168728168729168730168731168732168733168734168735168736168737168738168739168740168741168742168743168744168745168746168747168748168749168750168751168752168753168754168755168756168757168758168759168760168761168762168763168764168765168766168767168768168769168770168771168772168773168774168775168776168777168778168779168780168781168782168783168784168785168786168787168788168789168790168791168792168793168794168795168796168797168798168799168800168801168802168803168804168805168806168807168808168809168810168811168812168813168814168815168816168817168818168819168820168821168822168823168824168825168826168827168828168829168830168831168832168833168834168835168836168837168838168839168840168841168842168843168844168845168846168847168848168849168850168851168852168853168854168855168856168857168858168859168860168861168862168863168864168865168866168867168868168869168870168871168872168873168874168875168876168877168878168879168880168881168882168883168884168885168886168887168888168889168890168891168892168893168894168895168896168897168898168899168900168901168902168903168904168905168906168907168908168909168910168911168912168913168914168915168916168917168918168919168920168921168922168923168924168925168926168927168928168929168930168931168932168933168934168935168936168937168938168939168940168941168942168943168944168945168946168947168948168949168950168951168952168953168954168955168956168957168958168959168960168961168962168963168964168965168966168967168968168969168970168971168972168973168974168975168976168977168978168979168980168981168982168983168984168985168986168987168988168989168990168991168992168993168994168995168996168997168998168999169000169001169002169003169004169005169006169007169008169009169010169011169012169013169014169015169016169017169018169019169020169021169022169023169024169025169026169027169028169029169030169031169032169033169034169035169036169037169038169039169040169041169042169043169044169045169046169047169048169049169050169051169052169053169054169055169056169057169058169059169060169061169062169063169064169065169066169067169068169069169070169071169072169073169074169075169076169077169078169079169080169081169082169083169084169085169086169087169088169089169090169091169092169093169094169095169096169097169098169099169100169101169102169103169104169105169106169107169108169109169110169111169112169113169114169115169116169117169118169119169120169121169122169123169124169125169126169127169128169129169130169131169132169133169134169135169136169137169138169139169140169141169142169143169144169145169146169147169148169149169150169151169152169153169154169155169156169157169158169159169160169161169162169163169164169165169166169167169168169169169170169171169172169173169174169175169176169177169178169179169180169181169182169183169184169185169186169187169188169189169190169191169192169193169194169195169196169197169198169199169200169201169202169203169204169205169206169207169208169209169210169211169212169213169214169215169216169217169218169219169220169221169222169223169224169225169226169227169228169229169230169231169232169233169234169235169236169237169238169239169240169241169242169243169244169245169246169247169248169249169250169251169252169253169254169255169256169257169258169259169260169261169262169263169264169265169266169267169268169269169270169271169272169273169274169275169276169277169278169279169280169281169282169283169284169285169286169287169288169289169290169291169292169293169294169295169296169297169298169299169300169301169302169303169304169305169306169307169308169309169310169311169312169313169314169315169316169317169318169319169320169321169322169323169324169325169326169327169328169329169330169331169332169333169334169335169336169337169338169339169340169341169342169343169344169345169346169347169348169349169350169351169352169353169354169355169356169357169358169359169360169361169362169363169364169365169366169367169368169369169370169371169372169373169374169375169376169377169378169379169380169381169382169383169384169385169386169387169388169389169390169391169392169393169394169395169396169397169398169399169400169401169402169403169404169405169406169407169408169409169410169411169412169413169414169415169416169417169418169419169420169421169422169423169424169425169426169427169428169429169430169431169432169433169434169435169436169437169438169439169440169441169442169443169444169445169446169447169448169449169450169451169452169453169454169455169456169457169458169459169460169461169462169463169464169465169466169467169468169469169470169471169472169473169474169475169476169477169478169479169480169481169482169483169484169485169486169487169488169489169490169491169492169493169494169495169496169497169498169499169500169501169502169503169504169505169506169507169508169509169510169511169512169513169514169515169516169517169518169519169520169521169522169523169524169525169526169527169528169529169530169531169532169533169534169535169536169537169538169539169540169541169542169543169544169545169546169547169548169549169550169551169552169553169554169555169556169557169558169559169560169561169562169563169564169565169566169567169568169569169570169571169572169573169574169575169576169577169578169579169580169581169582169583169584169585169586169587169588169589169590169591169592169593169594169595169596169597169598169599169600169601169602169603169604169605169606169607169608169609169610169611169612169613169614169615169616169617169618169619169620169621169622169623169624169625169626169627169628169629169630169631169632169633169634169635169636169637169638169639169640169641169642169643169644169645169646169647169648169649169650169651169652169653169654169655169656169657169658169659169660169661169662169663169664169665169666169667169668169669169670169671169672169673169674169675169676169677169678169679169680169681169682169683169684169685169686169687169688169689169690169691169692169693169694169695169696169697169698169699169700169701169702169703169704169705169706169707169708169709169710169711169712169713169714169715169716169717169718169719169720169721169722169723169724169725169726169727169728169729169730169731169732169733169734169735169736169737169738169739169740169741169742169743169744169745169746169747169748169749169750169751169752169753169754169755169756169757169758169759169760169761169762169763169764169765169766169767169768169769169770169771169772169773169774169775169776169777169778169779169780169781169782169783169784169785169786169787169788169789169790169791169792169793169794169795169796169797169798169799169800169801169802169803169804169805169806169807169808169809169810169811169812169813169814169815169816169817169818169819169820169821169822169823169824169825169826169827169828169829169830169831169832169833169834169835169836169837169838169839169840169841169842169843169844169845169846169847169848169849169850169851169852169853169854169855169856169857169858169859169860169861169862169863169864169865169866169867169868169869169870169871169872169873169874169875169876169877169878169879169880169881169882169883169884169885169886169887169888169889169890169891169892169893169894169895169896169897169898169899169900169901169902169903169904169905169906169907169908169909169910169911169912169913169914169915169916169917169918169919169920169921169922169923169924169925169926169927169928169929169930169931169932169933169934169935169936169937169938169939169940169941169942169943169944169945169946169947169948169949169950169951169952169953169954169955169956169957169958169959169960169961169962169963169964169965169966169967169968169969169970169971169972169973169974169975169976169977169978169979169980169981169982169983169984169985169986169987169988169989169990169991169992169993169994169995169996169997169998169999170000170001170002170003170004170005170006170007170008170009170010170011170012170013170014170015170016170017170018170019170020170021170022170023170024170025170026170027170028170029170030170031170032170033170034170035170036170037170038170039170040170041170042170043170044170045170046170047170048170049170050170051170052170053170054170055170056170057170058170059170060170061170062170063170064170065170066170067170068170069170070170071170072170073170074170075170076170077170078170079170080170081170082170083170084170085170086170087170088170089170090170091170092170093170094170095170096170097170098170099170100170101170102170103170104170105170106170107170108170109170110170111170112170113170114170115170116170117170118170119170120170121170122170123170124170125170126170127170128170129170130170131170132170133170134170135170136170137170138170139170140170141170142170143170144170145170146170147170148170149170150170151170152170153170154170155170156170157170158170159170160170161170162170163170164170165170166170167170168170169170170170171170172170173170174170175170176170177170178170179170180170181170182170183170184170185170186170187170188170189170190170191170192170193170194170195170196170197170198170199170200170201170202170203170204170205170206170207170208170209170210170211170212170213170214170215170216170217170218170219170220170221170222170223170224170225170226170227170228170229170230170231170232170233170234170235170236170237170238170239170240170241170242170243170244170245170246170247170248170249170250170251170252170253170254170255170256170257170258170259170260170261170262170263170264170265170266170267170268170269170270170271170272170273170274170275170276170277170278170279170280170281170282170283170284170285170286170287170288170289170290170291170292170293170294170295170296170297170298170299170300170301170302170303170304170305170306170307170308170309170310170311170312170313170314170315170316170317170318170319170320170321170322170323170324170325170326170327170328170329170330170331170332170333170334170335170336170337170338170339170340170341170342170343170344170345170346170347170348170349170350170351170352170353170354170355170356170357170358170359170360170361170362170363170364170365170366170367170368170369170370170371170372170373170374170375170376170377170378170379170380170381170382170383170384170385170386170387170388170389170390170391170392170393170394170395170396170397170398170399170400170401170402170403170404170405170406170407170408170409170410170411170412170413170414170415170416170417170418170419170420170421170422170423170424170425170426170427170428170429170430170431170432170433170434170435170436170437170438170439170440170441170442170443170444170445170446170447170448170449170450170451170452170453170454170455170456170457170458170459170460170461170462170463170464170465170466170467170468170469170470170471170472170473170474170475170476170477170478170479170480170481170482170483170484170485170486170487170488170489170490170491170492170493170494170495170496170497170498170499170500170501170502170503170504170505170506170507170508170509170510170511170512170513170514170515170516170517170518170519170520170521170522170523170524170525170526170527170528170529170530170531170532170533170534170535170536170537170538170539170540170541170542170543170544170545170546170547170548170549170550170551170552170553170554170555170556170557170558170559170560170561170562170563170564170565170566170567170568170569170570170571170572170573170574170575170576170577170578170579170580170581170582170583170584170585170586170587170588170589170590170591170592170593170594170595170596170597170598170599170600170601170602170603170604170605170606170607170608170609170610170611170612170613170614170615170616170617170618170619170620170621170622170623170624170625170626170627170628170629170630170631170632170633170634170635170636170637170638170639170640170641170642170643170644170645170646170647170648170649170650170651170652170653170654170655170656170657170658170659170660170661170662170663170664170665170666170667170668170669170670170671170672170673170674170675170676170677170678170679170680170681170682170683170684170685170686170687170688170689170690170691170692170693170694170695170696170697170698170699170700170701170702170703170704170705170706170707170708170709170710170711170712170713170714170715170716170717170718170719170720170721170722170723170724170725170726170727170728170729170730170731170732170733170734170735170736170737170738170739170740170741170742170743170744170745170746170747170748170749170750170751170752170753170754170755170756170757170758170759170760170761170762170763170764170765170766170767170768170769170770170771170772170773170774170775170776170777170778170779170780170781170782170783170784170785170786170787170788170789170790170791170792170793170794170795170796170797170798170799170800170801170802170803170804170805170806170807170808170809170810170811170812170813170814170815170816170817170818170819170820170821170822170823170824170825170826170827170828170829170830170831170832170833170834170835170836170837170838170839170840170841170842170843170844170845170846170847170848170849170850170851170852170853170854170855170856170857170858170859170860170861170862170863170864170865170866170867170868170869170870170871170872170873170874170875170876170877170878170879170880170881170882170883170884170885170886170887170888170889170890170891170892170893170894170895170896170897170898170899170900170901170902170903170904170905170906170907170908170909170910170911170912170913170914170915170916170917170918170919170920170921170922170923170924170925170926170927170928170929170930170931170932170933170934170935170936170937170938170939170940170941170942170943170944170945170946170947170948170949170950170951170952170953170954170955170956170957170958170959170960170961170962170963170964170965170966170967170968170969170970170971170972170973170974170975170976170977170978170979170980170981170982170983170984170985170986170987170988170989170990170991170992170993170994170995170996170997170998170999171000171001171002171003171004171005171006171007171008171009171010171011171012171013171014171015171016171017171018171019171020171021171022171023171024171025171026171027171028171029171030171031171032171033171034171035171036171037171038171039171040171041171042171043171044171045171046171047171048171049171050171051171052171053171054171055171056171057171058171059171060171061171062171063171064171065171066171067171068171069171070171071171072171073171074171075171076171077171078171079171080171081171082171083171084171085171086171087171088171089171090171091171092171093171094171095171096171097171098171099171100171101171102171103171104171105171106171107171108171109171110171111171112171113171114171115171116171117171118171119171120171121171122171123171124171125171126171127171128171129171130171131171132171133171134171135171136171137171138171139171140171141171142171143171144171145171146171147171148171149171150171151171152171153171154171155171156171157171158171159171160171161171162171163171164171165171166171167171168171169171170171171171172171173171174171175171176171177171178171179171180171181171182171183171184171185171186171187171188171189171190171191171192171193171194171195171196171197171198171199171200171201171202171203171204171205171206171207171208171209171210171211171212171213171214171215171216171217171218171219171220171221171222171223171224171225171226171227171228171229171230171231171232171233171234171235171236171237171238171239171240171241171242171243171244171245171246171247171248171249171250171251171252171253171254171255171256171257171258171259171260171261171262171263171264171265171266171267171268171269171270171271171272171273171274171275171276171277171278171279171280171281171282171283171284171285171286171287171288171289171290171291171292171293171294171295171296171297171298171299171300171301171302171303171304171305171306171307171308171309171310171311171312171313171314171315171316171317171318171319171320171321171322171323171324171325171326171327171328171329171330171331171332171333171334171335171336171337171338171339171340171341171342171343171344171345171346171347171348171349171350171351171352171353171354171355171356171357171358171359171360171361171362171363171364171365171366171367171368171369171370171371171372171373171374171375171376171377171378171379171380171381171382171383171384171385171386171387171388171389171390171391171392171393171394171395171396171397171398171399171400171401171402171403171404171405171406171407171408171409171410171411171412171413171414171415171416171417171418171419171420171421171422171423171424171425171426171427171428171429171430171431171432171433171434171435171436171437171438171439171440171441171442171443171444171445171446171447171448171449171450171451171452171453171454171455171456171457171458171459171460171461171462171463171464171465171466171467171468171469171470171471171472171473171474171475171476171477171478171479171480171481171482171483171484171485171486171487171488171489171490171491171492171493171494171495171496171497171498171499171500171501171502171503171504171505171506171507171508171509171510171511171512171513171514171515171516171517171518171519171520171521171522171523171524171525171526171527171528171529171530171531171532171533171534171535171536171537171538171539171540171541171542171543171544171545171546171547171548171549171550171551171552171553171554171555171556171557171558171559171560171561171562171563171564171565171566171567171568171569171570171571171572171573171574171575171576171577171578171579171580171581171582171583171584171585171586171587171588171589171590171591171592171593171594171595171596171597171598171599171600171601171602171603171604171605171606171607171608171609171610171611171612171613171614171615171616171617171618171619171620171621171622171623171624171625171626171627171628171629171630171631171632171633171634171635171636171637171638171639171640171641171642171643171644171645171646171647171648171649171650171651171652171653171654171655171656171657171658171659171660171661171662171663171664171665171666171667171668171669171670171671171672171673171674171675171676171677171678171679171680171681171682171683171684171685171686171687171688171689171690171691171692171693171694171695171696171697171698171699171700171701171702171703171704171705171706171707171708171709171710171711171712171713171714171715171716171717171718171719171720171721171722171723171724171725171726171727171728171729171730171731171732171733171734171735171736171737171738171739171740171741171742171743171744171745171746171747171748171749171750171751171752171753171754171755171756171757171758171759171760171761171762171763171764171765171766171767171768171769171770171771171772171773171774171775171776171777171778171779171780171781171782171783171784171785171786171787171788171789171790171791171792171793171794171795171796171797171798171799171800171801171802171803171804171805171806171807171808171809171810171811171812171813171814171815171816171817171818171819171820171821171822171823171824171825171826171827171828171829171830171831171832171833171834171835171836171837171838171839171840171841171842171843171844171845171846171847171848171849171850171851171852171853171854171855171856171857171858171859171860171861171862171863171864171865171866171867171868171869171870171871171872171873171874171875171876171877171878171879171880171881171882171883171884171885171886171887171888171889171890171891171892171893171894171895171896171897171898171899171900171901171902171903171904171905171906171907171908171909171910171911171912171913 |
- (function e(t, n, r) {
- function s(o, u) {
- if (!n[o]) {
- if (!t[o]) {
- var a = typeof require == "function" && require;
- if (!u && a) return a(o, !0);
- if (i) return i(o, !0);
- var f = new Error("Cannot find module '" + o + "'");
- throw ((f.code = "MODULE_NOT_FOUND"), f);
- }
- var l = (n[o] = { exports: {} });
- t[o][0].call(
- l.exports,
- function (e) {
- var n = t[o][1][e];
- return s(n ? n : e);
- },
- l,
- l.exports,
- e,
- t,
- n,
- r
- );
- }
- return n[o].exports;
- }
- var i = typeof require == "function" && require;
- for (var o = 0; o < r.length; o++) s(r[o]);
- return s;
- })(
- {
- 1: [
- function (require, module, exports) {
- "use strict";
- window.ZstdCodec = require("./lib/zstd-codec.js");
- window.ZstdStream = require("./lib/zstd-stream.js");
- },
- { "./lib/zstd-codec.js": 7, "./lib/zstd-stream.js": 8 },
- ],
- 2: [
- function (require, module, exports) {
- "use strict";
- exports.DEFAULT_COMPRESSION_LEVEL = 3;
- exports.STREAMING_DEFAULT_BUFFER_SIZE = 512 * 1024;
- },
- {},
- ],
- 3: [
- function (require, module, exports) {
- (function (Buffer) {
- "use strict";
- var _typeof =
- typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
- ? function (obj) {
- return typeof obj;
- }
- : function (obj) {
- return obj &&
- typeof Symbol === "function" &&
- obj.constructor === Symbol &&
- obj !== Symbol.prototype
- ? "symbol"
- : typeof obj;
- };
- var _createClass = (function () {
- function defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
- return function (Constructor, protoProps, staticProps) {
- if (protoProps)
- defineProperties(Constructor.prototype, protoProps);
- if (staticProps) defineProperties(Constructor, staticProps);
- return Constructor;
- };
- })();
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- var ArrayBufferHelper = (function () {
- function ArrayBufferHelper() {
- _classCallCheck(this, ArrayBufferHelper);
- }
- _createClass(ArrayBufferHelper, null, [
- {
- key: "transfer",
- value: function transfer(old_buffer, new_capacity) {
- var bytes = new Uint8Array(new ArrayBuffer(new_capacity));
- bytes.set(new Uint8Array(old_buffer.slice(0, new_capacity)));
- return bytes.buffer;
- },
- },
- ]);
- return ArrayBufferHelper;
- })();
- var getClassName = function getClassName(obj) {
- if (
- !obj ||
- (typeof obj === "undefined" ? "undefined" : _typeof(obj)) !=
- "object"
- )
- return null; // Object.prototype.toString returns '[object ClassName]',
- // remove prefix '[object ' and suffix ']'
- return Object.prototype.toString
- .call(obj)
- .slice("[object ".length, -1);
- };
- var isUint8Array = function isUint8Array(obj) {
- return getClassName(obj) == "Uint8Array";
- };
- var isString = function isString(obj) {
- return typeof obj == "string" || getClassName(obj) == "String";
- };
- var toTypedArray = function toTypedArray(
- chunk,
- encoding,
- string_decoder
- ) {
- if (isString(chunk)) {
- chunk = string_decoder(encoding);
- }
- if (isUint8Array(chunk)) {
- // NOTE: Buffer is recognized as Uint8Array object.
- return chunk;
- } else if (getClassName(chunk) == "ArrayBuffer") {
- return new Uint8Array(chunk);
- } else if (Array.isArray(chunk)) {
- return new Uint8Array(chunk);
- }
- return null;
- }; // NOTE: only available on Node.js environment
- var fromTypedArrayToBuffer = function fromTypedArrayToBuffer(
- typedArray
- ) {
- return Buffer.from(typedArray.buffer);
- };
- exports.ArrayBufferHelper = ArrayBufferHelper;
- exports.getClassName = getClassName;
- exports.isUint8Array = isUint8Array;
- exports.isString = isString;
- exports.toTypedArray = toTypedArray;
- exports.fromTypedArrayToBuffer = fromTypedArrayToBuffer;
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54 },
- ],
- 4: [
- function (require, module, exports) {
- "use strict";
- var _typeof =
- typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
- ? function (obj) {
- return typeof obj;
- }
- : function (obj) {
- return obj &&
- typeof Symbol === "function" &&
- obj.constructor === Symbol &&
- obj !== Symbol.prototype
- ? "symbol"
- : typeof obj;
- }; // REF: https://stackoverflow.com/a/47880734
- var wasmSupported = (function () {
- try {
- if (
- (typeof WebAssembly === "undefined"
- ? "undefined"
- : _typeof(WebAssembly)) === "object" &&
- typeof WebAssembly.instantiate === "function"
- ) {
- var module = new WebAssembly.Module(
- Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00)
- );
- if (module instanceof WebAssembly.Module)
- return (
- new WebAssembly.Instance(module) instanceof
- WebAssembly.Instance
- );
- }
- } catch (e) {}
- return false;
- })();
- exports.run = function (f) {
- var Module = {};
- Module.onRuntimeInitialized = function () {
- f(Module);
- };
- if (wasmSupported) {
- require("./zstd-codec-binding-wasm.js")(Module);
- } else {
- require("./zstd-codec-binding.js")(Module);
- }
- };
- },
- { "./zstd-codec-binding-wasm.js": 5, "./zstd-codec-binding.js": 6 },
- ],
- 5: [
- function (require, module, exports) {
- (function (process, Buffer, __dirname) {
- "use strict";
- var _typeof =
- typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
- ? function (obj) {
- return typeof obj;
- }
- : function (obj) {
- return obj &&
- typeof Symbol === "function" &&
- obj.constructor === Symbol &&
- obj !== Symbol.prototype
- ? "symbol"
- : typeof obj;
- };
- var Module = (function () {
- var _scriptDir =
- typeof document !== "undefined" && document.currentScript
- ? document.currentScript.src
- : undefined;
- return function (Module) {
- Module = Module || {};
- var Module;
- if (!Module) Module = typeof Module !== "undefined" ? Module : {};
- var moduleOverrides = {};
- var key;
- for (key in Module) {
- if (Module.hasOwnProperty(key)) {
- moduleOverrides[key] = Module[key];
- }
- }
- Module["arguments"] = [];
- Module["thisProgram"] = "./this.program";
- Module["quit"] = function (status, toThrow) {
- throw toThrow;
- };
- Module["preRun"] = [];
- Module["postRun"] = [];
- var ENVIRONMENT_IS_WEB = false;
- var ENVIRONMENT_IS_WORKER = false;
- var ENVIRONMENT_IS_NODE = false;
- var ENVIRONMENT_IS_SHELL = false;
- ENVIRONMENT_IS_WEB =
- (typeof window === "undefined"
- ? "undefined"
- : _typeof(window)) === "object";
- ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
- ENVIRONMENT_IS_NODE =
- (typeof process === "undefined"
- ? "undefined"
- : _typeof(process)) === "object" &&
- typeof require === "function" &&
- !ENVIRONMENT_IS_WEB &&
- !ENVIRONMENT_IS_WORKER;
- ENVIRONMENT_IS_SHELL =
- !ENVIRONMENT_IS_WEB &&
- !ENVIRONMENT_IS_NODE &&
- !ENVIRONMENT_IS_WORKER;
- var scriptDirectory = "";
- function locateFile(path) {
- if (Module["locateFile"]) {
- return Module["locateFile"](path, scriptDirectory);
- } else {
- return scriptDirectory + path;
- }
- }
- if (ENVIRONMENT_IS_NODE) {
- scriptDirectory = __dirname + "/";
- var nodeFS;
- var nodePath;
- Module["read"] = function shell_read(filename, binary) {
- var ret;
- ret = tryParseAsDataURI(filename);
- if (!ret) {
- if (!nodeFS) nodeFS = require("fs");
- if (!nodePath) nodePath = require("path");
- filename = nodePath["normalize"](filename);
- ret = nodeFS["readFileSync"](filename);
- }
- return binary ? ret : ret.toString();
- };
- Module["readBinary"] = function readBinary(filename) {
- var ret = Module["read"](filename, true);
- if (!ret.buffer) {
- ret = new Uint8Array(ret);
- }
- assert(ret.buffer);
- return ret;
- };
- if (process["argv"].length > 1) {
- Module["thisProgram"] = process["argv"][1].replace(
- /\\/g,
- "/"
- );
- }
- Module["arguments"] = process["argv"].slice(2);
- process["on"]("uncaughtException", function (ex) {
- if (!(ex instanceof ExitStatus)) {
- throw ex;
- }
- });
- process["on"]("unhandledRejection", function (reason, p) {
- process["exit"](1);
- });
- Module["quit"] = function (status) {
- process["exit"](status);
- };
- Module["inspect"] = function () {
- return "[Emscripten Module object]";
- };
- } else if (ENVIRONMENT_IS_SHELL) {
- if (typeof read != "undefined") {
- Module["read"] = function shell_read(f) {
- var data = tryParseAsDataURI(f);
- if (data) {
- return intArrayToString(data);
- }
- return read(f);
- };
- }
- Module["readBinary"] = function readBinary(f) {
- var data;
- data = tryParseAsDataURI(f);
- if (data) {
- return data;
- }
- if (typeof readbuffer === "function") {
- return new Uint8Array(readbuffer(f));
- }
- data = read(f, "binary");
- assert(
- (typeof data === "undefined"
- ? "undefined"
- : _typeof(data)) === "object"
- );
- return data;
- };
- if (typeof scriptArgs != "undefined") {
- Module["arguments"] = scriptArgs;
- } else if (typeof arguments != "undefined") {
- Module["arguments"] = arguments;
- }
- if (typeof quit === "function") {
- Module["quit"] = function (status) {
- quit(status);
- };
- }
- } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
- if (ENVIRONMENT_IS_WEB) {
- if (document.currentScript) {
- scriptDirectory = document.currentScript.src;
- }
- } else {
- scriptDirectory = self.location.href;
- }
- if (_scriptDir) {
- scriptDirectory = _scriptDir;
- }
- if (scriptDirectory.indexOf("blob:") !== 0) {
- scriptDirectory =
- scriptDirectory.split("/").slice(0, -1).join("/") + "/";
- } else {
- scriptDirectory = "";
- }
- Module["read"] = function shell_read(url) {
- try {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, false);
- xhr.send(null);
- return xhr.responseText;
- } catch (err) {
- var data = tryParseAsDataURI(url);
- if (data) {
- return intArrayToString(data);
- }
- throw err;
- }
- };
- if (ENVIRONMENT_IS_WORKER) {
- Module["readBinary"] = function readBinary(url) {
- try {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, false);
- xhr.responseType = "arraybuffer";
- xhr.send(null);
- return new Uint8Array(xhr.response);
- } catch (err) {
- var data = tryParseAsDataURI(url);
- if (data) {
- return data;
- }
- throw err;
- }
- };
- }
- Module["readAsync"] = function readAsync(url, onload, onerror) {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, true);
- xhr.responseType = "arraybuffer";
- xhr.onload = function xhr_onload() {
- if (
- xhr.status == 200 ||
- (xhr.status == 0 && xhr.response)
- ) {
- onload(xhr.response);
- return;
- }
- var data = tryParseAsDataURI(url);
- if (data) {
- onload(data.buffer);
- return;
- }
- onerror();
- };
- xhr.onerror = onerror;
- xhr.send(null);
- };
- Module["setWindowTitle"] = function (title) {
- document.title = title;
- };
- } else {
- }
- var out =
- Module["print"] ||
- (typeof console !== "undefined"
- ? console.log.bind(console)
- : typeof print !== "undefined"
- ? print
- : null);
- var err =
- Module["printErr"] ||
- (typeof printErr !== "undefined"
- ? printErr
- : (typeof console !== "undefined" &&
- console.warn.bind(console)) ||
- out);
- for (key in moduleOverrides) {
- if (moduleOverrides.hasOwnProperty(key)) {
- Module[key] = moduleOverrides[key];
- }
- }
- moduleOverrides = undefined;
- var STACK_ALIGN = 16;
- function staticAlloc(size) {
- var ret = STATICTOP;
- STATICTOP = (STATICTOP + size + 15) & -16;
- return ret;
- }
- function dynamicAlloc(size) {
- var ret = HEAP32[DYNAMICTOP_PTR >> 2];
- var end = (ret + size + 15) & -16;
- HEAP32[DYNAMICTOP_PTR >> 2] = end;
- if (end >= TOTAL_MEMORY) {
- var success = enlargeMemory();
- if (!success) {
- HEAP32[DYNAMICTOP_PTR >> 2] = ret;
- return 0;
- }
- }
- return ret;
- }
- function alignMemory(size, factor) {
- if (!factor) factor = STACK_ALIGN;
- var ret = (size = Math.ceil(size / factor) * factor);
- return ret;
- }
- function getNativeTypeSize(type) {
- switch (type) {
- case "i1":
- case "i8":
- return 1;
- case "i16":
- return 2;
- case "i32":
- return 4;
- case "i64":
- return 8;
- case "float":
- return 4;
- case "double":
- return 8;
- default: {
- if (type[type.length - 1] === "*") {
- return 4;
- } else if (type[0] === "i") {
- var bits = parseInt(type.substr(1));
- assert(bits % 8 === 0);
- return bits / 8;
- } else {
- return 0;
- }
- }
- }
- }
- function warnOnce(text) {
- if (!warnOnce.shown) warnOnce.shown = {};
- if (!warnOnce.shown[text]) {
- warnOnce.shown[text] = 1;
- err(text);
- }
- }
- var asm2wasmImports = {
- "f64-rem": function f64Rem(x, y) {
- return x % y;
- },
- debugger: function _debugger() {
- debugger;
- },
- };
- var jsCallStartIndex = 1;
- var functionPointers = new Array(0);
- var funcWrappers = {};
- function dynCall(sig, ptr, args) {
- if (args && args.length) {
- return Module["dynCall_" + sig].apply(
- null,
- [ptr].concat(args)
- );
- } else {
- return Module["dynCall_" + sig].call(null, ptr);
- }
- }
- var GLOBAL_BASE = 1024;
- var ABORT = 0;
- var EXITSTATUS = 0;
- function assert(condition, text) {
- if (!condition) {
- abort("Assertion failed: " + text);
- }
- }
- function getCFunc(ident) {
- var func = Module["_" + ident];
- assert(
- func,
- "Cannot call unknown function " +
- ident +
- ", make sure it is exported"
- );
- return func;
- }
- var JSfuncs = {
- stackSave: function stackSave() {
- _stackSave();
- },
- stackRestore: function stackRestore() {
- _stackRestore();
- },
- arrayToC: function arrayToC(arr) {
- var ret = stackAlloc(arr.length);
- writeArrayToMemory(arr, ret);
- return ret;
- },
- stringToC: function stringToC(str) {
- var ret = 0;
- if (str !== null && str !== undefined && str !== 0) {
- var len = (str.length << 2) + 1;
- ret = stackAlloc(len);
- stringToUTF8(str, ret, len);
- }
- return ret;
- },
- };
- var toC = {
- string: JSfuncs["stringToC"],
- array: JSfuncs["arrayToC"],
- };
- function ccall(ident, returnType, argTypes, args, opts) {
- function convertReturnValue(ret) {
- if (returnType === "string") return Pointer_stringify(ret);
- if (returnType === "boolean") return Boolean(ret);
- return ret;
- }
- var func = getCFunc(ident);
- var cArgs = [];
- var stack = 0;
- if (args) {
- for (var i = 0; i < args.length; i++) {
- var converter = toC[argTypes[i]];
- if (converter) {
- if (stack === 0) stack = _stackSave();
- cArgs[i] = converter(args[i]);
- } else {
- cArgs[i] = args[i];
- }
- }
- }
- var ret = func.apply(null, cArgs);
- ret = convertReturnValue(ret);
- if (stack !== 0) _stackRestore(stack);
- return ret;
- }
- function setValue(ptr, value, type, noSafe) {
- type = type || "i8";
- if (type.charAt(type.length - 1) === "*") type = "i32";
- switch (type) {
- case "i1":
- HEAP8[ptr >> 0] = value;
- break;
- case "i8":
- HEAP8[ptr >> 0] = value;
- break;
- case "i16":
- HEAP16[ptr >> 1] = value;
- break;
- case "i32":
- HEAP32[ptr >> 2] = value;
- break;
- case "i64":
- (tempI64 = [
- value >>> 0,
- ((tempDouble = value),
- +Math_abs(tempDouble) >= 1
- ? tempDouble > 0
- ? (Math_min(
- +Math_floor(tempDouble / 4294967296),
- 4294967295
- ) |
- 0) >>>
- 0
- : ~~+Math_ceil(
- (tempDouble - +(~~tempDouble >>> 0)) / 4294967296
- ) >>> 0
- : 0),
- ]),
- (HEAP32[ptr >> 2] = tempI64[0]),
- (HEAP32[(ptr + 4) >> 2] = tempI64[1]);
- break;
- case "float":
- HEAPF32[ptr >> 2] = value;
- break;
- case "double":
- HEAPF64[ptr >> 3] = value;
- break;
- default:
- abort("invalid type for setValue: " + type);
- }
- }
- var ALLOC_STATIC = 2;
- var ALLOC_NONE = 4;
- function Pointer_stringify(ptr, length) {
- if (length === 0 || !ptr) return "";
- var hasUtf = 0;
- var t;
- var i = 0;
- while (1) {
- t = HEAPU8[(ptr + i) >> 0];
- hasUtf |= t;
- if (t == 0 && !length) break;
- i++;
- if (length && i == length) break;
- }
- if (!length) length = i;
- var ret = "";
- if (hasUtf < 128) {
- var MAX_CHUNK = 1024;
- var curr;
- while (length > 0) {
- curr = String.fromCharCode.apply(
- String,
- HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))
- );
- ret = ret ? ret + curr : curr;
- ptr += MAX_CHUNK;
- length -= MAX_CHUNK;
- }
- return ret;
- }
- return UTF8ToString(ptr);
- }
- var UTF8Decoder =
- typeof TextDecoder !== "undefined"
- ? new TextDecoder("utf8")
- : undefined;
- function UTF8ArrayToString(u8Array, idx) {
- var endPtr = idx;
- while (u8Array[endPtr]) {
- ++endPtr;
- }
- if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
- return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
- } else {
- var u0, u1, u2, u3, u4, u5;
- var str = "";
- while (1) {
- u0 = u8Array[idx++];
- if (!u0) return str;
- if (!(u0 & 128)) {
- str += String.fromCharCode(u0);
- continue;
- }
- u1 = u8Array[idx++] & 63;
- if ((u0 & 224) == 192) {
- str += String.fromCharCode(((u0 & 31) << 6) | u1);
- continue;
- }
- u2 = u8Array[idx++] & 63;
- if ((u0 & 240) == 224) {
- u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
- } else {
- u3 = u8Array[idx++] & 63;
- if ((u0 & 248) == 240) {
- u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
- } else {
- u4 = u8Array[idx++] & 63;
- if ((u0 & 252) == 248) {
- u0 =
- ((u0 & 3) << 24) |
- (u1 << 18) |
- (u2 << 12) |
- (u3 << 6) |
- u4;
- } else {
- u5 = u8Array[idx++] & 63;
- u0 =
- ((u0 & 1) << 30) |
- (u1 << 24) |
- (u2 << 18) |
- (u3 << 12) |
- (u4 << 6) |
- u5;
- }
- }
- }
- if (u0 < 65536) {
- str += String.fromCharCode(u0);
- } else {
- var ch = u0 - 65536;
- str += String.fromCharCode(
- 55296 | (ch >> 10),
- 56320 | (ch & 1023)
- );
- }
- }
- }
- }
- function UTF8ToString(ptr) {
- return UTF8ArrayToString(HEAPU8, ptr);
- }
- function stringToUTF8Array(
- str,
- outU8Array,
- outIdx,
- maxBytesToWrite
- ) {
- if (!(maxBytesToWrite > 0)) return 0;
- var startIdx = outIdx;
- var endIdx = outIdx + maxBytesToWrite - 1;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 55296 && u <= 57343) {
- var u1 = str.charCodeAt(++i);
- u = (65536 + ((u & 1023) << 10)) | (u1 & 1023);
- }
- if (u <= 127) {
- if (outIdx >= endIdx) break;
- outU8Array[outIdx++] = u;
- } else if (u <= 2047) {
- if (outIdx + 1 >= endIdx) break;
- outU8Array[outIdx++] = 192 | (u >> 6);
- outU8Array[outIdx++] = 128 | (u & 63);
- } else if (u <= 65535) {
- if (outIdx + 2 >= endIdx) break;
- outU8Array[outIdx++] = 224 | (u >> 12);
- outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
- outU8Array[outIdx++] = 128 | (u & 63);
- } else if (u <= 2097151) {
- if (outIdx + 3 >= endIdx) break;
- outU8Array[outIdx++] = 240 | (u >> 18);
- outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
- outU8Array[outIdx++] = 128 | (u & 63);
- } else if (u <= 67108863) {
- if (outIdx + 4 >= endIdx) break;
- outU8Array[outIdx++] = 248 | (u >> 24);
- outU8Array[outIdx++] = 128 | ((u >> 18) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
- outU8Array[outIdx++] = 128 | (u & 63);
- } else {
- if (outIdx + 5 >= endIdx) break;
- outU8Array[outIdx++] = 252 | (u >> 30);
- outU8Array[outIdx++] = 128 | ((u >> 24) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 18) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
- outU8Array[outIdx++] = 128 | (u & 63);
- }
- }
- outU8Array[outIdx] = 0;
- return outIdx - startIdx;
- }
- function stringToUTF8(str, outPtr, maxBytesToWrite) {
- return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
- }
- function lengthBytesUTF8(str) {
- var len = 0;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 55296 && u <= 57343)
- u =
- (65536 + ((u & 1023) << 10)) |
- (str.charCodeAt(++i) & 1023);
- if (u <= 127) {
- ++len;
- } else if (u <= 2047) {
- len += 2;
- } else if (u <= 65535) {
- len += 3;
- } else if (u <= 2097151) {
- len += 4;
- } else if (u <= 67108863) {
- len += 5;
- } else {
- len += 6;
- }
- }
- return len;
- }
- var UTF16Decoder =
- typeof TextDecoder !== "undefined"
- ? new TextDecoder("utf-16le")
- : undefined;
- function demangle(func) {
- var __cxa_demangle_func =
- Module["___cxa_demangle"] || Module["__cxa_demangle"];
- assert(__cxa_demangle_func);
- try {
- var s = func.substr(1);
- var len = lengthBytesUTF8(s) + 1;
- var buf = _malloc(len);
- stringToUTF8(s, buf, len);
- var status = _malloc(4);
- var ret = __cxa_demangle_func(buf, 0, 0, status);
- if (HEAP32[status >> 2] === 0 && ret) {
- return Pointer_stringify(ret);
- }
- } catch (e) {
- } finally {
- if (buf) _free(buf);
- if (status) _free(status);
- if (ret) _free(ret);
- }
- return func;
- }
- function demangleAll(text) {
- var regex = /__Z[\w\d_]+/g;
- return text.replace(regex, function (x) {
- var y = demangle(x);
- return x === y ? x : x + " [" + y + "]";
- });
- }
- function jsStackTrace() {
- var err = new Error();
- if (!err.stack) {
- try {
- throw new Error(0);
- } catch (e) {
- err = e;
- }
- if (!err.stack) {
- return "(no stack trace available)";
- }
- }
- return err.stack.toString();
- }
- function stackTrace() {
- var js = jsStackTrace();
- if (Module["extraStackTrace"])
- js += "\n" + Module["extraStackTrace"]();
- return demangleAll(js);
- }
- var WASM_PAGE_SIZE = 65536;
- var ASMJS_PAGE_SIZE = 16777216;
- function alignUp(x, multiple) {
- if (x % multiple > 0) {
- x += multiple - (x % multiple);
- }
- return x;
- }
- var buffer,
- HEAP8,
- HEAPU8,
- HEAP16,
- HEAPU16,
- HEAP32,
- HEAPU32,
- HEAPF32,
- HEAPF64;
- function updateGlobalBuffer(buf) {
- Module["buffer"] = buffer = buf;
- }
- function updateGlobalBufferViews() {
- Module["HEAP8"] = HEAP8 = new Int8Array(buffer);
- Module["HEAP16"] = HEAP16 = new Int16Array(buffer);
- Module["HEAP32"] = HEAP32 = new Int32Array(buffer);
- Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);
- Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);
- Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);
- Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);
- Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer);
- }
- var STATIC_BASE, STATICTOP, staticSealed;
- var STACK_BASE, STACKTOP, STACK_MAX;
- var DYNAMIC_BASE, DYNAMICTOP_PTR;
- STATIC_BASE =
- STATICTOP =
- STACK_BASE =
- STACKTOP =
- STACK_MAX =
- DYNAMIC_BASE =
- DYNAMICTOP_PTR =
- 0;
- staticSealed = false;
- function abortOnCannotGrowMemory() {
- abort(
- "Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " +
- TOTAL_MEMORY +
- ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "
- );
- }
- function enlargeMemory() {
- abortOnCannotGrowMemory();
- }
- var TOTAL_STACK = Module["TOTAL_STACK"] || 5242880;
- var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216;
- if (TOTAL_MEMORY < TOTAL_STACK)
- err(
- "TOTAL_MEMORY should be larger than TOTAL_STACK, was " +
- TOTAL_MEMORY +
- "! (TOTAL_STACK=" +
- TOTAL_STACK +
- ")"
- );
- if (Module["buffer"]) {
- buffer = Module["buffer"];
- } else {
- if (
- (typeof WebAssembly === "undefined"
- ? "undefined"
- : _typeof(WebAssembly)) === "object" &&
- typeof WebAssembly.Memory === "function"
- ) {
- Module["wasmMemory"] = new WebAssembly.Memory({
- initial: TOTAL_MEMORY / WASM_PAGE_SIZE,
- maximum: TOTAL_MEMORY / WASM_PAGE_SIZE,
- });
- buffer = Module["wasmMemory"].buffer;
- } else {
- buffer = new ArrayBuffer(TOTAL_MEMORY);
- }
- Module["buffer"] = buffer;
- }
- updateGlobalBufferViews();
- function getTotalMemory() {
- return TOTAL_MEMORY;
- }
- function callRuntimeCallbacks(callbacks) {
- while (callbacks.length > 0) {
- var callback = callbacks.shift();
- if (typeof callback == "function") {
- callback();
- continue;
- }
- var func = callback.func;
- if (typeof func === "number") {
- if (callback.arg === undefined) {
- Module["dynCall_v"](func);
- } else {
- Module["dynCall_vi"](func, callback.arg);
- }
- } else {
- func(callback.arg === undefined ? null : callback.arg);
- }
- }
- }
- var __ATPRERUN__ = [];
- var __ATINIT__ = [];
- var __ATMAIN__ = [];
- var __ATEXIT__ = [];
- var __ATPOSTRUN__ = [];
- var runtimeInitialized = false;
- var runtimeExited = false;
- function preRun() {
- if (Module["preRun"]) {
- if (typeof Module["preRun"] == "function")
- Module["preRun"] = [Module["preRun"]];
- while (Module["preRun"].length) {
- addOnPreRun(Module["preRun"].shift());
- }
- }
- callRuntimeCallbacks(__ATPRERUN__);
- }
- function ensureInitRuntime() {
- if (runtimeInitialized) return;
- runtimeInitialized = true;
- callRuntimeCallbacks(__ATINIT__);
- }
- function preMain() {
- callRuntimeCallbacks(__ATMAIN__);
- }
- function exitRuntime() {
- callRuntimeCallbacks(__ATEXIT__);
- runtimeExited = true;
- }
- function postRun() {
- if (Module["postRun"]) {
- if (typeof Module["postRun"] == "function")
- Module["postRun"] = [Module["postRun"]];
- while (Module["postRun"].length) {
- addOnPostRun(Module["postRun"].shift());
- }
- }
- callRuntimeCallbacks(__ATPOSTRUN__);
- }
- function addOnPreRun(cb) {
- __ATPRERUN__.unshift(cb);
- }
- function addOnPostRun(cb) {
- __ATPOSTRUN__.unshift(cb);
- }
- function writeArrayToMemory(array, buffer) {
- HEAP8.set(array, buffer);
- }
- function writeAsciiToMemory(str, buffer, dontAddNull) {
- for (var i = 0; i < str.length; ++i) {
- HEAP8[buffer++ >> 0] = str.charCodeAt(i);
- }
- if (!dontAddNull) HEAP8[buffer >> 0] = 0;
- }
- var Math_abs = Math.abs;
- var Math_ceil = Math.ceil;
- var Math_floor = Math.floor;
- var Math_min = Math.min;
- var Math_clz32 = Math.clz32;
- var runDependencies = 0;
- var runDependencyWatcher = null;
- var dependenciesFulfilled = null;
- function getUniqueRunDependency(id) {
- return id;
- }
- function addRunDependency(id) {
- runDependencies++;
- if (Module["monitorRunDependencies"]) {
- Module["monitorRunDependencies"](runDependencies);
- }
- }
- function removeRunDependency(id) {
- runDependencies--;
- if (Module["monitorRunDependencies"]) {
- Module["monitorRunDependencies"](runDependencies);
- }
- if (runDependencies == 0) {
- if (runDependencyWatcher !== null) {
- clearInterval(runDependencyWatcher);
- runDependencyWatcher = null;
- }
- if (dependenciesFulfilled) {
- var callback = dependenciesFulfilled;
- dependenciesFulfilled = null;
- callback();
- }
- }
- }
- Module["preloadedImages"] = {};
- Module["preloadedAudios"] = {};
- var dataURIPrefix = "data:application/octet-stream;base64,";
- function isDataURI(filename) {
- return String.prototype.startsWith
- ? filename.startsWith(dataURIPrefix)
- : filename.indexOf(dataURIPrefix) === 0;
- }
- function integrateWasmJS() {
- var wasmTextFile = "";
- var wasmBinaryFile =
- "data:application/octet-stream;base64,AGFzbQEAAAABxQMzYAF/AGAAAX9gAn9/AGADf39/AGABfwF/YAN/f38Bf2AAAGACf38Bf2AEf39/fwF/YAV/f39/fwF/YAZ/f39/f38Bf2AEf39/fwBgBn9/f39/fwBgBX9/f39/AGANf39/f39/f39/f39/fwBgCH9/f39/f39/AGADf39/AXxgB39/f39/f38Bf2ABfwF+YAF+AX5gAn5+AX5gAn9+AX9gAn9+AGANf39/f39/f39/f39/fwF/YAh/f39/f39/fwF/YAx/f39/f39/f39/f38Bf2AEf39+fwBgAn5/AX9gBX9/fn9/AX9gBn9/f39/fgF/YAN/f34Bf2AFf39/f34Bf2ALf39/f39/f39/f38Bf2AHf39/f39/fwBgBX9/f35/AX9gCX9/f39/f39/fwF/YAp/f39/f39/f39/AX9gEH9/f39/f39/f39/f39/f38Bf2AEfn9/fgF+YAJ/fwF+YAN+f38Bf2AFf35/f38AYAd/fn9/f39/AX5gCH9/f39/f35/AX9gBn9/f39+fwF/YAR/f39+AX9gB39/f39/f34Bf2AJf39/f39/f39/AGACfn4Bf2AGf3x/f39/AX9gAnx/AXwC9Ak0A2VudgZtZW1vcnkCAYACgAIDZW52BXRhYmxlAXABnAOcAwNlbnYJdGFibGVCYXNlA38AA2Vudg5EWU5BTUlDVE9QX1BUUgN/AANlbnYIU1RBQ0tUT1ADfwADZW52CVNUQUNLX01BWAN/AANlbnYFYWJvcnQAAANlbnYNZW5sYXJnZU1lbW9yeQABA2Vudg5nZXRUb3RhbE1lbW9yeQABA2VudhdhYm9ydE9uQ2Fubm90R3Jvd01lbW9yeQABA2VudhlfX19jeGFfYWxsb2NhdGVfZXhjZXB0aW9uAAQDZW52DF9fX2N4YV90aHJvdwADA2VudgdfX19sb2NrAAADZW52C19fX3NldEVyck5vAAADZW52DV9fX3N5c2NhbGwxNDAABwNlbnYNX19fc3lzY2FsbDE0NQAHA2Vudg1fX19zeXNjYWxsMTQ2AAcDZW52DV9fX3N5c2NhbGwyMjEABwNlbnYLX19fc3lzY2FsbDUABwNlbnYMX19fc3lzY2FsbDU0AAcDZW52C19fX3N5c2NhbGw2AAcDZW52CV9fX3VubG9jawAAA2VudhZfX2VtYmluZF9yZWdpc3Rlcl9ib29sAA0DZW52F19fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzAA4DZW52I19fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2NvbnN0cnVjdG9yAAwDZW52IF9fZW1iaW5kX3JlZ2lzdGVyX2NsYXNzX2Z1bmN0aW9uAA8DZW52F19fZW1iaW5kX3JlZ2lzdGVyX2VtdmFsAAIDZW52F19fZW1iaW5kX3JlZ2lzdGVyX2Zsb2F0AAMDZW52Gl9fZW1iaW5kX3JlZ2lzdGVyX2Z1bmN0aW9uAAwDZW52GV9fZW1iaW5kX3JlZ2lzdGVyX2ludGVnZXIADQNlbnYdX19lbWJpbmRfcmVnaXN0ZXJfbWVtb3J5X3ZpZXcAAwNlbnYcX19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwACA2Vudh1fX2VtYmluZF9yZWdpc3Rlcl9zdGRfd3N0cmluZwADA2VudhZfX2VtYmluZF9yZWdpc3Rlcl92b2lkAAIDZW52Cl9fZW12YWxfYXMAEANlbnYMX19lbXZhbF9jYWxsAAgDZW52GF9fZW12YWxfY2FsbF92b2lkX21ldGhvZAALA2Vudg5fX2VtdmFsX2RlY3JlZgAAA2VudhlfX2VtdmFsX2dldF9tZXRob2RfY2FsbGVyAAcDZW52G19fZW12YWxfZ2V0X21vZHVsZV9wcm9wZXJ0eQAEA2VudhRfX2VtdmFsX2dldF9wcm9wZXJ0eQAHA2Vudg5fX2VtdmFsX2luY3JlZgAAA2VudgtfX2VtdmFsX25ldwAIA2VudhNfX2VtdmFsX25ld19jc3RyaW5nAAQDZW52F19fZW12YWxfcnVuX2Rlc3RydWN0b3JzAAADZW52El9fZW12YWxfdGFrZV92YWx1ZQAHA2VudgZfYWJvcnQABgNlbnYWX2Vtc2NyaXB0ZW5fbWVtY3B5X2JpZwAFA2VudhRfcHRocmVhZF9nZXRzcGVjaWZpYwAEA2VudhNfcHRocmVhZF9rZXlfY3JlYXRlAAcDZW52DV9wdGhyZWFkX29uY2UABwNlbnYUX3B0aHJlYWRfc2V0c3BlY2lmaWMABwPmB+QHBAEAAgIAAQYCAgQCBwIEBwcFBwcEBwUHBwAAAwMABAIAAgcEBAIHBAQCBwQEAgcEBAIHBAQCBwQCAwMFAwQAAQQDCwcFCAADBwQAAAUEBwQAAQUJCAQAAQgFBAEGBwcIBQgABAICBwQIAAQCBwQDAAQCBwQCAAQCBwQAAAcHAgQCBwcEBwQCBwcEBQcHAAQHBAIHBwQHBAIHBwQFBwcEBAkEBAQRCgQICQUDBAcHBwcCBwcEEhITBBIUFBUFBRIHBwIKBwkKCAkKCQgHBQkJBwkKBQMDAAACBAMDAgIWFgICBAUICQgKAwUKCQoCAhcYBQUZGQQBBAAEBBoaBwUKBwoACREICgUFAwMFCwoFBQkEBwcHBwcbGxsbBwgAAAAEBxwdHgISBRQHBx8CAAQEGSAHCgoKCgoKCgoKCgoKCgoKCgMHBwgLBQgFDQ0AAwIFBwgHBwcJCQoNESERGAkJCgkRIgoJAwAYCQMjGAQkCSUICAcIAwsJJicoGwUbCCkqCwsCBQIDAyssAxoJBRgYCgkFAi0RCgEEBC4dLQceBwgIBQcJAgoJBAoJBBgJDy8KCQoJGAcKGAoYAAQBBAQHBAQEBAQEBAcHBQQFCCcnBQUFBAcEEgQHBwcFBAcHBwcFBQcEBQggAwwCCgQREREDGAIRERgEBAoHBQkFCAgEBQUFCAERAREBEQUCCQUJBQkRBQMEAhgEAgQjBwgJBAkJCQkJCAgHCQkFCQUJEQgJBQkPLwICCQQFBQUEBwIFCQUJBQkRBQIYCAgJCAgFCREICQUJCQQFAwUFAgkFBQkFCSMFAwQCGAcJCAQICAkJCAgFCREPLwgJBAUJCQkEBQMFAQkRBAMFBQkFCRgFAwQCGAQJCAgICAUJCREPLwgJBQkJBQkIBAQJCQkJBwcKAQQECQUFBAcEMAUICQQIBAUBBQEFAQUEBQQBCQkJCQQJBAkECQkECQIGAAQEAAcHBwIEBQUEAQUFBQcEBAUHBQcHCAgFCQMEAygbGw0HMTIFBwUEBQcHBwQHBAEEBAAEBwQEBAQGAQIFDA0LBQsLDQgMDQsGAAUFBQwNCwsMDQgCAgILAAAEBQAAAwMEBQIPAwAFBQUFBQIFBwICBQUDAgUFAwUFBQIFAwICAgIFBQUFBwMFAAMLBQUICAUFBQUFBQUFBQUFBQUFBQUFBQUFAgUCAwUFBQUFBQUFBQICAgACAgIDAggFAwwCAgUAAAsCAAcHCAIFBQUCBQUFBwIAAgIFCwIAAAIIAAAAAAIAAgACBQAHBAUEBgQFBQUFBAcFCAkKEQIDCw0MIQEEBwUICQoGAAIDCw0MBh8GfwEjAQt/ASMCC38BIwMLfwFBAAt/AUEAC38BQQALB94EJRhfX0dMT0JBTF9fc3ViX0lfYmluZF9jcHAAgwYfX19HTE9CQUxfX3N1Yl9JX3pzdGRfYmluZGluZ19jYwCKARBfX19jeGFfY2FuX2NhdGNoAO8HD19fX2N4YV9kZW1hbmdsZQDZBhZfX19jeGFfaXNfcG9pbnRlcl90eXBlAPAHEV9fX2Vycm5vX2xvY2F0aW9uAJAGDl9fX2dldFR5cGVOYW1lAIUGBV9mcmVlAIcGD19sbHZtX2Jzd2FwX2kzMgDyBw5fbGx2bV9jdGx6X2k2NADzBwdfbWFsbG9jAIYGB19tZW1jcHkA9AcIX21lbW1vdmUA9QcHX21lbXNldAD2BwVfc2JyawD3BwlkeW5DYWxsX2kAbgpkeW5DYWxsX2lpAPgHC2R5bkNhbGxfaWlpAPkHDGR5bkNhbGxfaWlpaQD6Bw1keW5DYWxsX2lpaWlpAPsHDmR5bkNhbGxfaWlpaWlpAPwHD2R5bkNhbGxfaWlpaWlpaQD9BwlkeW5DYWxsX3YAdApkeW5DYWxsX3ZpAP4HC2R5bkNhbGxfdmlpAP8HDGR5bkNhbGxfdmlpaQCACA1keW5DYWxsX3ZpaWlpAIEIDmR5bkNhbGxfdmlpaWlpAIIID2R5bkNhbGxfdmlpaWlpaQCDCBNlc3RhYmxpc2hTdGFja1NwYWNlADELZ2V0VGVtcFJldDAANAtydW5Qb3N0U2V0cwDxBwtzZXRUZW1wUmV0MAAzCHNldFRocmV3ADIKc3RhY2tBbGxvYwAuDHN0YWNrUmVzdG9yZQAwCXN0YWNrU2F2ZQAvCbcFAQAjAAucA4QIf4UBiQFthAiECIQIhQhMUVJVVllaXV5hYmWRAZUBmAGbAZ4BoQGkAacBrQGxAbMBtwG+AcIBxAHIAYwGvQZ3ezx9boMBbogBbkJrbjjGA9wFhQiFCIUIhQiFCIUIhQiFCIUIhQiFCIUIhQiFCIUIhQiFCIUIhghQVFhcYGSUAZoBoAGmAa8BsAG1AbYBwAHBAcYBxwHoBHY6fIsBjAE9PkBBcUNFRnGGCIYIhgiGCIYIhgiGCIYIhgiGCIYIhgiGCIYIhgiGCIYIhgiGCIYIhgiG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ACAEJAUgAA8LIARBEWohASAEQRBqIQIgAygCACAFKAIANgIMIAMoAgAgAygCACgCDEEEajYCEAJAIAAoAgBBBE8EQCADKAIAIAUoAgAgACgCAGpBfGo2AgggAygCACgCCBDhASECIAMoAgAgAjYCACABIAUoAgAgACgCAEEBa2osAAA6AAAgAS0AAAR/QQggAS0AABDUAWsFQQALIQIgAygCACACNgIEIAEtAABFBEAgBkF/NgIAIAYoAgAhACAEJAUgAA8LBSADKAIAIAMoAgAoAgw2AgggAygCACADKAIAKAIMLQAANgIAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAEECaw4GBQQDAgEABgsgAygCACIBIAEoAgAgBSgCAC0ABkEQdGo2AgAMBgsMBQsMBQsMBQsMBQsMBQsMBQsgAygCACIBIAEoAgAgBSgCAC0ABUEIdGo2AgALIAMoAgAiASABKAIAIAUoAgAtAARqNgIACyADKAIAIgEgASgCACAFKAIALQADQRh0ajYCAAsgAygCACIBIAEoAgAgBSgCAC0AAkEQdGo2AgALIAMoAgAiASABKAIAIAUoAgAtAAFBCHRqNgIACyACIAUoAgAgACgCAEEBa2osAAA6AAAgAi0AAAR/QQggAi0AABDUAWsFQQALIQEgAygCACABNgIEIAItAAAEQCADKAIAQQRqIgEgASgCAEEEIAAoAgBrQQN0ajYCAAwCCyAGQWw2AgAgBigCACEAIAQkBSAADwsLIAYgACgCADYCACAGKAIAIQAgBCQFIAALhQEBAn8jBSEDIwVBIGokBSADQRBqIgQgADYCACADQQxqIgAgATYCACADQQhqIgEgAjYCACADQQRqIgIgASgCADYCACADIAIoAgA2AgAgACgCACADKAIALwEAENwBIQIgBCgCACACNgIAIAAoAgAQ2QEaIAQoAgAgASgCAEEEajYCBCADJAULvQMBBn8jBSEDIwVBEGokBSADQQxqIQIgA0EIaiIBIAA2AgAgASgCACgCBEEgSwRAIAJBAzYCACACKAIAIQAgAyQFIAAPCyABKAIAIQUgASgCACgCCCABKAIAKAIQTwRAIAEoAgBBCGoiACAAKAIAIAUoAgRBA3ZrNgIAIAEoAgBBBGoiACAAKAIAQQdxNgIAIAEoAgAoAggQ4QEhACAB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AzAgAkIANwM4IAJBQGtCADcDACACQgA3A0ggAiAAKQMAQoeVr6+Ytt6bnn98Qs/W077Sx6vZQnw3AwggAiAAKQMAQs/W077Sx6vZQnw3AxAgAiAAKQMAQgB8NwMYIAIgACkDAEKHla+vmLbem55/fTcDICADKAIAIgAgAikDADcDACAAIAIpAwg3AwggACACKQMQNwMQIAAgAikDGDcDGCAAIAIpAyA3AyAgACACKQMoNwMoIAAgAikDMDcDMCAAIAIpAzg3AzggAEFAayACQUBrKQMANwMAIAAgAikDSDcDSCAAIAIpA1A3A1AgAiQFQQALSQECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACAEKAIAIgEgACgCACADKAIAEPQHGiADJAUgAQvcJQJ8fwJ+IwUhAyMFQeAEaiQFIANBuAFqIRogA0HQBGohLCADQcwEaiEtIANByARqIS4gA0HEBGohLyADQcAEaiEwIANBsAFqIRsgA0G8BGohMSADQbgEaiEyIANBtARqITMgA0GwBGohNCADQawEaiE1IANBqAFqIRwgA0GoBGohNiADQaQEaiE3IANBoARqITggA0GcBGohOSADQZgEaiE6IANBoAFqIR0gA0GUBGohOyADQZAEaiE8IANBjARqIT0gA0GIBGohPiADQYQEaiE/IANBmAFqIR4gA0GABGohQCADQfwDaiFBIANB+ANqIUIgA0H0A2ohQyADQfADaiFEIANBkAFqIR8gA0HsA2ohRSADQegDaiFGIANB5ANqIUcgA0HgA2ohSCADQdwDaiFJIANBiAFqISAgA0HYA2ohSiADQdQDaiFLIANB0ANqIUwgA0HMA2ohTSADQcgDaiFOIANBgAFqISEgA0HEA2ohTyADQcADaiFQIANBvANqIVEgA0G4A2ohUiADQbQDaiFTIANBsANqISIgA0GsA2ohBCADQagDaiEOIANBpANqIQogA0GgA2ohCCADQZwDaiEGIANBmANqIQsgA0GUA2ohVCADQfgAaiEPIANB8ABqIRAgA0HoAGohESADQeAAaiESIANB2ABqISMgA0GQA2ohVSADQYwDaiFWIANBiANqIVcgA0GEA2ohWCADQYADaiFZIANB0ABqISQgA0H8AmohWiADQfgCaiFbIANB9AJqIVwgA0HwAmohXSADQewCaiFeIANByABqISUgA0HoAmohXyADQeQCaiFgIANB4AJqIWEgA0HcAmohYiADQdgCaiFjIANBQGshJiADQdQCaiFkIANB0AJqIWUgA0HMAmohZiADQcgCaiFnIANBxAJqIWggA0E4aiEnIANBwAJqIWkgA0G8AmohaiADQbgCaiFrIANBtAJqIWwgA0GwAmohbSADQTBqISggA0GsAmohbiADQagCaiFvIANBpAJqIXAgA0GgAmohcSADQZwCaiFyIANBKGohKSADQZgCaiFzIANBlAJqIXQgA0GQAmohdSADQYwCaiF2IANBiAJqIXcgA0EgaiEqIANBhAJqIXggA0GAAmoheSADQfwBaiF6IANB+AFqIXsgA0H0AWohfCADQfABaiErIANB7AFqIQUgA0HoAWohEyADQeQBaiEMIANB4AFqIQkgA0HcAWohByADQdgBaiENIANB1AFqIX0gA0EYaiEUIANBEGohFSADQQhqIRYgAyEXIANB0AFqIRggA0HMAWoiGSAANgIAIANByAFqIn4gATYCACADQcQBaiIBIAI2AgAgA0HAAWoiAEGA5QAsAAA2AgAgGSgCACEZIH4oAgAhAiABKAIAIQEgACgCAEEBRgR/IAUgGTYCACATIAI2AgAgDCABNgIAIAlBATYCACAHIBMoAgA2AgAgDSAHKAIAIAwoAgBqNgIAIAUoAgAiACAAKQMAIAwoAgCtfDcDACAFKAIAIQAgBSgCACgCSCAMKAIAakEgSQRAIABBKGogBSgCACgCSGogEygCACAMKAIAEOoBGiAFKAIAQcgAaiIAIAAoAgAgDCgCAGo2AgAgK0EANgIABSAAKAJIBEAgBSgCAEEoaiAFKAIAKAJIaiATKAIAQSAgBSgCACgCSGsQ6gEaIAUoAgApAwghgAEgCSgCACEAIHsgBSgCAEEoajYCACB8IAA2AgAgfCgCACEAIHggeygCADYCACB5IAA2AgAgekEBNgIAIHkoAgBBAUYhASB4KAIAIQAgeigCAEEBRgRAIAAQ5gEhfyABRQRAIH8Q5AEhfwsgKiB/NwMABSAAKQMAIX8gAUUEQCB/EOQBIX8LICogfzcDAAsggAEgKikDABDnASF/IAUoAgAgfzcDCCAFKAIAKQMQIYABIAkoAgAhACB2IAUoAgBBMGo2AgAgdyAANgIA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AgAgGyAANgIAIBxBATYCACAbKAIAQQFGIQQgGigCACEAIBwoAgBBAUYEQCAAEOUBIQAgBEUEQCAAENEBIQALIBQgADYCAAUgACgCACEAIARFBEAgABDRASEACyAUIAA2AgALIAIgAikDACAUKAIArUKHla+vmLbem55/foU3AwAgAiACKQMAQheGIAIpAwBCKYiEQs/W077Sx6vZQn5C+fPd8Zn2masWfDcDACAFIAUoAgBBBGo2AgALA0AgBSgCACAJKAIASQRAIAIgAikDACAFKAIALQAArULFz9my8eW66id+hTcDACACIAIpAwBCC4YgAikDAEI1iIRCh5Wvr5i23puef343AwAgBSAFKAIAQQFqNgIADAELCyACIAIpAwAgAikDAEIhiIU3AwAgAiACKQMAQs/W077Sx6vZQn43AwAgAiACKQMAIAIpAwBCHYiFNwMAIAIgAikDAEL5893xmfaZqxZ+NwMAIAIgAikDACACKQMAQiCIhTcDACATIAIpAwA3AwAgEykDACEwIAEkBSAwCwttAQN/IwUhAiMFQRBqJAUgAkEEaiEDIAIiBCAANgIAIAEoAgAEfyADIAEoAgggBCgCACABKAIAQT9xQcgAahEHADYCACADKAIAIQAgAiQFIAAFIAMgBCgCABCGBjYCACADKAIAIQAgAiQFIAALC5ABAQR/IwUhAiMFQRBqJAUgAkEIaiEDIAIhBCACQQRqIgUgADYCACABKAIABH8gBCABKAIIIAUoAgAgASgCAEE/cUHIAGoRBwA2AgAgBCgCAEEAIAUoAgAQ9gcaIAMgBCgCADYCACADKAIAIQAgAiQFIAAFIANBASAFKAIAEIgGNgIAIAMoAgAhACACJAUgAAsLWAECfyMFIQIjBUEQaiQFIAIiAyAANgIAIAIoAgBFBEAgAiQFDwsgASgCBARAIAEoAgggAygCACABKAIEQR9xQeQCahECACACJAUFIAMoAgAQhwYgAiQFCwvLCgEOfyMFIQYjBUHwCGokBSAGQeQIaiEKIAZBtAhqIQ0gBkGwCGohCyAGQawIaiERIAZBqAhqIQggBkHgCGoiDiAANgIAIAZB3AhqIgcgATYCACAGQdgIaiIPIAI2AgAgBkHUCGoiCSADNgIAIAZB0AhqIgEgBDYCACAGQcwIaiIDIAU2AgAgBkHICGoiAkEBIAkoAgB0NgIAIAZBxAhqIhAgAigCAEEBazYCACAGQcAIaiIAIA4oAgA2AgAgBkG8CGoiDiAAKAIAQQRqNgIAIAIoAgBBAXYhBCAGQbgIaiIFIAAoAgBBBGogCSgCAAR/IAQFQQELQQJ0ajYCACANIAUoAgA2AgAgCyACKAIAQQF2IAIoAgBBA3ZqQQNqNgIAIBEgASgCADYCACAIIAIoAgBBAWs2AgBBASAJKAIAdCADKAIASwRAIApBVDYCACAKKAIAIQAgBiQFIAAPCyAGQaAIaiEDIAZBnAhqIQQgBkGYCGohBSAOKAIAQXxqIAkoAgA7AQAgDigCAEF+aiAPKAIAOwEAIAYiAEEANgIAIAZBpAhqIgFBATYCAANAIAEoAgAgDygCAEEBak0EQCAAIAEoAgBBAWtBAnRqKAIAIQwgBygCACABKAIAQQFrQQF0ai4BAEF/RgRAIAAgASgCAEECdGogDEEBajYCACABKAIAQQFrQf8BcSEMIBEoAgAhEiAIIAgoAgAiE0F/ajYCACASIBNqIAw6AAAFIAAgASgCAEECdGogDCAHKAIAIAEoAgBBAWtBAXRqLgEAajYCAAsgASABKAIAQQFqNgIADAELCyAAIA8oAgBBAWpBAnRqIAIoAgBBAWo2AgAgA0EANgIAIARBADYCAANAIAQoAgAgDygCAE0EQCAFQQA2AgADQCAEKAIAIQEgBSgCACAHKAIAIAQoAgBBAXRqLgEASARAIBEoAgAgAygCAGogAToAACADIAMoAgAgCygCAGogECgCAHE2AgADQCADKAIAIAgoAgBLBEAgAyADKAIAIAsoAgBqIBAoAgBxNgIADAELCyAFIAUoAgBBAWo2AgAMAQsLIAQgAUEBajYCAAwBCwsgAygCAARAIApBfzYCACAKKAIAIQAgBiQFIAAPCyAGQegIaiEIIAZBkAhqIQMgBkGMCGohASAGQYgIaiEFIAZBhAhqIQsgBkGUCGoiBEEANgIAA0AgBCgCACACKAIASQRAIAggESgCACAEKAIAaiwAADoAACACKAIAIAQoAgBqQf//A3EhDCAOKAIAIRIgACAILQAAQQJ0aiITKAIAIRAgEyAQQQFqNgIAIBIgEEEBdGogDDsBACAEIAQoAgBBAWo2AgAMAQsLIANBADYCACABQQA2AgADQCABKAIAIA8oAgBNBEACQAJAAkACQCAHKAIAIAEoAgBBAXRqLgEAQX9rDgMBAAECCwwCCyANKAIAIAEoAgBBA3RqIAkoAgBBEHRBASAJKAIAdGs2AgQgDSgCACABKAIAQQN0aiADKAIAQQFrNgIAIAMgAygCAEEBajYCAAwBCyAFIAkoAgAgBygCACABKAIAQQF0ai4BAEEBaxDUAWs2AgAgCyAHKAIAIAEoAgBBAXRqLgEAIAUoAgB0NgIAIA0oAgAgASgCAEEDdGogBSgCAEEQdCALKAIAazYCBCANKAIAIAEoAgBBA3RqIAMoAgAgBygCACABKAIAQQF0ai4BAGs2AgAgAyADKAIAIAcoAgAgASgCAEEBdGouAQBqNgIACyABIAEoAgBBAWo2AgAMAQsLIApBADYCACAKKAIAIQAgBiQFIAALWwECfyMFIQIjBUEQaiQFIAJBCGoiAyAANgIAIAJBBGoiACABNgIAIAIgAygCAEEBaiAAKAIAbEEDdkEDajYCACACKAIAIQAgAygCAEUEQEGABCEACyACJAUgAAvsAQEFfyMFIQUjBUEgaiQFIAVBFGohBiAFQRBqIgcgADYCACAFQQxqIgggATYCACAFQQhqIgkgAjYCACAFQQRqIgIgAzYCACAFIgAgBDYCAAJAIAUoAgBBDEsEQCAGQVQ2AgAFIAAoAgBBBUkEQCAGQX82AgAMAgsgCCgCACACKAIAIAAoAgAQ8QFJIQEgBygCACEHIAgoAgAhBCAJKAIAIQMgAigCACECIAAoAgAhACABBEAgBiAHIAQgAyACIABBABDzATYCAAUgBiAHIAQgAyACIABBARDzATYCAAsLCyAGKAIAIQAgBSQFIAAL7woBDn8jBSEGIwVB4ABqJAUgBkHQAGohCiAGQQhqIQ0gBkEEaiELIAYhEiAGQcwAaiIOIAA2AgAgBkHIAGoiACABNgIAIAZBxABqIhMgAjYCACAGQUBrIgIgAzYCACAGQTxqIgEgBDYCACAGQThqIhEgBTYCACAGQTRqIgUgDigCADYCACAGQTBqIgkgBSgCADYCACAGQSxqIg4gBSgCACAAKAIAajYCACAGQSRqIgBBASABKAIAdDYCACAGQRBqIgxBADYCACAGQQxqIgNBADYCACAGQRhqIgdBADYCACAGQRRqIghBADYCACAHIAcoAgAgASgCAEEFayAIKAIAdGo2AgAgCCAIKAIAQQRqNgIAIAZBIGoiDyAAKAIAQQFqNgIAIAZBHGoiECAAKAIANgIAIAZBKGoiBCABKAIAQQFqNgIAAkACQAJAAkACQANAIA8oAgBBAUwNBSADKAIABEAgDSAMKAIANgIAA0AgEygCACAMKAIAQQF0ai4BAEEAR0EBcwRAIAwgDCgCAEEBajYCAAwBCwsDQCAMKAIAIA0oAgBBGGpPBEAgDSANKAIAQRhqNgIAIAcgBygCAEH//wMgCCgCAHRqNgIAIBEoAgBFBEAgCSgCACAOKAIAQX5qSw0FCyAJKAIAIAcoAgA6AAAgCSgCACAHKAIAQQh2OgABIAkgCSgCAEECajYCACAHIAcoAgBBEHY2AgAMAQsLA0AgDCgCACANKAIAQQNqTwRAIA0gDSgCAEEDajYCACAHIAcoAgBBAyAIKAIAdGo2AgAgCCAIKAIAQQJqNgIADAELCyAHIAcoAgAgDCgCACANKAIAayAIKAIAdGo2AgAgCCAIKAIAQQJqNgIAIAgoAgBBEEoEQCARKAIARQRAIAkoAgAgDigCAEF+aksNBQsgCSgCACAHKAIAOgAAIAkoAgAgBygCAEEIdjoAASAJIAkoAgBBAmo2AgAgByAHKAIAQRB2NgIAIAggCCgCAEEQazYCAAsLIBMoAgAhASAMIAwoAgAiAEEBajYCACALIAEgAEEBdGouAQA2AgAgEiAQKAIAQQF0QQFrIA8oAgBrNgIAQQAgCygCACIBayEAIA8gDygCACALKAIAQQBIBH8gAAUgAQtrNgIAIAsgCygCAEEBajYCACALKAIAIBAoAgBOBEAgCyALKAIAIBIoAgBqNgIACyAHIAcoAgAgCygCACAIKAIAdGo2AgAgCCAIKAIAIAQoAgBqNgIAIAggCCgCACALKAIAIBIoAgBIazYCACADIAsoAgBBAUY2AgAgDygCAEEBSA0DA0AgDygCACAQKAIASARAIAQgBCgCAEF/ajYCACAQIBAoAgBBAXU2AgAMAQsLIAgoAgBBEEoEQCARKAIARQRAIAkoAgAgDigCAEF+aksNBgsgCSgCACAHKAIAOgAAIAkoAgAgBygCAEEIdjoAASAJIAkoAgBBAmo2AgAgByAHKAIAQRB2NgIAIAggCCgCAEEQazYCAAsMAAsACyAKQbp/NgIAIAooAgAhACAGJAUgAA8LIApBun82AgAgCigCACEAIAYkBSAADwsgCkF/NgIAIAooAgAhACAGJAUgAA8LIApBun82AgAgCigCACEAIAYkBSAADwsgESgCAEUEQCAJKAIAIA4oAgBBfmpLBEAgCkG6fzYCACAKKAIAIQAgBiQFIAAPCwsgCSgCACAHKAIAOgAAIAkoAgAgBygCAEEIdjoAASAJIAkoAgAgCCgCAEEHakEIbWo2AgAgDCgCACACKAIAQQFqSwR/IApBfzYCACAKKAIAIQAgBiQFIAAFIAogCSgCACAFKAIAazYCACAKKAIAIQAgBiQFIAALC7MDAQd/IwUhBCMFQTBqJAUgBEEkaiEGIARBIGoiBSAANgIAIARBHGoiByABNgIAIARBGGoiASACNgIAIARBFGoiACADNgIAIARBEGoiAiABKAIANgIAIARBDGoiCSACKAIAIAAoAgBqNgIAIARBCGoiASAHKAIAKAIANgIAIARBBGoiA0EANgIAIAUoAgBBACABKAIAQQFqQQJ0EPYHGiAAKAIARQRAIAcoAgBBADYCACAGQQA2AgAgBigCACEAIAQkBSAADwsgBCEAA0AgAigCACAJKAIASQRAIAUoAgAhCCACIAIoAgAiCkEBajYCACAIIAotAABBAnRqIgggCCgCAEEBajYCAAwBCwsDQCABKAIAIQIgBSgCACABKAIAQQJ0aigCAEEAR0EBcwRAIAEgAkF/ajYCAAwBCwsgBygCACACNgIAIABBADYCAANAIAAoAgAgASgCAE0EQCAFKAIAIAAoAgBBAnRqKAIAIAMoAgBLBEAgAyAFKAIAIAAoAgBBAnRqKAIANgIACyAAIAAoAgBBAWo2AgAMAQsLIAYgAygCADYCACAGKAIAIQAgBCQFIAALuQEBBX8jBSEFIwVBIGokBSAFQRRqIQYgBUEQaiIHIAA2AgAgBUEMaiIIIAE2AgAgBUEIaiIJIAI2AgAgBUEEaiIBIAM2AgAgBSIAIAQ2AgAgBygCACECIAgoAgAhAyAJKAIAIQQgASgCACEHIAEoAgBB3AtJBH8gBiACIAMgBCAHEPQBNgIAIAYoAgAhACAFJAUgAAUgBiACIAMgBCAHQQAgACgCABD2ATYCACAGKAIAIQAgBSQFIAALC6wMAQx/IwUhByMFQdAAaiQFIAdByABqIQsgB0HEAGoiDSAANgIAIAdBQGsiDiABNgIAIAdBPGoiCCACNgIAIAdBOGoiACADNgIAIAdBNGoiESAENgIAIAdBMGoiAiAFNgIAIAdBLGoiASAIKAIANgIAIAdBKGoiECABKAIAIAAoAgBqNgIAIAdBJGoiAyAOKAIAKAIANgIAIAdBIGoiD0EANgIAIAdBHGoiBCACKAIANgIAIAdBGGoiCSAEKAIAQYAIajYCACAHQRRqIgogCSgCAEGACGo2AgAgB0EQaiIMIAooAgBBgAhqNgIAIAIoAgBBAEGAIBD2BxogACgCAEUEQCANKAIAQQAgAygCAEEBahD2BxogDigCAEEANgIAIAtBADYCACALKAIAIQAgByQFIAAPCyADKAIARQRAIANB/wE2AgALIAdBCGohAiAHQQRqIQUgByEAIAdBDGoiCCABKAIAENABNgIAIAEgASgCAEEEajYCAANAIAEoAgAgECgCAEFxakkEQCACIAgoAgA2AgAgCCABKAIAENABNgIAIAEgASgCAEEEajYCACAEKAIAIAIoAgBB/wFxQQJ0aiIGIAYoAgBBAWo2AgAgCSgCACACKAIAQQh2Qf8BcUECdGoiBiAGKAIAQQFqNgIAIAooAgAgAigCAEEQdkH/AXFBAnRqIgYgBigCAEEBajYCACAMKAIAIAIoAgBBGHZBAnRqIgYgBigCAEEBajYCACACIAgoAgA2AgAgCCABKAIAENABNgIAIAEgASgCAEEEajYCACAEKAIAIAIoAgBB/wFxQQJ0aiIGIAYoAgBBAWo2AgAgCSgCACACKAIAQQh2Qf8BcUECdGoiBiAGKAIAQQFqNgIAIAooAgAgAigCAEEQdkH/AXFBAnRqIgYgBigCAEEBajYCACAMKAIAIAIoAgBBGHZBAnRqIgYgBigCAEEBajYCACACIAgoAgA2AgAgCCABKAIAENABNgIAIAEgASgCAEEEajYCACAEKAIAIAIoAgBB/wFxQQJ0aiIGIAYoAgBBAWo2AgAgCSgCACACKAIAQQh2Qf8BcUECdGoiBiAGKAIAQQFqNgIAIAooAgAgAigCAEEQdkH/AXFBAnRqIgYgBigCAEEBajYCACAMKAIAIAIoAgBBGHZBAnRqIgYgBigCAEEBajYCACACIAgoAgA2AgAgCCABKAIAENABNgIAIAEgASgCAEEEajYCACAEKAIAIAIoAgBB/wFxQQJ0aiIGIAYoAgBBAWo2AgAgCSgCACACKAIAQQh2Qf8BcUECdGoiBiAGKAIAQQFqNgIAIAooAgAgAigCAEEQdkH/AXFBAnRqIgYgBigCAEEBajYCACAMKAIAIAIoAgBBGHZBAnRqIgYgBigCAEEBajYCAAwBCwsgASABKAIAQXxqNgIAA0AgASgCACAQKAIASQRAIAQoAgAhAiABIAEoAgAiCEEBajYCACACIAgtAABBAnRqIgIgAigCAEEBajYCAAwBCwsCQCARKAIABEAgBUH/ATYCAANAIAUoAgAgAygCAE0NAiAEKAIAIAUoAgBBAnRqIgEgASgCACAJKAIAIAUoAgBBAnRqKAIAIAooAgAgBSgCAEECdGooAgBqIAwoAgAgBSgCAEECdGooAgBqajYCACAEKAIAIAUoAgBBAnRqKAIARQRAIAUgBSgCAEF/ajYCAAwBCwsgC0FQNgIAIAsoAgAhACAHJAUgAA8LCyADKAIAQf8BSwRAIANB/wE2AgALIABBADYCAANAIAAoAgAgAygCAE0EQCANKAIAIAAoAgBBAnRqIAQoAgAgACgCAEECdGooAgAgCSgCACAAKAIAQQJ0aigCAGogCigCACAAKAIAQQJ0aigCAGogDCgCACAAKAIAQQJ0aigCAGo2AgAgDSgCACAAKAIAQQJ0aigCACAPKAIASwRAIA8gDSgCACAAKAIAQQJ0aigCADYCAAsgACAAKAIAQQFqNgIADAELCwNAIAMoAgAhACANKAIAIAMoAgBBAnRqKAIAQQBHQQFzBEAgAyAAQX9qNgIADAELCyAOKAIAIAA2AgAgCyAPKAIANgIAIAsoAgAhACAHJAUgAAvIAQEEfyMFIQUjBUEgaiQFIAVBFGohBiAFQRBqIgggADYCACAFQQxqIgcgATYCACAFQQhqIgEgAjYCACAFQQRqIgIgAzYCACAFIgAgBDYCACAHKAIAKAIAQf8BSQR/IAYgCCgCACAHKAIAIAEoAgAgAigCAEEBIAAoAgAQ9gE2AgAgBigCACEAIAUkBSAABSAHKAIAQf8BNgIAIAYgCCgCACAHKAIAIAEoAgAgAigCACAAKAIAEPUBNgIAIAYoAgAhACAFJAUgAAsL/AEBA38jBSEEIwVBIGokBSAEQRhqIgYgADYCACAEQRRqIgUgATYCACAEQRBqIgEgAjYCACAEQQxqIgAgAzYCACAEQQhqIgIgBSgCAEEBaxDUASAAKAIAazYCACAEQQRqIgMgBigCADYCACAEIgAgBSgCACABKAIAEPkBNgIAIAMoAgBFBEAgA0ELNgIACyACKAIAIAMoAgBJBEAgAyACKAIANgIACyAAKAIAIAMoAgBLBEAgAyAAKAIANgIACyADKAIAQQVJBEAgA0EFNgIACyADKAIAQQxNBEAgAygCACEAIAQkBSAADwsgA0EMNgIAIAMoAgAhACAEJAUgAAuJAQEEfyMFIQIjBUEgaiQFIAJBEGoiAyAANgIAIAJBDGoiACABNgIAIAJBCGoiASADKAIAQQFrENQBQQFqNgIAIAJBBGoiAyAAKAIAENQBQQJqNgIAIAEoAgAhBCADKAIAIQUgAiIAIAEoAgAgAygCAEkEfyAEBSAFCzYCACAAKAIAIQAgAiQFIAALSgECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACAEKAIAIAAoAgAgAygCAEECEPgBIQAgAyQFIAALnAcBDX8jBSEFIwVB0ABqJAUgBUHEAGoiByAANgIAIAVBQGsiBiABNgIAIAVBPGoiCCACNgIAIAVBOGoiCSADNgIAIAVBNGoiCiAENgIAIAYoAgBFBEAgBkELNgIACyAFQcgAaiEBIAYoAgBBBUkEQCABQX82AgAgASgCACEAIAUkBSAADwsgBigCAEEMSwRAIAFBVDYCACABKAIAIQAgBSQFIAAPCyAGKAIAIAkoAgAgCigCABD5AUkEQCABQX82AgAgASgCACEAIAUkBSAADwsgBUHMAGohAyAFIQAgBUEgaiELIAVBGGoiDEE+IAYoAgBrrTcDACAFQRBqIg5CgICAgICAgIDAACAJKAIArYA3AwAgBUEIaiIQQgEgDCkDAEIUfYY3AwAgBUEwaiIEQQEgBigCAHQ2AgAgBUEoaiINQQA2AgAgBUHOAGoiD0EAOwEAIAVBJGoiESAJKAIAIAYoAgB2NgIAIAVBLGoiAkEANgIAAkACQANAIAIoAgAgCigCAE0EQCAIKAIAIAIoAgBBAnRqKAIAIAkoAgBGDQICQCAIKAIAIAIoAgBBAnRqKAIABEAgCCgCACACKAIAQQJ0aigCACARKAIATQRAIAcoAgAgAigCAEEBdGpBfzsBACAEIAQoAgBBf2o2AgAMAgsgAyAIKAIAIAIoAgBBAnRqKAIArSAOKQMAfiAMKQMAiD0BACADLgEAQQhIBEAgACAQKQMAIAMuAQBBAnRBsAlqKAIArX43AwAgAyADLgEAIAgoAgAgAigCAEECdGooAgCtIA4pAwB+IAMuAQCsIAwpAwCGfSAAKQMAVmo7AQALIAMuAQAgDy4BAEoEQCAPIAMuAQA7AQAgDSACKAIANgIACyAHKAIAIAIoAgBBAXRqIAMuAQA7AQAgBCAEKAIAIAMuAQBrNgIABSAHKAIAIAIoAgBBAXRqQQA7AQALCyACIAIoAgBBAWo2AgAMAQsLDAELIAFBADYCACABKAIAIQAgBSQFIAAPC0EAIAQoAgBrIAcoAgAgDSgCAEEBdGouAQBBAXVOBEAgCyAHKAIAIAYoAgAgCCgCACAJKAIAIAooAgAQ/AE2AgAgCygCABDNAQRAIAEgCygCADYCACABKAIAIQAgBSQFIAAPCwUgBygCACANKAIAQQF0aiIAIAAuAQAgBCgCAEH//wNxQRB0QRB1ajsBAAsgASAGKAIANgIAIAEoAgAhACAFJAUgAAvUCgEKfyMFIQUjBUHwAGokBSAFQcQAaiEIIAVB4ABqIgYgADYCACAFQdwAaiIKIAE2AgAgBUHYAGoiByACNgIAIAVB1ABqIgIgAzYCACAFQdAAaiILIAQ2AgAgBUF+OwFoIAVByABqIgBBADYCACAFQUBrIgkgAigCACAKKAIAdjYCACAFQTxqIgMgAigCAEEDbCAKKAIAQQFqdjYCACAFQcwAaiIBQQA2AgADQCABKAIAIAsoAgBNBEACQCAHKAIAIAEoAgBBAnRqKAIABEAgBygCACABKAIAQQJ0aigCACAJKAIATQRAIAYoAgAgASgCAEEBdGpBfzsBACAAIAAoAgBBAWo2AgAgAiACKAIAIAcoAgAgASgCAEECdGooAgBrNgIADAILIAYoAgAgASgCAEEBdGohBCAHKAIAIAEoAgBBAnRqKAIAIAMoAgBNBEAgBEEBOwEAIAAgACgCAEEBajYCACACIAIoAgAgBygCACABKAIAQQJ0aigCAGs2AgAFIARBfjsBAAsFIAYoAgAgASgCAEEBdGpBADsBAAsLIAEgASgCAEEBajYCAAwBCwsgCEEBIAooAgB0IAAoAgBrNgIAIAIoAgAgCCgCAG4gAygCAEsEQCADIAIoAgBBA2wgCCgCAEEBdG42AgAgAUEANgIAA0AgASgCACALKAIATQRAIAYoAgAgASgCAEEBdGouAQBBfkYEQCAHKAIAIAEoAgBBAnRqKAIAIAMoAgBNBEAgBigCACABKAIAQQF0akEBOwEAIAAgACgCAEEBajYCACACIAIoAgAgBygCACABKAIAQQJ0aigCAGs2AgALCyABIAEoAgBBAWo2AgAMAQsLIAhBASAKKAIAdCAAKAIAazYCAAsgBUHkAGohAyAFQThqIQQgBUE0aiEJIAAoAgAgCygCAEEBakYEQCAEQQA2AgAgCUEANgIAIAFBADYCAANAIAEoAgAgCygCAE0EQCAHKAIAIAEoAgBBAnRqKAIAIAkoAgBLBEAgBCABKAIANgIAIAkgBygCACABKAIAQQJ0aigCADYCAAsgASABKAIAQQFqNgIADAELCyAGKAIAIAQoAgBBAXRqIgAgAC4BACAIKAIAQf//A3FBEHRBEHVqOwEAIANBADYCACADKAIAIQAgBSQFIAAPCyACKAIARQRAIAFBADYCAANAIAgoAgBBAEsEQCAGKAIAIAEoAgBBAXRqLgEAQQBKBEAgCCAIKAIAQX9qNgIAIAYoAgAgASgCAEEBdGoiACAALgEAQQFqOwEACyABIAEoAgBBAWogCygCAEEBanA2AgAMAQsLIANBADYCACADKAIAIQAgBSQFIAAPCyAFIQAgBUEwaiEMIAVBLGohDSAFQShqIQkgBUEgaiIEQT4gCigCAGutNwMAIAVBGGoiCkIBIAQpAwBCAX2GQgF9NwMAIAVBEGoiDkIBIAQpAwCGIAgoAgCtfiAKKQMAfCACKAIArYA3AwAgBUEIaiICIAopAwA3AwAgAUEANgIAAkACQANAIAEoAgAgCygCAEsNAiAGKAIAIAEoAgBBAXRqLgEAQX5GBEAgACACKQMAIAcoAgAgASgCAEECdGooAgCtIA4pAwB+fDcDACAMIAIpAwAgBCkDAIg+AgAgDSAAKQMAIAQpAwCIPgIAIAkgDSgCACAMKAIAazYCACAJKAIAQQFJDQIgBigCACABKAIAQQF0aiAJKAIAOwEAIAIgACkDADcDAAsgASABKAIAQQFqNgIADAALAAsgA0F/NgIAIAMoAgAhACAFJAUgAA8LIANBADYCACADKAIAIQAgBSQFIAALwQEBA38jBSECIwVBIGokBSACQRBqIgMgADYCACACQRRqIgQgAToAACACQQxqIgEgAygCADYCACACQQhqIgAgASgCAEEEajYCACACQQRqIgMgASgCAEEIajYCACACIAMoAgA2AgAgACgCAEF8akEAOwEAIAAoAgBBfmogBC0AADsBACAAKAIAQQA7AQAgACgCAEEAOwECIAIoAgAgBC0AAEEDdGpBADYCBCACKAIAIAQtAABBA3RqQQA2AgAgAiQFQQAL2QEBBX8jBSEFIwVBIGokBSAFQRhqIQYgBUEUaiIJIAA2AgAgBUEQaiIIIAE2AgAgBUEMaiIBIAI2AgAgBUEIaiIHIAM2AgAgBUEEaiIAIAQ2AgAgBSAIKAIAIAcoAgAgBygCAEEHdmpPNgIAIAkoAgAhBCAIKAIAIQMgASgCACECIAcoAgAhASAAKAIAIQAgBSgCAAR/IAYgBCADIAIgASAAQQEQ/wE2AgAgBigCACEAIAUkBSAABSAGIAQgAyACIAEgAEEAEP8BNgIAIAYoAgAhACAFJAUgAAsLwwQBB38jBSEGIwVB8ABqJAUgBkHgAGohCSAGQdwAaiIIIAA2AgAgBkHYAGoiCiABNgIAIAZB1ABqIgAgAjYCACAGQdAAaiICIAM2AgAgBkHMAGoiByAENgIAIAZByABqIgsgBTYCACAGQcQAaiIFIAAoAgA2AgAgBkFAayIBIAUoAgAgAigCAGo2AgAgBkE8aiIAIAEoAgA2AgAgAigCAEECTQRAIAlBADYCACAJKAIAIQAgBiQFIAAPCyAGIAZBKGoiASAIKAIAIAooAgAQgAI2AgAgBigCABDNAQRAIAlBADYCACAJKAIAIQAgBiQFIAAPCyAGQRhqIQMgBkEIaiEEIAIoAgBBAXFBAEchDCAHKAIAIQggACAAKAIAQX9qIgo2AgAgCi0AACEKIAwEQCADIAggChCBAiAHKAIAIQcgACAAKAIAQX9qIgg2AgAgBCAHIAgtAAAQgQIgACAAKAIAQX9qIgc2AgAgASADIActAAAQggIgCygCAARAIAEQgwIFIAEQhAILBSAEIAggChCBAiAHKAIAIQcgACAAKAIAQX9qIgg2AgAgAyAHIAgtAAAQgQILIAIgAigCAEECazYCAANAIAAoAgAgBSgCAEsEQCAAIAAoAgBBf2oiAjYCACABIAQgAi0AABCCAiAAIAAoAgBBf2oiAjYCACABIAMgAi0AABCCAiALKAIABEAgARCDAgUgARCEAgsMAQsLIAEgBBCFAiABIAMQhQIgCSABEIYCNgIAIAkoAgAhACAGJAUgAAu0AQEDfyMFIQMjBUEQaiQFIANBDGohBSADQQhqIgQgADYCACADQQRqIgAgATYCACADIAI2AgAgBCgCAEEANgIAIAQoAgBBADYCBCAEKAIAIAAoAgA2AgggBCgCACAEKAIAKAIINgIMIAQoAgAgBCgCACgCCCADKAIAakF8ajYCECADKAIAQQRNBH8gBUG6fzYCACAFKAIAIQAgAyQFIAAFIAVBADYCACAFKAIAIQAgAyQFIAALC8QBAQJ/IwUhAyMFQSBqJAUgA0EYaiIEIAA2AgAgA0EUaiIAIAE2AgAgA0EQaiIBIAI2AgAgBCgCACAAKAIAEI4CIANBCGoiACAEKAIAKAIIIAEoAgBBA3RqKQIANwIAIANBBGoiASAEKAIAKAIENgIAIAMgACgCBEGAgAJqQRB2NgIAIAQoAgAgAygCAEEQdCAAKAIEazYCACAEKAIAIAEoAgAgBCgCACgCACADKAIAdSAAKAIAakEBdGovAQA2AgAgAyQFC7oBAQN/IwUhAyMFQSBqJAUgA0EYaiIEIAA2AgAgA0EUaiIAIAE2AgAgA0EQaiIFIAI2AgAgA0EIaiIBIAAoAgAoAgggBSgCAEEDdGopAgA3AgAgA0EEaiICIAAoAgAoAgQ2AgAgAyAAKAIAKAIAIAEoAgRqQRB2NgIAIAQoAgAgACgCACgCACADKAIAEIgCIAAoAgAgAigCACAAKAIAKAIAIAMoAgB1IAEoAgBqQQF0ai8BADYCACADJAULhwEBAn8jBSECIwVBEGokBSACQQRqIgEgADYCACACIAEoAgAoAgRBA3Y2AgAgASgCACgCDCABKAIAKAIAEIkCIAEoAgBBDGoiACAAKAIAIAIoAgBqNgIAIAEoAgBBBGoiACAAKAIAQQdxNgIAIAEoAgAiACAAKAIAIAIoAgBBA3R2NgIAIAIkBQutAQEDfyMFIQIjBUEQaiQFIAJBBGoiASAANgIAIAIiACABKAIAKAIEQQN2NgIAIAEoAgAoAgwgASgCACgCABCJAiABKAIAQQxqIgMgAygCACACKAIAajYCACABKAIAKAIMIAEoAgAoAhBLBEAgASgCACABKAIAKAIQNgIMCyABKAIAQQRqIgMgAygCAEEHcTYCACABKAIAIgEgASgCACAAKAIAQQN0djYCACACJAULRgECfyMFIQIjBUEQaiQFIAJBBGoiAyAANgIAIAIgATYCACADKAIAIAIoAgAoAgAgAigCACgCDBCIAiADKAIAEIQCIAIkBQuLAQEDfyMFIQIjBUEQaiQFIAJBBGohAyACIgEgADYCACABKAIAQQFBARCHAiABKAIAEIQCIAEoAgAoAgwgASgCACgCEE8EfyADQQA2AgAgAygCACEAIAIkBSAABSADIAEoAgAoAgwgASgCACgCCGsgASgCACgCBEEAS2o2AgAgAygCACEAIAIkBSAACwtoAQJ/IwUhAyMFQRBqJAUgA0EIaiIEIAA2AgAgA0EEaiIAIAE2AgAgAyACNgIAIAQoAgAiASABKAIAIAAoAgAgBCgCACgCBHRyNgIAIAQoAgBBBGoiACAAKAIAIAMoAgBqNgIAIAMkBQt4AQJ/IwUhAyMFQRBqJAUgA0EIaiIEIAA2AgAgA0EEaiIAIAE2AgAgAyACNgIAIAQoAgAiASABKAIAIAAoAgAgAygCAEECdEHgHWooAgBxIAQoAgAoAgR0cjYCACAEKAIAQQRqIgAgACgCACADKAIAajYCACADJAULNwECfyMFIQIjBUEQaiQFIAJBBGoiAyAANgIAIAIgATYCACADKAIAIgMgAigCACIBEIoCIAIkBQtUAQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAMoAgAhAyACKAIAIQFBkOUALQAABEAgAyABEI0CIAIkBQUgAyABENEBEI0CIAIkBQsLVAECfyMFIQIjBUEQaiQFIAJBCGoiAyAANgIAIAIgATcDACADKAIAIQMgAikDACEBQZDlAC0AAARAIAMgARCMAiACJAUFIAMgARDkARCMAiACJAULCzMBAn8jBSECIwVBEGokBSACQQhqIgMgADYCACACIAE3AwAgAygCACACKQMANwAAIAIkBQszAQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAMoAgAgAigCADYAACACJAULuAEBBH8jBSECIwVBIGokBSACQRBqIgMgADYCACACQQxqIgQgATYCACACQQhqIgEgBCgCADYCACACQQRqIgUgASgCADYCACACIgAgASgCABCPAkH//wNxNgIAIAMoAgBBASACKAIAdDYCACADKAIAIAUoAgBBBGo2AgQgAygCACAEKAIAIgRBBGogAigCAAR/QQEgACgCAEEBa3QFQQELIgFBAnRqNgIIIAMoAgAgACgCADYCDCACJAULJgEBfyMFIQEjBUEQaiQFIAEgADYCACABKAIALgAAIQAgASQFIAALSgECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACAEKAIAIAAoAgAgAygCAEEBEPgBIQAgAyQFIAAL+gUBCX8jBSEEIwVB0ANqJAUgBEHEA2ohBSAEQcADaiIHIAA2AgAgBEG8A2oiACABNgIAIARBuANqIgogAjYCACAEQbQDaiICIAM2AgAgBEGwA2oiCSAHKAIANgIAIARBrANqIgEgCSgCADYCACAEQagDaiILIAkoAgAgACgCAGo2AgAgBEGkA2oiA0EMNgIAIARBoANqIgdBBjYCACACKAIAQQFNBEAgBUEANgIAIAUoAgAhACAEJAUgAA8LIARBnANqIgAgBEEgaiIIIAMgCigCACACKAIAEPQBNgIAIAAoAgAQzQFBAEchDCAAKAIAIQYgDARAIAUgBjYCACAFKAIAIQAgBCQFIAAPCyAGIAIoAgBGBEAgBUEBNgIAIAUoAgAhACAEJAUgAA8LIAAoAgBBAUYEQCAFQQA2AgAgBSgCACEAIAQkBSAADwsgByAHKAIAIAIoAgAgAygCABD6ATYCACAEQZgDaiIGIAQiACAHKAIAIAggAigCACADKAIAEPsBNgIAIAYoAgAQzQEEQCAFIAYoAgA2AgAgBSgCACEAIAQkBSAADwsgBEGUA2oiBiABKAIAIAsoAgAgASgCAGsgACADKAIAIAcoAgAQ8gE2AgAgBigCABDNAUEARyEIIAYoAgAhBiAIBEAgBSAGNgIAIAUoAgAhACAEJAUgAA8LIAEgASgCACAGajYCACAEQZADaiIGIARBoAFqIgggACADKAIAIAcoAgAgBEHgAGpBwAAQ8AE2AgAgBigCABDNAQRAIAUgBigCADYCACAFKAIAIQAgBCQFIAAPCyAEQYwDaiIAIAEoAgAgCygCACABKAIAayAKKAIAIAIoAgAgCBD+ATYCACAAKAIAEM0BQQBHIQMgACgCACECIAMEQCAFIAI2AgAgBSgCACEAIAQkBSAADwsgAgR/IAEgASgCACAAKAIAajYCACAFIAEoAgAgCSgCAGs2AgAgBSgCACEAIAQkBSAABSAFQQA2AgAgBSgCACEAIAQkBSAACwulBQEGfyMFIQUjBUHAAmokBSAFQaACaiEGIAVBnAJqIgcgADYCACAFQZgCaiIJIAE2AgAgBUGUAmoiCiACNgIAIAVBkAJqIgIgAzYCACAFQYwCaiIIIAQ2AgAgBUGIAmoiBCAHKAIANgIAIAIoAgBB/wFLBEAgBkFSNgIAIAYoAgAhACAFJAUgAA8LIAUhACAFQYACaiEDIAVBpAJqIgdBADoAACAFQYQCaiIBQQE2AgADQCABKAIAIAgoAgBBAWpJBEAgByABKAIAaiAIKAIAQQFqIAEoAgBrOgAAIAEgASgCAEEBajYCAAwBCwsgAUEANgIAA0AgASgCACACKAIASQRAIAAgASgCAGogByAKKAIAIAEoAgBBAnRqLQACaiwAADoAACABIAEoAgBBAWo2AgAMAQsLIAMgBCgCAEEBaiAJKAIAQQFrIAAgAigCABCRAjYCACADKAIAEM0BQQBHIQcgAygCACEIIAcEQCAGIAg2AgAgBigCACEAIAUkBSAADwsgCEEBSyADKAIAIAIoAgBBAm5JcQRAIAQoAgAgAygCADoAACAGIAMoAgBBAWo2AgAgBigCACEAIAUkBSAADwsgAigCAEGAAUsEQCAGQX82AgAgBigCACEAIAUkBSAADwsgAigCAEEBakECbkEBaiAJKAIASwRAIAZBun82AgAgBigCACEAIAUkBSAADwsgBCgCACACKAIAQf8AajoAACAAIAIoAgBqQQA6AAAgAUEANgIAA0AgASgCACACKAIASQRAIAQoAgAgASgCAEECbkEBamogACABKAIAai0AAEEEdCAAIAEoAgBBAWpqLQAAajoAACABIAEoAgBBAmo2AgAMAQsLIAYgAigCAEEBakECbkEBajYCACAGKAIAIQAgBSQFIAALmAcBEH8jBSEEIwVB0ANqJAUgBEG8A2ohBSAEQbgDaiIMIAA2AgAgBEG0A2oiDyABNgIAIARBsANqIgAgAjYCACAEQawDaiIGIAM2AgAgBEGoA2oiAUEANgIAIARBpANqIgJBADYCACAEQaADaiINIARB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akEAQfwHIAMoAgBBAnRrEPYHGiANQQhqIgggBygCACARKAIAIAEoAgBBgAhqIAMoAgAgACgCABCSAjYCACAIKAIAEM0BBEAgDiAIKAIANgIAIA4oAgAhACANJAUgAA8LIA1BBGohCyANIQACQCAEKAIABEAgBCgCACgCAARAIAsgBSgCACABKAIAIAMoAgAQnwI2AgAgACABKAIAQYAIaiABKAIAIAMoAgAQnwI2AgAgCygCACAIKAIAIAAoAgBqSwRAIAgoAgBBDGogAigCAEkNAwsgDiAGKAIAIAcoAgAgCigCACAPKAIAIAIoAgAgECgCACAFKAIAIAkoAgAQnQI2AgAgDigCACEAIA0kBSAADwsLCyAIKAIAQQxqIAIoAgBPBEAgDkEANgIAIA4oAgAhACANJAUgAA8LIAcgBygCACAIKAIAajYCACAEKAIABEAgBCgCAEEANgIACyAFKAIABEAgBSgCACABKAIAQYAIakGACBD0BxoLIA4gBigCACAHKAIAIAooAgAgDygCACACKAIAIBAoAgAgASgCAEGACGogCSgCABCdAjYCACAOKAIAIQAgDSQFIAAL+gIBBX8jBSEIIwVBMGokBSAIQSBqIgogADYCACAIQRxqIgkgATYCACAIQRhqIgEgAjYCACAIQRRqIgsgAzYCACAIQRBqIgIgBDYCACAIQQxqIgwgBTYCACAIQQhqIgUgBjYCACAIQQRqIgYgBzYCACAJKAIAIQAgASgCACAJKAIAayEBIAsoAgAhAyACKAIAIQQgBSgCACEFIAYoAgAhBiAMKAIABH8gACABIAMgBCAFIAYQlwIFIAAgASADIAQgBSAGEJkCCyEDIAhBJGohASAIIgAgAzYCACAIKAIAEM0BQQBHIQQgCCgCACEDIAQEQCABIAM2AgAgASgCACEAIAgkBSAADwsgA0UEQCABQQA2AgAgASgCACEAIAgkBSAADwsgCSAJKAIAIAAoAgBqNgIAIAkoAgAgCigCAGsgAigCAEEBa08EfyABQQA2AgAgASgCACEAIAgkBSAABSABIAkoAgAgCigCAGs2AgAgASgCACEAIAgkBSAACwutAQEDfyMFIQMjBUEgaiQFIANBEGoiBCAANgIAIANBDGoiBSABNgIAIANBCGoiASACNgIAIANBBGoiAkEANgIAIAMiAEEANgIAA0Ag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AiQFIAALnRIBBH8jBSEGIwVBIGokBSAGQRBqIQQgBiIFQQxqIgMgADYCACAFQQhqIgAgATYCACAFQQRqIgEgAjYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIAQQprDsMIABYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAQIDBAUGBwgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWERITFBUWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgoLDBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWDg8QFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWCRYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg0WCyABKAIAQQFLBEAgBEFYNgIADBcFIAMoAgAgASgCADYCACAEIAMoAgAoAgA2AgAMFwsACyAFIAEoAgA2AgAgBSgCAEEWSgRAIAVBFjYCAAsgBSgCAARAIAMoAgAgBSgCAEEASDYCMCADKAIAIAUoAgA2AiwLIAMoAgAoAixBAE4EQCAEIAMoAgAoAiw2AgAMFgUgBEEANgIADBYLAAsgASgCAEEASwRAIAEoAgBBCkkgASgCAEEeS3IEQCAEQVY2AgAMFgsLIAMoAgAgASgCADYCBCAEIAMoAgAoAgQ2AgAMFAsgASgCAEEASwRAIAEoAgBBBkkgASgCAEEeS3IEQCAEQVY2AgAMFQsLIAMoAgAgASgCADYCDCAEIAMoAgAoAgw2AgAMEwsgASgCAEEASwRAIAEoAgBBBkkgASgCAEEdS3IEQCAEQVY2AgAMFAsLIAMoAgAgASgCADYCCCAEIAMoAgAoAgg2AgAMEgsgASgCAEEASwRAIAEoAgBBAUkgASgCAEEdS3IEQCAEQVY2AgAMEwsLIAMoAgAgASgCADYCECAEIAEoAgA2AgAMEQsgASgCAEEASwRAIAEoAgBBA0kgASgCAEEHS3IEQCAEQVY2AgAMEgsLIAMoAgAgASgCADYCFCAEIAMoAgAoAhQ2AgAMEAsgAygCACABKAIANgIYIAQgAygCACgCGDYCAAwPCyABKAIAQQBLBEAgASgCAEEBSSABKAIAQQhLcgRAIARBVjYCAAwQCwsgAygCACABKAIANgIc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BiQFIAALC8kBAQN/IwUhAyMFQSBqJAUgA0EQaiEEIANBDGoiBSAANgIAIANBCGoiACABNgIAIANBBGoiASACNgIAIAAoAgAgASgCAEkEQCAEQWI2AgAgBCgCACEAIAMkBSAADwsgAyIAQQA2AgACQAJAA0AgACgCACABKAIASw0CIAUoAgAgACgCAEEBdGouAQBFDQEgACAAKAIAQQFqNgIADAALAAsgBEFiNgIAIAQoAgAhACADJAUgAA8LIARBADYCACAEKAIAIQAgAyQFIAALogMBBH8jBSEEIwVBIGokBSAEQQhqIQUgBEEcaiIDIAA2AgAgBEEYaiIGIAE2AgAgBEEUaiIBIAI2AgAgBEEQaiIAIAYoAgA2AgAgBEEMaiICQQE2AgAgBigCACADKAIAKAIARwRAIAUgAygCACgCACADKAIAKAIEazYCACADKAIAIAMoAgAoAgw2AhAgAygCACAFKAIANgIMIAMoAgAgAygCACgCBDYCCCADKAIAIAAoAgAgBSgCAGs2AgQgAygCACgCDCADKAIAKAIQa0EISQRAIAMoAgAgAygCACgCDDYCEAsgAkEANgIACyADKAIAIAAoAgAgASgCAGo2AgAgACgCACABKAIAaiADKAIAKAIIIAMoAgAoAhBqSyAAKAIAIAMoAgAoAgggAygCACgCDGpJcUUEQCACKAIAIQAgBCQFIAAPCyAEQQRqIgUgACgCACABKAIAaiADKAIAKAIIazYCACAEIAUoAgAgAygCACgCDEoEfyADKAIAKAIMBSAFKAIACyIANgIAIAMoAgAgBCgCADYCECACKAIAIQAgBCQFIAAL9wIBCX8jBSEDIwVBQGskBSADQQhqIQkgA0EEaiEEIAMhByADQTBqIgggADYCACADQSxqIgAgATYCACADQShqIgUgAjYCACADQSRqIgogCCgCACgCJDYCACADQSBqIgIgACgCACgCCDYCACADQRxqIgEgACgCACgCEDYCACADQRhqIgsgCCgCACgCBDYCACADQRRqIgYgCygCACAIKAIAKAIYajYCACADQRBqIgAgBSgCAEF4ajYCACADQQM2AgwDQCAGKAIAQQJqIAAoAgBNBEAgCSAGKAIAIAsoAgBrNgIAIARBADYCAANAIAYoAgAhBSAEKAIAQQNJBEAgByAFIAQoAgBqIAIoAgAgASgCABC7AjYCAAJAAkAgBCgCAEUNACAKKAIAIAcoAgBBAnRqKAIARQ0ADAELIAooAgAgBygCAEECdGogCSgCACAEKAIAajYCAAsgBCAEKAIAQQFqNgIADAELCyAGIAVBA2o2AgAMAQsLIAMkBQvjAwEMfyMFIQMjBUFAayQFIANBDGohCCADQQhqIQQgA0EEaiEKIAMhCSADQTxqIgYgADYCACADQThqIgAgATYCACADQTRqIgcgAjYCACADQTBqIgsgBigCACgCJDYCACADQSxqIg0gACgCACgCCDYCACADQShqIg4gACgCACgCEDYCACADQSRqIgIgBigCACgCLDYCACADQSBqIgEgACgCACgCBDYCACADQRxqIgwgBigCACgCBDYCACADQRhqIgUgDCgCACAGKAIAKAIYajYCACADQRRqIgAgBygCAEF4ajYCACADQQM2AhADQCAFKAIAQQJqIAAoAgBNBEAgCCAFKAIAIAwoAgBrNgIAIARBADYCAANAAkAgBSgCACEHIAQoAgBBA08NACAKIAcgBCgCAGogASgCACAOKAIAELsCNgIAIAkgBSgCACAEKAIAaiANKAIAQQgQuwI2AgAgBCgCAEUEQCACKAIAIAooAgBBAnRqIAgoAgAgBCgCAGo2AgALAkACQCAEKAIARQ0AIAsoAgAgCSgCAEECdGooAgBFDQAMAQsgCygCACAJKAIAQQJ0aiAIKAIAIAQoAgBqNgIACyAEIAQoAgBBAWo2AgAMAQsLIAUgB0EDajYCAAwBCwsgAyQFC1ABAn8jBSEDIwVBEGokBSADQQhqIgQgADYCACADQQRqIgAgATYCACADIAI2AgAgBCgCACAAKAIAIAMoAgAgACgCACgCEBDJAiEAIAMkBSAAC7cCAQZ/IwUhBCMFQUBrJAUgBEEMaiIFIAA2AgAgBEEIaiIAIAE2AgAgBEEEaiIBIAI2AgAgBCADNgIAIAAoAgAhAiABKAIAIQEgBCgCACEDIAAoAgAoAhAhBiAEQTBqIgAgBSgCADYCACAEQSxqIgUgAjYCACAEQShqIgcgATYCACAEQSRqIgggAzYCACAEQSBqIgkgBjYCACAEQRxqIgZBADYCACAEQRhqIgIgACgCACgCBDYCACAEQRRqIgMgBygCACACKAIAazYCACAEQRBqIgEgACgCACgCGDYCAANAIAEo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IAQ2AgAgDEEYaiIEIAU2AgAgDEEUaiIFIAY2AgAgDEEQaiIGIAc2AgAgDEEMaiIHIAg2AgAgDEEIaiIIIAk2AgAgDEEEaiIJIAo2AgAgDCALNgIAIAwoAgAEfyANIA4oAgAgACgCACABKAIAIAIoAgAgAygCACAEKAIAIAUoAgAgBigCACAHKAIAIAgoAgAgCSgCABDeAjYCACANKAIAIQAgDCQFIAAFIA0gDigCACAAKAIAIAEoAgAgAigCACADKAIAIAQoAgAgBSgCACAGKAIAIAcoAgAgCCgCACAJKAIAEN4CNgIAIA0oAgAhACAMJAUgAAsLlwsBCn8jBSELIwVB0AFqJAUgC0HAAWohDSALQShqIgwgADYCACALQSRqIgAgATYCACALQSBqIgEgAjYCACALQRxqIgIgAzYCACALQRhqIgMgBDYCACALQRRqIgQgBTYCACALQRBqIgUgBjYCACALQQxqIgYgBzYCACALQQhqIgcgCDYCACALQQRqIgggCTYCACALIAo2AgAgACgCACEAIAEoAgAhASACKAIAIQIgAygCACEDIAQoAgAhBCAFKAIAIQUgBigCACEGIAcoAgAhByAIKAIAIQ4gCygCACEPIAtBvAFqIhAgDCgCADYCACALQbgBaiIMIAA2AgAgC0G0AWoiESABNgIAIAtBsAFqIgkgAjYCACALQawBaiICIAM2AgAgC0GoAWoiCCAENgIAIAtBpAFqIgQgBTYCACALQaABaiIKIAY2AgAgC0GcAWoiAyAHNgIAIAtBmAFqIgEgDjYCACALQZQBaiISIA82AgAgC0HMAGoiBSALQYABaiIAIBAoAgAgDCgCABCAAjYCACAFKAIAEM0BBEAgDUG6fzYCACANKAIAIQAgCyQFIAAPCyALQfAAaiITIBEoAgAgCSgCACABKAIAQQFrai0AABCBAiALQeAAaiIRIAIoAgAgCCgCACABKAIAQQFrai0AABCBAiALQdAAaiIUIAQoAgAgCigCACABKAIAQQFrai0AABCBAiAAIAMoAgAgASgCAEEDdGpBfGovAQAgCigCACABKAIAQQFrai0AAEECdEGwNGooAgAQiAIgABCEAiAAIAMoAgAgASgCAEEDdGpBfmovAQAgCSgCACABKAIAQQFrai0AAEECdEHANWooAgAQiAIgABCEAiALQcgAaiECIAtBxABqIQQgEigCAARAIAIgCCgCACABKAIAQQFrai0AADYCACAEIAIoAgAgAigCAEEYSQR/IAIoAgAFQRgLazYCACAEKAIABEAgACADKAIAIAEoAgBBAWtBA3RqKAIAIAQoAgAQiAIgABCEAgsgACADKAIAIAEoAgBBAWtBA3RqKAIAIAQoAgB2IAIoAgAgBCgCAGsQiAIFIAAgAygCACABKAIAQQFrQQN0aigCACAIKAIAIAEoAgBBAWtqLQAAEIgCCyALQcYBaiEMIAtBxQFqIQ4gC0HEAWohDyALQTxqIQUgC0E4aiEEIAtBNGohBiALQTBqIQcgC0EsaiEQIAAQhAIgC0FAayICIAEoAgBBAms2AgADQCACKAIAIAEoAgBJBEAgDCAKKAIAIAIoAgBqLAAAOgAAIA4gCCgCACACKAIAaiwAADoAACAPIAkoAgAgAigCAGosAAA6AAAgBSAMLQAAQQJ0QbA0aigCADYCACAEIA4tAAA2AgAgBiAPLQAAQQJ0QcA1aigCADYCACAAIBEgDi0AABCCAiAAIBMgDy0AABCCAiAAEIQCIAAgFCAMLQAAEIICIAAQhAIgACADKAIAIAIoAgBBA3RqLwEEIAUoAgAQiAIgBSgCACAGKAIAakEYSwRAIAAQhAILIAAgAygCACACKAIAQQN0ai8BBiAGKAIAEIgCIAAQhAIgEigCAARAIAcgBCgCACAEKAIAQRhJBH8gBCgCAAVBGAtrNgIAIAcoAgAEQCAAIAMoAgAgAigCAEEDdGooAgAgBygCABCIAiAAEIQCCyAAIAMoAgAgAigCAEEDdGooAgAgBygCAHYgBCgCACAHKAIAaxCIAgUgACADKAIAIAIoAgBBA3RqKAIAIAQoAgAQiAILIAAQhAIgAiACKAIAQX9qNgIADAELCyAAIBMQhQIgACAREIUCIAAgFBCFAiAQIAAQhgI2AgAgECgCAAR/IA0gECgCADYCACANKAIAIQAgCyQFIAAFIA1Bun82AgAgDSgCACEAIAskBSAACwtFAQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAIoAgBBAEdBJGxB4B5qIAMoAgBBAnRqKAIAIQAgAiQFIAALnDIBeX8jBSEGIwVBgARqJAUgBkH0A2ohPCAGQfADaiE9IAZB7ANqISwgBkHoA2ohbyAGQeQDaiFwIAZB4ANqIS0gBkHcA2ohcSAGQdgDaiEuIAZB1ANqISQgBkHQA2ohHCAGQcwDaiE+IAZByANqIQcgBkHEA2ohEyAGQcADaiFWIAZBvANqIT8gBkG4A2ohJSAGQbQDaiFAIAZBsANqIQsgBkGsA2ohDyAGQagDaiEvIAZBpANqIVcgBkGgA2ohHSAGQZwDaiFYIAZBmANqIUEgBkGUA2ohWSAGQZADaiEXIAZBjANqIVogBkGIA2ohWyAGQYQDaiFyIAZBgANqIUIgBkH8AmohQyAGQfgCaiEwIAZB9AJqIXMgBkHwAmohdCAGQewCaiExIAZB6AJqIXUgBkHkAmohMiAGQeACaiEmIAZB3AJqIR4gBkHYAmohRCAGQdQCaiEIIAZB0AJqIRQgBkHMAmohXCAGQcgCaiFFIAZBxAJqIScgBkHAAmohRiAGQbwCaiEMIAZBuAJqIRAgBkG0AmohMyAGQbACaiFdIAZBrAJqIR8gBkGoAmohXiAGQaQCaiFHIAZBoAJqIV8gBkGcAmohGCAGQZgCaiFgIAZBlAJqIWEgBkGQAmohdiAGQYwCaiFIIAZBiAJqIUkgBkGEAmohNCAGQYACaiF3IAZB/AFqIXggBkH4AWohNSAGQfQBaiF5IAZB8AFqITYgBkHsAWohKCAGQegBaiEgIAZB5AFqIUogBkHgAWohCSAGQdwBaiEVIAZB2AFqIWIgBkHUAWohSyAGQdABaiEpIAZBzAFqIUwgBkHIAWohDSAGQcQBaiERIAZBwAFqITcgBkG8AWohYyAGQbgBaiEhIAZBtAFqIWQgBkGwAWohTSAGQawBaiFlIAZBqAFqIRkgBkGkAWohZiAGQaABaiFnIAZBnAFqIXogBkGYAWohTiAGQZQBaiFPIAZBkAFqITggBkGMAWoheyAGQYgBaiF8IAZBhAFqITkgBkGAAWohfSAGQfwAaiE6IAZB+ABqISogBkH0AGohIiAGQfAAaiFQIAZB7ABqIQogBkHoAGohFiAGQeQAaiFoIAZB4ABqIVEgBkHcAGohKyAGQdgAaiFSIAZB1ABqIQ4gBkHQAGohEiAGQcwAaiE7IAZByABqIWkgBkHEAGohIyAGQUBrIWogBkE8aiFTIAZBOGohayAGQTRqIRogBkEwaiFsIAZBLGohbSAGQShqIX4gBkEkaiEbIAZBIGoi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IFIoAgBJBEAgaiAKKAIAIDkoAgAgOigCABC7AjYCACBTIAooAgAgIigCAGs2AgAgayAqKAIAIGooAgBBAnRqKAIANgIAIBogIigCACBrKAIAajYCACAqKAIAIGooAgBBAnRqIFMoAgA2AgACQCAOKAIAQQBLIAooAgBBAWogDigCAGsQ0AEgCigCAEEBahDQAUZxBEAgIyAKKAIAQQVqIAooAgBBBWogDigCAGsgKygCABC8AkEEajYCACAKIAooAgBBAWo2AgAgTygCACAKKAIAIBYoAgBrIBYoAgBBACAjKAIAQQNrEPkCBSBrKAIAIGgoAgBLBEAgGigCABDQASAKKAIAENABRgRAICMgCigCAEEEaiAaKAIAQQRqICsoAgAQvAJBBGo2AgAgbCAKKAIAIBooAgBrNgIAA0ACQCAKKAIAIBYoAgBLIBooAgAgUSgCAEtxRQ0AIAooAgBBf2otAAAgGigCAEF/ai0AAEcNACAKIAooAgBBf2o2AgAgGiAaKAIAQX9qNgIAICMgIygCAEEBajYCAAwBCwsgEiAOKAIANgIAIA4gbCgCADYCACBPKAIAIAooAgAgFigCAGsgFigCACBsKAIAQQJqICMoAgBBA2sQ+QIMAwsLIAogCigCACAKKAIAIBYoAgBrQQh1IH0oAgBqajYCAAwDCwsgCiAKKAIAICMoAgBqNgIAIBYgCigCADYCAAJAIAooAgAgUigCAE0EQCBTKAIAQQJqIQAgKigCACAiKAIAIFMoAgBqQQJqIDkoAgAgOigCABC7AkECdGogADYCACAKKAIAQX5qICIoAgBrIQAgKigCACAKKAIAQX5qIDkoAgAgOigCABC7AkECdGogADYCAANAIAooAgAgUigCAEsNAiASKAIAQQBLIAooAgAQ0AEgCigCACASKAIAaxDQAUZxRQ0CIG0gCigCAEEEaiAKKAIAQQRqIBIoAgBrICsoAgAQvAJBBGo2AgAgfiASKAIANgIAIBIgDigCADYCACAOIH4oAgA2AgAgCigCACAiKAIAayEAICooAgAgCigCACA5KAIAIDooAgAQuwJBAnRqIAA2AgAgTygCAEEAIBYoAgBBACBtKAIAQQNrEPkCIAogCigCACBtKAIAajYCACAWIAooAgA2AgAMAAsACwsMAQsLIA4oAgAhACA7KAIAIQEgOCgCACAO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ai0AAEcNAyAHIAcoAgBBf2o2AgAgIiAiKAIAQX9qNgIAIA0gDSgCAEEBajYCAAwACwALCyAHIAcoAgAgBygCACALKAIAa0EIdUEBamo2AgAMAwsgFyAMKAIANgIAIAwgSigCADYCACBgKAIAIAcoAgAgCygCAGsgCygCACBKKAIAQQJqIA0oAgBBA2sQ+QILIAcgBygCACANKAIAajYCACALIAcoAgA2AgACQCAHKAIAIGIoAgBNBEAgNygCAEECaiEAIDUoAgAgGygCACA3KAIAakECaiBHKAIAIEYoAgAQuwJBAnRqIAA2AgAgHygCACAbKAIAIDcoAgBqQQJqIDQoAgBBCBC7AkECdGogADYCACAHKAIAQX5qIBsoAgBrIQAgNSgCACAHKAIAQX5qIEcoAgAgRigCABC7AkECdGogADYCACAfKAIAIAcoAgBBfmogNCgCAEEIELsCQQJ0aiAANgIAA0AgBygCACBiKAIASw0CIBcoAgBBAEsgBygCABDQASAHKAIAIBcoAgBrENABRnFFDQIgdiAHKAIAQQRqIAcoAgBBBGogFygCAGsgICgCABC8AkEEajYCACCUASAXKAIANgIAIBcgDCgCADYCACAMIJQBKAIANgIAIAcoAgAgGygCAGshACA1KAIAIAcoAgAgRygCACBGKAIAELsCQQJ0aiAANgIAIAcoAgAgGygCAGshACAfKAIAIAcoAgAgNCgCAEEIELsCQQJ0aiAANgIAIGAoAgBBACALKAIAQQAgdigCAEEDaxD5AiAHIAcoAgAgdigCAGo2AgAgCyAHKAIANgIADAALAAsLDAELCyAMKAIAIQAgSSgCACEBIEUoAgAgDCgCAAR/IAAFIAELNgIAIBcoAgAhACBJKAIAIQEgRSgCACAXKAIABH8gAAUgAQs2AgQgMyAgKAIAIAsoAgBrNgIAIDMoAgAhACAGJAUgAA8LIG0oAgAhBCABKAIAIQEgACgCACEAIAIoAgAhAiADKAIAIQMgUiBsKAIANgIAIGYgBDYCACBTIAE2AgAggAEgADYCACCYASACNgIAIJkBIAM2AgAgVEEFNgIAICkgUigCACgCJDYCACA8IIABKAIAKAIINgIAID0gUigCACgCLDYCACBVIIABKAIAKAIENgIAIB0gUigCACgCBDYCACBnIJgBKAIANgIAIAkgZygC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BE8EQCAcKAIAIB0oAgBKBEAgASAPKAIANgIAIAIgDigCADYCACADIAAoAgA2AgAMAgsLIBQoAgBBAkcNAiAAKAIAIA0oAgBPDQIgACAAKAIAQQFqNgIAAkAgAigCAARAIAcoAgBBAEsgACgCABDQASAAKAIAIAcoAgBrENABRnEEQCAQIAAoAgBBBGogACgCAEEEaiAHKAIAayAEKAIAELwCQQRqNgIAIB4gECgCAEECdDYCACAfIAEoAgBBAnQgAigCAEEBahDUAWtBAWo2AgAgECgCAEEETwRAIB4oAgAgHygCAEwNAyABIBAoAgA2AgAgAkEANgIAIAMgACgCADYCAAsLCwsgEUH/wdcvNgIAIBIgCigCACATKAIAIAAoAgAgBCgCACARIBYoAgBBB3FBuAFqEQkANgIAICAgEigCAEECdCARKAIAQQFqENQBazYCACAhIAEoAgBBAnQgAigCAEEBahDUAWtBB2o2AgAgEigCAEEESQ0CICAoAgAgISgCAEwNAiABIBIoAgA2AgAgAiARKAIANgIAIAMgACgCADYCAAwACwALCyACKAIABEADQAJAIAMoAgAgBSgCAEsgAygCACACKAIAQQJrayAVKAIAS3FFDQAgAygCAEF/ai0AACADKAIAIAIoAgBrLQABRw0AIAMgAygCAEF/ajYCACABIAEoAgBBAWo2AgAMAQsLIAggBygCADYCACAHIAIoAgBBAms2AgALCyAiIAMoAgAgBSgCAGs2AgAgGSgCACAiKAIAIAUoAgAgAigCACABKAIAQQNrEPkCIAAgAygCACABKAIAaiIjNgIAIAUgIzYCAANAAkAgACgCACANKAIATSAIKAIAQQBLcUUNACAAKAIAENABIAAoAgAgCCgCAGsQ0AFHDQAgASAAKAIAQQRqIAAoAgBBBGogCCgCAGsgBCgCABC8AkEEajYCACACIAgoAgA2AgAgCCAHKAIANgIAIAcgAigCADYCACAZKAIAQQAgBSgCAEEAIAEoAgBBA2sQ+QIgACAAKAIAIAEoAgBqNgIAIAUgACgCADYCAAwBCwsMAQsLIAcoAgAhACAMKAIAIQEgCygCACAHKAIABH8gAAUgAQs2AgAgCCgCACEAIAwoAgAhASALKAIAIAgoAgAEfyAABSABCzYCBCAEKAIAIAUoAgBrIQAgBiQFIAALjREB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IRwgBkHoD2ohkQIgBkHkD2ohugMgBkHgD2ohnQEgBkHcD2ohkgIgBkHYD2ohkwIgBkHUD2oh2QEgBkHQD2ohUyAGQcwPaiGUAiAGQcgPaiGVAiAGQcQPaiHsAiAGQcAPaiGWAiAGQbwPaiHaASAGQbgPaiHbASAGQbQPaiGXAiAGQbAPaiG7AyAGQawPaiEvIAZBqA9qIe0CIAZBpA9qIWogBkGgD2ohvAMgBkGcD2ohayAGQZgPaiGeASAGQZQPaiHuAiAGQZAPaiFUIAZBjA9qIe8CIAZBiA9qIWwgBkGED2ohbSAGQYAPaiG9AyAGQfwOaiG+AyAGQfgOaiHcASAGQfQOaiECIAZB8A5qIZ8BIAZB7A5qIZgCIAZB6A5qIUMgBkHkDmohoAEgBkHgDmohFCAGQdwOaiFEIAZB2A5qIZkCIAZB1A5qIb8DIAZB0A5qIZoCIAZBzA5qIW4gBkHIDmohwAMgBkHEDmohoQEgBkHADmoh8AIgBkG8DmohogEgBkG4DmohKCAGQbQOaiHBAyAGQbAOaiE6IAZBrA5qIfECIAZBqA5qIfICIAZBpA5qIR0gBkGgDmohmwIgBkGcDmohwgMgBkGYDmohowEgBkGUDmohnAIgBkGQDmohnQIgBkGMDmoh3QEgBkGIDmohVSAGQYQOaiGeAiAGQYAOaiGfAiAGQfwNaiHzAiAGQfgNaiGgAiAGQfQNaiHeASAGQfANaiHfASAGQewNaiGhAiAGQegNaiHDAyAGQeQNaiEwIAZB4A1qIfQCIAZB3A1qIW8gBkHYDWohxAMgBkHUDWohcCAGQdANaiGkASAGQcwNaiH1AiAGQcgNaiFWIAZBxA1qIfYCIAZBwA1qIXEgBkG8DWohciAGQbgNaiHFAyAGQbQNaiHGAyAGQbANaiHgASAGQawNaiEDIAZBqA1qIaUBIAZBpA1qIaICIAZBoA1qIUUgBkGcDWohpgEgBkGYDWohFSAGQZQNaiFGIAZBkA1qIaMCIAZBjA1qIccDIAZBiA1qIaQCIAZBhA1qIXMgBkGADWohyAMgBkH8DGohpwEgBkH4DGoh9wIgBkH0DGohqAEgBkHwDGohKSAGQewMaiHJAyAGQegMaiE7IAZB5AxqIfgCIAZB4AxqIfkCIAZB3AxqIR4gBkHYDGohpQIgBkHUDGohygMgBkHQDGohqQEg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NgIAIJIBKAIAIKADKAIASyAaKAIAIJIBKAIAaiBQKAIARnIEQCBPKAIAIC4oAgBBAWo2Ahgg1AJBATYCAAwFCwsLCwsgoQMoAgAgogMoAgBBAnRqIC4oAgA2AgACQAJAAkADQAJAIKQDIKQDKAIAIgdBf2o2AgAgB0UNACAjKAIAINwCKAIATQ0AIP4BINcCKAIAICMoAgAgzQEoAgBxQQN0ajYCACDYAigCACEHINkCKAIAIQggDyDYAigCACDZAigCAEkEfyAHBSAICzYCAAJAAkAg1QIoAgBFDQAgIygCACAPKAIAaiBiKAIATw0AIM8BIPsBKAIAICMoAgBqNgIAIBooAgAgDygCAGogzwEoAgAgDygCAGogUCgCACDaAigCACDbAigCABC9AiEHIA8gDygCACAHajYCACAjKAIAIA8oAgBqIGIoAgBPBEAgzwEgzAEoAgAgIygCAGo2AgALDAELIM8BIMwBKAIAICMoAgBqNgIAIBooAgAgDygCAGogzwEoAgAgDygCAGogUCgCABC8AiEHIA8gDygCACAHajYCAAsgDygCACCPASgCAEsEQCAPKAIAIN0CKAIAICMoAgBrSwRAIN0CICMoAgAgDygCAGo2AgALII8BIA8oAgA2AgAgjgEoAgAgNigCAEEDdGogLigCACAjKAIAa0ECajYCACCOASgCACA2KAIAQQN0aiAPKAIANgIEIDYgNigCAEEBajYCACAPKAIAQYAgSw0BIBooAgAgDygCAGogUCgCAEYNAQsgIygCACEHIM8BKAIAIA8oAgBqLQAAIBooAgAgDygCAGotAABIBEAg/AEoAgAgBzYCACDYAiAPKAIANgIAICMoAgAgowMoAgBNDQMg/AEg/gEoAgBBBGo2AgAgIyD+ASgCACgCBDYCAAUg/QEoAgAgBzYCACDZAiAPKAIANgIAICMoAgAgowMoAgBNDQQg/QEg/gEoAgA2AgAgIyD+ASgCACgCADYCAAsMAQsLDAILIPwBIPsDNgIADAELIP0BIPsDNgIACyD9ASgCAEEANgIAIPwBKAIAQQA2AgAgTygCACDdAigCAEEIazYCGCDUAiA2KAIANgIACyDQASDUAigCADYCAAwECyCTASgCACEHIJQBKAIAIQgg0QEoAgAhCSDSASgCACEKIIECKAIAIQwgggIoAgAhECCDAigCACERIIQCKAIAIRIgSSBkKAIANgIAILgBIAc2AgAgFyAINgIAIEogCTYCACC3AiAKNgIAIN8DIAw2AgAguAIgEDYCACB/IBE2AgAg4AMgEjYCACC5AUEGNgIAIIsDILgBKAIAKAIUQf8fSQR/ILgBKAIAKAIUBUH/HwsiBzYCACC6ASBJKAIAKAIENgIAICsgFygCACC6ASgCAGs2AgAg4QMguAEoAgAoAgg2AgAgPSC5ASgCAEEDRgR/QQMFQQQLNgIAIIwDIEkoAgAoAiQ2AgAgjQMgFygCACDhAygCACC5ASgCABC7AjYCACAgIIwDKAIAII0DKAIAQQJ0aigCADYCACC5AiBJKAIAKAIsNgIAIOIDILgBKAIAKAIEQQFrNgIAILsBQQEg4gMoAgB0QQFrNgIAILoCQQA2AgAguwJBADYCACDvASBJKAIAKAIINgIAIFwgSSgCACgCDDYCACC8AiDvASgCACBcKAIAajYCACC9AiC6ASgCACBcKAIAajYCACCOAyC7ASgCACArKAIATwR/QQAFICsoAgAguwEoAgBrCyIHNgIAIL4CIEkoAgAoAhA2AgAg8AEguQIoAgAgKygCACC7ASgCAHFBA3RqNgIAIPEBILkCKAIAICsoAgAguwEoAgBxQQN0akEEajYCACC/AiArKAIAQQlqNgIAIDNBADYCACCPA0EBILgBKAIAKAIMdDYCACCAASDgAygCAEEBazYCACDkAyC4AigCAEEDajYCACCBASC4AigCADYCAAJAAkACQANAIIEBKAIAIOQDKAIATw0CIN8DKAIAIQcgvAEggQEoAgBBA0YEfyAHKAIAQQFrBSAHIIEBKAIAQQJ0aigCAAsiBzYCACCQAyArKAIAILwBKAIAazYCACBdQQA2AgAgvAEoAgBBAWsgKygCACBcKAIAa0kEQCAXKAIAID0oAgAQ8QIgFygCACC8ASgCAGsgPSgCABDxAkYEQCBdIBcoAgAgPSgCAGogFygCACA9KAIAaiC8ASgCAGsgSigCABC8AiA9KAIAajYCAAsFIJEDIO8BKAIAIJADKAIAajYCACC3AigCAARAILwBKAIAQQFrICsoAgAgvgIoAgBrSSBcKAIAQQFrIJADKAIAa0EDT3EEQCAXKAIAID0oAgAQ8QIgkQMoAgAgPSgCABDxAkYEQCBdIBcoAgAgPSgCAGogkQMoAgAgPSgCAGogSigCACC8AigCACC9AigCABC9AiA9KAIAajYCAAsLCwsgXSgCACCAASgCAEsEQCCAASBdKAIANgIAIH8oAgAgMygCAEEDdGoggQEoAgAguAIoAgBrNgIAIH8oAgAgMygCAEEDdGogXSgCADYCBCAzIDMoAgBBAWo2AgAgXSgCACCLAygCAEsgFygCACBdKAIAaiBKKAIARnINAgsggQEggQEoAgBBAWo2AgAMAAsACyC2AiAzKAIANgIADAELILkBKAIAQQNGBEAggAEoAgAguQEoAgBJBEAgggEgSSgCACAXKAIAEPICNgIAIIIBKAIAIL4CKAIASyArKAIAIIIBKAIAa0GAgBBJcQRAAkACQCC3AigCAEUNACCCASgCACBcKAIATw0AIOYDIO8BKAIAIIIBKAIAajYCACCDASAXKAIAIOYDKAIAIEooAgAgvAIoAgAgvQIoAgAQvQI2AgAMAQsg5QMgugEoAgAgggEoAgBqNgIAIIMBIBcoAgAg5QMoAgAgSigCABC8AjYCAAsggwEoAgAguQEoAgBPBEAggAEggwEoAgA2AgAgfygCACArKAIAIIIBKAIAa0ECajYCACB/KAIAIIMBKAIANgIEIDNBATYCACCDASgCACCLAygCAEsgFygCACCDASgCAGogSigCAEZyBEAgSSgCACArKAIAQQFqNgIYILYCQQE2AgAMBQsLCwsLIIwDKAIAII0DKAIAQQJ0aiArKAIANgIAAkACQAJAA0ACQCCPAyCPAygCACIHQX9qNgIAIAdFDQAgICgCACC+AigCAE0NACDyASC5AigCACAgKAIAILsBKAIAcUEDdGo2AgAgugIoAgAhByC7AigCACEIIAsgugIoAgAguwIoAgBJBH8gBwUgCAs2AgACQAJAILcCKAIARQ0AICAoAgAgCygCAGogXCgCAE8NACC9ASDvASgCACAgKAIAajYCACAXKAIAIAsoAgBqIL0BKAIAIAsoAgBqIEooAgAgvAIoAgAgvQIoAgAQvQIhByALIAsoAgAgB2o2AgAgICgCACALKAIAaiBcKAIATwRAIL0BILoBKAIAICAoAgBqNgIACwwBCyC9ASC6ASgCACAgKAIAajYCACAXKAIAIAsoAgBqIL0BKAIAIAsoAgBqIEooAgAQvAIhByALIAsoAgAgB2o2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ASAlKAIAIIUCKAIAazYCAAsLILADIIUCKAIANgIAILEDIN8CKAIANgIAIGYgASgCADYCAANAIOQCIAAoAgAgZigCAEEcbGooAgg2AgAgiwQgACgCACBmKAIAQRxsaigCBDYCACAAKAIAIGYoAgBBHGxqILADKAIANgIIIAAoAgAgZigCAEEcbGogsQMoAgA2AgQgsAMg5AIoAgA2AgAgsQMgiwQoAgA2AgAg5AIoAgAgZigCAE0EQCBmIGYoAgAg5AIoAgBrNgIADAELCyBnQQA2AgADQCBnKAIAICUoAgBJBEAg5QIgJCgCACBSKAIAazYCACDWASAAKAIAIGcoAgBBHGxqKAIINgIAINcBIAAoAgAgZygCAEEcbGooAgQ2AgAg1gEoAgBBAUYEQCAkICQoAgBBAWo2AgAgZyBnKAIAQQFqNgIADAILIGcgZygCACDWASgCAGo2AgAgJCAkKAIAINYBKAIAajYCACDXASgCAEEDTwRAICYoAgAgJigCACgCBDYCCCAmKAIAICYoAgAoAgA2AgQgJigCACDXASgCAEECazYCAAUgigIg1wEoAgAg5QIoAgBFajYCACCKAigCAARAICYoAgAhByCMBCCKAigCAEEDRgR/IAcoAgBBAWsFIAcgigIoAgBBAnRqKAIACyIHNgIAIIoCKAIAQQJPBEAgJigCACAmKAIAKAIENgIICyAmKAIAICYoAgAoAgA2AgQgJigCACCMBCgCADYCAAsLIDgoAgAg5QIoAgAgUigCACDXASgCACDWASgCABD4AiCOBCgCACDlAigCACBSKAIAINcBKAIAINYBKAIAQQNrEPkCIFIgJCgCADYCAAwBCwsgOCgCABD6AgwBCwsgjQIoAgAgUigCAGshACAGJAUgAAuM1gEBiQR/IwUhBiMFQeAQaiQFIAZBFGoiCyAANgIAIAZBEGoiACABNgIAIAZBDGoiASACNgIAIAZBCGoiAiADNgIAIAZBBGoiAyAENgIAIAYgBTYCACAAKAIAIQAgASgCACEBIAIoAgAhAiADKAIAIQMgBigCACEEIAZBsAJqImggCygCADYCACAGQawCaiKOBCAANgIAIAZBqAJqIiYgATYCACAGQaQCaiLYASACNgIAIAZBoAJqIgcgAzYCACAGQZwCaiIIIAQ2AgAgBkGYAmoijAJBAjYCACAGQZQC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IDYoAgBBA3RqIJABKAIAINYCKAIAazYCACCOASgCACA2KAIAQQN0aiBjKAIANgIEIDYgNigCAEEBajYCACBjKAIAIKADKAIASyAaKAIAIGMoAgBqIFAoAgBGcg0CCyCQASCQASgCAEEBajYCAAwACwALINQCIDYoAgA2AgAMAQsgywEoAgBBA0YEQCCPASgCACDLASgCAEkEQCCRASBPKAIAIBooAgAQ8gI2AgAgkQEoAgAg3AIoAgBLIC4oAgAgkQEoAgBrQYCAEElxBEACQAJAINUCKAIARQ0AIJEBKAIAIGIoAgBPDQAg/gMg+wEoAgAgkQEoAgBqNgIAIJIBIBooAgAg/gMoAgAgUCgCACDaAigCACDbAigCABC9AjYCAAwBCyD9AyDMASgCACCRASgCAGo2AgAgkgEgGigCACD9AygCACBQKAIAELwCNgIACyCSASgCACDLASgCAE8EQCCPASCSASgCADYCACCOASgCACAuKAIAIJEBKAIAa0ECajYCACCOASgCACCSASgCADYCBCA2QQE2AgAgkgEoAgAgoAMoAgBLIBooAgAgkgEoAgBqIFAoAgBGcgRAIE8oAgAgLigCAEEBajYCGCDUAkEBNgIADAULCwsLCyChAygCACCiAygCAEECdGogLigCADYCAAJAAkACQANAAkAgpAMgpAMoAgAiB0F/ajYCACAHRQ0AICMoAgAg3AIoAgBNDQAg/gEg1wIoAgAgIygCACDNASgCAHFBA3RqNgIAINgCKAIAIQcg2QIoAgAhCCAPINgCKAIAINkCKAIASQR/IAcFIAgLNgIAAkACQCDVAigCAEUNACAjKAIAIA8oAgBqIGIoAgBPDQAgzwEg+wEoAgAgIygCAGo2AgAgGigCACAPKAIAaiDPASgCACAPKAIAaiBQKAIAINoCKAIAINsCKAIAEL0CIQcgDyAPKAIAIAdqNgIAICMoAgAgDygCAGogYigCAE8EQCDPASDMASgCACAjKAIAajYCAAsMAQsgzwEgzAEoAgAgIygCAGo2AgAgGigCACAPKAIAaiDPASgCACAPKAIAaiBQKAIAELwCIQcgDyAPKAIAIAdqNgIACyAPKAIAII8BKAIASwRAIA8oAgAg3QIoAgAgIygCAGtLBEAg3QIgIygCACAPKAIAajYCAAsgjwEgDygCADYCACCOASgCACA2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KAIASyAXKAIAIIMBKAIAaiBKKAIARnIEQCBJKAIAICsoAgBBAWo2AhggtgJBATYCAAwFCwsLCwsgjAMoAgAgjQMoAgBBAnRqICsoAgA2AgACQAJAAkADQAJAII8DII8DKAIAIgdBf2o2AgAgB0UNACAgKAIAIL4CKAIATQ0AIPIBILkCKAIAICAoAgAguwEoAgBxQQN0ajYCACC6AigCACEHILsCKAIAIQggCyC6AigCACC7AigCAEkEfyAHBSAICzYCAAJAAkAgtwIoAgBFDQAgICgCACALKAIAaiBcKAIATw0AIL0BIO8BKAIAICAoAgBqNgIAIBcoAgAgCygCAGogvQEoAgAgCygCAGogSigCACC8AigCACC9AigCABC9AiEHIAsgCygCACAHajYCACAgKAIAIAsoAgBqIFwoAgBPBEAgvQEgugEoAgAgICgCAGo2AgALDAELIL0BILoBKAIAICAoAgBqNgIAIBcoAgAgCygCAGogvQEoAgAgCygCAGogSigCABC8AiEHIAsgCygCACAHajYCAAsgCygCACCAASgCAEsEQCALKAIAIL8CKAIAICAoAgBrSwRAIL8CICAoAgAgCygCAGo2AgALIIABIAsoAgA2AgAgfygCACAzKAIAQQN0aiArKAIAICAoAgBrQQJqNgIAIH8oAgAgMygCAEEDdGogCygCADYCBCAzIDMoAgBBAWo2AgAgCygCAEGAIEsNASAXKAIAIAsoAgBqIEooAgBGDQELICAoAgAhByC9ASgCACALKAIAai0AACAXKAIAIAsoAgBqLQAASARAIPABKAIAIAc2AgAgugIgCygCADYCACAgKAIAII4DKAIATQ0DIPABIPIBKAIAQQRqNgIAICAg8gEoAgAoAgQ2AgAFIPEBKAIAIAc2AgAguwIgCygCADYCACAgKAIAII4DKAIATQ0EIPEBIPIBKAIANgIAICAg8gEoAgAoAgA2AgALDAELCwwCCyDwASDjAzYCAAwBCyDxASDjAzYCAAsg8QEoAgBBADYCACDwASgCAEEANgIAIEkoAgAgvwIoAgBBCGs2AhggtgIgMygCADYCAAsg0AEgtgIoAgA2AgAMAwsgkwEoAgAhByCUASgCACEIINEBKAIAIQkg0gEoAgAhCiCBAigCACEMIIICKAIAIRAggwIoAgAhESCEAigCACESIEsg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sgFBADYCAAUgfSgCACEHIH4oAgAhCCCzASgCACEJIIcDKAIAIQogtAEoAgAhDCDpASBbKAIANgIAINcDIAc2AgAg2AMgCDYCACDZAyAJNgIAINoDIAo2AgAg2wMgDDYCACCFAyDpASgCACgCBDYCACCGAyDYAygCACCFAygCAGs2AgAg6gEg6QEoAgAoAhg2AgADQCDqASgCACCGAygCAEkEQCDpASgCACDXAygCACCFAygCACDqASgCAGog2QMoAgAg2gMoAgAg2wMoAgAQugIhByDqASDqASgCACAHajYCAAwBCwsg6QEoAgAghgMoAgA2AhgCQAJAAkACQCCHAygCAEEDaw4FAAMCAQEDCyB9KAIAIQcgfigCACEIILMBKAIAIQkgtAEoAgAhCiDrASgCACEMIOwBKAIAIRAg7QEoAgAhESDuASgCACESIEcgWygCADYCACCsASAHNgIAIBYgCDYCACBIIAk2AgAgrQIgCjYCACDPAyAMNgIAIK4CIBA2AgAgeCARNgIAINADIBI2AgAgrQFBAzYCACD+AiCsASgCACgCFEH/H0kEfyCsASgCACgCFAVB/x8LIgc2AgAgrgEgRygCACgCBDYCACAqIBYoAgAgrgEoAgBrNgIAINEDIKwBKAIAKAIINgIAIDwgrQEoAgBBA0YEf0EDBUEECzYCACD/AiBHKAIAKAIkNgIAIIADIBYoAgAg0QMoAgAgrQEoAgAQuwI2AgAgHyD/AigCACCAAygCAEECdGooAgA2AgAgrwIgRygCACgCLDYCACDSAyCsASgCACgCBEEBazYCACCvAUEBINIDKAIAdEEBazYCACCwAkEANgIAILECQQA2AgAg5QEgRygCACgCCDYCACBZIEcoAgAoAgw2AgAgsgIg5QEoAgAgWSgCAGo2AgAgswIgrgEoAgAgWSgCAGo2AgAggQMgrwEoAgAgKigCAE8Ef0EABSAqKAIAIK8BKAIAawsiBzYCACC0AiBHKAIAKAIQNgIAIOYBIK8CKAIAICooAgAgrwEoAgBxQQN0ajYCACDnASCvAigCACAqKAIAIK8BKAIAcUEDdGpBBGo2AgAgtQIgKigCAEEJajYCACAyQQA2AgAgggNBASCsASgCACgCDHQ2AgAgeSDQAygCAEEBazYCACDUAyCuAigCAEEDajYCACB6IK4CKAIANgIA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NgIAAkACQCBRKAIAICUoAgBLDQAgrwMoAgAgACgCACBRKAIAQRxsaigCAEgNACCMAigCAEUNAgwBCwNAICUoAgAgUSgCAEkEQCAAKAIAICUoAgBBAWpBHGxqQYCAgIAENgIAICUgJSgCAEEBajYCAAwBCwsgACgCACBRKAIAQRxsaiCWASgCADYCCCAAKAIAIFEoAgBBHGxqIOMCKAIANgIEIAAoAgAgUSgCAEEcbGog1QEoAgA2AgwgACgCACBRKAIAQRxsaiCvAygCADYCACAAKAIAIFEoAgBBHGxqQRBqIgcgrgMpAgA3AgAgByCuAygCCDYCCAsglgEglgEoAgBBf2o2AgAMAQsLIGUgZSgCAEEBajYCAAwACwALCwsgASABKAIAQQFqNgIADAALAAsghQIg4gIoAgA2AgAg3wIgNygCACCJAigCAEEBa0EDdGooAgA2AgAgJSABKAIAQQFqNgIADAILIIUCIAAoAgAgJSgCAEEcbGooAgg2AgAg3wIgACgCACAlKAIAQRxsaigCBDYCACABICUoAgAghQIoAgBrNgIACwsgsAMghQIoAgA2AgAgsQMg3wIoAgA2AgAgZiABKAIANgIAA0Ag5AIgACgCACBmKAIAQRxsaigCCDYCACCLBCAAKAIAIGYoAgBBHGxqKAIENgIAIAAoAgAgZigCAEEcbGogsAMoAgA2AgggACgCACBmKAIAQRxsaiCxAygCADYCBCCwAyDkAigCADYCACCxAyCLBCgCADYCACDkAigCACBmKAIATQRAIGYgZigCACDkAigCAGs2AgAMAQsLIGdBADYCAANAIGcoAgAgJSgCAEkEQCDlAiAkKAIAIFIoAgBrNgIAINYBIAAoAgAgZygCAEEcbGooAgg2AgAg1wEgACgCACBnKAIAQRxsaigCBDYCACDWASgCAEEBRgRAICQgJCgCAEEBajYCACBnIGcoAgBBAWo2AgAMAgsgZyBnKAIAINYBKAIAajYCACAkICQoAgAg1gEoAgBqNgIAINcBKAIAQQNPBEAgJigCACAmKAIAKAIENgIIICYoAgAgJigCACgCADYCBCAmKAIAINcBKAIAQQJrNgIABSCKAiDXASgCACDlAigCAEVqNgIAIIoCKAIABEAgJigCACEHIIwEIIoCKAIAQQNGBH8gBygCAEEBawUgByCKAigCAEECdGooAgALIgc2AgAgigIoAgBBAk8EQCAmKAIAICYoAgAoAgQ2AggLICYoAgAgJigCACgCADYCBCAmKAIAIIwEKAIANgIACwsgOCgCACDlAigCACBSKAIAINcBKAIAINYBKAIAEPgCII4EKAIAIOUCKAIAIFIoAgAg1wEoAgAg1gEoAgBBA2sQ+QIgUiAkKAIANgIADAELCyA4KAIAEPoCDAELCyCNAigCACBSKAIAayEAIAYkBSAAC5YDAQV/IwUhBiMFQTBqJAUgBkEkaiEHIAZBIGoiCCAANgIAIAZBHGoiCSABNgIAIAZBGGoiASACNgIAIAZBFGoiCiADNgIAIAZBEGoiAiAENgIAIAZBDGoiAyAFNgIAIAZBCGoiBCAKKAIAKAIINgIAIAZBBGoiBSAKKAIAKAIQNgIAIAYiACAKKAIAKAIUNgIAAkACQAJAAkAgBSgCAEEFaw4DAQIAAwsgByAIKAIAIAkoAgAgASgCACACKAIAIAMoAgAgBCgCACAAKAIAQQcQigM2AgAgBygCACEAIAYkBSAADwsgByAIKAIAIAkoAgAgASgCACACKAIAIAMoAgAgBCgCACAAKAIAQQUQigM2AgAgBygCACEAIAYkBSAADwsgByAIKAIAIAkoAgAgASgCACACKAIAIAMoAgAgBCgCACAAKAIAQQYQigM2AgAgBygCACEAIAYkBSAADwsgByAIKAIAIAkoAgAgASgCACACKAIAIAMoAgAgBCgCACAAKAIAQQQQigM2AgAgBygCACEAIAYkBSAAC9wCAQR/IwUhBiMFQSBqJAUgBkEcaiEHIAZBGGoiCCAANgIAIAZBFGoiCSABNgIAIAZBEGoiASACNgIAIAZBDGoiACADNgIAIAZBCGoiAiAENgIAIAZBBGoiAyAFNgIAIAYgACgCACgCEDYCAAJAAkACQAJAIAYoAgBBBWsOAwECAAMLIAcgCCgCACAJKAIAIAEoAgAgACgCACACKAIAIAMoAgBBBxCJAzYCACAHKAIAIQAgBiQFIAAPCyAHIAgoAgAgCSgCACABKAIAIAAoAgAgAigCACADKAIAQQUQiQM2AgAgBygCACEAIAYkBSAADwsgByAIKAIAIAkoAgAgASgCACAAKAIAIAIoAgAgAygCAEEGEIkDNgIAIAcoAgAhACAGJAUgAA8LIAcgCCgCACAJKAIAIAEoAgAgACgCACACKAIAIAMoAgBBBBCJAzYCACAHKAIAIQAgBiQFIAALsBcBOH8jBSEGIwVBoAJqJAUgBkG8AWohDCAGQbgBaiEPIAZBtAFqIQggBkGwAWohCiAGQawBaiELIAZBqAFqIQ4gBkGkAWohECAGQaABaiEqIAZBnAFqISEgBkGYAWohKyAGQZQBaiEiIAZBkAFqISMgBkGMAWohESAGQYgBaiEsIAZBhAFqISQgBkGAAWohLSAGQfwAaiEYIAZB+ABqIS4gBkH0AGohLyAGQfAAaiEZIAZB7ABqIRogBkHoAGohMCAGQeQAaiExIAZB4ABqIRIgBkHcAGohMiAGQdgAaiElIAZB1ABqITMgBkHQAGohGyAGQcwAaiE0IAZByABqITUgBkHEAGohHCAGQUBrIR0gBkE8aiE2IAZBOGohNyAGQTRqIRUgBkEwaiEWIAZBLGohOCAGQShqITkgBkEkaiETIAZBIGohOiAGQRxqISYgBkEYaiE7IAZBFGoiDSAANgIAIAZBEGoiACABNgIAIAZBDGoiASACNgIAIAZBCGoiAiADNgIAIAZBBGoiAyAENgIAIAYgBTYCACAAKAIAIQAgASgCACEBIAIoAgAhAiADKAIAIQQgBigCACEFIAZBkAJqIgMgDSgCADYCACAGQYwCaiI8IAA2AgAgBkGIAmoiHiABNgIAIAZBhAJqIicgAjYCACAGQYACaiIAIAQ2AgAgBkH8AWoiBCAFNgIAIAZB+AFqIgdBADYCACAGQfQBaiIoQQA2AgAgBkHwAWoiASAAKAIANgIAIAZB7AFqIgAgASgCADYCACAGQegBaiIFIAEoAgA2AgAgBkHkAWoiAiABKAIAIAQoAgBqNgIAIAZB4AFqIh8gAigCAEF4ajYCACAGQdwBaiIEIAMoAgAoAgQ2AgAgBkHYAWoiASADKAIAKAIMNgIAIAZB1AFqIhcgAygCACgCEDYCACAGQdABaiIUIAQoAgAgASgCAGo2AgAgBkHMAWoiDSADKAIAKAIINgIAIAZByAFqIiAgDSgCACABKAIAajYCACAGQcQBaiI9IA0oAgAgFygCAGo2AgAgBkHAAWoiKSAHKAIABH9BBwVBBgs2AgAgDCAeKAIAKAIANgIAIA8gHigCACgCBDYCACADKAIAIAMoAgAoAhg2AhwgACAAKAIAIAAoAgAgFCgCAEZqNgIAA0AgACgCACAfKAIASQRAIAhBADYCACAKQQA2AgAgCyAAKAIAQQFqNgIAIA4gACgCACAEKAIAazYCACAQIA4oAgBBAWogDCgCAGs2AgAgDSgCACEHIAQoAgAhCSAqIBAoAgAgASgCAEkEfyAHBSAJCzYCACAhICooAgAgECgCAGo2AgACQAJAIAEoAgBBAWsgECgCAGtBA08gECgCACAXKAIAS3FFDQAgACgCAEEBahDQASAhKAIAENABRw0AICAoAgAhByACKAIAIQkgKyAQKAIAIAEoAgBJBH8gBwUgCQs2AgAgCCAAKAIAQQVqICEoAgBBBGogAigCACArKAIAIBQoAgAQvQJBBGo2AgAgKCgCAA0ADAELICJB/8HXLzYCACAjIAMoAgAgJygCACAAKAIAIAIoAgAgIiApKAIAQQdxQbgBahEJADYCACAjKAIAIAgoAgBLBEAgCCAjKAIANgIAIAsgACgCADYCACAKICIoAgA2AgALIAgoAgBBBEkEQCAAIAAoAgAgACgCACAFKAIAa0EIdUEBamo2AgAMAwsCQCAoKAIAQQFPBEADQCAAKAIAIB8oAgBPDQIgACAAKAIAQQFqNgIAIA4gDigCAEEBajYCACAKKAIABEAgESAOKAIAIAwoAgBrNgIAIA0oAgAhByAEKAIAIQkgLCARKAIAIAEoAgBJBH8gBwUgCQs2AgAgJCAsKAIAIBEoAgBqNgIAIAEoAgBBAWsgESgCAGtBA08gESgCACAXKAIAS3EEQCAAKAIAENABICQoAgAQ0AFGBEAgICgCACEHIAIoAgAhCSAtIBEoAgAgASgCAEkEfyAHBSAJCzYCACAYIAAoAgBBBGogJCgCAEEEaiACKAIAIC0oAgAgFCgCABC9AkEEajYCACAuIBgoAgBBA2w2AgAgLyAIKAIAQQNsIAooAgBBAWoQ1AFrQQFqNgIAIBgoAgBBBE8EQCAuKAIAIC8oAgBKBEAgCCAYKAIANgIAIApBADYCACALIAAoAgA2AgALCwsLCyAZQf/B1y82AgAgGiADKAIAICcoAgAgACgCACACKAIAIBkgKSgCAEEHcUG4AWoRCQA2AgAgMCAaKAIAQQJ0IBkoAgBBAWoQ1AFrNgIAIDEgCCgCAEECdCAKKAIAQQFqENQBa0EEajYCACAaKAIAQQRPBEAgMCgCACAxKAIASgRAIAggGigCADYCACAKIBkoAgA2AgAgCyAAKAIANgIADAILCyAoKAIAQQJHDQIgACgCACAfKAIATw0CIAAgACgCAEEBajYCACAOIA4oAgBBAWo2AgAgCigCAARAIBIgDigCACAMKAIAazYCACANKAIAIQcgBCgCACEJIDIgEigCACABKAIASQR/IAcFIAkLNgIAICUgMigCACASKAIAajYCACABKAIAQQFrIBIoAgBrQQNPIBIoAgAgFygCAEtxBEAgACgCABDQASAlKAIAENABRgRAICAoAgAhByACKAIAIQkgMyASKAIAIAEoAgBJBH8gBwUgCQs2AgAgGyAAKAIAQQRqICUoAgBBBGogAigCACAzKAIAIBQoAgAQvQJBBGo2AgAgNCAbKAIAQQJ0NgIAIDUgCCgCAEECdCAKKAIAQQFqENQBa0EBajYCACAbKAIAQQRPBEAgNCgCACA1KAIASgRAIAggGygCADYCACAKQQA2AgAgCyAAKAIANgIACwsLCwsgHEH/wdcvNgIAIB0gAygCACAnKAIAIAAoAgAgAigCACAcICkoAgBBB3FBuAFqEQkANgIAIDYgHSgCAEECdCAcKAIAQQFqENQBazYCACA3IAgoAgBBAnQgCigCAEEBahDUAWtBB2o2AgAgHSgCAEEESQ0CIDYoAgAgNygCAEwNAiAIIB0oAgA2AgAgCiAcKAIANgIAIAsgACgCADYCAAwACwALCyAKKAIABEAgFSALKAIAIAQoAgBrIAooAgBBAmtrNgIAIA0oAgAgFSgCAGohByAEKAIAIBUoAgBqIQkgFiAVKAIAIAEoAgBJBH8gBwUgCQs2AgAgPSgCACEHIBQoAgAhCSA4IBUoAgAgASgCAEkEfyAHBSAJCzYCAANAAkAgCygCACAFKAIATQ0AIBYoAgAgOCgCAE0NACALKAIAQX9qLQAAIBYoAgBBf2otAABHDQAgCyALKAIAQX9qNgIAIBYgFigCAEF/ajYCACAIIAgoAgBBAWo2AgAMAQsLIA8gDCgCADYCACAMIAooAgBBAms2AgALCyA5IAsoAgAgBSgCAGs2AgAgPCgCACA5KAIAIAUoAgAgCigCACAIKAIAQQNrEPkCIAAgCygCACAIKAIAaiIHNgIAIAUgBzYCAANAAkAgACgCACAfKAIASw0AIBMgACgCACAEKAIAayAPKAIAazYCACANKAIAIQcgBCgCACEJIDogEygCACABKAIASQR/IAcFIAkLNgIAICYgOigCACATKAIAajYCACABKAIAQQFrIBMoAgBrQQNPIBMoAgAgFygCAEtxRQ0AIAAoAgAQ0AEgJigCABDQAUcNACAgKAIAIQcgAigCACEJIDsgEygCACABKAIASQR/IAcFIAkLNgIAIAggACgCAEEEaiAmKAIAQQRqIAIoAgAgOygCACAUKAIAEL0CQQRqNgIAIAogDygCADYCACAPIAwoAgA2AgAgDCAKKAIANgIAIDwoAgBBACAFKAIAQQAgCCgCAEEDaxD5AiAAIAAoAgAgCCgCAGo2AgAgBSAAKAIANgIADAELCwwBCwsgHigCACAMKAIANgIAIB4oAgAgDygCADYCBCACKAIAIAUoAgBrIQAgBiQFIAALsBcBOH8jBSEGIwVBoAJqJAUgBkG8AWohDCAGQbgBaiEPIAZBtAFqIQggBkGwAWohCiAGQawBaiELIAZBqAFqIQ4gBkGkAWohECAGQaABaiEqIAZBnAFqISEgBkGYAWohKyAGQZQBaiEiIAZBkAFqISMgBkGMAWohESAGQYgBaiEsIAZBhAFqISQgBkGAAWohLSAGQfwAaiEYIAZB+ABqIS4gBkH0AGohLyAGQfAAaiEZIAZB7ABqIRogBkHoAGohMCAGQeQAaiExIAZB4ABqIRIgBkHcAGohMiAGQdgAaiElIAZB1ABqITMgBkHQAGohGyAGQcwAaiE0IAZByABqITUgBkHEAGohHCAGQUBrIR0gBkE8aiE2IAZBOGohNyAGQTRqIRUgBkEwaiEWIAZBLGohOCAGQShqITkgBkEkaiETIAZBIGohOiAGQRxqISYgBkEYaiE7IAZBFGoiDSAANgIAIAZBEGoiACABNgIAIAZBDGoiASACNgIAIAZBCGoiAiADNgIAIAZBBGoiAyAENgIAIAYgBTYCACAAKAIAIQAgASgCACEBIAIoAgAhAiADKAIAIQQgBigCACEFIAZBkAJqIgMgDSgCADYCACAGQYwCaiI8IAA2AgAgBkGIAmoiHiABNgIAIAZBhAJqIicgAjYCACAGQYACaiIAIAQ2AgAgBkH8AWoiBCAFNgIAIAZB+AFqIgdBADYCACAGQfQBaiIoQQE2AgAgBkHwAWoiASAAKAIANgIAIAZB7AFqIgAgASgCADYCACAGQegBaiIFIAEoAgA2AgAgBkHkAWoiAiABKAIAIAQoAgBqNgIAIAZB4AFqIh8gAigCAEF4ajYCACAGQdwBaiIEIAMoAgAoAgQ2AgAgBkHYAWoiASADKAIAKAIMNgIAIAZB1AFqIhcgAygCACgCEDYCACAGQdABaiIUIAQoAgAgASgCAGo2AgAgBkHMAWoiDSADKAIAKAIINgIAIAZByAFqIiAgDSgCACABKAIAajYCACAGQcQBaiI9IA0oAgAgFygCAGo2AgAgBkHAAWoiKSAHKAIABH9BBwVBBgs2AgAgDCAeKAIAKAIANgIAIA8gHigCACgCBDYCACADKAIAIAMoAgAoAhg2AhwgACAAKAIAIAAoAgAgFCgCAEZqNgIAA0AgACgCACAfKAIASQRAIAhBADYCACAKQQA2AgAgCyAAKAIAQQFqNgIAIA4gACgCACAEKAIAazYCACAQIA4oAgBBAWogDCgCAGs2AgAgDSgCACEHIAQoAgAhCSAqIBAoAgAgASgCAEkEfyAHBSAJCzYCACAhICooAgAgECgCAGo2AgACQAJAIAEoAgBBAWsgECgCAGtBA08gECgCACAXKAIAS3FFDQAgACgCAEEBahDQASAhKAIAENABRw0AICAoAgAhByACKAIAIQkgKyAQKAIAIAEoAgBJBH8gBwUgCQs2AgAgCCAAKAIAQQVqICEoAgBBBGogAigCACArKAIAIBQoAgAQvQJBBGo2AgAgKCgCAA0ADAELICJB/8HXLzYCACAjIAMoAgAgJygCACAAKAIAIAIoAgAgIiApKAIAQQdxQbgBahEJADYCACAjKAIAIAgoAgBLBEAgCCAjKAIANgIAIAsgACgCADYCACAKICIoAgA2AgALIAgoAgBBBEkEQCAAIAAoAgAgACgCACAFKAIAa0EIdUEBamo2AgAMAwsCQCAoKAIAQQFPBEADQCAAKAIAIB8oAgBPDQIgACAAKAIAQQFqNgIAIA4gDigCAEEBajYCACAKKAIABEAgESAOKAIAIAwoAgBrNgIAIA0oAgAhByAEKAIAIQkgLCARKAIAIAEoAgBJBH8gBwUgCQs2AgAgJCAsKAIAIBEoAgBqNgIAIAEoAgBBAWsgESgCAGtBA08gESgCACAXKAIAS3EEQCAAKAIAENABICQoAgAQ0AFGBEAgICgCACEHIAIoAgAhCSAtIBEoAgAgASgCAEkEfyAHBSAJCzYCACAYIAAoAgBBBGogJCgCAEEEaiACKAIAIC0oAgAgFCgCABC9AkEEajYCACAuIBgoAgBBA2w2AgAgLyAIKAIAQQNsIAooAgBBAWoQ1AFrQQFqNgIAIBgoAgBBBE8EQCAuKAIAIC8oAgBKBEAgCCAYKAIANgIAIApBADYCACALIAAoAgA2AgALCwsLCyAZQf/B1y82AgAgGiADKAIAICcoAgAgACgCACACKAIAIBkgKSgCAEEHcUG4AWoRCQA2AgAgMCAaKAIAQQJ0IBkoAgBBAWoQ1AFrNgIAIDEgCCgCAEECdCAKKAIAQQFqENQBa0EEajYCACAaKAIAQQRPBEAgMCgCACAxKAIASgRAIAggGigCADYCACAKIBkoAgA2AgAgCyAAKAIANgIADAILCyAoKAIAQQJHDQIgACgCACAfKAIATw0CIAAgACgCAEEBajYCACAOIA4oAgBBAWo2AgAgCigCAARAIBIgDigCACAMKAIAazYCACANKAIAIQcgBCgCACEJIDIgEigCACABKAIASQR/IAcFIAkLNgIAICUgMigCACASKAIAajYCACABKAIAQQFrIBIoAgBrQQNPIBIoAgAgFygCAEtxBEAgACgCABDQASAlKAIAENABRgRAICAoAgAhByACKAIAIQkgMyASKAIAIAEoAgBJBH8gBwUgCQs2AgAgGyAAKAIAQQRqICUoAgBBBGogAigCACAzKAIAIBQoAgAQvQJBBGo2AgAgNCAbKAIAQQJ0NgIAIDUgCCgCAEECdCAKKAIAQQFqENQBa0EBajYCACAbKAIAQQRPBEAgNCgCACA1KAIASgRAIAggGygCADYCACAKQQA2AgAgCyAAKAIANgIACwsLCwsgHEH/wdcvNgIAIB0gAygCACAnKAIAIAAoAgAgAigCACAcICkoAgBBB3FBuAFqEQkANgIAIDYgHSgCAEECdCAcKAIAQQFqENQBazYCACA3IAgoAgBBAnQgCigCAEEBahDUAWtBB2o2AgAgHSgCAEEESQ0CIDYoAgAgNygCAEwNAiAIIB0oAgA2AgAgCiAcKAIANgIAIAsgACgCADYCAAwACwALCyAKKAIABEAgFSALKAIAIAQoAgBrIAooAgBBAmtrNgIAIA0oAgAgFSgCAGohByAEKAIAIBUoAgBqIQkgFiAVKAIAIAEoAgBJBH8gBwUgCQs2AgAgPSgCACEHIBQoAgAhCSA4IBUoAgAgASgCAEkEfyAHBSAJCzYCAANAAkAgCygCACAFKAIATQ0AIBYoAgAgOCgCAE0NACALKAIAQX9qLQAAIBYoAgBBf2otAABHDQAgCyALKAIAQX9qNgIAIBYgFigCAEF/ajYCACAIIAgoAgBBAWo2AgAMAQsLIA8gDCgCADYCACAMIAooAgBBAms2AgALCyA5IAsoAgAgBSgCAGs2AgAgPCgCACA5KAIAIAUoAgAgCigCACAIKAIAQQNrEPkCIAAgCygCACAIKAIAaiIHNgIAIAUgBzYCAANAAkAgACgCACAfKAIASw0AIBMgACgCACAEKAIAayAPKAIAazYCACANKAIAIQcgBCgCACEJIDogEygCACABKAIASQR/IAcFIAkLNgIAICYgOigCACATKAIAajYCACABKAIAQQFrIBMoAgBrQQNPIBMoAgAgFygCAEtxRQ0AIAAoAgAQ0AEgJigCABDQAUcNACAgKAIAIQcgAigCACEJIDsgEygCACABKAIASQR/IAcFIAkLNgIAIAggACgCAEEEaiAmKAIAQQRqIAIoAgAgOygCACAUKAIAEL0CQQRqNgIAIAogDygCADYCACAPIAwoAgA2AgAgDCAKKAIANgIAIDwoAgBBACAFKAIAQQAgCCgCAEEDaxD5AiAAIAAoAgAgCCgCAGo2AgAgBSAAKAIANgIADAELCwwBCwsgHigCACAMKAIANgIAIB4oAgAgDygCADYCBCACKAIAIAUoAgBrIQAgBiQFIAALsBcBOH8jBSEGIwVBoAJqJAUgBkG8AWohDCAGQbgBaiEPIAZBtAFqIQggBkGwAWohCiAGQawBaiELIAZBqAFqIQ4gBkGkAWohECAGQaABaiEqIAZBnAFqISEgBkGYAWohKyAGQZQBaiEiIAZBkAFqISMgBkGMAWohESAGQYgBaiEsIAZBhAFqISQgBkGAAWohLSAGQfwAaiEYIAZB+ABqIS4gBkH0AGohLyAGQfAAaiEZIAZB7ABqIRogBkHoAGohMCAGQeQAaiExIAZB4ABqIRIgBkHcAGohMiAGQdgAaiElIAZB1ABqITMgBkHQAGohGyAGQcwAaiE0IAZByABqITUgBkHEAGohHCAGQUBrIR0gBkE8aiE2IAZBOGohNyAGQTRqIRUgBkEwaiEWIAZBLGohOCAGQShqITkgBkEkaiETIAZBIGohOiAGQRxqISYgBkEYaiE7IAZBFGoiDSAANgIAIAZBEGoiACABNgIAIAZBDGoiASACNgIAIAZBCGoiAiADNgIAIAZBBGoiAyAENgIAIAYgBTYCACAAKAIAIQAgASgCACEBIAIoAgAhAiADKAIAIQQgBigCACEFIAZBkAJqIgMgDSgCADYCACAGQYwCaiI8IAA2AgAgBkGIAmoiHiABNgIAIAZBhAJqIicgAjYCACAGQYACaiIAIAQ2AgAgBkH8AWoiBCAFNgIAIAZB+AFqIgdBADYCACAGQfQBaiIoQQI2AgAgBkHwAWoiASAAKAIANgIAIAZB7AFqIgAgASgCADYCACAGQegBaiIFIAEoAgA2AgAgBkHkAWoiAiABKAIAIAQoAgBqNgIAIAZB4AFqIh8gAigCAEF4ajYCACAGQdwBaiIEIAMoAgAoAgQ2AgAgBkHYAWoiASADKAIAKAIMNgIAIAZB1AFqIhcgAygCACgCEDYCACAGQdABaiIUIAQoAgAgASgCAGo2AgAgBkHMAWoiDSADKAIAKAIINgIAIAZByAFqIiAgDSgCACABKAIAajYCACAGQcQBaiI9IA0oAgAgFygCAGo2AgAgBkHAAWoiKSAHKAIABH9BBwVBBgs2AgAgDCAeKAIAKAIANgIAIA8gHigCACgCBDYCACADKAIAIAMoAgAoAhg2AhwgACAAKAIAIAAoAgAgFCgCAEZqNgIAA0AgACgCACAfKAIASQRAIAhBADYCACAKQQA2AgAgCyAAKAIAQQFqNgIAIA4gACgCACAEKAIAazYCACAQIA4oAgBBAWogDCgCAGs2AgAgDSgCACEHIAQoAgAhCSAqIBAoAgAgASgCAEkEfyAHBSAJCzYCACAhICooAgAgECgCAGo2AgACQAJAIAEoAgBBAWsgECgCAGtBA08gECgCACAXKAIAS3FFDQAgACgCAEEBahDQASAhKAIAENABRw0AICAoAgAhByACKAIAIQkgKyAQKAIAIAEoAgBJBH8gBwUgCQs2AgAgCCAAKAIAQQVqICEoAgBBBGogAigCACArKAIAIBQoAgAQvQJBBGo2AgAgKCgCAA0ADAELICJB/8HXLzYCACAjIAMoAgAgJygCACAAKAIAIAIoAgAgIiApKAIAQQdxQbgBahEJADYCACAjKAIAIAgoAgBLBEAgCCAjKAIANgIAIAsgACgCADYCACAKICIoAgA2AgALIAgoAgBBBEkEQCAAIAAoAgAgACgCACAFKAIAa0EIdUEBamo2AgAMAwsCQCAoKAIAQQFPBEADQCAAKAIAIB8oAgBPDQIgACAAKAIAQQFqNgIAIA4gDigCAEEBajYCACAKKAIABEAgESAOKAIAIAwoAgBrNgIAIA0oAgAhByAEKAIAIQkgLCARKAIAIAEoAgBJBH8gBwUgCQs2AgAgJCAsKAIAIBEoAgBqNgIAIAEoAgBBAWsgESgCAGtBA08gESgCACAXKAIAS3EEQCAAKAIAENABICQoAgAQ0AFGBEAgICgCACEHIAIoAgAhCSAtIBEoAgAgASgCAEkEfyAHBSAJCzYCACAYIAAoAgBBBGogJCgCAEEEaiACKAIAIC0oAgAgFCgCABC9AkEEajYCACAuIBgoAgBBA2w2AgAgLyAIKAIAQQNsIAooAgBBAWoQ1AFrQQFqNgIAIBgoAgBBBE8EQCAuKAIAIC8oAgBKBEAgCCAYKAIANgIAIApBADYCACALIAAoAgA2AgALCwsLCyAZQf/B1y82AgAgGiADKAIAICcoAgAgACgCACACKAIAIBkgKSgCAEEHcUG4AWoRCQA2AgAgMCAaKAIAQQJ0IBkoAgBBAWoQ1AFrNgIAIDEgCCgCAEECdCAKKAIAQQFqENQBa0EEajYCACAaKAIAQQRPBEAgMCgCACAxKAIASgRAIAggGigCADYCACAKIBkoAgA2AgAgCyAAKAIANgIADAILCyAoKAIAQQJHDQIgACgCACAfKAIATw0CIAAgACgCAEEBajYCACAOIA4oAgBBAWo2AgAgCigCAARAIBIgDigCACAMKAIAazYCACANKAIAIQcgBCgCACEJIDIgEigCACABKAIASQR/IAcFIAkLNgIAICUgMigCACASKAIAajYCACABKAIAQQFrIBIoAgBrQQNPIBIoAgAgFygCAEtxBEAgACgCABDQASAlKAIAENABRgRAICAoAgAhByACKAIAIQkgMyASKAIAIAEoAgBJBH8gBwUgCQs2AgAgGyAAKAIAQQRqICUoAgBBBGogAigCACAzKAIAIBQoAgAQvQJBBGo2AgAgNCAbKAIAQQJ0NgIAIDUgCCgCAEECdCAKKAIAQQFqENQBa0EBajYCACAbKAIAQQRPBEAgNCgCACA1KAIASgRAIAggGygCADYCACAKQQA2AgAgCyAAKAIANgIACwsLCwsgHEH/wdcvNgIAIB0gAygCACAnKAIAIAAoAgAgAigCACAcICkoAgBBB3FBuAFqEQkANgIAIDYgHSgCAEECdCAcKAIAQQFqENQBazYCACA3IAgoAgBBAnQgCigCAEEBahDUAWtBB2o2AgAgHSgCAEEESQ0CIDYoAgAgNygCAEwNAiAIIB0oAgA2AgAgCiAcKAIANgIAIAsgACgCADYCAAwACwALCyAKKAIABEAgFSALKAIAIAQoAgBrIAooAgBBAmtrNgIAIA0oAgAgFSgCAGohByAEKAIAIBUoAgBqIQkgFiAVKAIAIAEoAgBJBH8gBwUgCQs2AgAgPSgCACEHIBQoAgAhCSA4IBUoAgAgASgCAEkEfyAHBSAJCzYCAANAAkAgCygCACAFKAIATQ0AIBYoAgAgOCgCAE0NACALKAIAQX9qLQAAIBYoAgBBf2otAABHDQAgCyALKAIAQX9qNgIAIBYgFigCAEF/ajYCACAIIAgoAgBBAWo2AgAMAQsLIA8gDCgCADYCACAMIAooAgBBAms2AgALCyA5IAsoAgAgBSgCAGs2AgAgPCgCACA5KAIAIAUoAgAgCigCACAIKAIAQQNrEPkCIAAgCygCACAIKAIAaiIHNgIAIAUgBzYCAANAAkAgACgCACAfKAIASw0AIBMgACgCACAEKAIAayAPKAIAazYCACANKAIAIQcgBCgCACEJIDogEygCACABKAIASQR/IAcFIAkLNgIAICYgOigCACATKAIAajYCACABKAIAQQFrIBMoAgBrQQNPIBMoAgAgFygCAEtxRQ0AIAAoAgAQ0AEgJigCABDQAUcNACAgKAIAIQcgAigCACEJIDsgEygCACABKAIASQR/IAcFIAkLNgIAIAggACgCAEEEaiAmKAIAQQRqIAIoAgAgOygCACAUKAIAEL0CQQRqNgIAIAogDygCADYCACAPIAwoAgA2AgAgDCAKKAIANgIAIDwoAgBBACAFKAIAQQAgCCgCAEEDaxD5AiAAIAAoAgAgCCgCAGo2AgAgBSAAKAIANgIADAELCwwBCwsgHigCACAMKAIANgIAIB4oAgAgDygCADYCBCACKAIAIAUoAgBrIQAgBiQFIAALsBcBOH8jBSEGIwVBoAJqJAUgBkG8AWohDCAGQbgBaiEPIAZBtAFqIQggBkGwAWohCiAGQawBaiELIAZBqAFqIQ4gBkGkAWohECAGQaABaiEqIAZBnAFqISEgBkGYAWohKyAGQZQBaiEiIAZBkAFqISMgBkGMAWohESAGQYgBaiEsIAZBhAFqISQgBkGAAWohLSAGQfwAaiEYIAZB+ABqIS4gBkH0AGohLyAGQfAAaiEZIAZB7ABqIRogBkHoAGohMCAGQeQAaiExIAZB4ABqIRIgBkHcAGohMiAGQdgAaiElIAZB1ABqITMgBkHQAGohGyAGQcwAaiE0IAZByABqITUgBkHEAGohHCAGQUBrIR0gBkE8aiE2IAZBOGohNyAGQTRqIRUgBkEwaiEWIAZBLGohOCAGQShqITkgBkEkaiETIAZBIGohOiAGQRxqISYgBkEYaiE7IAZBFGoiDSAANgIAIAZBEGoiACABNgIAIAZBDGoiASACNgIAIAZBCGoiAiADNgIAIAZBBGoiAyAENgIAIAYgBTYCACAAKAIAIQAgASgCACEBIAIoAgAhAiADKAIAIQQgBigCACEFIAZBkAJqIgMgDSgCADYCACAGQYwCaiI8IAA2AgAgBkGIAmoiHiABNgIAIAZBhAJqIicgAjYCACAGQYACaiIAIAQ2AgAgBkH8AWoiBCAFNgIAIAZB+AFqIgdBATYCACAGQfQBaiIoQQI2AgAgBkHwAWoiASAAKAIANgIAIAZB7AFqIgAgASgCADYCACAGQegBaiIFIAEoAgA2AgAgBkHkAWoiAiABKAIAIAQoAgBqNgIAIAZB4AFqIh8gAigCAEF4ajYCACAGQdwBaiIEIAMoAgAoAgQ2AgAgBkHYAWoiASADKAIAKAIMNgIAIAZB1AFqIhcgAygCACgCEDYCACAGQdABaiIUIAQoAgAgASgCAGo2AgAgBkHMAWoiDSADKAIAKAIINgIAIAZByAFqIiAgDSgCACABKAIAajYCACAGQcQBaiI9IA0oAgAgFygCAGo2AgAgBkHAAWoiKSAHKAIABH9BBwVBBgs2AgAgDCAeKAIAKAIANgIAIA8gHigCACgCBDYCACADKAIAIAMoAgAoAhg2AhwgACAAKAIAIAAoAgAgFCgCAEZqNgIAA0AgACgCACAfKAIASQRAIAhBADYCACAKQQA2AgAgCyAAKAIAQQFqNgIAIA4gACgCACAEKAIAazYCACAQIA4oAgBBAWogDCgCAGs2AgAgDSgCACEHIAQoAgAhCSAqIBAoAgAgASgCAEkEfyAHBSAJCzYCACAhICooAgAgECgCAGo2AgACQAJAIAEoAgBBAWsgECgCAGtBA08gECgCACAXKAIAS3FFDQAgACgCAEEBahDQASAhKAIAENABRw0AICAoAgAhByACKAIAIQkgKyAQKAIAIAEoAgBJBH8gBwUgCQs2AgAgCCAAKAIAQQVqICEoAgBBBGogAigCACArKAIAIBQoAgAQvQJBBGo2AgAgKCgCAA0ADAELICJB/8HXLzYCACAjIAMoAgAgJygCACAAKAIAIAIoAgAgIiApKAIAQQdxQbgBahEJADYCACAjKAIAIAgoAgBLBEAgCCAjKAIANgIAIAsgACgCADYCACAKICIoAgA2AgALIAgoAgBBBEkEQCAAIAAoAgAgACgCACAFKAIAa0EIdUEBamo2AgAMAwsCQCAoKAIAQQFPBEADQCAAKAIAIB8oAgBPDQIgACAAKAIAQQFqNgIAIA4gDigCAEEBajYCACAKKAIABEAgESAOKAIAIAwoAgBrNgIAIA0oAgAhByAEKAIAIQkgLCARKAIAIAEoAgBJBH8gBwUgCQs2AgAgJCAsKAIAIBEoAgBqNgIAIAEoAgBBAWsgESgCAGtBA08gESgCACAXKAIAS3EEQCAAKAIAENABICQoAgAQ0AFGBEAgICgCACEHIAIoAgAhCSAtIBEoAgAgASgCAEkEfyAHBSAJCzYCACAYIAAoAgBBBGogJCgCAEEEaiACKAIAIC0oAgAgFCgCABC9AkEEajYCACAuIBgoAgBBA2w2AgAgLyAIKAIAQQNsIAooAgBBAWoQ1AFrQQFqNgIAIBgoAgBBBE8EQCAuKAIAIC8oAgBKBEAgCCAYKAIANgIAIApBADYCACALIAAoAgA2AgALCwsLCyAZQf/B1y82AgAgGiADKAIAICcoAgAgACgCACACKAIAIBkgKSgCAEEHcUG4AWoRCQA2AgAgMCAaKAIAQQJ0IBkoAgBBAWoQ1AFrNgIAIDEgCCgCAEECdCAKKAIAQQFqENQBa0EEajYCACAaKAIAQQRPBEAgMCgCACAxKAIASgRAIAggGigCADYCACAKIBkoAgA2AgAgCyAAKAIANgIADAILCyAoKAIAQQJHDQIgACgCACAfKAIATw0CIAAgACgCAEEBajYCACAOIA4oAgBBAWo2AgAgCigCAARAIBIgDigCACAMKAIAazYCACANKAIAIQcgBCgCACEJIDIgEigCACABKAIASQR/IAcFIAkLNgIAICUgMigCACASKAIAajYCACABKAIAQQFrIBIoAgBrQQNPIBIoAgAgFygCAEtxBEAgACgCABDQASAlKAIAENABRgRAICAoAgAhByACKAIAIQkgMyASKAIAIAEoAgBJBH8gBwUgCQs2AgAgGyAAKAIAQQRqICUoAgBBBGogAigCACAzKAIAIBQoAgAQvQJBBGo2AgAgNCAbKAIAQQJ0NgIAIDUgCCgCAEECdCAKKAIAQQFqENQBa0EBajYCACAbKAIAQQRPBEAgNCgCACA1KAIASgRAIAggGygCADYCACAKQQA2AgAgCyAAKAIANgIACwsLCwsgHEH/wdcvNgIAIB0gAygCACAnKAIAIAAoAgAgAigCACAcICkoAgBBB3FBuAFqEQkANgIAIDYgHSgCAEECdCAcKAIAQQFqENQBazYCACA3IAgoAgBBAnQgCigCAEEBahDUAWtBB2o2AgAgHSgCAEEESQ0CIDYoAgAgNygCAEwNAiAIIB0oAgA2AgAgCiAcKAIANgIAIAsgACgCADYCAAwACwALCyAKKAIABEAgFSALKAIAIAQoAgBrIAooAgBBAmtrNgIAIA0oAgAgFSgCAGohByAEKAIAIBUoAgBqIQkgFiAVKAIAIAEoAgBJBH8gBwUgCQs2AgAgPSgCACEHIBQoAgAhCSA4IBUoAgAgASgCAEkEfyAHBSAJCzYCAANAAkAgCygCACAFKAIATQ0AIBYoAgAgOCgCAE0NACALKAIAQX9qLQAAIBYoAgBBf2otAABHDQAgCyALKAIAQX9qNgIAIBYgFigCAEF/ajYCACAIIAgoAgBBAWo2AgAMAQsLIA8gDCgCADYCACAMIAooAgBBAms2AgALCyA5IAsoAgAgBSgCAGs2AgAgPCgCACA5KAIAIAUoAgAgCigCACAIKAIAQQNrEPkCIAAgCygCACAIKAIAaiIHNgIAIAUgBzYCAANAAkAgACgCACAfKAIASw0AIBMgACgCACAEKAIAayAPKAIAazYCACANKAIAIQcgBCgCACEJIDogEygCACABKAIASQR/IAcFIAkLNgIAICYgOigCACATKAIAajYCACABKAIAQQFrIBMoAgBrQQNPIBMoAgAgFygCAEtxRQ0AIAAoAgAQ0AEgJigCABDQAUcNACAgKAIAIQcgAigCACEJIDsgEygCACABKAIASQR/IAcFIAkLNgIAIAggACgCAEEEaiAmKAIAQQRqIAIoAgAgOygCACAUKAIAEL0CQQRqNgIAIAogDygCADYCACAPIAwoAgA2AgAgDCAKKAIANgIAIDwoAgBBACAFKAIAQQAgCCgCAEEDaxD5AiAAIAAoAgAgCCgCAGo2AgAgBSAAKAIANgIADAELCwwBCwsgHigCACAMKAIANgIAIB4oAgAgDygCADYCBCACKAIAIAUoAgBrIQAgBiQFIAALjNYBAYkEfyMFIQYjBUHgEGokBSAGQRRqIgsgADYCACAGQRBqIgAgATYCACAGQQxqIgEgAjYCACAGQQhqIgIgAzYCACAGQQRqIgMgBDYCACAGIAU2AgAgACgCACEAIAEoAgAhASACKAIAIQIgAygCACEDIAYoAgAhBCAGQbACaiJoIAsoAgA2AgAgBkGsAmoijgQgADYCACAGQagCaiImIAE2AgAgBkGkAmoi2AEgAjYCACAGQaACaiIHIAM2AgAgBkGcAmoiCCAENgIAIAZBmAJqIowCQQA2AgAgBkGUAmoisgNBATYCACAGQZACaiI4IGgoAgBBMGo2AgAgBkGMAmoiACAHKAIANgIAIAZBiAJqIiQgACgCADYCACAGQYQCaiJSIAAoAgA2AgAgBkGAAmoijQIgACgCACAIKAIAajYCACAGQfwBaiKzAyCNAigCAEF4ajYCACAGQfgBaiIAIGgoAgAoAgQ2AgAgBkH0AWoiCSAAKAIAIGgoAgAoAgxqNgIAIAZB2BBqIeYCIAZB1BBqIbQDIAZB0BBqIbUDIAZBzBBqIZcBIAZByBBqIbYDIAZBxBBqIZgBIAZBwBBqIZkBIAZBvBBqIecCIAZBuBBqIegCIAZBtBBqIY4CIAZBsBBqIUEgBkGsEGohmgEgBkGoEGohEyAGQaQQaiFCIAZBoBBqIY8CIAZBnBBqIbcDIAZBmBBqIZACIAZBlBBqIWkgBkGQEGohuAMgBkGMEGohmwEgBkGIEGoh6QIgBkGEEGohnAEgBkGAEGohJyAGQfwPaiG5AyAGQfgPaiE5IAZB9A9qIeoCIAZB8A9qIesCIAZB7A9qIRwgBkHoD2ohkQIgBkHkD2ohugMgBkHgD2ohnQEgBkHcD2ohkgIgBkHYD2ohkwIgBkHUD2oh2QEgBkHQD2ohUyAGQcwPaiGUAiAGQcgPaiGVAiAGQcQPaiHsAiAGQcAPaiGWAiAGQbwPaiHaASAGQbgPaiHbASAGQbQPaiGXAiAGQbAPaiG7AyAGQawPaiEvIAZBqA9qIe0CIAZBpA9qIWogBkGgD2ohvAMgBkGcD2ohayAGQZgPaiGeASAGQZQPaiHuAiAGQZAPaiFUIAZBjA9qIe8CIAZBiA9qIWwgBkGED2ohbSAGQYAPaiG9AyAGQfwOaiG+AyAGQfgOaiHcASAGQfQOaiECIAZB8A5qIZ8BIAZB7A5qIZgCIAZB6A5qIUMgBkHkDmohoAEgBkHgDmohFCAGQdwOaiFEIAZB2A5qIZkCIAZB1A5qIb8DIAZB0A5qIZoCIAZBzA5qIW4gBkHIDmohwAMgBkHEDmohoQEgBkHADmoh8AIgBkG8DmohogEgBkG4DmohKCAGQbQOaiHBAyAGQbAOaiE6IAZBrA5qIfECIAZBqA5qIfICIAZBpA5qIR0gBkGgDmohmwIgBkGcDmohwgMgBkGYDmohowEgBkGUDmohnAIgBkGQDmohnQIgBkGMDmoh3QEgBkGIDmohVSAGQYQOaiGeAiAGQYAOaiGfAiAGQfwNaiHzAiAGQfgNaiGgAiAGQfQNaiHeASAGQfANaiHfASAGQewNaiGhAiAGQegNaiHDAyAGQeQNaiEwIAZB4A1qIfQCIAZB3A1qIW8gBkHYDWohxAMgBkHUDWohcCAGQdANaiGkASAGQcwNaiH1AiAGQcgNaiFWIAZBxA1qIfYCIAZBwA1qIXEgBkG8DWohciAGQbgNaiHFAyAGQbQNaiHGAyAGQbANaiHgASAGQawNaiEDIAZBqA1qIaUBIAZBpA1qIaICIAZBoA1qIUUgBkGcDWohpgEgBkGYDWohFSAGQZQNaiFGIAZBkA1qIaMCIAZBjA1qIccDIAZBiA1qIaQCIAZBhA1qIXMgBkGADWohyAMgBkH8DGohpwEgBkH4DGoh9wIgBkH0DGohqAEgBkHwDGohKSAGQewMaiHJAyAGQegMaiE7IAZB5AxqIfgCIAZB4AxqIfkCIAZB3AxqIR4gBkHYDGohpQIgBkHUDGohygMgBkHQDGohqQEgBkHMDGohpgIgBkHIDGohpwIgBkHEDGoh4QEgBkHADGohVyAGQbwMaiGoAiAGQbgMaiGpAiAGQbQMaiH6AiAGQbAMaiGqAiAGQawMaiHiASAGQagMaiHjASAGQaQMaiGrAiAGQaAMaiHLAyAGQZwMaiExIAZBmAxqIfsCIAZBlAxqIXQgBkGQDGohzAMgBkGMDGohdSAGQYgMaiGqASAGQYQMaiH8AiAGQYAMaiFYIAZB/AtqIf0CIAZB+AtqIXYgBkH0C2ohdyAGQfALaiHNAyAGQewLaiHOAyAGQegLaiHkASAGQeQLaiEEIAZB4AtqIasBIAZB3AtqIawCIAZB2AtqIUcgBkHUC2ohrAEgBkHQC2ohFiAGQcwLaiFIIAZByAtqIa0CIAZBxAtqIc8DIAZBwAtqIa4CIAZBvAtqIXggBkG4C2oh0AMgBkG0C2ohrQEgBkGwC2oh/gIgBkGsC2ohrgEgBkGoC2ohKiAGQaQLaiHRAyAGQaALaiE8IAZBnAtqIf8CIAZBmAtqIYADIAZBlAtqIR8gBkGQC2ohrwIgBkGMC2oh0gMgBkGIC2ohrwEgBkGEC2ohsAIgBkGAC2ohsQIgBkH8Cmoh5QEgBkH4CmohWSAGQfQKaiGyAiAGQfAKaiGzAiAGQewKaiGBAyAGQegKaiG0AiAGQeQKaiHmASAGQeAKaiHnASAGQdwKaiG1AiAGQdgKaiHTAyAGQdQKaiEyIAZB0ApqIYIDIAZBzApqIXkgBkHICmoh1AMgBkHECmoheiAGQcAKaiGwASAGQbwKaiGDAyAGQbgKaiFaIAZBtApqIYQDIAZBsApqIXsgBkGsCmohfCAGQagKaiHVAyAGQaQKaiHWAyAGQaAKaiHoASAGQZwKaiEFIAZBmApqIbEBIAZBlApqIekBIAZBkApqIdcDIAZBjApqIdgDIAZBiApqIdkDIAZBhApqIdoDIAZBgApqIdsDIAZB/AlqIYUDIAZB+AlqIYYDIAZB9AlqIeoBIAZB8AlqIbIBIAZB7AlqIVsgBkHoCWohfSAGQeQJaiF+IAZB4AlqIbMBIAZB3AlqIbQBIAZB2AlqIesBIAZB1AlqIewBIAZB0AlqIe0BIAZBzAlqIe4BIAZByAlqIYcDIAZBxAlqIYgDIAZBwAlqIdwDIAZBvAlqId0DIAZBuAlqIbUBIAZBtAlqId4DIAZBsAlqIbYBIAZBrAlqIbcBIAZBqAlqIYkDIAZBpAlqIYoDIAZBoAlqIbYCIAZBnAlqIUkgBkGYCWohuAEgBkGUCWohFyAGQZAJaiFKIAZBjAlqIbcCIAZBiAlqId8DIAZBhAlqIbgCIAZBgAlqIX8gBkH8CGoh4AMgBkH4CGohuQEgBkH0CGohiwMgBkHwCGohugEgBkHsCGohKyAGQegIaiHhAyAGQeQIaiE9IAZB4AhqIYwDIAZB3AhqIY0DIAZB2AhqISAgBkHUCGohuQIgBkHQCGoh4gMgBkHMCGohuwEgBkHICGohugIgBkHECGohuwIgBkHACGoh7wEgBkG8CGohXCAGQbgIaiG8AiAGQbQIaiG9AiAGQbAIaiGOAyAGQawIaiG+AiAGQagIaiHwASAGQaQIaiHxASAGQaAIaiG/AiAGQZwIaiHjAyAGQZgIaiEzIAZBlAhqIY8DIAZBkAhqIYABIAZBjAhqIeQDIAZBiAhqIYEBIAZBhAhqIbwBIAZBgAhqIZADIAZB/AdqIV0gBkH4B2ohkQMgBkH0B2ohggEgBkHwB2ohgwEgBkHsB2oh5QMgBkHoB2oh5gMgBkHkB2oh8gEgBkHgB2ohCyAGQdwHaiG9ASAGQdgHaiHAAiAGQdQHaiFLIAZB0AdqIb4BIAZBzAdqIRggBkHIB2ohTCAGQcQHaiHBAiAGQcAHaiHnAyAGQbwHaiHCAiAGQbgHaiGEASAGQbQHaiHoAyAGQbAHaiG/ASAGQawHaiGSAyAGQagHaiHAASAGQaQHaiEsIAZBoAdqIekDIAZBnAdqIT4gBkGYB2ohkwMgBkGUB2ohlAMgBkGQB2ohISAGQYwHaiHDAiAGQYgHaiHqAyAGQYQHaiHBASAGQYAHaiHEAiAGQfwGaiHFAiAGQfgGaiHzASAGQfQGaiFeIAZB8AZqIcYCIAZB7AZqIccCIAZB6AZqIZUDIAZB5AZqIcgCIAZB4AZqIfQBIAZB3AZqIfUBIAZB2AZqIckCIAZB1AZqIesDIAZB0AZqITQgBkHMBmohlgMgBkHIBmohhQEgBkHEBmoh7AMgBkHABmohhgEgBkG8BmohwgEgBkG4BmohlwMgBkG0BmohXyAGQbAGaiGYAyAGQawGaiGHASAGQagGaiGIASAGQaQGaiHtAyAGQaAGaiHuAyAGQZwGaiH2ASAGQZgGaiENIAZBlAZqIcMBIAZBkAZqIcoCIAZBjAZqIU0gBkGIBmohxAEgBkGEBmohGSAGQYAGaiFOIAZB/AVqIcsCIAZB+AVqIe8DIAZB9AVqIcwCIAZB8AVqIYkBIAZB7AVqIfADIAZB6AVqIcUBIAZB5AVqIZkDIAZB4AVqIcYBIAZB3AVqIS0gBkHYBWoh8QMgBkHUBWohPyAGQdAFaiGaAyAGQcwFaiGbAyAGQcgFaiEiIAZBxAVqIc0CIAZBwAVqIfIDIAZBvAVqIccBIAZBuAVqIc4CIAZBtAVqIc8CIAZBsAVqIfcBIAZBrAVqIWAgBkGoBWoh0AIgBkGkBWoh0QIgBkGgBWohnAMgBkGcBWoh0gIgBkGYBWoh+AEgBkGUBWoh+QEgBkGQBWoh0wIgBkGMBWoh8wMgBkGIBWohNSAGQYQFaiGdAyAGQYAFaiGKASAGQfwEaiH0AyAGQfgEaiGLASAGQfQEaiHIASAGQfAEaiGeAyAGQewEaiFhIAZB6ARqIZ8DIAZB5ARqIYwBIAZB4ARqIY0BIAZB3ARqIfUDIAZB2ARqIfYDIAZB1ARqIfoBIAZB0ARqIQ4gBkHMBGohyQEgBkHIBGoh1AIgBkHEBGohTyAGQcAEaiHKASAGQbwEaiEaIAZBuARqIVAgBkG0BGoh1QIgBkGwBGoh9wMgBkGsBGoh1gIgBkGoBGohjgEgBkGkBGoh+AMgBkGgBGohywEgBkGcBGohoAMgBkGYBGohzAEgBkGUBGohLiAGQZAEaiH5AyAGQYwEaiFAIAZBiARqIaEDIAZBhARqIaIDIAZBgARqISMgBkH8A2oh1wIgBkH4A2oh+gMgBkH0A2ohzQEgBkHwA2oh2AIgBkHsA2oh2QIgBkHoA2oh+wEgBkHkA2ohYiAGQeADaiHaAiAGQdwDaiHbAiAGQdgDaiGjAyAGQdQDaiHcAiAGQdADaiH8ASAGQcwDaiH9ASAGQcgDaiHdAiAGQcQDaiH7AyAGQcADaiE2IAZBvANqIaQDIAZBuANqIY8BIAZBtANqIfwDIAZBsANqIZABIAZBrANqIc4BIAZBqANqIaUDIAZBpANqIWMgBkGgA2ohpgMgBkGcA2ohkQEgBkGYA2ohkgEgBkGUA2oh/QMgBkGQA2oh/gMgBkGMA2oh/gEgBkGIA2ohDyAGQYQDaiHPASAGQYADaiH/ASAGQfwCaiH/AyAGQfgCaiGABCAGQfQCaiGBBCAGQfACaiGCBCAGQewCaiGDBCAGQegCaiGnAyAGQeQCaiGoAyAGQeACaiGAAiAGQdwCaiHQASAGQdgCaiFkIAZB1AJqIZMBIAZB0AJqIZQBIAZBzAJqIdEBIAZByAJqIdIBIAZBxAJqIYECIAZBwAJqIYICIAZBvAJqIYMCIAZBuAJqIYQCIAZBtAJqIakDIAZB6AFqIQAgBkHkAWohNyAGQdgBaiHeAiAGQdQBaiEBIAZB0AFqISUgBkHMAWohhQIgBkHIAWoh3wIgBkHEAWohhgIgBkHAAWohqgMgBkG8AWohhwIgBkG4AWoh0wEgBkG0AWohqwMgBkGwAWohhAQgBkGsAWohGyAGQagBaiHUASAGQaQBaiHgAiAGQaABaiGFBCAGQZQBaiGsAyAGQZABaiGGBCAGQYwBaiGIAiAGQYgBaiGVASAGQYQBaiHhAiAGQYABaiGtAyAGQfwAaiHVASAGQfgAaiGHBCAGQfQAaiGIBCAGQfAAaiGJAiAGQewAaiFlIAZB6ABqIeICIAZB5ABqIeMCIAZB2ABqIa4DIAZB1ABqIYkEIAZB0ABqIYoEIAZBzABqIZYBIAZByABqIVEgBkHEAGohrwMgBkFAayGwAyAGQTxqIbEDIAZBOGohZiAGQTRqIeQCIAZBMGohiwQgBkEsaiFnIAZBKGoh5QIgBkEkaiHWASAGQSBqIdcBIAZBHGohigIgBkEYaiGMBCAGQfABaiKNBCDYASgCACgCFEH/H0kEfyDYASgCACgCFAVB/x8LIosCNgIAIAZB7AFqIosCINgBKAIAKAIQQQNGBH9BAwVBBAs2AgAgACA4KAIAKAIUNgIAIDcgOCgCACgCEDYCACBoKAIAIGgoAgAoAhg2AhwgOCgCACAHKAIAIAgoAgAQ8AIgJCAkKAIAICQoAgAgCSgCAEZqNgIAIN4CQgA3AgAg3gJBADYCCANAICQoAgAgswMoAgBJBEAgJUEANgIAIIYCICQoAgAgUigCAGs2AgAgqgMghgIoAgBBAEdBAXM2AgAg2AEoAgAhByAkKAIAIQggjQIoAgAhCSCyAygCACEKICYoAgAhDCCqAygCACEQIDcoAgAhESCLAigCACESIGQgaCgCADYCACCTASAHNgIAIJQBIAg2AgAg0QEgCTYCACDSASAKNgIAIIECIAw2AgAgggIgEDYCACCDAiARNgIAIIQCIBI2AgAgqQMgkwEoAgAoAhA2AgACQCCUASgCACBkKAIAKAIEIGQoAgAoAhhqSQRAINABQQA2AgAFIJMBKAIAIQcglAEoAgAhCCDRASgCACEJIKkDKAIAIQog0gEoAgAhDCD/ASBkKAIANgIAIP8DIAc2AgAggAQgCDYCACCBBCAJNgIAIIIEIAo2AgAggwQgDDYCACCnAyD/ASgCACgCBDYCACCoAyCABCgCACCnAygCAGs2AgAggAIg/wEoAgAoAhg2AgADQCCAAigCACCoAygCAEkEQCD/ASgCACD/AygCACCnAygCACCAAigCAGoggQQoAgAgggQoAgAggwQoAgAQugIhByCAAiCAAigCACAHajYCAAwBCwsg/wEoAgAgqAMoAgA2AhgCQAJAAkACQCCpAygCAEEDaw4FAAMCAQEDCyCTASgCACEHIJQBKAIAIQgg0QEoAgAhCSDSASgCACEKIIECKAIAIQwgggIoAgAhECCDAigCACERIIQCKAIAIRIgTyBkKAIANgIAIMoBIAc2AgAgGiAINgIAIFAgCTYCACDVAiAKNgIAIPcDIAw2AgAg1gIgEDYCACCOASARNgIAIPgDIBI2AgAgywFBAzYCACCgAyDKASgCACgCFEH/H0kEfyDKASgCACgCFAVB/x8LIgc2AgAgzAEgTygCACgCBDYCACAuIBooAgAgzAEoAgBrNgIAIPkDIMoBKAIAKAIINgIAIEAgywEoAgBBA0YEf0EDBUEECzYCACChAyBPKAIAKAIkNgIAIKIDIBooAgAg+QMoAgAgywEoAgAQuwI2AgAgIyChAygCACCiAygCAEECdGooAgA2AgAg1wIgTygCACgCLDYCACD6AyDKASgCACgCBEEBazYCACDNAUEBIPoDKAIAdEEBazYCACDYAkEANgIAINkCQQA2AgAg+wEgTygCACgCCDYCACBiIE8oAgAoAgw2AgAg2gIg+wEoAgAgYigCAGo2AgAg2wIgzAEoAgAgYigCAGo2AgAgowMgzQEoAgAgLigCAE8Ef0EABSAuKAIAIM0BKAIAawsiBzYCACDcAiBPKAIAKAIQ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a0EDT3EEQCAXKAIAID0oAgAQ8QIgkQMoAgAgPSgCABDxAkYEQCBdIBcoAgAgPSgCAGogkQMoAgAgPSgCAGogSigCACC8AigCACC9AigCABC9AiA9KAIAajYCAAsLCwsgXSgCACCAASgCAEsEQCCAASBdKAIANgIAIH8oAgAgMygCAEEDdGoggQEoAgAguAIoAgBrNgIAIH8oAgAgMygCAEEDdGogXSgCADYCBCAzIDMoAgBBAWo2AgAgXSgCACCLAygCAEsgFygCACBdKAIAaiBKKAIARnINAgsggQEggQEoAgBBAWo2AgAMAAsACyC2AiAzKAIANgIADAELILkBKAIAQQNGBEAggAEoAgAguQEoAgBJBEAgggEgSSgCACAXKAIAEPICNgIAIIIBKAIAIL4CKAIASyArKAIAIIIBKAIAa0GAgBBJcQRAAkACQCC3AigCAEUNACCCASgCACBcKAIATw0AIOYDIO8BKAIAIIIBKAIAajYCACCDASAXKAIAIOYDKAIAIEooAgAgvAIoAgAgvQIoAgAQvQI2AgAMAQsg5QMgugEoAgAgggEoAgBqNgIAIIMBIBcoAgAg5QMoAgAgSigCABC8AjYCAAsggwEoAgAguQEoAgBPBEAggAEggwEoAgA2AgAgfygCACArKAIAIIIBKAIAa0ECajYCACB/KAIAIIMBKAIANgIEIDNBATYCACCDASgCACCLAygCAEsgFygCACCDASgCAGogSigCAEZyBEAgSSgCACArKAIAQQFqNgIYILYCQQE2AgAMBQsLCwsLIIwDKAIAII0DKAIAQQJ0aiArKAIANgIAAkACQAJAA0ACQCCPAyCPAygCACIHQX9qNgIAIAdFDQAgICgCACC+AigCAE0NACDyASC5AigCACAgKAIAILsBKAIAcUEDdGo2AgAgugIoAgAhByC7AigCACEIIAsgugIoAgAguwIoAgBJBH8gBwUgCAs2AgACQAJAILcCKAIARQ0AICAoAgAgCygCAGogXCgCAE8NACC9ASDvASgCACAgKAIAajYCACAXKAIAIAsoAgBqIL0BKAIAIAsoAgBqIEooAgAgvAIoAgAgvQIoAgAQvQIhByALIAsoAgAgB2o2AgAgICgCACALKAIAaiBcKAIATwRAIL0BILoBKAIAICAoAgBqNgIACwwBCyC9ASC6ASgCACAgKAIA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CyCFAiAAKAIAICUoAgBBHGxqKAIINgIAIN8CIAAoAgAgJSgCAEEcbGooAgQ2AgAgASAlKAIAIIUCKAIAazYCAAsLILADIIUCKAIANgIAILEDIN8CKAIANgIAIGYgASgCADYCAANAIOQCIAAoAgAgZigCAEEcbGooAgg2AgAgiwQgACgCACBmKAIAQRxsaigCBDYCACAAKAIAIGYoAgBBHGxqILADKAIANgIIIAAoAgAgZigCAEEcbGogsQMoAgA2AgQgsAMg5AIoAgA2AgAgsQMgiwQoAgA2AgAg5AIoAgAgZigCAE0EQCBmIGYoAgAg5AIoAgBrNgIADAELCyBnQQA2AgADQCBnKAIAICUoAgBJBEAg5QIgJCgCACBSKAIAazYCACDWASAAKAIAIGcoAgBBHGxqKAIINgIAINcBIAAoAgAgZygCAEEcbGooAgQ2AgAg1gEoAgBBAUYEQCAkICQoAgBBAWo2AgAgZyBnKAIAQQFqNgIADAILIGcgZygCACDWASgCAGo2AgAgJCAkKAIAINYBKAIAajYCACDXASgCAEEDTwRAICYoAgAgJigCACgCBDYCCCAmKAIAICYoAgAoAgA2AgQgJigCACDXASgCAEECazYCAAUgigIg1wEoAgAg5QIoAgBFajYCACCKAigCAARAICYoAgAhByCMBCCKAigCAEEDRgR/IAcoAgBBAWsFIAcgigIoAgBBAnRqKAIACyIHNgIAIIoCKAIAQQJPBEAgJigCACAmKAIAKAIENgIICyAmKAIAICYoAgAoAgA2AgQgJigCACCMBCgCADYCAAsLIDgoAgAg5QIoAgAgUigCACDXASgCACDWASgCABD4AiCOBCgCACDlAigCACBSKAIAINcBKAIAINYBKAIAQQNrEPkCIFIgJCgCADYCAAwBCwsgOCgCABD6AgwBCwsgjQIoAgAgUigCAGshACAGJAUgAAuM1gEBiQR/IwUhBiMFQeAQaiQFIAZBFGoiCyAANgIAIAZBEGoiACABNgIAIAZBDGoiASACNgIAIAZBCGoiAiADNgIAIAZBBGoiAyAENgIAIAYgBTYCACAAKAIAIQAgASgCACEBIAIoAgAhAiADKAIAIQMgBigCACEEIAZBsAJqImggCygCADYCACAGQawCaiKOBCAANgIAIAZBqAJqIiYgATYCACAGQaQCaiLYASAC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ABC9AiBAKAIAajYCAAsLCwsgYygCACCPASgCAEsEQCCPASBjKAIANgIAII4BKAIAIDYoAgBBA3RqIJABKAIAINYCKAIAazYCACCOASgCACA2KAIAQQN0aiBjKAIANgIEIDYgNigCAEEBajYCACBjKAIAIKADKAIASyAaKAIAIGMoAgBqIFAoAgBGcg0CCyCQASCQASgCAEEBajYCAAwACwALINQCIDYoAgA2AgAMAQsgywEoAgBBA0YEQCCPASgCACDLASgCAEkEQCCRASBPKAIAIBooAgAQ8gI2AgAgkQEoAgAg3AIoAgBLIC4oAgAgkQEoAgBrQYCAEElxBEACQAJAINUCKAIARQ0AIJEBKAIAIGIoAgBPDQAg/gMg+wEoAgAgkQEoAgBqNgIAIJIBIBooAgAg/gMoAgAgUCgCACDaAigCACDbAigCABC9AjYCAAwBCyD9AyDMASgCACCRASgCAGo2AgAgkgEgGigCACD9AygCACBQKAIAELwCNgIACyCSASgCACDLASgCAE8EQCCPASCSASgCADYCACCOASgCACAuKAIAIJEBKAIAa0ECajYCACCOASgCACCSASgCADYCBCA2QQE2AgAgkgEoAgAgoAMoAgBLIBooAgAgkgEoAgBqIFAoAgBGcgRAIE8oAgAgLigCAEEBajYCGCDUAkEBNgIADAULCwsLCyChAygCACCiAygCAEECdGogLigCADYCAAJAAkACQANAAkAgpAMgpAMoAgAiB0F/ajYCACAHRQ0AICMoAgAg3AIoAgBNDQAg/gEg1wIoAgAgIygCACDNASgCAHFBA3RqNgIAINgCKAIAIQcg2QIoAgAhCCAPINgCKAIAINkCKAIASQR/IAcFIAgLNgIAAkACQCDVAigCAEUNACAjKAIAIA8oAgBqIGIoAgBPDQAgzwEg+wEoAgAgIygCAGo2AgAgGigCACAPKAIAaiDPASgCACAPKAIAaiBQKAIAINoCKAIAINsCKAIAEL0CIQcgDyAPKAIAIAdqNgIAICMoAgAgDygCAGogYigCAE8EQCDPASDMASgCACAjKAIAajYCAAsMAQsgzwEgzAEoAgAgIygCAGo2AgAgGigCACAPKAIAaiDPASgCACAPKAIAaiBQKAIAELwCIQcgDyAPKAIAIAdqNgIACyAPKAIAII8BKAIASwRAIA8oAgAg3QIo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ICsoAgAgggEoAgBrQQJqNgIAIH8oAgAggwEoAgA2AgQgM0EBNgIAIIMBKAIAIIsDKAIASyAXKAIAIIMBKAIAaiBKKAIARnIEQCBJKAIAICsoAgBBAWo2AhggtgJBATYCAAwFCwsLCwsgjAMoAgAgjQMoAgBBAnRqICsoAgA2AgACQAJAAkADQAJAII8DII8DKAIAIgdBf2o2AgAgB0UNACAgKAIAIL4CKAIATQ0AIPIBILkCKAIAICAoAgAguwEoAgBxQQN0ajYCACC6AigCACEHILsCKAIAIQggCyC6AigCACC7AigCAEkEfyAHBSAICzYCAAJAAkAgtwIoAgBFDQAgICgCACALKAIAaiBcKAIATw0AIL0BIO8BKAIAICAoAgBqNgIAIBcoAgAgCygCAGogvQEoAgAgCygCAGogSigCACC8AigCACC9AigCABC9AiEHIAsgCygCACAHajYCACAgKAIAIAsoAgBqIFwoAgBPBEAgvQEgugEoAgAgICgCAGo2AgALDAELIL0BILoBKAIAICAoAgBqNgIAIBcoAgAgCygCAGogvQEoAgAgCygCAGogSigCABC8AiEHIAsgCygCACAHajYCAAsgCygCACCAASgCAEsEQCALKAIAIL8CKAIAICAoAgBrSwRAIL8CICAoAgAgCygCAGo2AgALIIABIAsoAgA2AgAgfygCACAzKAIAQQN0aiArKAIAICAoAgBrQQJqNgIAIH8oAgAgMygCAEEDdGogCygCADYCBCAzIDMoAgBBAWo2AgAgCygCAEGAIEsNASAXKAIAIAsoAgBqIEooAgBGDQELICAoAgAhByC9ASgCACALKAIAai0AACAXKAIAIAsoAgBqLQAASARAIPABKAIAIAc2AgAgugIgCygCADYCACAgKAIAII4DKAIATQ0DIPABIPIBKAIAQQRqNgIAICAg8gEoAgAoAgQ2AgAFIPEBKAIAIAc2AgAguwIgCygCADYCACAgKAIAII4DKAIATQ0EIPEBIPIBKAIANgIAICAg8gEoAgAoAgA2AgALDAELCwwCCyDwASDjAzYCAAwBCyDxASDjAzYCAAsg8QEoAgBBADYCACDwASgCAEEANgIAIEkoAgAgvwIoAgBBCGs2AhggtgIgMygCADYCAAsg0AEgtgIoAgA2AgAMAwsgkwEoAgAhByCUASgCACEIINEB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ASASNgIAIIcDIH0oAgAoAhA2AgACQCB+KAIAIFsoAgAoAgQgWygCACgCGGpJBEAgsgFBADYCAAUgfSgCACEHIH4oAgAhCCCzASgCACEJIIcDKAIAIQogtAEoAgAhDCDpASBbKAIANgIAINcDIAc2AgAg2AMgCDYCACDZAyAJNgIAINoDIAo2AgAg2wMgDDYCACCFAyDpASgCACgCBDYCACCGAyDYAygCACCFAygCAGs2AgAg6gEg6QEoAgAoAhg2AgADQCDqASgCACCGAygCAEkEQCDpASgCACDXAygCACCFAygCACDqASgCAGog2QMoAgAg2gMoAgAg2wMoAgAQugIhByDqASDqASgCACAHajYCAAwBCwsg6QEoAgAghgMoAgA2AhgCQAJAAkACQCCHAygCAEEDaw4FAAMCAQEDCyB9KAIAIQcgfigCACEIILMBKAIAIQkgtAEoAgAhCiDrASgCACEMIOwBKAIAIRAg7QEoAgAhESDuASgCACESIEcgWygCADYCACCsASAHNgIAIBYgCDYCACBIIAk2AgAgrQIgCjYCACDPAyAMNgIAIK4CIBA2AgAgeCARNgIAINADIBI2AgAgrQFBAzYCACD+AiCsASgCACgCFEH/H0kEfyCsASgCACgCFAVB/x8LIgc2AgAgrgEgRygCACgCBDYCACAqIBYoAgAgrgEoAgBrNgIAINEDIKwBKAIAKAIINgIAIDwgrQEoAgBBA0YEf0EDBUEECzYCACD/AiBHKAIAKAIkNgIAIIADIBYoAgAg0QMoAgAgrQEoAgAQuwI2AgAgHyD/AigCACCAAygCAEECdGooAgA2AgAgrwIgRygCACgCLDYCACDSAyCsASgCACgCBEEBazYCACCvAUEBINIDKAIAdEEBazYCACCwAkEANgIAILECQQA2AgAg5QEgRygCACgCCDYCACBZIEcoAgAoAgw2AgAgsgIg5QEoAgAgWSgCAGo2AgAgswIgrgEoAgAgWSgCAGo2AgAggQMgrwEoAgAgKigCAE8Ef0EABSAqKAIAIK8BKAIAawsiBzYCACC0AiBHKAIAKAIQNgIAIOYBIK8CKAIAICooAgAgrwEoAgBxQQN0ajYCACDnASCvAigCACAqKAIAIK8BKAIAcUEDdGpBBGo2AgAgtQIgKigCAEEJajYCACAyQQA2AgAgggNBASCsASgCACgCDHQ2AgAgeSDQAygCAEEBazYCACDUAyCuAigCAEEDajYCACB6IK4CKAIANgIAAkACQAJAA0AgeigCACDUAygCAE8NAiDPAygCACEHILABIHooAgBBA0YEfyAHKAIAQQFrBSAHIHooAgBBAnRqKAIACyIHNgIAIIMDICooAgAgsAEoAgBrNgIAIFpBADYCAAJAILABKAIAQQFrICooAgAgWSgCAGtJBEAgFigCACA8KAIAEPECIBYoAgAgsAEoAgBrIDwoAgAQ8QJHDQEgWiAWKAIAIDwoAgBqIBYoAgAgPCgCAGogsAEoAgBrIEgoAgAQvAIgPCgCAGo2AgAFIIQDIOUBKAIAIIMDKAIAajYCACCtAigCAEUNASCwASgCAEEBayAqKAIAILQCKAIAa0kgWSgCAEEBayCDAygCAGtBA09xRQ0BIBYoAgAgPCgCABDxAiCEAygCACA8KAIAEPECRw0BIFogFigCACA8KAIAaiCEAygCACA8KAIAaiBIKAIAILICKAIAILMCKAIAEL0CIDwoAgBqNgIACwsgWigCACB5KAIASwRAIHkgWigCADYCACB4KAIAIDIoAgBBA3RqIHooAgAgrgIoAgBrNgIAIHgoAgAgMigCAEEDdGogWigCADYCBCAyIDIoAgBBAWo2AgAgWigCACD+AigCAEsgFigCACBaKAIAaiBIKAIARnINAgsgeiB6KAIAQQFqNgIADAALAAsgrAIgMigCADYCAAwBCwJAIK0BKAIAQQNGBEAgeSgCACCtASgCAE8NASB7IEcoAgAgFigCABDyAjYCACB7KAIAILQCKAIASyAqKAIAIHsoAgBrQYCAEElxRQ0BAkACQCCtAigCAEUNACB7KAIAIFkoAgBPDQAg1gMg5QEoAgAgeygCAGo2AgAgfCAWKAIAINYDKAIAIEgoAgAgsgIoAgAgswIoAgAQvQI2AgAMAQsg1QMgrgEoAgAgeygCAGo2AgAgfCAWKAIAINUDKAIAIEgoAgAQvAI2AgALIHwoAgAgrQEoAgBJDQEgeSB8KAIANgIAIHgoAgAgKigCACB7KAIAa0ECajYCACB4KAIAIHwoAgA2AgQgMkEBNgIAIHwoAgAg/gIoAgBLIBYoAgAgfCgCAGogSCgCAEZyRQ0BIEcoAgAgKigCAEEBajYCGCCsAkEBNgIADAILCyD/AigCACCAAygCAEECdGogKigCADYCAAJAAkACQANAAkAgggMgggMoAgAiB0F/ajYCACAHRQ0AIB8oAgAgtAIoAgBNDQAg6AEgrwIoAgAgHygCACCvASgCAHFBA3RqNgIAILACKAIAIQcgsQIoAgAhCCAFILACKAIAILECKAIASQR/IAcFIAgLNgIAAkACQCCtAigCAEUNACAfKAIAIAUoAgBqIFkoAgBPDQAgsQEg5QEoAgAgHygCAGo2AgAgFigCACAFKAIAaiCxASgCACAFKAIAaiBIKAIAILICKAIAILMCKAIAEL0CIQcgBSAFKAIAIAdqNgIAIB8oAgAgBSgCAGogWSgCAEkNASCxASCuASgCACAfKAIAajYCAAwBCyCxASCuASgCACAfKAIAajYCACAWKAIAIAUoAgBqILEBKAIAIAUoAgBqIEgoAgAQvAIhByAFIAUoAgAgB2o2AgALIAUoAgAgeSgCAEsEQCAFKAIAILUCKAIAIB8oAgBrSwRAILUCIB8oAgAgBSgCAGo2AgALIHkgBSgCADYCACB4KAIAIDIoAgBBA3RqICooAgAgHygCAGtBAmo2AgAgeCgCACAyKAIAQQN0aiAFKAIANgIEIDIgMigCAEEBajYCACAFKAIAQYAgSw0BIBYoAgAgBSgCAGogSCgCAEYNAQsgHygCACEHILEBKAIAIAUoAgBqLQAAIBYoAgAgBSgCAGotAABIBEAg5gEoAgAgBzYCACCwAiAFKAIANgIAIB8oAgAggQMoAgBNDQMg5gEg6AEoAgBBBGo2AgAgHyDoASgCACgCBDYCAAUg5wEoAgAgBzYCACCxAiAFKAIANgIAIB8oAgAggQMoAgBNDQQg5wEg6AEoAgA2AgAgHyDoASgCACgCADYCAAsMAQsLDAILIOYBINMDNgIADAELIOcBINMDNgIACyDnASgCAEEANgIAIOYBKAIAQQA2AgAgRygCACC1AigCAEEIazYCGCCsAiAyKAIANgIACyCyASCsAigCADYCAAwECyB9KAIAIQcgfigCACEIILMBKAIAIQkgtAEoAgAhCiDrASgCACEMIOwBKAIAIRAg7QEoAgAhESDuASgCACESIEEgWygCADYCACCaASAHNgIAIBMgCDYCACBCIAk2AgAgjwIgCjYCACC3AyAMNgIAIJACIBA2AgAgaSARNgIAILgDIBI2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CyAHQUBrIR8gB0E8aiEgIAdBOGohFSAHQTRqIRYgB0EwaiEdIAdBLGohCiAHQShqISEgB0EkaiEiIAdBIGohDSAHQRxqIQ4gB0EYaiEXIAdBFGohIyAHQRBqIQYgB0EMaiEPIAdBCGohASAHQQRqIQggACATKAIANgIAA0AgACgCAARAIB8gBCgCACAAKAIAIAIoAgBxQQN0akEEajYCACAgIB8oAgAoAgA2AgAgCSgCACALKAIAIAAoAgAgECgCACAFKAIAIBwoAgAgHigCABCIAyAAICAoAgA2AgAgBSAFKAIAQQFqNgIADAELCyAVQQA2AgAgFkEANgIAIB0gCSgCACgCCDYCACAKIAkoAgAoAgw2AgAgISAdKAIAIAooAgBqNgIAICIgESgCACAKKAIAajYCACANIAQoAgAgAygCACACKAIAcUEDdGo2AgAgDiAEKAIAIAMoAgAgAigCAHFBA3RqQQRqNgIAIBcgAygCAEEJajYCACAGQQA2AgAgACAZKAIAIBooAgBBAnRqKAIANgIAIBkoAgAgGigCAEECdGogAygCADYCAAJAAkACQANAAkAgEiASKAIAIgVBf2o2AgAgBUUNACAAKAIAIBsoAgBNDQAgDyAEKAIAIAAoAgAgAigCAHFBA3RqNgIAIBUoAgAhBSAWKAIAIQsgASAVKAIAIBYoAgBJBH8gBQUgCws2AgACQAJAIB4oAgBFDQAgACgCACABKAIAaiAKKAIATw0AIAggHSgCACAAKAIAajYCACAMKAIAIAEoAgBqIAgoAgAgASgCAGogECgCACAhKAIAICIoAgAQvQIhBSABIAEoAgAgBWo2AgAgACgCACABKAIAaiAKKAIATwRAIAggESgCACAAKAIAajYCAAsMAQsgCCARKAIAIAAoAgBqNgIAIAwoAgAgASgCAGogCCgCACABKAIAaiAQKAIAELwCIQUgASABKAIAIAVqNgIACyABKAIAIAYoAgBLBEAgASgCACAXKAIAIAAoAgBrSwRAIBcgACgCACABKAIAajYCAAsgASgCACAGKAIAa0ECdCADKAIAIAAoAgBrQQFqENQBIBgoAgAoAgBBAWoQ1AFrSgRAIAYgASgCADYCACAYKAIAIAMoAgBBAmogACgCAGs2AgALIAwoAgAgASgCAGogECgCAEYNAQsgACgCACEFIAgoAgAg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ACEAIAUkBSAADwsgAigCAEUEQCAIKAIAQajqvmkQigIgAUEENgIACyAPLAAAIQIgBCgCACEHIAEgASgCACIIQQFqNgIAIAcgCGogAjoAACAKKAIARQRAIA4sAAAhAiAEKAIAIQcgASABKAIAIghBAWo2AgAgByAIaiACOgAACwJAAkACQAJAIAsoAgBBAWsOAwECAAMLIAQoAgAgASgCAGogCSgCABCKAiABIAEoAgBBBGo2AgAMAgsgBCgCACABKAIAaiAJKAIAOgAAIAEgASgCAEEBajYCAAwBCyAEKAIAIAEoAgBqIAkoAgBB//8DcRCaAiABIAEoAgBBAmo2AgALAkACQAJAAkACQCAMKAIAQQFrDgMBAgADCyAEKAIAIAEoAgBqIAApAwAQiwIgASABKAIAQQhqNgIADAMLIAQoAgAgASgCAGogACkDAEKAAn2nQf//A3EQmgIgASABKAIAQQJqNgIADAILIAQoAgAgASgCAGogACkDAKcQigIgASABKAIAQQRqNgIADAELIAooAgAEQCAAKQMAp0H/AXEhACAEKAIAIQIgASABKAIAIgRBAWo2AgAgAiAEaiAAOgAACwsgBiABKAIANgIAIAYoAgAhACAFJAUgAAuQCAEPfyMFIQYjBUHwAGokBSAGQcgAaiIHIAA2AgAgBkHEAGoiCiABNgIAIAZBQGsiDSACNgIAIAZBPGoiASADNgIAIAZBOGoiACAENgIAIAZBNGoiECAFNgIAIAZBMGoiAiAHKAIAKALoATYCACAGQSxqIgsgACgCADYCACAGQShqIgggASgCADYCACAGQSRqIg8gCigCADYCACAGQSBqIgQgDygCADYCACAGQRxqIhFBASAHKAIAKAJ4dDYCACAHKAIAKAKYAUEARyAAKAIAQQBHcQRAIAcoAgBBiAJqIAEoAgAgACgCABDrARoLIAZB0ABqIQogBkHMAGohBSAGQRhqIQEgBkEUaiESIAZBEGohEyAGQQxqIQ4gBkEIaiEDIAZBBGohFCAGIQACQAJAAkACQANAIAsoAgBFDQQgASAHKAIAQeADajYCACASIBAoAgAgAigCACALKAIAT3E2AgAgDSgCAEEGSQ0BIAsoAgAgAigCAEkEQCACIAsoAgA2AgALIAgoAgAgAigCAGohDCAKIAEoAgAiCSkCADcCACAKIAkpAgg3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KAIAIgYpAgA3AgAgAiAGKQIINwIIIAIgBikCEDcCECAhIAcgCiACEKkDNgIAICJBADYCACAoIAApAwAgDSgCABCqAzYCACADICEoAgA2AgADQCADKAIAICEoAgAgLygCAEEDdGpJBEACQCADKAIAKAIEICgoAgBGBEAgAygCACgCACAmKAIASwRAIBQoAgAEQCAlKAIAIQYgDygCACEHICkgAygCACgCACAOKAIASQR/IAYFIAcLNgIAICMgKSgCACADKAIAKAIAajYCACAnKAIAIQYgECgCACEHICogAygCACgCACAOKAIASQR/IAYFIAcLNgIAIDIoAgAhBiAZKAIAIQcgKyADKAIAKAIAIA4oAgBJBH8gBgUgBws2AgAgCyABKAIAICMoAgAgECgCACAqKAIAIBkoAgAQvQI2AgAgCygCACAMKAIASQ0DIBYgASgCACARKAIAICMoAgAgKygCABCrAzYCACAcIAsoAgAgFigCAGo2AgAFICQgDygCACADKAIAKAIAajYCACALIAEoAgAgJCgCACAQKAIAELwCNgIAIAsoAgAgDCgCAEkNAyAWIAEoAgAgESgCACAkKAIAIBkoAgAQqwM2AgAgHCALKAIAIBYoAgBqNgIACyAcKAIAICIoAgBLBEAgIiAcKAIANgIAICAgCygCADYCACAaIBYoAgA2AgAgGyADKAIANgIACwsLCyADIAMoAgBBCGo2AgAMAQsLIBsoAgBFBEAgCCgCACEHIAApAwAhNSANKAIAIQogHygCACEXIAIgCSgCACIGKQIANwIAIAIgBikCCDcCCCACIAYpAhA3AhAgByA1IAogFyACEKwDIAEgASgCAEEBajYCAAwBCyASICAoAgAgGigCAGo2AgAgASABKAIAIBooAgBrNgIAICwgGygCACgCADYCACAtIB8oAgAgLCgCAGs2AgAgHSATKAIAKAIAIBMoAgAoAghBDGxqNgIAIBMoAgAoAgggEygCACgCDEYNASAdKAIAIAEoAgAgESgCAGs2AgQgHSgCACASKAIANgIIIB0oAgAgLSgCADYCACATKAIAQQhqIgYgBigCAEEBajYCACAIKAIAIQcgACkDACE1IA0oAgAhCiAEKAIAIA8oAgBrIRcgAiAJKAIAIgYpAgA3AgAgAiAGKQIINwIIIAIgBikCEDcCECAHIDUgCiAXIAIQrAMgASgCACASKAIAaiAeKAIATQRAIAgoAgAhByAAKQMAITUgBCgCACEKIAEoAgAgEigCAGohFyAPKAIAITMgDSgCACE0IAIgCSgCACIGKQIANwIAIAIgBikCCDcCCCACIAYpAhA3AhAgACAHIDUgCiAXIDMgNCACEK0DNwMAIAQgASgCACASKAIAakF/ajYCAAsgASABKAIAIBIoAgBqNgIAIBEgASgCADYCAAwACwALIBhBun82AgAgGCgCACEAIAUkBSAADwsgGCAQKAIAIBEoAgBrNgIAIBgoAgAhACAFJAUgAAuKAQEDfyMFIQUjBUEgaiQFIAVBCGoiBCAANwMAIAVBEWoiBiABOgAAIAVBEGoiASACOgAAIAUgAzcDACAEIAQpAwAgBi0AAEEKaqwgBSkDAH59NwMAIAQgBCkDAELjyJW9y5vvjU9+NwMAIAQgBCkDACABLQAAQQpqrHw3AwAgBCkDACEAIAUkBSAAC5oBAgN/AX4jBSECIwVBIGokBSACQRBqIgMgADYCACACQQxqIgQgATYCACACIgBCADcDACAAQQhqIgFBADYCAANAIAApAwAhBSABKAIAIAQoAgBJBEAgACAFQuPIlb3Lm++NT343AwAgACAAKQMAIAMoAgAgASgCAGotAABBCmqsfDcDACABIAEoAgBBAWo2AgAMAQsLIAIkBSAFC6ABAQN/IwUhAyMFQSBqJAUgA0EQaiEEIAMgADcDACADQQxqIgUgATYCACADQQhqIgEgAjYCACADKQMAIQBBICAFKAIAayABKAIASQR/IAQgAEEBIAEoAgB0QQFrrYM+AgAgBCgCACEBIAMkBSABBSAEIABBICAFKAIAayABKAIAa62IQQEgASgCAHRBAWutgz4CACAEKAIAIQEgAyQFIAELC00BA38jBSECIwVBEGokBSACIgQgADcDACACQQhqIgMgATYCACADKAIARQRAIAIkBUEADwsgBCkDAEHAACADKAIAa62IpyEBIAIkBSABC0EBAn8jBSEDIwVBEGokBSADQQRqIgQgADYCACADIAE2AgAgBCgCACgCFCADKAIAIAIoAgh0QQN0aiEAIAMkBSAAC0EBAn8jBSECIwVBEGokBSACIAA3AwAgAkEIaiIDIAE2AgAgAikDAEEgIAMoAgBrrYhC/////w+DpyEBIAIkBSAB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CyAANgIAIAlBIGoiDCABNgIAIAlBHGoiASACNgIAIAlBGGoiDSADNgIAIAlBFGoiAiAENgIAIAkiACAGNwMAIAlBEGoiAyAHNgIAIAIoAgAEQCACKAIAKAIIQQBLBEAgCygCAEEMaiIBIAUpAgA3AgAgASAFKQIINwIIIAEgBSkCEDcCECABIAUpAhg3AhggASAFKQIgNwIgIAEgBSkCKDcCKCABIAUpAjA3AjAgASAFKQI4NwI4IAFBQGsgBUFAaykCADcCACABIAUpAkg3AkggASAFKQJQNwJQIAEgBSkCWDcCWCABIAUpAmA3AmAgCygCACEBIAIoAgAhAiAFKAIEIQQgACkDACEGIAMoAgAhACAIIAVBIGoiAykCADcCACAIIAMoAgg2AgggCiABIAIgBCAIIAYgABC2AzYCACAKKAIAIQAgCSQFIAAPCwsgCygCACECIAApAwAhBiADKAIAIQMgCCAFKQIANwIAIAggBSkCCDcCCCAIIAUpAhA3AhAgCCAFKQIYNwIYIAggBSkCIDcCICAIIAUpAig3AiggCCAFKQIwNwIwIAggBSkCODcCOCAIQUBrIAVBQGspAgA3AgAgCCAFKQJINwJIIAggBSkCUDcCUCAIIAUpAlg3AlggCCAFKQJgNwJgIAlBDGoiACACIAggBkEAIAMQzwI2AgAgACgCABDNAQRAIAogACgCADYCACAKKAIAIQAgCSQFIAAPCyAJQQhqIgAgCygCACgC2AMgCygCAEHgA2ogBSAMKAIAIAEoAgAgDSgCACALKAIAKALMBBCxAjYCACAAKAIAEMwBQQBHIQEgACgCACEAIAEEfyAKIAA2AgAgCigCACEAIAkkBSAABSALKAIAIAA2AtwBIApBADYCACAKKAIAIQAgCSQFIAALC80GAQV/IwUhBiMFQYACaiQFIAZBlAFqIgcgADYCACAGQZABaiIIIAE2AgAgBkGMAWoiCSACNgIAIAYiACAENwMAIABBiAFqIgogBTYCACAAQSBqIgEgBygCAEEMaiICKQIANwIAIAEgAikCCDcCCCABIAIpAhA3AhAgASACKQIYNwIYIAEgAikCIDcCICABIAIpAig3AiggASACKQIwNwIwIAEgAikCODcCOCABQUBrIAJBQGspAgA3AgAgASACKQJINwJIIAEgAikCUDcCUCABIAIpAlg3AlggASACKQJgNwJgIAFBBGoiAiAIKAIAQfAkaiIFKQIANwIAIAIgBSkCCDcCCCACIAUpAhA3AhAgAiAFKAIYNgIYIAkoAgAEQCABIAkoAgA2AgQLIAFBIGoiAiADKQIANwIAIAIgAygCCDYCCCAHKAIAIQIgACkDACEEIAooAgAhAyAGQZgBaiIAIAEpAgA3AgAgACABKQIINwIIIAAgASkCEDcCECAAIAEpAhg3AhggACABKQIgNwIgIAAgASkCKDcCKCAAIAEpAjA3AjAgACABKQI4NwI4IABBQGsgAUFAaykCADcCACAAIAEpAkg3AkggACABKQJQNwJQIAAgASkCWDcCWCAAIAEpAmA3AmAgAiAAIARBASADEM8CGiAGQRxqIgEgCCgCAEGIJWooAgBBAUYEf0EABUEBIAgoAgBB9CRqKAIAdAsiADYCACAGQRhqIgBBASAIKAIAQfgkaigCAHQ2AgAgBkEUaiICIAEoAgAgACgCAGpBAnQ2AgAgBygCACgChAQgCCgCACgCOCACKAIAEPQHGiAGQRBqIgBBASAHKAIAKAKABHQ2AgAgBygCACgCiARBACAAKAIAQQJ0EPYHGiAGQQxqIgAgCCgCAEEUajYCACAGQQhqIgEgBygCAEHgA2o2AgAgASgCACICIAAoAgAiAykCADcCACACIAMpAgg3AgggAiADKAIQNgIQIAEoAgAgACgCACgCGDYCGCABKAIAIAAoAgAoAhw2AhwgASgCACAAKAIAKAIUNgIUIAcoAgAgCCgCAEGYJWooAgA2AtwBIAcoAgAoAtgDIAgoAgBBgAFqQfAjEPQHGiAGJAVBAAv2AgECfyMFIQMjBUHwAGokBSADIAEpAgA3AgAgAyABKQIINwIIIAMgASkCEDcCECADIAEpAhg3AhggAyABKQIgNwIgIAMgASkCKDcCKCADIAEpAjA3AjAgAyABKQI4NwI4IANBQGsgAUFAaykCADcCACADIAEpAkg3AkggAyABKQJQNwJQIAMgASkCWDcCWCADIAEpAmA3AmAgA0EEaiIBIAIpAgA3AgAgASACKQIINwIIIAEgAikCEDcCECABIAIoAhg2AhggA0EgaiIEIAJBHGoiASkCADcCACAEIAEoAgg2AgggA0EDNgIsIAAgAykCADcCACAAIAMpAgg3AgggACADKQIQNwIQIAAgAykCGDcCGCAAIAMpAiA3AiAgACADKQIoNwIoIAAgAykCMDcCMCAAIAMpAjg3AjggAEFAayADQUBrKQIANwIAIAAgAykCSDcCSCAAIAMpAlA3AlAgACADKQJYNwJYIAAgAykCYDcCYCADJAUL1wEBAn8jBSEEIwVB4ABqJAUgBEHUAGoiBSABNgIAIAQgAjcDACAEQdAAaiIBIAM2AgAgBEEIaiIDIAUoAgAgBCkDACABKAIAEKgCIARBKGoiAUIANwIAIAFCADcCCCABQgA3AhAgAUIANwIYIAFCADcCICABIAMpAgA3AgAgASADKQIINwIIIAEgAykCEDcCECABIAMoAhg2AhggAUEBNgIcIAAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASkCGDcCGCAAIAEpAiA3AiAgBCQFC78CAQV/IwUhBSMFQSBqJAUgBUEcaiEGIAVBGGoiByAANgIAIAVBFGoiCCABNgIAIAVBEGoiCSACNgIAIAVBDGoiASADNgIAIAVBCGoiAiAENgIAIAUiACAHKAIAIAgoAgAgCSgCACABKAIAIAIoAgBBAUEBEI8DNgIAIAUoAgAQzAEEQCAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgBUEEaiIBIAcoAgAgCCgCACAAKAIAaiAJKAIAIAAoAgBrELoDNgIAIAEoAgAQzAEEQCAGIAEoAgA2AgAgBigCACEAIAUkBSAADwsgBygCACgClAEEQCAHKAIAKQPwASAHKAIAKQP4AUIBfFIEQCAGQbh/NgIAIAYoAgAhACAFJAUgAA8LCyAGIAAoAgAgASgCAGo2AgAgBigCACEAIAUkBSAAC5UFAQp/IwUhAyMFQZABaiQFIANBIGohBCADQRxqIgYgADYCACADQRhqIgggATYCACADQRRqIgcgAjYCACADQRBqIgogCCgCADYCACADQQxqIgUgCigCADYCACADQQhqIglBADYCACAGKAIAKAIARQRAIARBRDYCACAEKAIAIQAgAyQFIAAPCyADQShqIQEgA0EEaiELIAMhAAJAIAYoAgAoAgBBAUYEQCAIKAIAIQggBygCACEMIAEgBigCAEH0AGoiAikCADcCACABIAIpAgg3AgggASACKQIQNwIQIAEgAikCGDcCGCABIAIpAiA3AiAgASACKQIoNwIoIAEgAikCMDcCMCABIAIpAjg3AjggAUFAayACQUBrKQIANwIAIAEgAikCSDcCSCABIAIpAlA3AlAgASACKQJYNwJYIAEgAikCYDcCYCAJIAggDCABQgBBABCQAzYCACAJKAIAEMwBQQBHIQIgCSgCACEBIAJFBEAgByAHKAIAIAFrNgIAIAUgBSgCACAJKAIAajYCACAGKAIAQQI2AgAMAgsgBCABNgIAIAQoAgAhACADJAUgAA8LCwJAIAYoAgAoAgBBA0cEQCALQQE2AgAgBygCAEEETwRAIAUoAgBBARCKAiAFIAUoAgBBA2o2AgAgByAHKAIAQQNrNgIADAILIARBun82AgAgBCgCACEAIAMkBSAADwsLAkAgBigCACgCmAEEQCAAIAYoAgBBiAJqEOwBPgIAIAcoAgBBBE8EQCAFKAIAIAAoAgAQigIgBSAFKAIAQQRqNgIADAILIARBun82AgAgBCgCACEAIAMkBSAADwsLIAYoAgBBADYCACAEIAUoAgAgCigCAGs2AgAgBCgCACEAIAMkBSAAC4IDAgZ/AX4jBSEIIwVBkAFqJAUgCEEgaiEJIAhBHGoiCiAANgIAIAhBGGoiCyABNgIAIAhBFGoiDCACNgIAIAhBEGoiDSADNgIAIAhBDGoiAiAENgIAIAhBCGoiACAFNgIAIAhBBGoiASAGNgIAIAooAgAhAyAAKAIAIQQgASgCACEFIAIoAgCtIQ4gCEEoaiIBIAcpAgA3AgAgASAHKQIINwIIIAEgBykCEDcCECABIAcpAhg3AhggASAHKQIgNwIgIAEgBykCKDcCKCABIAcpAjA3AjAgASAHKQI4NwI4IAFBQGsgB0FAaykCADcCACABIAcpAkg3AkggASAHKQJQNwJQIAEgBykCWDcCWCABIAcpAmA3AmAgCCIAIAMgBCAFQQBBACABIA5BABC1AzYCACAIKAIAEM0BBH8gCSAAKAIANgIAIAkoAgAhACAIJAUgAAUgCSAKKAIAIAsoAgAgDCgCACANKAIAIAIoAgAQuQM2AgAgCSgCACEAIAgkBSAACwvzBAEKfyMFIQsjBUGQA2okBSALQaACaiEJIAtBsAFqIQogCyIIQZgCaiINIAA2AgAgCEGoAWoiECABNgIAIAhBpAFqIhEgAjYCACAIQaABaiICIAM2AgAgCEGcAWoiDCAENgIAIAhBmAFqIg4gBTYCACAIQZQBaiIPIAY2AgAgCEGQAWoiAyAHNgIAIAwoAgAhASAPKAIAIQAgCEHoAGoiBCADKAIAIAwoAgAEfyABBUEBC60gDigCAAR/IAAFQQALELgDIAogDSgCAEEMaiIAKQIANwIAIAogACkCCDcCCCAKIAApAhA3AhAgCiAAKQIYNwIYIAogACkCIDcCICAKIAApAig3AiggCiAAKQIwNwIwIAogACkCODcCOCAKQUBrIABBQGspAgA3AgAgCiAAKQJINwJIIAogACkCUDcCUCAKIAApAlg3AlggCiAAKQJgNwJgIAkgBCkCADcCACAJIAQpAgg3AgggCSAEKQIQNwIQIAkgBCkCGDcCGCAJIAQpAiA3AiAgCCAKIAkQtwMgCEHoByADKAIAQQBOEKsCGiANKAIAIQYgECgCACEFIBEoAgAhBCACKAIAIQMgDCgCACECIA4oAgAhASAPKAIAIQAgCSAIKQIANwIAIAkgCCkCCDcCCCAJIAgpAhA3AhAgCSAIKQIYNwIYIAkgCCkCIDcCICAJIAgpAig3AiggCSAIKQIwNwIwIAkgCCkCODcCOCAJQUBrIAhBQGspAgA3AgAgCSAIKQJINwJIIAkgCCkCUDcCUCAJIAgpAlg3AlggCSAIKQJgNwJgIAYgBSAEIAMgAiABIAAgCRC7AyEAIAskBSAAC38BAn8jBSEGIwVBIGokBSAGQRRqIgcgADYCACAGQRBqIgAgATYCACAGQQxqIgEgAjYCACAGQQhqIgIgAzYCACAGQQRqIgMgBDYCACAGIAU2AgAgBygCACAAKAIAIAEoAgAgAigCACADKAIAQQBBACAGKAIAELwDIQAgBiQFIAAL3QEBAn8jBSEFIwVBwAVqJAUgBUGkBWoiBiAANgIAIAVBoAVqIgAgATYCACAFQZwFaiIBIAI2AgAgBUGYBWoiAiADNgIAIAVBlAVqIgMgBDYCACAFQQBBkAUQ9gcaIAVB4AJqIgRB6LABKQIANwIAIARB8LABKAIANgIIIAVBkAVqIgQgBSAGKAIAIAAoAgAgASgCACACKAIAIAMoAgAQvQM2AgAgBSgC4AEhASAFQagFaiIAQeiwASkCADcCACAAQfCwASgCADYCCCABIAAQ7wEgBCgCACEAIAUkBSAAC7UBAQJ/IwUhAyMFQdAAaiQFIANBJGoiBCAANgIAIANBIGoiACABNgIAIANBHGoiASACNgIAIAMgASgCAEIAIAAoAgAQqAIgBCgCACECIAAoAgAhBCADQShqIgAgAykCADcCACAAIAMpAgg3AgggACADKQIQNwIQIAAgAygCGDYCGCADQcQAaiIBQeiwASkCADcCACABQfCwASgCADYCCCACIARBAEEAIAAgARCsAiEAIAMkBSAAC0sBAX8jBSECIwVBEGokBSACIAE2AgAgACACKAIAQfAkaiIBKQIANwIAIAAgASkCCDcCCCAAIAEpAhA3AhAgACABKAIYNgIYIAIkBQuNBQEIfyMFIQUjBUGQAmokBSAFQaABaiEHIAVBnAFqIgsgADYCACAFQZgBaiIIIAE2AgAgBSIAIAM3AwAgCCgCAEUEQCAHQWA2AgAgBygCACEAIAUkBSAADwsgBUEMaiEGIAVBCGohCSAFQTBqIgEgCygCAEEMaiIEKQIANwIAIAEgBCkCCDcCCCABIAQpAhA3AhAgASAEKQIYNwIYIAEgBCkCIDcCICABIAQpAig3AiggASAEKQIwNwIwIAEgBCkCODcCOCABQUBrIARBQGspAgA3AgAgASAEKQJINwJIIAEgBCkCUDcCUCABIAQpAlg3AlggASAEKQJgNwJgIAVBEGoiBCAIKAIAEMADIAFBBGoiCiAEKQIANwIAIAogBCkCCDcCCCAKIAQpAhA3AhAgCiAEKAIYNgIYIAApAwBCf1IEQCAAKQMAIQMgBiAAKQMAQoCAIFQEfiADBUKAgCALPgIAIAkgBigCAEEBSwR/IAYoAgBBAWsQ1AFBAWoFQQELIgQ2AgAgASgCBCEEIAkoAgAhBiABIAEoAgQgCSgCAEsEfyAEBSAGCzYCBAsgAUEgaiIEIAIpAgA3AgAgBCACKAIINgIIIAsoAgAhAiAIKAIAIQQgACkDACEDIAVBqAFqIgAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASkCGDcCGCAAIAEpAiA3AiAgACABKQIoNwIoIAAgASkCMDcCMCAAIAEpAjg3AjggAEFAayABQUBrKQIANwIAIAAgASkCSDcCSCAAIAEpAlA3AlAgACABKQJYNwJYIAAgASkCYDcCYCAHIAJBAEEAQQAgBCAAIANBABC1AzYCACAHKAIAIQAgBSQFIAAL8gECBn8BfiMFIQcjBUEwaiQFIAdBHGohCCAHQRhqIgkgADYCACAHQRRqIgogATYCACAHQRBqIgsgAjYCACAHQQxqIgwgAzYCACAHQQhqIgEgBDYCACAHQQRqIgAgBTYCACAJKAIAIQMgACgCACEEIAEoAgCtIQ0gB0EgaiICIAYpAgA3AgAgAiAGKAIINgIIIAciACADIAQgAiANEMEDNgIAIAcoAgAQzQEEfyAIIAAoAgA2AgAgCCgCACEAIAckBSAABSAIIAkoAgAgCigCACALKAIAIAwoAgAgASgCABC5AzYCACAIKAIAIQAgByQFIAALC7IBAQJ/IwUhBiMFQTBqJAUgBkEUaiIHIAA2AgAgBkEQaiIAIAE2AgAgBkEMaiIBIAI2AgAgBkEIaiICIAM2AgAgBkEEaiIDIAQ2AgAgBiAFNgIAIAcoAgAhBCAAKAIAIQUgASgCACEBIAIoAgAhAiADKAIAIQMgBigCACEHIAZBGGoiAEGE5QApAgA3AgAgAEGM5QAoAgA2AgggBCAFIAEgAiADIAcgABDCAyEAIAYkBSAACzQBAn8jBSEAIwVBEGokBSAAQeiwASkCADcCACAAQfCwASgCADYCCCAAEMUDIQEgACQFIAELMAEBfyMFIQEjBUEQaiQFIAEgACkCADcCACABIAAoAgg2AgggARCkAiEAIAEkBSAACyYBAX8jBSEBIwVBEGokBSABIAA2AgAgASgCABCmAiEAIAEkBSAAC8wDAQZ/IwUhByMFQZABaiQFIAdBIGohCSAHQRxqIgggADYCACAHQRhqIgogATYCACAHQRRqIgEgAjYCACAHQRBqIgIgAzYCACAHQQxqIgMgBDYCACAHIgAgBjcDACAIKAIAIQQgCigCACEKIAEoAgAhCyACKAIAIQwgAygCACEDIAcpAwAhBiAHQShqIgEgBSkCADcCACABIAUpAgg3AgggASAFKQIQNwIQIAEgBSkCGDcCGCABIAUpAiA3AiAgASAFKQIoNwIoIAEgBSkCMDcCMCABIAUpAjg3AjggAUFAayAFQUBrKQIANwIAIAEgBSkCSDcCSCABIAUpAlA3AlAgASAFKQJYNwJYIAEgBSkCYDcCYCAHQQhqIgIgBCAKIAsgDCADIAEgBkEBELUDNgIAIAIoAgAQzQEEfyAJIAIoAgA2AgAgCSgCACEAIAckBSAABSAIKAIAQQA2AtgEIAgoAgBBADYC3AQgCCgCACAIKAIAKALoASAIKAIAKALoAa0gACkDAFFqNgLgBCAIKAIAQQA2AvAEIAgoAgBBADYC7AQgCCgCAEEBNgL0BCAIKAIAQQA2AvgEIAlBADYCACAJKAIAIQAgByQFIAALC/0EAQd/IwUhByMFQcABaiQFIAdB2ABqIQYgB0E0aiELIAdB0ABqIQkgB0EIaiEMIAdBMGoiCCAANgIAIAdBLGoiCiABNgIAIAdBKGoiASACNgIAIAdBJGoiAiADNgIAIAciACAFNwMAIAooAgBBAEcgASgCAEEIT3EEQCAIKAIAKALsAgRAIAlBQDYCACAJKAIAIQAgByQFIAAPCyAIKAIAKAL8BBCnAhogCigCACECIAEoAgAhASAIKAIAQeACaiEDIAsgBEEEaiIKKQIANwIAIAsgCikCCDcCCCALIAopAhA3AhAgCyAKKAIYNgIYIAYgAykCADcCACAGIAMoAgg2AgggAiABQQBBACALIAYQrAIhASAIKAIAIAE2AvwEIAgoAgAgCCgCACgC/AQ2AoAFIAgoAgAoAvwERQRAIAlBQDYCACAJKAIAIQAgByQFIAAPCwUgAigCAARAIAwgAigCABDAAyAEQQRqIgEgDCkCADcCACABIAwpAgg3AgggASAMKQIQNwIQIAEgDCgCGDYCGAsgCCgCACgC/AQQpwIaIAgoAgBBADYC/AQgCCgCACACKAIANgKABQsgCCgCACECIAgoAgAoAoAFIQEgACkDACEFIAYgBCkCADcCACAGIAQpAgg3AgggBiAEKQIQNwIQIAYgBCkCGDcCGCAGIAQpAiA3AiAgBiAEKQIoNwIoIAYgBCkCMDcCMCAGIAQpAjg3AjggBkFAayAEQUBrKQIANwIAIAYgBCkCSDcCSCAGIAQpAlA3AlAgBiAEKQJYNwJYIAYgBCkCYDcCYCAJIAJBAEEAQQAgASAGIAUQxwM2AgAgCSgCACEAIAckBSAAC4wEAQd/IwUhBiMFQZACaiQFIAZBoAFqIQUgBkGYAWohCCAGQShqIQQgBkEIaiEHIAZBlAFqIgogADYCACAGQZABaiIJIAE2AgAgBiIAIAM3AwAgCSgCAAR/IAQgCigCAEEMaiIBKQIANwIAIAQgASkCCDcCCCAEIAEpAhA3AhAgBCABKQIYNwIYIAQgASkCIDcCICAEIAEpAig3AiggBCABKQIwNwIwIAQgASkCODcCOCAEQUBrIAFBQGspAgA3AgAgBCABKQJINwJIIAQgASkCUDcCUCAEIAEpAlg3AlggBCABKQJgNwJgIAcgCSgCABDAAyAEQQRqIgEgBykCADcCACABIAcpAgg3AgggASAHKQIQNwIQIAEgBygCGDYCGCAEQSBqIgEgAikCADcCACABIAIoAgg2AgggCigCACEBIAkoAgAhAiAAKQMAIQMgBSAEKQIANwIAIAUgBCkCCDcCCCAFIAQpAhA3AhAgBSAEKQIYNwIYIAUgBCkCIDcCICAFIAQpAig3AiggBSAEKQIwNwIwIAUgBCkCODcCOCAFQUBrIARBQGspAgA3AgAgBSAEKQJINwJIIAUgBCkCUDcCUCAFIAQpAlg3AlggBSAEKQJgNwJgIAggAUEAQQAgAiAFIAMQyAM2AgAgCCgCACEAIAYkBSAABSAIQWA2AgAgCCgCACEAIAYkBSAACwtgAQJ/IwUhAiMFQSBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAMoAgAhASACKAIAIQMgAkEIaiIAQfSwASkCADcCACAAQfywASgCADYCCCABIAMgAEJ/EMkDIQAgAiQFIAAL/AMBB38jBSEGIwVBgANqJAUgBkGYAmohAyAGQagBaiEEIAZB+ABqIQcgBkEQaiEFIAZBkAJqIgggADYCACAGQaABaiIJIAE2AgAgBkEIaiIBIAI3AwAgASkDACECIAYiACABKQMAQgBRBH5CfwUgAgs3AwAgByAJKAIAIAApAwBBABC4AyAEIAgoAgBBDGoiASkCADcCACAEIAEpAgg3AgggBCABKQIQNwIQIAQgASkCGDcCGCAEIAEpAiA3AiAgBCABKQIoNwIoIAQgASkCMDcCMCAEIAEpAjg3AjggBEFAayABQUBrKQIANwIAIAQgASkCSDcCSCAEIAEpAlA3AlAgBCABKQJYNwJYIAQgASkCYDcCYCADIAcpAgA3AgAgAyAHKQIINwIIIAMgBykCEDcCECADIAcpAhg3AhggAyAHKQIgNwIgIAUgBCADELcDIAgoAgAhASAAKQMAIQIgAyAFKQIANwIAIAMgBSkCCDcCCCADIAUpAhA3AhAgAyAFKQIYNwIYIAMgBSkCIDcCICADIAUpAig3AiggAyAFKQIwNwIwIAMgBSkCODcCOCADQUBrIAVBQGspAgA3AgAgAyAFKQJINwJIIAMgBSkCUDcCUCADIAUpAlg3AlggAyAFKQJgNwJgIAFBAEEAQQAgAyACEMgDIQAgBiQFIAALOQECfyMFIQIjBUEQaiQFIAJBBGoiAyAANgIAIAIgATYCACADKAIAIAIoAgBCfxDLAyEAIAIkBSAAC50MARl/IwUhBSMFQeAAaiQFIAVB2ABqIQcgBUEoaiEIIAVBJGohGCAFQSBqIRIgBUEcaiEJIAVBGGohCiAFQRRqIRMgBUEQaiELIAVBDGohFCAFQQhqIRUgBUEEaiEMIAUhDSAFQdQAaiIEIAA2AgAgBUHQAGoiDiABNgIAIAVBzABqIg8gAjYCACAFQcgAaiIQIAM2AgAgBUHEAGoiFiAPKAIAKAIANgIAIAVBQGsiAyAWKAIAIA8oAgAoAgRqNgIAIAVBPGoiASAWKAIAIA8oAgAoAghqNgIAIAVBOGoiFyAOKAIAKAIANgIAIAVBNGoiESAXKAIAIA4oAgAoAgRqNgIAIAVBMGoiACAXKAIAIA4oAgAoAghqNgIAIAVBLGoiAkEBNgIAAkACQAJAAkADQCACKAIARQ0EAkACQAJAAkACQAJAIAQoAgAoAvQEDgMAAQIDCwwGCyAQKAIAQQJGBEAgESgCACAAKAIAayADKAIAIAEoAgBrEKICTwRAIAQoAgAoAtwERQRAIAggBCgCACAAKAIAIBEoAgAgACgCAGsgASgCACADKAIAIAEoAgBrELkDNgIAIAgoAgAQzAENCSABIAMoAgA2AgAgACAAKAIAIAgoAgBqNgIAIAQoAgBBATYC+AQgBCgCABDMAiACQQA2AgAMBgsLCyAYIAQoAgAoAuAEIAQoAgAoAtwEazYCACASIAQoAgAoAtAEIAQoAgAoAtwEaiAYKAIAIAEoAgAgAygCACABKAIAaxDOAzYCACAEKAIAQdwEaiIGIAYoAgAgEigCAGo2AgAgASABKAIAIBIoAgBqNgIAIBAoAgBFBEAgBCgCACgC3AQgBCgCACgC4ARJBEAgAkEANgIADAULCyAQKAIAQQFGBEAgBCgCACgC3AQgBCgCACgC2ARGBEAgAkEANgIADAULCyATIAQoAgAoAtwEIAQoAgAoAtgEazYCACALIBEoAgAgACgCAGs2AgAgFCAQKAIAQQJGBH8gASgCACADKAIARgVBAAsiBkEBcTYCACALKAIAIBMoAgAQogJPBEAgCSAAKAIANgIABSAJIAQoAgAoAuQENgIAIAsgBCgCACgC6AQ2AgALIAQoAgAhBiAJKAIAIRkgCygCACEaIAQoAgAoAtAEIAQoAgAoAtgEaiEbIBMoAgAhHCAKIBQoAgAEfyAGIBkgGiAbIBwQuQMFIAYgGSAaIBsgHBCOAwsiBjYCACAKKAIAEMwBDQcgBCgCACAUKAIANgL4BCAEKAIAIAQoAgAoAtwEIAQoAgAoAugBajYC4AQgBCgCACgC4AQgBCgCACgC1ARLBEAgBCgCAEEANgLcBCAEKAIAIAQoAgAoAugBNgLgBAsgBCgCACAEKAIAKALcBDYC2AQgCigCACEGIAkoAgAgACgCAEcEQCAEKAIAIAY2AuwEIAQoAgBBADYC8AQgBCgCAEECNgL0BAwDCyAAIAAoAgAgBmo2AgAgBCgCACgC+AQEQCACQQA2AgAgBCgCABDMAgsMAwsMAQsMAQsgFSAEKAIAKALsBCAEKAIAKALwBGs2AgAgDCAAKAIAIBEoAgAgACgCAGsgBCgCACgC5AQgBCgCACgC8ARqIBUoAgAQzgM2AgAgACAAKAIAIAwoAgBqNgIAIAQoAgBB8ARqIgYgBigCACAMKAIAajYCACAVKAIAIAwoAgBHBEAgAkEANgIADAELIAQoAgBBADYC8AQgBCgCAEEANgLsBCAEKAIAKAL4BARAIAJBADYCACAEKAIAEMwCBSAEKAIAQQE2AvQECwsMAAsACyAHQUI2AgAgBygCACEAIAUkBSAADwsgByAIKAIANgIAIAcoAgAhACAFJAUgAA8LIAcgCigCADYCACAHKAIAIQAgBSQFIAAPCyAPKAIAIAEoAgAgFigCAGs2AgggDigCACAAKAIAIBcoAgBrNgIIIAQoAgAoAvgEBEAgB0EANgIAIAcoAgAhACAFJAUgAA8LIA0gBCgCACgC4AQgBCgCACgC3ARrNgIAIA0oAgBFBEAgDSAEKAIAKALoATYCAAsgByANKAIANgIAIAcoAgAhACAFJAUgAAueAQEEfyMFIQQjBUEgaiQFIARBEGoiBiAANgIAIARBDGoiBSABNgIAIARBCGoiByACNgIAIARBBGoiASADNgIAIAUoAgAhAiABKAIAIQMgBCIAIAUoAgAgASgCAEkEfyACBSADCzYCACAAKAIARQRAIAAoAgAhACAEJAUgAA8LIAYoAgAgBygCACAAKAIAEPQHGiAAKAIAIQAgBCQFIAALrwEBBH8jBSEDIwVBEGokBSADQQxqIQQgA0EIaiIGIAA2AgAgA0EEaiIFIAE2AgAgAyIAIAI2AgAgBSgCACgCCCAFKAIAKAIESwRAIARBfzYCACAEKAIAIQAgAyQFIAAPCyAAKAIAKAIIIAAoAgAoAgRLBH8gBEF/NgIAIAQoAgAhACADJAUgAAUgBCAGKAIAIAUoAgAgACgCAEEAEM0DNgIAIAQoAgAhACADJAUgAAsLpQIBBH8jBSECIwVBMGokBSACQSRqIQMgAkEgaiIEIAA2AgAgAkEcaiIAIAE2AgAgAkEQaiIBQgA3AgAgAUEANgIIIAAoAgAoAgggACgCACgCBEsEQCADQX82AgAgAygCACEAIAIkBSAADwsgAkEMaiIFIAQoAgAgACgCACABQQIQzQM2AgAgBSgCABDNAQRAIAMgBSgCADYCACADKAIAIQAgAiQFIAAPCyACQQhqIgEgBCgCACgC+AQEf0EABUEDCzYCACACQQRqIgUgBCgCACgC+AQEf0EABSAEKAIAKAKYAUECdAsiADYCACACIAQoAgAoAuwEIAQoAgAoAvAEayABKAIAaiAFKAIAajYCACADIAIoAgA2AgAgAygCACEAIAIkBSAAC80GAQt/IwUhBSMFQeAAaiQFIAVB0ABqIQYgBUHMAGoiByAANgIAIAVByABqIgggATYCACAFQcQAaiIJIAI2AgAgBUFAayICIAM2AgAgBUE8aiIDIAQ2AgAgBUE4aiIKQQA2AgAgBUE0aiIMQQA2AgAgBUEsaiIAIAcoAgBBBGo2AgAgBUEoaiIPIAAoAgA2AgAgBUEcaiIAQQA2AgAgBUEkaiIBIAIoAgAgACgCAEECdGo2AgAgACAAKAIAQRBqNgIAIAVBIGoiDSACKAIAIAAoAgBBAnRqNgIAIAAgACgCAEFAazYCACAAKAIAQQJ0IAMoAgBLBEAgBkFUNgIAIAYoAgAhACAFJAUgAA8LIAVBMGoiCyANKAIAQYACIAEoAgAgDCAKIAgoAgAgCSgCABDSATYCACALKAIAEM0BBEAgBiALKAIANgIAIAYoAgAhACAFJAUgAA8LIAVB2ABqIgQgBygCABDSAyAKKAIAIAQtAABBAWpLBEAgBkFUNgIAIAYoAgAhACAFJAUgAA8LIAVBEGohDiAFQQxqIQIgBUEIaiEDIAVBBGohCCAFIQAgBUHUAGohCSAEQQA6AAEgBCAKKAIAOgACIAcoAgAgBCgAADYAACAFQRRqIgdBADYCACAFQRhqIgRBATYCAANAIAQoAgAgCigCAEEBakkEQCAOIAcoAgA2AgAgByAHKAIAIAEoAgAgBCgCAEECdGooAgAgBCgCAEEBa3RqNgIAIAEoAgAgBCgCAEECdGogDigCADYCACAEIAQoAgBBAWo2AgAMAQsLIAJBADYCAANAIAIoAgAgDCgCAEkEQCADIA0oAgAgAigCAGotAAA2AgAgCEEBIAMoAgB0QQF1NgIAIAkgAigCADoAACAJIAooAgBBAWogAygCAGs6AAEgACABKAIAIAMoAgBBAnRqKAIANgIAA0AgACgCACABKAIAIAMoAgBBAnRqKAIAIAgoAgBqSQRAIA8oAgAgACgCAEEBdGogCS4AADsAACAAIAAoAgBBAWo2AgAMAQsLIAEoAgAgAygCAEECdGoiBCAEKAIAIAgoAgBqNgIAIAIgAigCAEEBajYCAAwBCwsgBiALKAIANgIAIAYoAgAhACAFJAUgAAs2AQF/IwUhAiMFQRBqJAUgAiABNgIAIAJBBGoiASACKAIAKAAANgAAIAAgASgAADYAACACJAULwwEBBX8jBSEGIwVBIGokBSAGQRhqIQcgBkEUaiIIIAA2AgAgBkEQaiIJIAE2AgAgBkEMaiIKIAI2AgAgBkEIaiIBIAM2AgAgBkEEaiIAIAQ2AgAgBiAFNgIAIAgoAgAhBCAJKAIAIQMgCigCACECIAEoAgAhASAAKAIAIQAgBigCAAR/IAcgBCADIAIgASAAENQDNgIAIAcoAgAhACAGJAUgAAUgByAEIAMgAiABIAAQ1AM2AgAgBygCACEAIAYkBSAACwvuCQEafyMFIQUjBUHgAWokBSAFQdQAaiENIAVBEGoiByAANgIAIAVBDGoiACABNgIAIAVBCGoiASACNgIAIAVBBGoiAiADNgIAIAUgBDYCACAAKAIAIQAgASgCACEBIAIoAgAhAiAFKAIAIQMgBUHQAGoiBCAHKAIANgIAIAVBzABqIhUgADYCACAFQcgAaiIHIAE2AgAgBUHEAGoiDiACNgIAIAVBQGsiACADNgIAIAVBPGoiASAEKAIANgIAIAVBOGoiAiABKAIAIBUoAgBqNgIAIAVBNGoiAyAAKAIAQQRqNgIAIAVBMGoiDyADKAIANgIAIAVB0AFqIgMgACgCABDSAyAFQRhqIgYgAy0AAjYCACAFQRRqIgAgBUEcaiIWIAcoAgAgDigCABDXATYCACAAKAIAEM0BBEAgDSAAKAIANgIAIA0oAgAhACAFJAUgAA8LIAVBzAFqIQQgBUHIAWohByAFQcQBaiEXIAVBwAFqIQ4gBUHZAWohGCAFQbwBaiEIIAVBuAFqIQkgBUG0AWohGSAFQbABaiEQIAVB2AFqIRogBUGsAWohCiAFQagBaiELIAVBpAFqIRsgBUGgAWohESAFQdcBaiEcIAVBjAFqIRIgBUGIAWohEyAFQYQBaiEdIAVBgAFqIRQgBUHVAWohHiACKAIAIQIgDygCACEDIAYoAgAhBiAFQewAaiIAIAEoAgA2AgAgBUHoAGoiASAWNgIAIAVB5ABqIg8gAjYCACAFQeAAaiICIAM2AgAgBUHcAGoiAyAGNgIAIAUgACgCADYCWANAIAEoAgAQ2QFFIAAoAgAgDygCAEF9aklxBEAgAigCACEGIAMoAgAhDCASIAEoAgA2AgAgEyAGNgIAIB0gDDYCACAUIBIoAgAgHSgCABDgATYCACAeIBMoAgAgFCgCAEEBdGosAAA6AAAgEigCACATKAIAIBQoAgBBAXRqLQABEN4BIB4sAAAhBiAAIAAoAgAiDEEBajYCACAMIAY6AAAgAigCACEGIAMoAgAhDCAKIAEoAgA2AgAgCyAGNgIAIBsgDDYCACARIAooAgAgGygCABDgATYCACAcIAsoAgAgESgCAEEBdGosAAA6AAAgCigCACALKAIAIBEoAgBBAXRqLQABEN4BIBwsAAAhBiAAIAAoAgAiDEEBajYCACAMIAY6AAAMAQsLAkADQCABKAIAENkBRSAAKAIAIA8oAgBJcUUNASACKAIAIQogAygCACELIAggASgCADYCACAJIAo2AgAgGSALNgIAIBAgCCgCACAZKAIAEOABNgIAIBogCSgCACAQKAIAQQF0aiwAADoAACAIKAIAIAkoAgAgECgCAEEBdGotAAEQ3gEgGiwAACEKIAAgACgCACILQQFqNgIAIAsgCjoAAAwACwALA0AgACgCACAPKAIASQRAIAIoAgAhCCADKAIAIQkgBCABKAIANgIAIAcgCDYCACAXIAk2AgAgDiAEKAIAIBcoAgAQ4AE2AgAgGCAHKAIAIA4oAgBBAXRqLAAAOgAAIAQoAgAgBygCACAOKAIAQQF0ai0AARDeASAYLAAAIQggACAAKAIAIglBAWo2AgAgCSAIOgAADAELCyAWENUDBH8gDSAVKAIANgIAIA0oAgAhACAFJAUgAAUgDUFsNgIAIA0oAgAhACAFJAUgAAsLRgECfyMFIQEjBUEQaiQFIAEiAiAANgIAIAEoAgAoAgggASgCACgCDEcEQCABJAVBAA8LIAIoAgAoAgRBIEYhACABJAUgAAvDAQEFfyMFIQYjBUEgaiQFIAZBGGohByAGQRRqIgggADYCACAGQRBqIgkgATYCACAGQQxqIgogAjYCACAGQQhqIgEgAzYCACAGQQRqIgAgBDYCACAGIAU2AgAgCCgCACEEIAkoAgAhAyAKKAIAIQIgASgCACEBIAAoAgAhACAGKAIABH8gByAEIAMgAiABIAAQ1wM2AgAgBygCACEAIAYkBSAABSAHIAQgAyACIAEgABDXAzYCACAHKAIAIQAgBiQFIAALC4cwAXR/IwUhBSMFQYAIaiQFIAVB6AFqIQogBUEQaiIGIAA2AgAgBUEMaiIAIAE2AgAgBUEIaiIBIAI2AgAgBUEEaiICIAM2AgAgBSAENgIAIAAoAgAhACABKAIAIQEgAigCACEDIAUoAgAhBCAFQeQBaiIJIAYoAgA2AgAgBUHgAWoiOSAANgIAIAVB3AFqIgAgATYCACAFQdgBaiICIAM2AgAgBUHUAWoiDSAENgIAIAIoAgBBCkkEQCAKQWw2AgAgCigCACEAIAUkBSAADwsgBUHQAWoiASAAKAIANgIAIAVBzAFqIgMgCSgCADYCACAFQcgBaiJUIAMoAgAgOSgCAGo2AgAgBUHEAWoiBCANKAIAQQRqNgIAIAVBwAFqIgAgBCgCADYCACAFQewAaiIEIAEoAgAQ2ANB//8DcTYCACAFQegAaiILIAEoAgBBAmoQ2ANB//8DcTYCACAFQeQAaiIMIAEoAgBBBGoQ2ANB//8DcTYCACAFQeAAaiIOIAIoAgAgBCgCACALKAIAaiAMKAIAakEGams2AgAgBUHcAGoiFiABKAIAQQZqNgIAIAVB2ABqIhcgFigCACAEKAIAajYCACAFQdQAaiIYIBcoAgAgCygCAGo2AgAgBUHQAGoiDyAYKAIAIAwoAgBqNgIAIAVBzABqIgEgOSgCAEEDakEEbjYCACAFQcgAaiIGIAMoAgAgASgCAGo2AgAgBUHEAGoiOCAGKAIAIAEoAgBqNgIAIAVBQGsiOiA4KAIAIAEoAgBqNgIAIAVBPGoiCSADKAIANgIAIAVBOGoiJiAGKAIANgIAIAVBNGoiJyA4KAIANgIAIAVBMGoiKCA6KAIANgIAIAVBLGoiKUEANgIAIAVBzAdqIgMgDSgCABDSAyAFQShqIgEgAy0AAjYCACAOKAIAIAIoAgBLBEAgCkFsNgIAIAooAgAhACAFJAUgAA8LIAVBJGoiAiAFQawBaiIqIBYoAgAgBCgCABDXATYCACACKAIAEM0BBEAgCiACKAIANgIAIAooAgAhACAFJAUgAA8LIAVBIGoiAiAFQZgBaiIWIBcoAgAgCygCABDXATYCACACKAIAEM0BBEAgCiACKAIANgIAIAooAgAhACAFJAUgAA8LIAVBHGoiAiAFQYQBaiIXIBgoAgAgDCgCABDXATYCACACKAIAEM0BBEAgCiACKAIANgIAIAooAgAhACAFJAUgAA8LIAVBGGoiAiAFQfAAaiIYIA8oAgAgDigCABDXATYCACACKAIAEM0BBEAgCiACKAIANgIAIAooAgAhACAFJAUgAA8LIAVB6ANqIQIgBUHkA2ohAyAFQeADaiErIAVB3ANqIQQgBUHfB2ohHSAFQdgDaiELIAVB1ANqIQwgBUHQA2ohHiAFQcwDaiENIAVB3gdqIR8gBUHIA2ohDiAFQcQDaiEPIAVBwANqISwgBUG8A2ohGSAFQd0HaiEtIAVBuANqIRogBUG0A2ohGyAFQbADaiEuIAVBrANqIRwgBUHcB2ohLyAFQegCaiEgIAVB5AJqISEgBUHgAmohMCAFQdwCaiEQIAVB1wdqITEgBUHYAmohESAFQdQCaiESIAVB0AJqITIgBUHMAmohIiAFQdYHaiEzIAVByAJqISMgBUHEAmohJCAFQcACaiE0IAVBvAJqIRMgBUHVB2ohNSAFQbgCaiEVIAVBtAJqIRQgBUGwAmohNiAFQawCaiElIAVB1AdqITcgKSAqENkBIBYQ2QFyIBcQ2QFyIBgQ2QFyNgIAA0ACQCApKAIADQAgKCgCACBUKAIAQX1qTw0AIAAoAgAhCCABKAIAIQcgFSAqNgIAIBQgCDYCACA2IAc2AgAgJSAVKAIAIDYoAgAQ4AE2AgAgNyAUKAIAICUoAgBBAXRqLAAAOgAAIBUoAgAgFCgCACAlKAIAQQF0ai0AARDeASA3LAAAIQggCSAJKAIAIgdBAWo2AgAgByAIOgAAIAAoAgAhCCABKAIAIQcgIyAWNgIAICQgCDYCACA0IAc2AgAgEyAjKAIAIDQoAgAQ4AE2AgAgNSAkKAIAIBMoAgBBAXRqLAAAOgAAICMoAgAgJCgCACATKAIAQQF0ai0AARDeASA1LAAAIQggJiAmKAIAIgdBAWo2AgAgByAIOgAAIAAoAgAhCCABKAIAIQcgESAXNgIAIBIgCDYCACAyIAc2AgAgIiARKAIAIDIoAgAQ4AE2AgAgMyASKAIAICIoAgBBAXRqLAAAOgAAIBEoAgAgEigCACAiKAIAQQF0ai0AARDeASAzLAAAIQggJyAnKAIAIgdBAWo2AgAgByAIOgAAIAAoAgAhCCABKAIAIQcgICAYNgIAICEgCDYCACAwIAc2AgAgECAgKAIAIDAoAgAQ4AE2AgAgMSAhKAIAIBAoAgBBAXRqLAAAOgAAICAoAgAgISgCACAQKAIAQQF0ai0AARDeASAxLAAAIQggKCAoKAIAIgdBAWo2AgAgByAIOgAAIAAoAgAhCCABKAIAIQcgGiAqNgIAIBsgCDYCACAuIAc2AgAgHCAaKAIAIC4oAgAQ4AE2AgAgLyAbKAIAIBwoAgBBAXRqLAAAOgAAIBooAgAgGygCACAcKAIAQQF0ai0AARDeASAvLAAAIQggCSAJKAIAIgdBAWo2AgAgByAIOgAAIAAoAgAhCCABKAIAIQcgDiAWNgIAIA8gCDYCACAsIAc2AgAgGSAOKAIAICwoAgAQ4AE2AgAgLSAPKAIAIBkoAgBBAXRqLAAAOgAAIA4oAgAgDygCACAZKAIAQQF0ai0AARDeASAtLAAAIQggJiAmKAIAIgdBAWo2AgAgByAIOgAAIAAoAgAhCCABKAIAIQcgCyAXNgIAIAwgCDYCACAeIAc2AgAgDSALKAIAIB4oAgAQ4AE2AgAgHyAMKAIAIA0oAgBBAXRqLAAAOgAAIAsoAgAgDCgCACANKAIAQQF0ai0AARDeASAfLAAAIQggJyAnKAIAIgdBAWo2AgAgByAIOgAAIAAoAgAhCCABKAIAIQcgAiAYNgIAIAMgCDYCACArIAc2AgAgBCACKAIAICsoAgAQ4AE2AgAgHSADKAIAIAQoAgBBAXRqLAAAOgAAIAIoAgAgAygCACAEKAIAQQF0ai0AARDeASAdLAAAIQggKCAoKAIAIgdBAWo2AgAgByAIOgAAICoQ2QEaIBYQ2QEaIBcQ2QEaIBgQ2QEaDAELCyAJKAIAIAYoAgBLBEAgCkFsNgIAIAooAgAhACAFJAUgAA8LICYoAgAgOCgCAEsEQCAKQWw2AgAgCigCACEAIAUkBSAADwsgJygCACA6KAIASwRAIApBbDYCACAKKAIAIQAgBSQFIAAPCyAFQcgHaiE7IAVBxAdqITwgBUHAB2ohVSAFQbwHaiE9IAVB9wdqIVYgBUG4B2ohPiAFQbQHaiE/IAVBsAdqIVcgBUGsB2ohQCAFQfYHaiFYIAVBqAdqIUEgBUGkB2ohICAFQaAHaiFZIAVBnAdqISEgBUH1B2ohWiAFQYgHaiEiIAVBhAdqISMgBUGAB2ohWyAFQfwGaiEkIAVB8wdqIVwgBUHoBmohAiAFQeQGaiELIAVB4AZqIR0gBUHcBmohDiAFQdgGaiEPIAVB1AZqIXYgBUHQBmohJSAFQcwGaiFCIAVByAZqIV0gBUHEBmohQyAFQfEHaiFeIAVBwAZqIUQgBUG8BmohRSAFQbgGaiFfIAVBtAZqIUYgBUHwB2ohYCAFQbAGaiFHIAVBrAZqIUggBUGoBmohYSAFQaQGaiFJIAVB7wdqIWIgBUGQBmohSiAFQYwGaiEpIAVBiAZqIWMgBUGEBmohKyAFQe0HaiFkIAVB8AVqIQMgBUHsBWohDCAFQegFaiEeIAVB5AVqIRkgBUHgBWohGiAFQdwFaiF3IAVB2AVqISwgBUHUBWohLSAFQdAFaiFlIAVBzAVqIS4gBUHrB2ohZiAFQcgFaiEvIAVBxAVqITMgBUHABWohZyAFQbwFaiE0IAVB6gdqIWggBUG4BWohNSAFQbQFaiFLIAVBsAVqIWkgBUGsBWohTCAFQekHaiFqIAVBmAVqITAgBUGUBWohMSAFQZAFaiFrIAVBjAVqITIgBUHnB2ohbCAFQfgEaiEEIAVB9ARqIQ0gBUHwBGohHyAFQewEaiEbIAVB6ARqIRwgBUHkBGoheCAFQeAEaiE2IAVB3ARqITcgBUHYBGohbSAFQdQEaiFNIAVB5QdqIW4gBUHQBGohECAFQcwEaiERIAVByARqIW8gBUHEBGohTiAFQeQHaiFwIAVBwARqIRIgBUG8BGohEyAFQbgEaiFxIAVBtARqIU8gBUHjB2ohciAFQaAEaiFQIAVBnARqIVEgBUGYBGohcyAFQZQEaiFSIAVB4QdqIXQgBUEUaiF1IAYoAgAhCCAAKAIAIRUgASgCACEHIAVBgARqIgYgCSgCADYCACAFQfwDaiIJICo2AgAgBUH4A2oiUyAINgIAIAVB9ANqIgggFTYCACAFQfADaiIVIAc2AgAgBSAGKAIANgLsAwNAIAkoAgAQ2QFFIAYoAgAgUygCAEF9aklxBEAgCCgCACEHIBUoAgAhFCBQIAkoAgA2AgAgUSAHNgIAIHMgFDYCACBSIFAoAgAgcygCABDgATYCACB0IFEoAgAgUigCAEEBdGosAAA6AAAgUCgCACBRKAIAIFIoAgBBAXRqLQABEN4BIHQsAAAhByAGIAYoAgAiFEEBajYCACAUIAc6AAAgCCgCACEHIBUoAgAhFCASIAkoAgA2AgAgEyAHNgIAIHEgFDYCACBPIBIoAgAgcSgCABDgATYCACByIBMoAgAgTygCAEEBdGosAAA6AAAgEigCACATKAIAIE8oAgBBAXRqLQABEN4BIHIsAAAhByAGIAYoAgAiFEEBajYCACAUIAc6AAAMAQsLAkADQCAJKAIAENkBRSAGKAIAIFMoAgBJcUUNASAIKAIAIRIgFSgCACETIBAgCSgCADYCACARIBI2AgAgbyATNgIAIE4gECgCACBvKAIAEOABNgIAIHAgESgCACBOKAIAQQF0aiwAADoAACAQKAIAIBEoAgAgTigCAEEBdGotAAEQ3gEgcCwAACESIAYgBigCACITQQFqNgIAIBMgEjoAAAwACwALA0AgBigCACBTKAIASQRAIAgoAgAhECAVKAIAIREgNiAJKAIANgIAIDcgEDYCACBtIBE2AgAgTSA2KAIAIG0oAgAQ4AE2AgAgbiA3KAIAIE0oAgBBAXRqLAAAOgAAIDYoAgAgNygCACBNKAIAQQF0ai0AARDeASBuLAAAIRAgBiAGKAIAIhFBAWo2AgAgESAQOgAADAELCyA4KAIAIQYgACgCACEJIAEoAgAhCCAEICYoAgA2AgAgDSAWNgIAIB8gBjYCACAbIAk2AgAgHCAINgIAIHggBCgCADYCAANAIA0oAgAQ2QFFIAQoAgAgHygCAEF9aklxBEAgGygCACEGIBwoAgAhCSAwIA0oAgA2AgAgMSAGNgIAIGsgCTYCACAyIDAoAgAgaygCABDgATYCACBsIDEoAgAgMigCAEEBdGosAAA6AAAgMCgCACAxKAIAIDIoAgBBAXRqLQABEN4BIGwsAAAhBiAEIAQoAgAiCUEBajYCACAJIAY6AAAgGygCACEGIBwoAgAhCSA1IA0oAgA2AgAgSyAGNgIAIGkgCTYCACBMIDUoAgAgaSgCABDgATYCACBqIEsoAgAgTCgCAEEBdGosAAA6AAAgNSgCACBLKAIAIEwoAgBBAXRqLQABEN4BIGosAAAhBiAEIAQoAgAiCUEBajYCACAJIAY6AAAMAQsLAkADQCANKAIAENkBRSAEKAIAIB8oAgBJcUUNASAbKAIAIQYgHCgCACEJIC8gDSgCADYCACAzIAY2AgAgZyAJNgIAIDQgLygCACBnKAIAEOABNgIAIGggMygCACA0KAIAQQF0aiwAADoAACAvKAIAIDMoAgAgNCgCAEEBdGotAAEQ3gEgaCwAACEGIAQgBCgCACIJQQFqNgIAIAkgBjoAAAwACwALA0AgBCgCACAfKAIASQRAIBsoAgAhBiAcKAIAIQkgLCANKAIANgIAIC0gBjYCACBlIAk2AgAgLiAsKAIAIGUoAgAQ4AE2AgAgZiAtKAIAIC4oAgBBAXRqLAAAOgAAICwoAgAgLSgCACAuKAIAQQF0ai0AARDeASBmLAAAIQYgBCAEKAIAIglBAWo2AgAgCSAGOgAADAELCyA6KAIAIQQgACgCACEGIAEoAgAhCSADICcoAgA2AgAgDCAXNgIAIB4gBDYCACAZIAY2AgAgGiAJNgIAIHcgAygCADYCAANAIAwoAgAQ2QFFIAMoAgAgHigCAEF9aklxBEAgGSgCACEEIBooAgAhBiBKIAwoAgA2AgAgKSAENgIAIGMgBjYCACArIEooAgAgYygCABDgATYCACBkICkoAgAgKygCAEEBdGosAAA6AAAgSigCACApKAIAICsoAgBBAXRqLQABEN4BIGQsAAAhBCADIAMoAgAiBkEBajYCACAGIAQ6AAAgGSgCACEEIBooAgAhBiBHIAwoAgA2AgAgSCAENgIAIGEgBjYCACBJIEcoAgAgYSgCABDgATYCACBiIEgoAgAgSSgCAEEBdGosAAA6AAAgRygCACBIKAIAIEkoAgBBAXRqLQABEN4BIGIsAAAhBCADIAMoAgAiBkEBajYCACAGIAQ6AAAMAQsLAkADQCAMKAIAENkBRSADKAIAIB4oAgBJcUUNASAZKAIAIQQgGigCACEGIEQgDCgCADYCACBFIAQ2AgAgXyAGNgIAIEYgRCgCACBfKAIAEOABNgIAIGAgRSgCACBGKAIAQQF0aiwAADoAACBEKAIAIEUoAgAgRigCAEEBdGotAAEQ3gEgYCwAACEEIAMgAygCACIGQQFqNgIAIAYgBDoAAAwACwALA0AgAygCACAeKAIASQRAIBkoAgAhBCAaKAIAIQYgJSAMKAIANgIAIEIgBDYCACBdIAY2AgAgQyAlKAIAIF0oAgAQ4AE2AgAgXiBCKAIAIEMoAgBBAXRqLAAAOgAAICUoAgAgQigCACBDKAIAQQF0ai0AARDeASBeLAAAIQQgAyADKAIAIgZBAWo2AgAgBiAEOgAADAELCyBUKAIAIQMgACgCACEAIAEoAgAhASACICgoAgA2AgAgCyAYNgIAIB0gAzYCACAOIAA2AgAgDyABNgIAIHYgAigCADYCAANAIAsoAgAQ2QFFIAIoAgAgHSgCAEF9aklxBEAgDigCACEAIA8oAgAhASAiIAsoAgA2AgAgIyAANgIAIFsgATYCACAkICIoAgAgWygCABDgATYCACBcICMoAgAgJCgCAEEBdGosAAA6AAAgIigCACAjKAIAICQoAgBBAXRqLQABEN4BIFwsAAAhACACIAIoAgAiAUEBajYCACABIAA6AAAgDigCACEAIA8oAgAhASBBIAsoAgA2AgAgICAANgIAIFkgATYCACAhIEEoAgAgWSgCABDgATYCACBaICAoAgAgISgCAEEBdGosAAA6AAAgQSgCACAgKAIAICEoAgBBAXRqLQABEN4BIFosAAAhACACIAIoAgAiAUEBajYCACABIAA6AAAMAQsLAkADQCALKAIAENkBRSACKAIAIB0oAgBJcUUNASAOKAIAIQAgDygCACEBID4gCygCADYCACA/IAA2AgAgVyABNgIA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BzYCACAlICEoAgAgOigCABDgATYCACA5KAIAIB0oAgAgJSgCAEECdGouAAA7AAAgISgCACAdKAIAICUoAgBBAnRqLQACEN4BIAMgAygCACAdKAIAICUoAgBBAnRqLQADajYCACABKAIAIQggAigCACEHIDcgBCgCADYCACAcICo2AgAgFCAINgIAIDggBzYCACAXIBwoAgAgOCgCABDgATYCACA3KAIAIBQoAgAgFygCAEECdGouAAA7AAAgHCgCACAUKAIAIBcoAgBBAnRqLQACEN4BIAQgBCgCACAUKAIAIBcoAgBBAnRqLQADajYCACABKAIAIQggAigCACEHIDUgECgCADYCACAbICs2AgAgICAINgIAIDYgBzYCACAWIBsoAgAgNigCABDgATYCACA1KAIAICAoAgAgFigCAEECdGouAAA7AAAgGygCACAgKAIAIBYoAgBBAnRqLQACEN4BIBAgECgCACAgKAIAIBYoAgBBAnRqLQADajYCACABKAIAIQggAigCACEHIDMgJCgCADYCACAuICw2AgAgGSAINgIAIDQgBzYCACAaIC4oAgAgNCgCABDgATYCACAzKAIAIBkoAgAgGigCAEECdGouAAA7AAAgLigCACAZKAIAIBooAgBBAnRqLQACEN4BICQgJCgCACAZKAIAIBooAgBBAnRqLQADajYCACABKAIAIQggAigCACEHIDEgAygCADYCACAVICk2AgAgDiAINgIAIDIgBzYCACAPIBUoAgAgMigCABDgATYCACAxKAIAIA4oAgAgDygCAEECdGouAAA7AAAgFSgCACAOKAIAIA8oAgBBAnRqLQACEN4BIAMgAygCACAOKAIAIA8oAgBBAnRqLQADajYCACABKAIAIQggAigCACEHICggBCgCADYCACAeICo2AgAgDSAINgIAIC0gBzYCACALIB4oAgAgLSgCABDgATYCACAoKAIAIA0oAgAgCygCAEECdGouAAA7AAAgHigCACANKAIAIAsoAgBBAnRqLQACEN4BIAQgBCgCACANKAIAIAsoAgBBAnRqLQADajYCACABKAIAIQggAigCACEHICYgECgCADYCACASICs2AgAgDCAINgIAICcgBzYCACAKIBIoAgAgJygCABDgATYCACAmKAIAIAwoAgAgCigCAEECdGouAAA7AAAgEigCACAM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IQAgASQFIAALegEDfyMFIQIjBUEQaiQFIAJBBGohAyACIgEgADYCACABKAIABH8gASgCACgCABDyAxogASgCACgCMBCHBiABKAIAKAI8EIcGIAEoAgAQhwYgA0EANgIAIAMoAgAhACACJAUgAAUgA0EANgIAIAMoAgAhACACJAUgAAsLegEDfyMFIQIjBUEQaiQFIAJBBGohAyACIgEgADYCACABKAIABH8gASgCACgCABDyAxogASgCACgCHBCHBiABKAIAKAIoEIcGIAEoAgAQhwYgA0EANgIAIAMoAgAhACACJAUgAAUgA0EANgIAIAMoAgAhACACJAUgAAsL1gEBA38jBSECIwVBEGokBSACQQRqIQMgAiIBIAA2AgAgASgCAEUEQCADQQA2AgAgAygCACEAIAIkBSAADwsgASgCACgCABDxAxogASgCACgCJARAIAEoAgAoAmQgASgCACgCJCABKAIAKAJgQR9xQeQCahECAAsgASgCACgCMARAIAEoAgAoAmQgASgCACgCMCABKAIAKAJgQR9xQeQCahECAAsgASgCACgCZCABKAIAIAEoAgAoAmBBH3FB5AJqEQIAIANBADYCACADKAIAIQAgAiQFIAALeQEDfyMFIQEjBUEQaiQFIAFBBGohAiABIgMgADYCACABKAIABH8gAygCAEHEqQFqKAIAIAMoAgAgAygCAEHAqQFqKAIAQR9xQeQCahECACACQQA2AgAgAigCACEAIAEkBSAABSACQQA2AgAgAigCACEAIAEkBSAACwskAQF/IwUhASMFQRBqJAUgASAANgIAIAEoAgAQhwYgASQFQQALegEDfyMFIQIjBUEQaiQFIAJBBGohAyACIgEgADYCACABKAIABH8gASgCACgCABDyAxogASgCACgCKBCHBiABKAIAKAI0EIcGIAEoAgAQhwYgA0EANgIAIAMoAgAhACACJAUgAAUgA0EANgIAIAMoAgAhACACJAUgAAsLrgEBBH8jBSEDIwVBEGokBSADQQxqIQIgAyEEIANBCGoiBSAANgIAIANBBGoiACABNgIAAkAgACgCAEEESQRAIAJBADYCAAUgBCAFKAIAEM8BNgIAAkACQAJAAkACQCAEKAIAQaTqvmlrDgQAAQIDBAsgAkEENgIADAULIAJBBTYCAAwECyACQQY2AgAMAwsgAkEHNgIADAILIAJBADYCAAsLIAIoAgAhACADJAUgAAs5AQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAMoAgAgAigCAEEAEPYDIQAgAiQFIAALpgIBBH8jBSEDIwVBMGokBSADQRxqIQQgA0EYaiIFIAA2AgAgA0EUaiIAIAE2AgAgA0EQaiIGIAI2AgAgA0EMaiIBIAYoAgAQ9wM2AgAgACgCACABKAIASQRAIARBuH82AgAgBCgCACEAIAMkBSAADwsgA0EgaiICIAUoAgAgASgCAEEBa2osAAA6AAAgA0EIaiIGIAItAABBA3E2AgAgA0EEaiIFIAItAABBBXVBAXE2AgAgAyIAIAItAABBBnU2AgAgBCABKAIAIgEgBSgCACICQQBHQQFzaiAGKAIAQQJ0QfAiaigCACIGaiADKAIAQQJ0QYAjaigCAGogBSgCAAR/IAAoAgBBAEdBAXMFQQALIgBBAXFqNgIAIAQoAgAhACADJAUgAAs/AQJ/IwUhASMFQRBqJAUgAUEEaiICIAA2AgAgASIAIAIoAgBBAUYEf0EBBUEFCzYCACAAKAIAIQAgASQFIAALSgECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACAEKAIAIAAoAgAgAygCAEEAEPkDIQAgAyQFIAALiwkCDH8BfiMFIQQjBUHQAGokBSAEQcgAaiEFIARBxABqIgcgADYCACAEQUBrIgAgATYCACAEQTxqIgEgAjYCACAEQThqIgYgAzYCACAEQTRqIgIgACgCADYCACAEQTBqIgMgBigCABD3AzYCACABKAIAIAMoAgBJBEAgBSADKAIANgIAIAUoAgAhACAEJAUgAA8LIAYoAgBBAUcEQCAAKAIAEM8BQajqvmlHBEAgACgCABDPAUFwcUHQ1LTCAUcEQCAFQXY2AgAgBSgCACEAIAQkBSAADwsgASgCAEEISQRAIAVBCDYCACAFKAIAIQAgBCQFIAAPBSAHKAIAIgFCADcDACABQgA3AwggAUIANwMQIAFCADcDGCABQgA3AyAgACgCAEEEahDPAa0hECAHKAIAIBA3AwAgBygCAEEBNgIUIAVBADYCACAFKAIAIQAgBCQFIAAPCwALCyAEQSxqIgggACgCACABKAIAIAYoAgAQ9gM2AgAgCCgCACEAIAEoAgAgCCgCAEkEQCAFIAA2AgAgBSgCACEAIAQkBSAADwsgBygCACAANgIYIARBzQBqIgYgAigCACADKAIAQQFraiwAADoAACAEQShqIgEgAygCADYCACAEQSRqIgsgBi0AAEEDcTYCACAEQSBqIgwgBi0AAEECdUEBcTYCACAEQRxqIgkgBi0AAEEFdUEBcTYCACAEQRhqIg0gBi0AAEEGdTYCACAEQQhqIgNCADcDACAEQRRqIghBADYCACAEIgBCfzcDACAGLQAAQQhxBEAgBUFyNgIAIAUoAgAhACAEJAUgAA8LIARBzABqIQYgBEEQaiEKAkAgCSgCAEUEQCACKAIAIQ4gASABKAIAIg9BAWo2AgAgBiAOIA9qLAAAOgAAIAogBi0AAEEDdUEKajYCACAKKAIAQR5NBEAgA0IBIAooAgCthjcDACADIAMpAwAgAykDAEIDiCAGLQAAQQdxrH58NwMADAILIAVBcDYCACAFKAIAIQAgBCQFIAAPCwsCQAJAAkACQCALKAIAQQFrDgMBAgADCyAIIAIoAgAgASgCAGoQzwE2AgAgASABKAIAQQRqNgIADAILIAggAigCACABKAIAai0AADYCACABIAEoAgBBAWo2AgAMAQsgCCACKAIAIAEoAgBqENgDQf//A3E2AgAgASABKAIAQQJqNgIACwJAAkACQAJAAkAgDSgCAEEBaw4DAQIAAwsgACACKAIAIAEoAgBqEOIBNwMADAMLIAAgAigCACABKAIAahDYA0H//wNxQYACaqw3AwAMAgsgACACKAIAIAEoAgBqEM8BrTcDAAwBCyAJKAIABEAgACACKAIAIAEoAgBqLQAArTcDAAsLIAkoAgAEQCADIAApAwA3AwALIAcoAgBBADYCFCAHKAIAIAApAwA3AwAgBygCACADKQMANwMIIAMpAwAhECAHKAIAIAMpAwBCgIAIVAR+IBAFQoCACAs+AhAgBygCACAIKAIANgIcIAcoAgAgDCgCADYCICAFQQA2AgAgBSgCACEAIAQkBSAAC8sBAgZ/AX4jBSECIwVBQGskBSACQTBqIQMgAkEoaiEFIAIhBiACQTxqIgQgADYCACACQThqIgcgATYCACAEKAIAIAcoAgAQ9ANBAEchACAEKAIAIQQgBygCACEBAkAgAARAIAUgBCABEPsDNwMAIAUp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AiQFIAALxQEBA38jBSECIwVBEGokBSACQQxqIQMgAkEIaiIEIAA2AgAgAkEEaiIAIAE2AgAgAiAEKAIAIAAoAgAQ9AM2AgACQAJAAkACQAJAAkAgAigCAEEEaw4EAAECAwQLIAMgBCgCACAAKAIAEIkENgIADAQLIAMgBCgCACAAKAIAEIoENgIADAMLIAMgBCgCACAAKAIAEIsENgIADAILIAMgBCgCACAAKAIAEIwENgIADAELIANBdjYCAAsgAygCACEAIAIkBSAAC4kCAQN/IwUhAyMFQSBqJAUgA0EUaiEEIANBEGoiBSAANgIAIANBDGoiACABNgIAIANBCGoiASACNgIAIAAoAgBBA0kEQCAEQbh/NgIAIAQoAgAhACADJAUgAA8LIANBBGoiAiAFKAIAEIgENgIAIAMiACACKAIAQQN2NgIAIAEoAgAgAigCAEEBcTYCBCABKAIAIAIoAgBBAXZBA3E2AgAgASgCACADKAIANgIIIAEoAgAoAgBBAUYEQCAEQQE2AgAgBCgCACEAIAMkBSAADwsgASgCACgCAEEDRgR/IARBbDYCACAEKAIAIQAgAyQFIAAFIAQgACgCADYCACAEKAIAIQAgAyQFIAALCzcBAX8jBSEBIwVBEGokBSABIAA2AgAgASgCABDYA0H//wNxIAEoAgAtAAJBEHRqIQAgASQFIAALNwECfyMFIQIjBUEQaiQFIAJBBGoiAyAANgIAIAIgATYCACADKAIAIAIoAgAQjwQhACACJAUgAAv/AgEFfyMFIQIjBUEwaiQFIAJBIGohAyACQRxqIgUgADYCACACQRhqIgAgATYCACACQRRqIgEgBSgCADYCACACQRBqIgQgACgCADYCACAAKAIAQQVJBEAgA0G4fzYCACADKAIAIQAgAiQFIAAPCyAFKAIAEM8BQaXqvmlHBEAgA0F2NgIAIAMoAgAhACACJAUgAA8LIAJBCGohBiACIQAgASABKAIAQQVqNgIAIAQgBCgCAEEFazYCAAJAAkACQANAIAAgASgCACAEKAIAIAYQjgQ2AgAgACgCABDMAQ0BIAEgASgCAEEDajYCACAEIAQoAgBBA2s2AgAgACgCACAEKAIASw0CIAAoAgBFDQMgASABKAIAIAAoAgBqNgIAIAQgBCgCACAAKAIAazYCAAwACwALIAMgACgCADYC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IBEoAgAgLigCAGtLBEAgEkFsNgIADAQLIAkgGygCACAJKAIAIBooAgBrajYCACAJKAIAIAsoAgRqIBsoAgBNBEAgESgCACAJKAIAIAsoAgQQ9QcaIBIgHCgCADYCAAwECyAkIBsoAgAgCSgCAGs2AgAgESgCACAJKAIAICQoAgAQ9QcaIAogESgCACAkKAIAajYCACALQQRqIgAgACgCACAkKAIAazYCACAJIBooAgA2AgAgCigCACAUKAIATQRAIAsoAgRBA08NAgsgFkEANgIAA0AgFigCACALKAIESQRAIAooAgAgFigCAGogCSgCACAWKAIAaiwAADoAACAWIBYoAgBBAWo2AgAMAQsLIBIgHCgCADYCAAwDCwsgCygCCEEISQRAIDogCygCCEECdEGQPWooAgA2AgAgCigCACAJKAIALAAAOgAAIAooAgAgCSgCACwAAToAASAKKAIAIAkoAgAsAAI6AAIgCigCACAJKAIALAADOgADIAkgCSgCACALKAIIQQJ0QbA9aigCAGo2AgAgCigCAEEEaiAJKAIAEJ4EIAkgCSgCACA6KAIAazYCAAUgCigCACAJKAIAEPwCCyAKIAooAgBBCGo2AgAgCSAJKAIAQQhqNgIAIAooAgAhAAJAICMoAgAgGSgCAEFzaksEQCAAIBQoAgBJBEAgCigCACAJKAIAIBQoAgAgCigCAGsQ+wIgCSAJKAIAIBQoAgAgCigCAGtqNgIAIAogFCgCADYCAAsDQCAKKAIAICMoAgBPDQIgCSAJKAIAIgBBAWo2AgAgACwAACEBIAogCigCACIAQQFqNgIAIAAgAToAAAwACwAFIAAgCSgCACALKAIEQQhrEPsCCwsgEiAcKAIANgIACwsgNSASKAIANgIAIDUoAgAQzQFBAEchACA1KAIAIQEgAA0CIBMgEygCACABajYCAAwBCwsMAQsgECABNgIAIBAoAgAhACAHJAUgAA8LIAIEQCAQQWw2AgAgECgCACEAIAckBSAADwsgGEEANgIAA0AgGCgCAEEDTw0CIA4oAgBBrOABaiAYKAIAQQJ0aiANQSxqIBgoAgBBAnRqKAIANgIAIBggGCgCAEEBajYCAAwACwALCyApIEgoAgAgKygCAGs2AgAgKSgCACBHKAIAIBMoAgBrSwR/IBBBun82AgAgECgCACEAIAckBSAABSATKAIAICsoAgAgKSgCABD0BxogEyATKAIAICkoAgBqNgIAIBAgEygCACA5KAIAazYCACAQKAIAIQAgByQFIAALC4UBAQJ/IwUhAyMFQSBqJAUgA0EQaiIEIAA2AgAgA0EMaiIAIAE2AgAgA0EIaiIBIAI2AgAgA0EEaiICIAEoAgA2AgAgAyACKAIANgIAIAAoAgAgAygCACgCBBDcASECIAQoAgAgAjYCACAAKAIAENkBGiAEKAIAIAEoAgBBCGo2AgQgAyQFC6kGAQh/IwUhCCMFQUBrJAUgCEE4aiEKIAhBNGoiCSAANgIAIAhBMGoiCyABNgIAIAhBLGoiDSADNgIAIAhBKGoiDCAENgIAIAhBJGoiBCAFNgIAIAhBIGoiDiAGNgIAIAhBHGoiBSAHNgIAIAhBGGoiAyAJKAIAIAIoAgBqNgIAIAhBFGoiBiACKAIAIAIoAgRqNgIAIAhBEGoiByAJKAIAIAYoAgBqNgIAIAhBDGoiACALKAIAQXhqNgIAIAhBCGoiDyANKAIAKAIAIAIoAgBqNgIAIAhBBGoiASADKAIAIAIoAghrNgIAIAcoAgAgCygCAEsEQCAKQbp/NgIAIAooAgAhACAIJAUgAA8LIA8oAgAgDCgCAEsEQCAKQWw2AgAgCigCACEAIAgkBSAADwsgAygCACAAKAIATQRAIApBfzYCACAKKAIAIQAgCCQFIAAPCyAJKAIAIAAoAgBJBEAgCSgCACANKAIAKAIAIAAoAgAgCSgCAGsQ+wIgDSgCACILIAsoAgAgACgCACAJKAIAa2o2AgAgCSAAKAIANgIACyAIIQADQCAJKAIAIAMoAgBJBEAgDSgCACIMKAIAIQsgDCALQQFqNgIAIAssAAAhCyAJIAkoAgAiDEEBajYCACAMIAs6AAAMAQsLAkAgAigCCCADKAIAIAQoAgBrSwRAIAIoAgggAygCACAOKAIAa0sEQCAKQWw2AgAgCigCACEAIAgkBSAADwsgASAFKAIAIAQoAgAgASgCAGtrNgIAIAEoAgAgAigCBGogBSgCAEsEQCAAIAUoAgAgASgCAGs2AgAgAygCACABKAIAIAAoAgAQ9QcaIAkgAygCACAAKAIAajYCACACQQRqIgIgAigCACAAKAIAazYCACABIAQoAgA2AgAMAgsgAygCACABKAIAIAIoAgQQ9QcaIAogBigCADYCACAKKAIAIQAgCCQFIAAPCwsDQCAJKAIAIAcoAgBJBEAgASABKAIAIgBBAWo2AgAgACwAACEAIAkgCSgCACICQQFqNgIAIAIgADoAAAwBCwsgCiAGKAIANgIAIAooAgAhACAIJAUgAAs2AQJ/IwUhAiMFQRBqJAUgAkEEaiIDIAA2AgAgAiABNgIAIAMoAgAgAigCACgAADYAACACJAULkTYBen8jBSEHIwVBkAZqJAUgB0H4BWohISAHQfQFaiEbIAdB8AVqIQogB0HsBWohKyAHQegFaiEiIAdB5AVqIVAgB0HgBWohOCAHQdwFaiFRIAdB2AVqITkgB0HUBWohHCAHQdAFaiEsIAdBzAVqITogB0HIBWohHyAHQcQFaiFSIAdBwAVqIQsgB0G8BWohOyAHQbgFaiEjIAdBtAVqIWQgB0HQAGohDiAHQbAFaiEdIAdBrAVqIQwgB0GoBWohLSAHQaQFaiEkIAdBoAVqIVMgB0GcBWohPCAHQZgFaiFUIAdBlAVqIT0gB0GQBWohHiAHQYwFaiEuIAdBiAVqIT4gB0GEBWohICAHQYAFaiFVIAdB/ARqIQ0gB0H4BGohPyAHQfQEaiElIAdB8ARqIWUgB0FAayEPIAdB7ARqIUAgB0HoBGohZiAHQeAEaiFWIAdB3ARqIWcgB0HYBGohaCAHQdQEaiFBIAdB0ARqIWkgB0HIBGohVyAHQcQEaiFqIAdBwARqIWsgB0G8BGohQiAHQbgEaiFsIAdBsARqIVggB0GsBGohbSAHQagEaiFuIAdBpARqIQggB0GgBGohbyAHQZAEaiEXIAdBjARqIS8gB0GIBGohMCAHQYQEaiEZIAdBgARqIXAgB0H8A2ohWSAHQfgDaiFxIAdB9ANqIVogB0HwA2ohEiAHQewDaiEmIAdB6ANqITEgB0HkA2ohQyAHQeADaiFyIAdB3ANqIUQgB0HYA2ohcyAHQdADaiFbIAdBzANqIXQgB0HIA2ohdSAHQcQDaiFFIAdBwANqIXYgB0G4A2ohXCAHQbQDaiF3IAdBsANqIXggB0GsA2ohRiAHQagDaiF5IAdBoANqIV0gB0GcA2oheiAHQZgDaiF7IAdBlANqIQkgB0GQA2ohfCAHQYADaiEYIAdB+AJqITIgB0H0AmohMyAHQfACaiEaIAdB7AJqIX0gB0HoAmohXiAHQeQCaiF+IAdB4AJqIV8gB0HcAmohEyAHQdgCaiEnIAdB1AJqITQgB0HQAmohRyAHQcwCaiF/IAdByAJqIRQgByFIIAdBgAJqIUkgB0G8AWohESAHQbgBaiEQIAdBtAFqISggB0GwAWohgAEgB0GgAWohSiAHQZABaiE1IAdBiAFqIUsgB0GEAWohYCAHQYABaiEpIAdB/ABqIUwgB0H4AGoiNiAANgIAIAdB9ABqIk0gATYCACAHQfAAaiIBIAI2AgAgB0HsAGoiACADNgIAIAdB6ABqIk4gBDYCACAHQeQAaiIEIAU2AgAgB0HgAGoiAyAGNgIAIE0oAgAhAiABKAIAIQEgACgCACEAIE4oAgAhBiAEKAIAIQUgAygCACEEIAdBxAJqIhYgNigCADYCACAHQcACaiIDIAI2AgAgB0G8AmoiAiABNgIAIAdBuAJqIgEgADYCACAHQbQCaiIAIAY2AgAgB0GwAmoiKiAFNgIAIAdBrAJqIk0gBDYCACAHQagCaiIEIAEoAgA2AgAgB0GkAmoiASAEKAIAIAAoAgBqNgIAIAdBoAJqImEgAygCADYCACAHQZwCaiJiIGEoAgAgAigCAGo2AgAgB0GYAmoiFSBhKAIANgIAIAdBlAJqIjcgFigCAEH04QFqKAIANgIAIAdBkAJqImMgNygCACAWKAIAQYTiAWooAgBqNgIAIAdBjAJqIk8gFigCAEG84AFqKAIANgIAIAdBiAJqIk4gFigCAEHA4AFqKAIANgIAIAdBhAJqIjYgFigCAEHE4AFqKAIANgIAAkAgKigCAARAICooAgAhACBJICooAgBBBEgEfyAABUEECzYCACAWKAIAQYzhAWpBATYCACAoQQA2AgADQCAoKAIAQQNJBEAgEUEsaiAoKAIAQQJ0aiAWKAIAQazgAWogKCgCAEECdGooAgA2AgAgKCAoKAIAQQFqNgIADAELCyARIE8oAgA2AjggEUFAayAVKAIAIE8oAgBrNgIAIBEgNigCADYCPCCAASARIAQoAgAgASgCACAEKAIAaxDXATYCACCAASgCABDNAQRAIBRBbDYCACAUKAIAIQAgByQFIAAPCyARQRRqIBEgFigCACgCABCcBCARQRxqIBEgFigCACgCCBCcBCARQSRqIBEgFigCACgCBBCcBCAQQQA2AgADQAJAIBEQ2QFBAk0EfyAQKAIAIEkoAgBIBUEACyEAIBAoAgAhAiAARQ0AIE0oAgAhACAJIBE2AgAgfCAANgIAIDIgCSgCACgCGCAJKAIAKAIUQQN0ai0AAjYCACAzIAkoAgAoAiggCSgCACgCJEEDdGotAAI2AgAgGiAJKAIAKAIgIAkoAgAoAhxBA3RqLQACNgIAIH0gMigCACAzKAIAaiAaKAIAajYCACBeIAkoAgAoAhggCSgCACgCFEEDdGooAgQ2AgAgfiAJKAIAKAIoIAkoAgAoAiRBA3RqKAIENgIAIF8gCSgCACgCICAJKAIAKAIcQQN0aigCBDYCAAJAIBooAgAEQCB8KAIARQRAIBMgXygCACAJKAIAIBooAgAQ3wFqNgIAIAkoAgAQ2QEaDAILIBooAgAhACAnIBooAgAgGigCAEEYSQR/IAAFQRgLazYCACATIF8oAgAgCSgCACAaKAIAICcoAgBrEN8BICcoAgB0ajYCACAnKAIAQQFyBEAgCSgCABDZARoLICcoAgAEQCAJKAIAICcoAgAQ3wEhACATIBMoAgAgAGo2AgALBSATQQA2AgALCwJAIBooAgBBAU0EQCATIBMoAgAgXigCAEVqNgIAIBMoAgBFBEAgEyAJKAIAKAIsNgIADAILIAkoAgBBLGohACA0IBMoAgBBA0YEfyAAKAIAQQFrBSAAIBMoAgBBAnRqKAIACzYCACA0IDQoAgAgNCgCAEEAR0EBc2o2AgAgEygCAEEBRwRAIAkoAgAgCSgCACgCMDYCNAsgCSgCACAJKAIAKAIsNgIwIBMgNCgCACIANgIAIAkoAgAgADYCLAUgCSgCACAJKAIAKAIwNgI0IAkoAgAgCSgCACgCLDYCMCAJKAIAIBMoAgA2AiwLCyAYIBMoAgA2AgggGCB+KAIAIDMoAgBBAEsEfyAJKAIAIDMoAgAQ3wEFQQALajYCBCAzKAIAIDIoAgBqQRRPBEAgCSgCABDZARoLIH0oAgBBH09BAHEEQCAJKAIAENkBGgsgGCBeKAIAIDIoAgBBAEsEfyAJKAIAIDIoAgAQ3wEFQQALajYCACAJKAIAENkBGiBHIAkoAgBBQGsoAgAgGCgCAGo2AgAgCSgCACEAIH8gGCgCCCBHKAIASwR/IAAoAjwFIAAoAjgLNgIAIBggfygCACBHKAIAaiAYKAIIazYCDCAJKAIAQUBrIEcoAgAgGCgCBGo2AgAgCSgCACEAIEYgCSgCAEEUajYCACB5IAA2AgAgXSBGKAIAKAIEIEYoAgAoAgBBA3RqKQIANwIAIHogXS0AAzYCACB7IHkoAgAgeigCABDcATYCACBGKAIAIF0vAQAgeygCAGo2AgAgCSgCACEAIEUgCSgCAEEkajYCACB2IAA2AgAgXCBFKAIAKAIEIEUoAgAoAgBBA3RqKQIANwIAIHcgXC0AAzYCACB4IHYoAgAgdygCABDcATYCACBFKAIAIFwvAQAgeCgCAGo2AgAgCSgCABDZARogCSgCACEAIEQgCSgCAEEcajYCACBzIAA2AgAgWyBEKAIAKAIEIEQoAgAoAgBBA3RqKQIANwIAIHQgWy0AAzYCACB1IHMoAgAgdCgCABDcATYCACBEKAIAIFsvAQAgdSgCAGo2AgAgSiAYKQIANwIAIEogGCkCCDcCCCBIIAJBBHRqIgAgSikCADcCACAAIEopAgg3AgggECAQKAIAQQFqNgIADAELCyACIEkoAgBIBEAgFEFsNgIAIBQoAgAhACAHJAUgAA8LAkACQANAAkAgERDZAUECSw0AIBAoAgAgKigCAE4NACBNKAIAIQAgCCARNgIAIG8gADYCACAvIAgoAgAoAhggCCgCACgCFEEDdGotAAI2AgAgMCAIKAIAKAIoIAgoAgAoAiRBA3RqLQACNgIAIBkgCCgCACgCICAIKAIAKAIcQQN0ai0AAjYCACBwIC8oAgAgMCgCAGogGSgCAGo2AgAgWSAIKAIAKAIYIAgoAgAoAhRBA3RqKAIENgIAIHEgCCgCACgCKCAIKAIAKAIkQQN0aigCBDYCACBaIAgoAgAoAiAgCCgCACgCHEEDdGooAgQ2AgACQCAZKAIABEAgbygCAEUEQCASIFooAgAgCCgCACAZKAIAEN8BajYCACAIKAIAENkBGgwCCyAZKAIAIQAgJiAZKAIAIBkoAgBBGEkEfyAABUEYC2s2AgAgEiBaKAIAIAgoAgAgGSgCACAmKAIAaxDfASAmKAIAdGo2AgAgJigCAEEBcgRAIAgoAgAQ2QEaCyAmKAIABEAgCCgCACAmKAIAEN8BIQAgEiASKAIAIABqNgIACwUgEkEANgIACwsCQCAZKAIAQQFNBEAgEiASKAIAIFkoAgBFajYCACASKAIARQRAIBIgCCgCACgCLDYCAAwCCyAIKAIAQSxqIQAgMSASKAIAQQNGBH8gACgCAEEBawUgACASKAIAQQJ0aigCAAs2AgAgMSAxKAIAIDEoAgBBAEdBAXNqNgIAIBIoAgBBAUcEQCAIKAIAIAgoAgAoAjA2AjQLIAgoAgAgCCgCACgCLDYCMCASIDEoAgAiADYCACAIKAIAIAA2AiwFIAgoAgAgCCgCACgCMDYCNCAIKAIAIAgoAgAoAiw2AjAgCCgCACASKAIANgIsCwsgFyASKAIANgIIIBcgcSgCACAwKAIAQQBLBH8gCCgCACAwKAIAEN8BBUEAC2o2AgQgMCgCACAvKAIAakEUTwRAIAgoAgAQ2QEaCyBwKAIAQR9PQQBxBEAgCCgCABDZARoLIBcgWSgCACAvKAIAQQBLBH8gCCgCACAvKAIAEN8BBUEAC2o2AgAgCCgCABDZARogQyAIKAIAQUBrKAIAIBcoAgBqNgIAIAgoAgAhACByIBcoAgggQygCAEsEfyAAKAI8BSAAKAI4CzYCACAXIHIoAgAgQygCAGogFygCCGs2AgwgCCgCAEFAayBDKAIAIBcoAgRqNgIAIAgoAgAhACBCIAgoAgBBFGo2AgAgbCAANgIAIFggQigCACgCBCBCKAIAKAIAQQN0aikCADcCACBtIFgtAAM2AgAgbiBsKAIAIG0oAgAQ3AE2AgAgQigCACBYLwEAIG4oAgBqNgIAIAgoAgAhACBBIAgoAgBBJGo2AgAgaSAANgIAIFcgQSgCACgCBCBBKAIAKAIAQQN0aikCADcCACBqIFctAAM2AgAgayBpKAIAIGooAgAQ3AE2AgAgQSgCACBXLwEAIGsoAgBqNgIAIAgoAgAQ2QEaIAgoAgAhACBAIAgoAgBBHGo2AgAgZiAANgIAIFYgQCgCACgCBCBAKAIAKAIAQQN0aikCADcCACBnIFYtAAM2AgAgaCBmKAIAIGcoAgAQ3AE2AgAgQCgCACBWLwEAIGgoAgBqNgIAIDUgFykCADcCACA1IBcpAgg3AgggFSgCACEGIGIoAgAhBSBjKAIAIQQgTygCACEDIE4oAgAhAiA2KAIAIQEgDyBIIBAoAgBBBGtBA3FBBHRqIgApAAA3AAAgDyAAKQAINwAIIAwgBjYCACAtIAU2AgAgJCA3NgIAIFMgBDYCACA8IAM2AgAgVCACNgIAID0gATYCACAeIAwoAgAgDygCAGo2AgAgLiAPKAIAIA8oAgRqNgIAID4gDCgCACAuKAIAajYCACAgIC0oAgBBeGo2AgAgVSAkKAIAKAIAIA8oAgBqNgIAIA0gDygCDDYCAAJAID4oAgAgLSgCAEsEQCAdQbp/NgIABSBVKAIAIFMoAgBLBEAgHUFsNgIADAILIAwoAgAhBiAeKAIAICAoAgBLBEAgLSgCACEFICQoAgAhBCBTKAIAIQMgPCgCACECIFQoAgAhASA9KAIAIQAgISAPKQIANwIAICEgDykCCDcCCCAdIAYgBSAhIAQgAyACIAEgABCdBDYCAAwCCyAGICQoAgAoAgAQ/AIgDygCAEEISwRAIAwoAgBBCGogJCgCACgCAEEIaiAPKAIAQQhrEPsCCyAMIB4oAgA2AgAgJCgCACBVKAIANgIAAkAgDygCCCAeKAIAIDwoAgBrSwRAIA8oAgggHigCACBUKAIAa0sEQCAdQWw2AgAMBAsgDSgCACAPKAIEaiA9KAIATQRAIB4oAgAgDSgCACAPKAIEEPUHGiAdIC4oAgA2AgAMBAsgPyA9KAIAIA0oAgBrNgIAIB4oAgAgDSgCACA/KAIAEPUHGiAMIB4oAgAgPygCAGo2AgAgD0EEaiIAIAAoAgAgPygCAGs2AgAgDSA8KAIANgIAIAwoAgAgICgCAE0EQCAPKAIEQQNPDQILICVBADYCAANAICUoAgAgDygCBEkEQCAMKAIAICUoAgBqIA0oAgAgJSgCAGosAAA6AAAgJSAlKAIAQQFqNgIADAELCyAdIC4oAgA2AgAMAwsLIA8oAghBCEkEQCBlIA8oAghBAnRBkD1qKAIANgIAIAwoAgAgDSgCACwAADoAACAMKAIAIA0oAgAsAAE6AAEgDCgCACANKAIALAACOgACIAwoAgAgDSgCACwAAzoAAyANIA0oAgAgDygCCEECdEGwPWooAgBqNgIAIAwoAgBBBGogDSgCABCeBCANIA0oAgAgZSgCAGs2AgAFIAwoAgAgDSgCABD8AgsgDCAMKAIAQQhqNgIAIA0gDSgCAEEIajYCACAMKAIAIQACQCA+KAIAIC0oAgBBc2pLBEAgACAgKAIASQRAIAwoAgAgDSgCACAgKAIAIAwoAgBrEPsCIA0gDSgCACAgKAIAIAwoAgBrajYCACAMICAoAgA2AgALA0AgDCgCACA+KAIATw0CIA0gDSgCACIAQQFqNgIAIAAsAAAhASAMIAwoAgAiAEEBajYCACAAIAE6AAAMAAsABSAAIA0oAgAgDygCBEEIaxD7AgsLIB0gLigCADYCAAsLIEsgHSgCADYCACBLKAIAEM0BDQIgNSgCDBogSCAQKAIAQQNxQQR0aiIAIDUpAgA3AgAgACA1KQIINwIIIBUgFSgCACBLKAIAajYCACAQIBAoAgBBAWo2AgAMAQsLDAELIBQgSygCADYCACAUKAIAIQAgByQFIAAPCyAQKAIAICooAgBIBEAgFEFsNgIAIBQoAgAhACAHJAUgAA8LIBAgECgCACBJKAIAazYCAAJAAkADQCAQKAIAICooAgBIBEAgFSgCACEGIGIoAgAhBSBjKAIAIQQgTygCACEDIE4oAgAhAiA2KAIAIQEgDiBIIBAoAgBBA3FBBHRqIgApAAA3AAAgDiAAKQAINwAIIAogBjYCACArIAU2AgAgIiA3NgIAIFAgBDYCACA4IAM2AgAgUSACNgIAIDkgATYCACAcIAooAgAgDigCAGo2AgAgLCAOKAIAIA4oAgRqNgIAIDogCigCACAsKAIAajYCACAfICsoAgBBeGo2AgAgUiAiKAIAKAIAIA4oAgBqNgIAIAsgDigCDDYCAAJAIDooAgAgKygCAEsEQCAbQbp/NgIABSBSKAIAIFAoAgBLBEAgG0FsNgIADAILIAooAgAhBiAcKAIAIB8oAgBLBEAgKygCACEFICIoAgAhBCBQKAIAIQMgOCgCACECIFEoAgAhASA5KAIAIQAgISAOKQIANwIAICEgDikCCDcCCCAbIAYgBSAhIAQgAyACIAEgABCdBDYCAAwCCyAGICIoAgAoAgAQ/AIgDigCAEEISwRAIAooAgBBCGogIigCACgCAEEIaiAOKAIAQQhrEPsCCyAKIBwoAgA2AgAgIigCACBSKAIANgIAAkAgDigCCCAcKAIAIDgoAgBrSwRAIA4oAgggHCgCACBRKAIAa0sEQCAbQWw2AgAMBAsgCygCACAOKAIEaiA5KAIATQRAIBwoAgAgCygCACAOKAIEEPUHGiAbICwoAgA2AgAMBAsgOyA5KAIAIAsoAgBrNgIAIBwoAgAgCygCACA7KAIAEPUHGiAKIBwoAgAgOygCAGo2AgAgDkEEaiIAIAAoAgAgOygCAGs2AgAgCyA4KAIANgIAIAooAgAgHygCAE0EQCAOKAIEQQNPDQILICNBADYCAANAICMoAgAgDigCBEkEQCAKKAIAICMoAgBqIAsoAgAgIygCAGosAAA6AAAgIyAjKAIAQQFqNgIADAELCyAbICwoAgA2AgAMAwsLIA4oAghBCEkEQCBkIA4oAghBAnRBkD1qKAIANgIAIAooAgAgCygCACwAADoAACAKKAIAIAsoAgAsAAE6AAEgCigCACALKAIALAACOgACIAooAgAgCygCACwAAzoAAyALIAsoAgAgDigCCEECdEGwPWooAgBqNgIAIAooAgBBBGogCygCABCeBCALIAsoAgAgZCgCAGs2AgAFIAooAgAgCygCABD8AgsgCiAKKAIAQQhqNgIAIAsgCygCAEEIajYCACAKKAIAIQACQCA6KAIAICsoAgBBc2pLBEAgACAfKAIASQRAIAooAgAgCygCACAfKAIAIAooAgBrEPsCIAsgCygCACAfKAIAIAooAgBrajYCACAKIB8oAgA2AgALA0AgCigCACA6KAIATw0CIAsgCygCACIAQQFqNgIAIAAsAAAhASAKIAooAgAiAEEBajYCACAAIAE6AAAMAAsABSAAIAsoAgAgDigCBEEIaxD7AgsLIBsgLCgCADYCAAsLIGAgGygCADYCACBgKAIAEM0BQQBHIQAgYCgCACEBIAANAiAVIBUoAgAgAWo2AgAgECAQKAIAQQFqNgIADAELCwwBCyAUIAE2AgAgFCgCACEAIAckBSAADwsgKUEANgIAA0AgKSgCAEEDTw0CIBYoAgBBrOABaiApKAIAQQJ0aiARQSxqICkoAgBBAnRqKAIANgIAICkgKSgCAEEBajYCAAwACwALCyBMIGMoAgAgNygCAGs2AgAgTCgCACBiKAIAIBUoAgBrSwR/IBRBun82AgAgFCgCACEAIAckBSAABSAVKAIAIDcoAgAgTCgCABD0BxogFSAVKAIAIEwoAgBqNgIAIBQgFSgCACBhKAIAazYCACAUKAIAIQAgByQFIAALC44BAQJ/IwUhByMFQSBqJAUgB0EYaiIIIAA2AgAgB0EUaiIAIAE2AgAgB0EQaiIBIAI2AgAgB0EMaiICIAM2AgAgB0EIaiIDIAQ2AgAgB0EEaiIEIAU2AgAgByAGNgIAIAgoAgAg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IAMoAgAoAgQ2AgAgAigCAEHA4AFqIAMoAgAoAgQ2AgAgAigCAEHE4AFqIAMoAgAoAgQgAygCACgCCGo2AgAgAigCAEG44AFqIAIoAgBBxOABaigCADYCACACKAIAQYjhAWohACADKAIAQbjgAWooAgAEQCAAQQE2AgAgAigCAEGM4QFqQQE2AgAgAigCACADKAIAQQxqNgIAIAIoAgAgAygCAEGcMGo2AgQgAigCACADKAIAQZQgajYCCCACKAIAIAMoAgBBpNAAajYCDCACKAIAQazgAWogAygCAEGo4AFqKAIANgIAIAIoAgBBsOABaiADKAIAQazgAWooAgA2AgAgAigCAEG04AFqIAMoAgBBsOABaigCADYCAAUgAEEANgIAIAIoAgBBjOEBakEANgIACwsgBUEANgIAIAUoAgAhACAEJAUgAAvSAQEEfyMFIQMjBUEgaiQFIANBFGohBCADQRBqIgUgADYCACADQQxqIgYgATYCACADQQhqIgEgAjYCACADQQRqIgAgBSgCABCrBDYCACAAKAIAEM0BBEAgBCAAKAIANgIAIAQoAgAhACADJAUgAA8LIAMhACAGKAIAQQBHIAEoAgBBAEdxBEAgACAFKAIAIAYoAgAgASgCABCsBDYCACAAKAIAEM0BBEAgBEFiNgIAIAQoAgAhACADJAUgAA8LCyAEQQA2AgAgBCgCACEAIAMkBSAAC+gIAQt/IwUhBSMFQdAAaiQFIAVBzABqIQYgBUHIAGoiCCAANgIAIAVBxABqIgAgATYCACAFQUBrIgcgAjYCACAFQTxqIg0gAzYCACAFQThqIg4gBDYCACAFQTRqIgEgDSgCACgCADYCACAFQTBqIgogACgCADYCACAFQSxqIgwgCigCACAHKAIAajYCACAFQShqIgMgCigCADYCACAFQSRqIgIgDigCACgCADYCACACKAIAQQlJBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAFQSBqIgkgASgCAEEFEPUDNgIAIAkoAgAQzQEEQCAGIAkoAgA2AgAgBigCACEAIAUkBSAADwsgAigCACAJKAIAQQNqSQRAIAZBuH82AgAgBigCACEAIAUkBSAADwsgBUEcaiIAIAgoAgAgASgCACAJKAIAEKgENgIAIAAoAgAQzQEEQCAGIAAoAgA2AgAgBigCACEAIAUk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ACANKAIAQQJ0aigCADYCACAOIBEoAgA2AgAgFCARKAIAIBAoAgBqNgIAIAogBC8BACATKAIAQQh0akH//wNxEOAEIAogDygCACAWKAIAajoAAiAKQQI6AAMDQCAVKAIAIQEgDiAOKAIAIgJBAWo2AgAgASACQQJ0aiAKKAEANgEAIA4oAgAgFCgCAEkNAAsgACANKAIAQQJ0aiIBIAEoAgAgECgCAGo2AgAgCyALKAIAQQFqNgIADAELCyAJJAULcwEDfyMFIQIjBUEQaiQFIAIhAyACQQRqIgQgADYCACACQQhqIgAgATsBACAEKAIAIQFBkOUALQAABEAgASAALgEAEOEEIAIkBQUgAyABNgIAIAMoAgAgAC4BADoAACADKAIAIAAvAQBBCHU6AAEgAiQFCwszAQF/IwUhAiMFQRBqJAUgAiAANgIAIAJBBGoiACABOwEAIAIoAgAgAC4AADsAACACJAULwgIBBn8jBSEFIwVB0ABqJAUgBUE8aiEGIAVBOGoiByAANgIAIAVBNGoiCCABNgIAIAVBMGoiCSACNgIAIAVBLGoiCiADNgIAIAVBKGoiACAENgIAIAVBJGoiASAHKAIANgIAIAVBIGoiAyABKAIAIAgoAgBqNgIAIAVBHGoiAiAAKAIAQQRqNgIAIAVBGGoiBCACKAIANgIAIAVBQGsiAiAAKAIAENIDIAVBBGoiByACLQACNgIAIAUiACAFQQhqIgIgCSgCACAKKAIAEL4ENgIAIAUoAgAQzAEEQCAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgASgCACACIAMoAgAgBCgCACAHKAIAENgEGiACENUDBH8gBiAIKAIANgIAIAYoAgAhACAFJAUgAAUgBkFsNgIAIAYoAgAhACAFJAUgAAsLhgIBAn8jBSECIwVBEGokBSACQQRqIgEgADYCACABKAIAQaCoAWpBBTYCACABKAIAQcyoAWpBADYCACABKAIAQZCoAWpBADYCACABKAIAQZSoAWpBADYCACABKAIAQZioAWpBADYCACABKAIAQZyoAWpBADYCACABKAIAQYwoakGMgIDgADYCACABKAIAQdSoAWpBADYCACABKAIAQdCoAWpBADYCACABKAIAQbSpAWpBADYCACACIgBBADYCAANAIAAoAgBBA0gEQCABKAIAQaSoAWogACgC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ACIBIAEoAgAgBSgCAC0AAUEIdGo2AgALIAIgBSgCACAAKAIAQQFraiwAADoAACACLQAABEBBCCACLQAAENQBayEBIAMoAgAgATYCBCADKAIAQQRqIgEgASgCAEEEIAAoAgBrQQN0ajYCAAwCCyAGQX82AgAgBigCACEAIAQkBSAADwsACyAGIAAoAgA2AgAgBigCACEAIAQkBSAAC+MFAQl/IwUhBCMFQTBqJAUgBEEEaiEDIARBKGoiBiAANgIAIARBJGoiAiABNgIAIARBIGoiASACKAIAQRBqEMMEQf8BcTYCACAEQRxqIgcgAigCAEEgahDDBEH/AXE2AgAgBEEYaiIAIAIoAgBBGGoQwwRB/wFxNgIAIARBFGoiCCABKAIAQQJ0QbA0aigCADYCACAEQRBqIgkgBygCAEECdEHANWooAgA2AgAgBEEMaiIFIAAoAgA2AgAgBEEIaiIKIAgoAgAgCSgCAGogBSgCAGo2AgAgACgCAARAIAMgACgCAEECdEGgN2ooAgAgAigCACAFKAIAENwBajYCACACKAIAEMAEGgUgA0EANgIACyAEIQACQCADKAIAQQNJBEAgASgCAEUgAygCAEEBTXEEQCADQQEgAygCAGs2AgALIAIoAgBBKGohBSADKAIARQRAIAMgBSgCADYCAAwCCyAAIAUgAygCAEECdGooAgA2AgAgAygCAEEBRwRAIAIoAgAgAigCACgCLDYCMAsgAigCACACKAIAKAIoNgIsIAMgACgCACIANgIAIAIoAgAgADYCKAUgAyADKAIAQQJrNgIAIAIoAgAgAigCACgCLDYCMCACKAIAIAIoAgAoAig2AiwgAigCACADKAIANgIoCwsgBigCACADKAIANgIIIAcoAgBBAnRBoDhqKAIAIQMgBygCAEEfSwR/IAIoAgAgCSgCABDcAQVBAAshACAGKAIAIANBA2ogAGo2AgQgCSgCACAIKAIAakEYSwRAIAIoAgAQwAQaCyABKAIAQQJ0QYA6aigCACEDIAEoAgBBD0sEfyACKAIAIAgoAgAQ3AEFQQALIQAgBigCACADIABqNgIAIAooAgBBH0tBAXIEQCACKAIAEMAEGgsgAigCAEEQaiACKAIAEMQEIAIoAgBBIGogAigCABDEBCACKAIAEMAEGiACKAIAQRhqIAIoAgAQxAQgBCQFC+gI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QTBqIgcgACgCAEEGajYCACAFQSxqIhMgBygCACAKKAIAajYCACAFQShqIhQgEygCACALKAIAajYCACAFQSRqIhYgFCgCACAMKAIAajYCACAFQSBqIgAgECgCAEEDakEEbjYCACAFQRxqIg4gBCgCACAAKAIAajYCACAFQRhqIg8gDigCACAAKAIAajYCACAFQRRqIhEgDygCACAAKAIAajYCACAFQRBqIgMgBCgCADYCACAFQQxqIgQgDigCADYCACAFQQhqIgggDygCADYCACAFQQRqIg0gESgCADYCACAFQTRqIhUgCSgCACAKKAIAIAsoAgBqIAwoAgBqQQZqazYCACAVKAIAIAkoAgBLBEAgBkFsNgIAIAYoAgAhACAFJAUgAA8LIAVBiAFqIgAgBUH4AGoiCSAHKAIAIAooAgAQ8QQ2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAAIAVB6ABqIgogEygCACALKAIAEPEENgIAIAAoAgAQzAEEQCAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgACAFQdgAaiILIBQoAgAgDCgCABDxBDYCACAAKAIAEMwBBEAgBiAAKAIANgIAIAYoAgAhACAFJAUgAA8LIAAgBUHIAGoiDCAWKAIAIBUoAgAQ8QQ2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAFIgAgCRDABCAKEMAEciALEMAEciAMEMAEcjYCAANAAkAgACgCAA0AIA0oAgAgEigCAEF5ak8NACADKAIAIAkgASgCACACKAIAENAEIQcgAyADKAIAIAdqNgIAIAQoAgAgCiABKAIAIAIoAgAQ0AQhByAEIAQoAgAgB2o2AgAgCCgCACALIAEoAgAgAigCABDQBCEHIAggCCgCACAHajYCACANKAIAIAwgASgCACACKAIAENAEIQcgDSANKAIAIAdqNgIAIAMoAgAgCSABKAIAIAIoAgAQ0AQhByADIAMoAgAgB2o2AgAgBCgCACAKIAEoAgAgAigCABDQBCEHIAQgBCgCACAHajYCACAIKAIAIAsgASgCACACKAIAENAEIQcgCCAIKAIAIAdqNgIAIA0oAgAgDCABKAIAIAIoAgAQ0AQhByANIA0oAgAgB2o2AgAgACAJEMAEIAoQwARyIAsQwARy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mNABaiAAKAIAIAIoAgBBkNABaigCACACKAIAQZTQAWooAgBrazYCACACKAIAQZTQAWogACgCADYCACACKAIAQZDQAWogACgCADYCACADJAUL/AYBCX8jBSEFIwVB0ABqJAUgBUHEAGohBiAFQUBrIgkgADYCACAFQTxqIgAgATYCACAFQThqIgogAjYCACAFQTRqIgggAzYCACAFQTBqIgcgBDYCACAFQSxqIgEgCCgCADYCACAFQShqIg0gASgCACAHKAIAajYCACAFQSRqIgsgACgCADYCACAFQSBqIgMgCygCADYCACAFQRxqIgwgCygCACAKKAIAajYCACAFQRhqIgIgBygCADYCACAHKAIAQQhJBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAFQQhqIgAgCSgCACAIKAIAQQUQiAU2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAHKAIAIAAoAgBBA2pJBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyABIAEoAgAgACgCAGo2AgAgAiACKAIAIAAoAgBrNgIAIAAgCSgCACAIKAIAIAAoAgAQiQU2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAFQRBqIQcgBUEEaiEEIAUhAAJAAkACQAJAAkACQAJAA0AgBEEANgIAIAAgASgCACANKAIAIAEoAgBrIAcQjgQ2AgAgACgCABDMAQ0BIAEgASgCAEEDajYCACACIAIoAgBBA2s2AgAgACgCACACKAIASw0CAkACQAJAAkACQAJAIAcoAgAOBAECAAMECwwICyAEIAkoAgAgAygCACAMKAIAIAMoAgBrIAEoAgAgACgCABCKBTYCAAwDCyAEIAMoAgAgDCgCACADKAIAayABKAIAIAAoAgAQqQQ2AgAMAgsgAigCAA0GDAELDAYLIAAoAgBFDQcgBCgCABDMAUEARyEKIAQoAgAhCCAKDQYgAyADKAIAIAhqNgIAIAEgASgCACAAKAIAajYCACACIAIoAgAgACgCAGs2AgAMAAsACyAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAGQX82AgAgBigCACEAIAUkBSAADwsgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAGQX82AgAgBigCACEAIAUkBSAADwsgBiAINgIAIAYoAgAhACAFJAUgAA8LIAYgAygCACALKAIAazYCACAGKAIAIQAgBSQFIAALuQEBA38jBSEDIwVBIGokBSADQRBqIQQgA0EMaiIFIAA2AgAgA0EIaiIAIAE2AgAgA0EEaiIBIAI2AgAgASgCAEEFRwRAIARBuH82AgAgBCgCACEAIAMkBSAADwsgAyAAKAIAEM8BNgIAIAMoAgBBpeq+aUcEfyAEQXY2AgAgBCgCACEAIAMkBSAABSAFKAIAQaTQAWpBBTYCACAEIAUoAgBBpNABaigCADYCACAEKAIAIQAgAyQFIAALC8MBAQR/IwUhAyMFQSBqJAUgA0EQaiEEIANBDGoiBSAANgIAIANBCGoiBiABNgIAIANBBGoiASACNgIAIAEoAgAgBSgCAEGk0AFqKAIARwRAIARBuH82AgAgBCgCACEAIAMkBSAADwsgAyIAIAUoAgBBqNABaiAGKAIAIAEoAgAQ/AM2AgAgBSgCAEGw0AFqKAIAQRlLBEAgBEFyNgIAIAQoAgAhACADJAUgAA8LIAQgACgCADYCACAEKAIAIQAgAyQFIAALlgIBBn8jBSEFIwVBIGokBSAFQRxqIQYgBUEYaiIHIAA2AgAgBUEUaiIJIAE2AgAgBUEQaiIKIAI2AgAgBUEMaiIIIAM2AgAgBUEIaiIBIAQ2AgAgBUEEaiICIAgoAgA2AgAgASgCAEGAgAhPBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAFIgAgBygCACAIKAIAIAEoAgAQiwU2AgAgBSgCABDMAUEARyEEIAUoAgAhAyAEBH8gBiADNgIAIAYoAgAhACAFJAUgAAUgAiACKAIAIANqNgIAIAEgASgCACAAKAIAazYCACAGIAcoAgAgCSgCACAKKAIAIAIoAgAgASgCABCMBTYCACAGKAIAIQAgBSQFIAALC4wPAQ5/IwUhAyMFQdAAaiQFIANBQGshBCADQTxqIgUgADYCACADQThqIgAgATYCACADQTRqIgggAjYCACADQTBqIgEgACgCADYCACAIKAIAQQNJBEAgBEFsNgIAIAQoAgAhACADJAUgAA8LIANBLGohCSADQShqIQogA0EkaiEOIANBIGohByADQRxqIRAgA0EYaiEPIANBFGohDSADQRBqIQsgA0EMaiECIANBCGohBiADQQRqIQwgAyEAAkACQAJAAkACQCABKAIALQAAQQZ1DgQAAQIDBAsgDkEANgIAIAcgASgCAC0AAEEEdUEDcTYCACAIKAIAQQVJBEAgBEFsNgIAIAQoAgAhACADJAUgAA8LAkACQAJAAkAgBygCAEECaw4CAQACCyAHQQU2AgAgCSABKAIALQAAQQ9xQQ50IAEoAgAtAAFBBnRqIAEoAgAtAAJBAnVqNgIAIAogASgCAC0AAkEDcUEQdCABKAIALQADQQh0aiABKAIALQAEajYCAAwCCyAHQQQ2AgAgCSABKAIALQAAQQ9xQQp0IAEoAgAtAAFBAnRqIAEoAgAtAAJBBnVqNgIAIAogASgCAC0AAkE/cUEIdCABKAIALQADajYCAAwBCyAHQQM2AgAgDiABKAIALQAAQRBxNgIAIAkgASgCAC0AAEEPcUEGdCABKAIALQABQQJ1ajYCACAKIAEoAgAtAAFBA3FBCHQgASgCAC0AAmo2AgALIAkoAgBBgIAISwRAIARBbDYCACAEKAIAIQAgAyQFIAAPCyAKKAIAIAcoAgBqIAgoAgBLBEAgBEFsNgIAIAQoAgAhACADJAUgAA8LIAUoAgBB5NABaiEAIAkoAgAhAiABKAIAIAcoAgBqIQEgCigCACEGIA4oAgAEfyAAIAIgASAGEJcFBSAAIAIgASAGEJgFCyIAEMwBBEAgBEFsNgIAIAQoAgAhACADJAUgAA8FIAUoAgBB3NABaiAFKAIAQeTQAWo2AgAgBSgCAEHg0AFqIAkoAgA2AgAgBSgCAEHk0AFqIAUoAgBB4NABaigCAGpCADcAACAEIAooAgAgBygCAGo2AgAgBCgCACEAIAMkBSAADwsACyALIAEoAgAtAABBBHVBA3E2AgAgCygCAEEBRwRAIARBbDYCACAEKAIAIQAgAyQFIAAPCyAFKAIAQdjQAWooAgBFBEAgBEFiNgIAIAQoAgAhACADJAUgAA8LIAtBAzYCACAPIAEoAgAtAABBD3FBBnQgASgCAC0AAUECdWo2AgAgDSABKAIALQABQQNxQQh0IAEoAgAtAAJqNgIAIA0oAgAgCygCAGogCCgCAEsEQCAEQWw2AgAgBCgCACEAIAMkBSAADwsgECAFKAIAQeTQAWogDygCACABKAIAIAsoAgBqIA0oAgAgBSgCAEGM0ABqEJkFNgIAIBAoAgAQzAEEQCAEQWw2AgAgBCgCACEAIAMkBSAADwUgBSgCAEHc0AFqIAUoAgBB5NABajYCACAFKAIAQeDQAWogDygCADYCACAFKAIAQeTQAWogBSgCAEHg0AFqKAIAakIANwAAIAQgDSgCACALKAIAajYCACAEKAIAIQAgAyQFIAAPCwALIAYgASgCAC0AAEEEdUEDcTYCAAJAAkACQAJAIAYoAgBBAmsOAgEAAgsgAiABKAIALQAAQQ9xQRB0IAEoAgAtAAFBCHRqIAEoAgAtAAJqNgIADAILIAIgASgCAC0AAEEPcUEIdCABKAIALQABajYCAAwBCyAGQQE2AgAgAiABKAIALQAAQR9xNgIACyAGKAIAIAIoAgBqQQhqIAgoAgBNBEAgBSgCAEHc0AFqIAEoAgAgBigCAGo2AgAgBSgCAEHg0AFqIAIoAgA2AgAgBCAGKAIAIAIoAgBqNgIAIAQoAgAhACADJAUgAA8LIAIoAgAgBigCAGogCCgCAEsEQCAEQWw2AgAgBCgCACEAIAMkBSAADwUgBSgCAEHk0AFqIAEoAgAgBigCAGogAigCABD0BxogBSgCAEHc0AFqIAUoAgBB5NABajYCACAFKAIAQeDQAWogAigCADYCACAFKAIAQeTQAWogBSgCAEHg0AFqKAIAakIANwAAIAQgBigCACACKAIAajYCACAEKAIAIQAgAyQFIAAPCwALIAAgASgCAC0AAEEEdUEDcTYCAAJAAkACQAJAIAAoAgBBAmsOAgEAAgsgDCABKAIALQAAQQ9xQRB0IAEoAgAtAAFBCHRqIAEoAgAtAAJqNgIAIAgoAgBBBEkEQCAEQWw2AgAgBCgCACEAIAMkBSAADwsMAgsgDCABKAIALQAAQQ9xQQh0IAEoAgAtAAFqNgIADAELIABBATYCACAMIAEoAgAtAABBH3E2AgALIAwoAgBBgIAISwRAIARBbDYCACAEKAIAIQAgAyQFIAAPBSAFKAIAQeTQAWogASgCACAAKAIAai0AACAMKAIAQQhqEPYHGiAFKAIAQdzQAWogBSgCAEHk0AFqNgIAIAUoAgBB4NABaiAMKAIANgIAIAQgACgCAEEBajYCACAEKAIAIQAgAyQFIAAPCwALQQALxggBE38jBSEFIwVBsAFqJAUgBUGgAWohBiAFQZwBaiIHIAA2AgAgBUGYAWoiCCABNgIAIAVBlAFqIgkgAjYCACAFQZABaiIBIAM2AgAgBUGMAWoiACAENgIAIAVBiAFqIgIgASgCADYCACAFQYQBaiITIAIoAgAgACgCAGo2AgAgBUGAAWoiDiAIKAIANgIAIAVB/ABqIgEgDigCADYCACAFQfgAaiIRIA4oAgAgCSgCAGo2AgAgBUHsAGoiBCAHKAIAQdzQAWooAgA2AgAgBUHoAGoiDyAEKAIAIAcoAgBB4NABaigCAGo2AgAgBUHcAGoiCiAHKAIANgIAIAVB2ABqIgsgBygCAEGIMGo2AgAgBUHUAGoiDCAHKAIAQYQgajYCACAFQdAAaiIUIAcoAgBBlNABaigCADYCACAFQcwAaiIVIAcoAgBBmNABaigCADYCACAFQcgAaiIWIAcoAgBBnNABaigCADYCACAFQfQAaiIIIAVB5ABqIgkgBUHgAGoiDSAFQfAAaiIXIAooAgAgCygCACAMKAIAIAIoAgAgACgCACAHKAIAQdjQAWooAgAQjQU2AgAgCCgCABDMAUEARyEAIAgoAgAhEiAABEAgBiASNgIAIAYoAgAhACAFJAUgAA8LIAVBpAFqIQcgBUE8aiEDIAVBCGohACAFQQRqIRAgAiACKAIAIBJqNgIAIAkoAgAEQCADQgA3AgAgA0EANgIIIANBATYCCCAAIA0oAgA2AiwgACANKAIAIBcoAgBqNgIwIABBATYCKCAIIAAgAigCACATKAIAIAIoAgBrEI4FNgIAIAgoAgAQzQEEQCAGQWw2AgAgBigCACEAIAUkBSAADwsgAEEQaiAAIAooAgAQjwUgAEEYaiAAIAwoAgAQjwUgAEEgaiAAIAsoAgAQjwUCQAJAA0ACQCAAEJAFQQJNIQggCSgCAEEARyEKIAkoAgAhAiAIBH8gCgVBAAtFDQAgCSACQX9qNgIAIAMgABCRBSABKAIAIQIgESgCACEIIA8oAgAhCiAUKAIAIQsgFSgCACEMIBYoAgAhDSAHIAMpAgA3AgAgByADKAIINgIIIBAgAiAIIAcgBCAKIAsgDCANEJIFNgIAIBAoAgAQzAFBAEchCCAQKAIAIQIgCA0CIAEgASgCACACajYCAAwBCwsMAQsgBiACNgIAIAYoAgAhACAFJAUgAA8LIAIEQCAGQWw2AgAgBigCACEAIAUkBSAADwsLIAUiACAPKAIAIAQoAgBrNgIAIAQoAgAgDygCAEsEQCAGQWw2AgAgBigCACEAIAUkBSAADwsgASgCACAAKAIAaiARKAIASwR/IAZBun82AgAgBigCACEAIAUkBSAABSABKAIAIAQoAgAgACgCABD0BxogASABKAIAIAAoAgBqNgIAIAYgASgCACAOKAIAazYCACAGKAIAIQAgBSQFIAALC9QNARF/IwUhCSMFQeACaiQFIAlB3AJqIQogCUHYAmoiCyAANgIAIAlB1AJqIhYgATYCACAJQdACaiIXIAI2AgAgCUHMAmoiDCADNgIAIAlByAJqIg0gBDYCACAJQcQCaiIOIAU2AgAgCUHAAmoiASAGNgIAIAlBvAJqIgAgBzYCACAJQbgCaiIPIAg2AgAgCUG0AmoiCCABKAIANgIAIAlBsAJqIgEgCCgCADYCACAJQawCaiICIAgoAgAgACgCAGo2AgAgACgCAEEBSQRAIApBuH82AgAgCigCACEAIAkkBSAADwsgASABKAIAIgBBAWo2AgAgCygCACAALQAANgIAIAsoAgAoAgBFBEAgCkEBNgIAIAooAgAhACAJJAUgAA8LIAlBqAJqIRMgCUGkAmohFCAJQaACaiEVIAlBnAJqIQUgCUGYAmohBiAJQZQCaiEHIAlBkAJqIQQgCSEAIAlBjAJqIQMgCUGIAmohECAJQYQCaiERIAlBgAJqIRICQCALKAIAKAIAQYABTgRAIAEoAgAgAigCAEkEQCALKAIAKAIAQYABa0EIdCEYIAEgASgCACIZQQFqNgIAIAsoAgAgGCAZLQAAajYCAAwCCyAKQbh/NgIAIAooAgAhACAJJAUgAA8LCyABKAIAIAIoAgBPBEAgCkG4fzYCACAKKAIAIQAgCSQFIAAPCyATIAEoAgAtAABBBnU2AgAgFCABKAIALQAAQQR1QQNxNgIAIBUgASgCAC0AAEECdUEDcTYCACABKAIAIQsCQCABKAIALQAAQQJxBEAgC0EDaiACKAIATQRAIAQgASgCAC0AAjYCACAEIAQoAgAgASgCAC0AAUEIdGo2AgAgASABKAIAQQNqNgIADAILIApBuH82AgAgCigCACEAIAkkBSAADwUgC0ECaiACKAIATQRAIAQgASgCAC0AATYCACAEIAQoAgAgASgCAC0AAEEBcUEIdGo2AgAgASABKAIAQQJqNgIADAILIApBuH82AgAgCigCACEAIAkkBSAADwsACyAWKAIAIAEoAgA2AgAgASABKAIAIAQoAgBqNgIAIBcoAgAgBCgCADYCACABKAIAIAIoAgBBfWpLBEAgCkG4fzYCACAKKAIAIQAgCSQFIAAPCwJAAkACQAJAAkAgEygCAA4DAQACAwsgBUEANgIAIAwoAgAhBCABIAEoAgAiBUEBajYCACAEIAUsAAAQxwQaDAMLIAVBBjYCACAMKAIAQQYQkwUaDAILIA8oAgBFBEAgCkFsNgIAIAooAgAhACAJJAUgAA8LDAELIBBBPzYCACADIAAgECAFIAEoAgAgAigCACABKAIAaxCUBTYCACADKAIAEMwBBEAgCkF/NgIAIAooAgAhACAJJAUgAA8LIAUoAgBBCk0EQCABIAEoAgAgAygCAGo2AgAgDCgCACAAIBAoAgAgBSgCABCVBRoMAQsgCkFsNgIAIAooAgAhACAJJAUgAA8LAkACQAJAAkACQCAUKAIADgMBAAIDCyAGQQA2AgAgASgCACACKAIAQX5qTQRAIA4oAgAhBCABIAEoAgAiBUEBajYCACAEIAUtAABBH3EQxwQaDAQLIApBuH82AgAgCigCACEAIAkkBSAADwsgBkEFNgIAIA4oAgBBBRCTBRoMAgsgDygCAEUEQCAKQWw2AgAgCigCACEAIAkkBSAADwsMAQsgEUEfNgIAIAMgACARIAYgASgCACACKAIAIAEoAgBrEJQFNgIAIAMoAgAQzAEEQCAKQX82AgAgCigCACEAIAkkBSAADwsgBigCAEEJTQRAIAEgASgCACADKAIAajYCACAOKAIAIAAgESgCACAGKAIAEJUFGgwBCyAKQWw2AgAgCigCACEAIAkkBSAADwsCQAJAAkACQAJAIBUoAgAOAwEAAgMLIAdBADYCACABKAIAIAIoAgBBfmpNBEAgDSgCACEAIAEgASgCACICQQFqNgIAIAAgAiwAABDHBBoMBAsgCkG4fzYCACAKKAIAIQAgCSQFIAAPCyAHQQc2AgAgDSgCAEEHEJMFGgwCCyAPKAIARQRAIApBbDYCACAKKAIAIQAgCSQFIAAPCwwBCyASQf8ANgIAIAMgACASIAcgASgCACACKAIAIAEoAgBrEJQFNgIAIAMoAgAQzAEEQCAKQX82AgAgCigCACEAIAkkBSAADwsgBygCAEEKTQRAIAEgASgCACADKAIAajYCACANKAIAIAAgEigCACAHKAIAEJUFGgwBCyAKQWw2AgAgCigCACEAIAkkBSAADwsgCiABKAIAIAgoAgBrNgIAIAooAgAhACAJJAUgAAuuBQEFfyMFIQQjBUEgaiQFIARBFGohBSAEQRBqIgMgADYCACAEQQxqIgYgATYCACAEQQhqIgEgAjYCACABKAIAQQFJBEAgAygCACIAQgA3AgAgAEIANwIIIAVBuH82AgAgBSgCACEAIAQkBSAADwsgBEEEaiECIAQhACABKAIAQQRPIQcgAygCACAGKAIANgIMAkAgBwRAIAMoAgAgBigCACABKAIAakF8ajYCCCADKAIAKAIIEOEBIQAgAygCACAANgIAIAIgBigCACABKAIAQQFrai0AADYCACACKAIABEBBCCACKAIAENQBayEAIAMoAgAgADYCBAwCCyAFQX82AgAgBSgCACEAIAQkBSAADwUgAygCACADKAIAKAIMNgIIIAMoAgAgAygCACgCDC0AADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAmsOBgUEAwIBAAYLIAMoAgAiAiACKAIAIAMoAgAoAgwtAAZBEHRqNgIADAYLDAULDAULDAULDAULDAULDAULIAMoAgAiAiACKAIAIAMoAgAoAgwtAAVBCHRqNgIACyADKAIAIgIgAigCACADKAIAKAIMLQAEajYCAAsgAygCACICIAIoAgAgAygCACgCDC0AA0EYdGo2AgALIAMoAgAiAiACKAIAIAMoAgAoAgwtAAJBEHRqNgIACyADKAIAIgIgAigCACADKAIAKAIMLQABQQh0ajYCAAsgACAGKAIAIAEoAgBBAWtqLQAANgIAIAAoAgAEQEEIIAAoAgAQ1AFrIQAgAygCACAANgIEIAMoAgBBBGoiACAAKAIAQQQgASgCAGtBA3RqNgIADAILIAVBfzYCACAFKAIAIQAgBCQFIAAPCwALIAUgASgCADYCACAFKAIAIQAgBCQFIAALhQEBAn8jBSEDIwVBIGokBSADQRBqIgQgADYCACADQQxqIgAgATYCACADQQhqIgEgAjYCACADQQRqIgIgASgCADYCACADIAIoAgA2AgAgACgCACADKAIALwEAENwB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BiAANgIAIAVBDGoiACABNgIAIAVBCGoiASACNgIAIAVBBGoiAiADNgIAIAUgBDYCACAGKAIAIAAoAgAgASgCACACKAIAIAUoAgBBAEEAEK8FIQAgBSQFIAALxggBB38jBSEHIwVB0ABqJAUgB0HIAGoiCCAANgIAIAdBxABqIgAgATYCACAHQUBrIgsgAjYCACAHQTxqIgogAzYCACAHQThqIgkgBDYCACAHQTRqIgEgBTYCACAHQTBqIgUgBjYCACAHQSxqIgIgCigCADYCACAHQShqIg0gAigCACAJKAIAajYCACAHQSRqIgYgACgCADYCACAHQSBqIgQgBigCADYCACAHQRxqIgwgBigCACALKAIAajYCACAHQRhqIgMgCSgCADYCACAIKAIAELAFGiABKAIABEAgCCgCACABKAIAIAUoAgAQsQUgCCgCAEGY0ABqIAgoAgBBjNAAaigCADYCACAIKAIAQZTQAGogACgCACAIKAIAQYzQAGooAgAgCCgCAEGQ0ABqKAIAa2s2AgAgCCgCAEGQ0ABqIAAoAgA2AgAFIAgoAgBBmNAAaiAAKAIAIgA2AgAgCCgCAEGQ0ABqIAA2AgAgCCgCAEGU0ABqIAA2AgALIAdBzABqIQEgCSgCAEEISQRAIAFBuH82AgAgASgCACEAIAckBSAADwsgB0EIaiIAIAgoAgAgCigCAEEFELIFNgIAIAAoAgAQzAEEQCABIAAoAgA2AgAgASgCACEAIAckBSAADwsgCSgCACAAKAIAQQNqSQRAIAFBuH82AgAgASgCACEAIAckBSAADwsgAiACKAIAIAAoAgBqNgIAIAMgAygCACAAKAIAazYCACAAIAgoAgAgCigCACAAKAIAELMFNgIAIAAoAgAQzAEEQCABIAAoAgA2AgAgASgCACEAIAckBSAADwsgB0EQaiEJIAdBBGohBSAHIQACQAJAAkACQAJAAkACQANAIAVBADYCACAAIAIoAgAgDSgCACACKAIAayAJEI4ENgIAIAAoAgAQzAENASACIAIoAgBBA2o2AgAgAyADKAIAQQNrNgIAIAAoAgAgAygCAEsNAgJAAkACQAJAAkACQCAJKAIADgQBAgADBAsMCAsgBSAIKAIAIAQoAgAgDCgCACAEKAIAayACKAIAIAAoAgAQtAU2AgAMAwsgBSAEKAIAIAwoAgAg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AgAgBSgCACEAIAQkBSAADwsgBEEEaiECIAQhACABKAIAQQRPIQcgAygCACAGKAIANgIMAkAgBwRAIAMoAgAgBigCACABKAIAakF8ajYCCCADKAIAKAIIEL0FIQAgAygCACAANgIAIAIgBigCACABKAIAQQFrai0AADYCACACKAIABEBBCCACKAIAENQBayEAIAMoAgAgADYCBAwCCyAFQX82AgAgBSgCACEAIAQkBSAADwUgAygCACADKAIAKAIMNgIIIAMoAgAgAygCACgCDC0AADYCAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEoAgBBAmsOBgUEAwIBAAYLIAMoAgAiAiACKAIAIAMoAgAoAgwtAAZBEHRqNgIADAYLDAULDAULDAULDAULDAULDAULIAMoAgAiAiACKAIAIAMoAgAoAgwtAAVBCHRqNgIACyADKAIAIgIgAigCACADKAIAKAIMLQAEajYCAAsgAygCACICIAIoAgAgAygCACgCDC0AA0EYdGo2AgALIAMoAgAiAiACKAIAIAMoAgAoAgwtAAJBEHRqNgIACyADKAIAIgIgAigCACADKAIAKAIMLQABQQh0ajYCAAsgACAGKAIAIAEoAgBBAWtqLQAANgIAIAAoAgAEQEEIIAAoAgAQ1AFrIQAgAygCACAANgIEIAMoAgBBBGoiACAAKAIAQQQgASgCAGtBA3RqNgIADAILIAVBfzYCACAFKAIAIQAgBCQFIAAPCwALIAUgASgCADYCACAFKAIAIQAgBCQFIAALdgECfyMFIQMjBUEQaiQFIANBCGoiBCAANgIAIANBBGoiACABNgIAIAMgAjYCACADQQxqIgEgAygCACgBADYBACAAKAIAIAEvAQAQ3AEhASAEKAIAIAE2AgAgACgCABC6BRogBCgCACADKAIAQQRqNgIEIAMkBQvAAwEGfyMFIQMjBUEQaiQFIANBDGohAiADQQhqIgEgADYCACABKAIAKAIEQSBLBEAgAkEDNgIAIAIoAgAhACADJAUgAA8LIAEoAgAhBSABKAIAKAIIIAEoAgAoAgxBBGpPBEAgASgCAEEIaiIAIAAoAgAgBSgCBEEDdms2AgAgASgCAEEEaiIAIAAoAgBBB3E2AgAgASgCACgCCBC9BSEAIAEoAgAgADYCACACQQA2AgAgAigCACEAIAMk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QCACKAIIQQRPDQILA0AgCCgCACAGKAIASQRAIAEgASgCACIAQQFqNgIAIAAsAAAhACAIIAgoAgAiAkEBajYCACACIAA6AAAMAQsLIAogBSgCADYCACAKKAIAIQAgCSQFIAAPCwsgAigCBEEISQRAIAAgAigCBEECdEGQPWooAgA2AgAgCCgCACABKAIALAAAOgAAIAgoAgAgASgCACwAAToAASAIKAIAIAEoAgAsAAI6AAIgCCgCACABKAIALAADOgADIAEgASgCACACKAIEQQJ0QbA9aigCAGo2AgAgCCgCAEEEaiABKAIAEJ4EIAEgASgCACAAKAIAazYCAAUgCCgCACABKAIAEPwCCyAIIAgoAgBBCGo2AgAgASABKAIAQQhqNgIAIAgoAgAhAAJAIAYoAgAgCygCAEF0aksEQCAAIAQoAgBJBEAgCCgCACABKAIAIAQoAgAgCCgCAGsQ+wIgASABKAIAIAQoAgAgCCgCAGtqNgIAIAggBCgCADYCAAsDQCAIKAIAIAYoAgBPDQIgASABKAIAIgBBAWo2AgAgACwAACEAIAggCCgCACICQQFqNgIAIAIgADoAAAwACwAFIAAgASgCACACKAIIQQhrEPsCCwsgCiAFKAIANgIAIAooAgAhACAJJAUgAAs3AQJ/IwUhASMFQRBqJAUgASAANgIAIAFBBGoiAiABKAIAIgAQkAQ2AgAgAigCACEAIAEkBSAAC40LARB/IwUhBSMFQdAAaiQFIAVBQGshBiAFQTxqIhIgADYCACAFQThqIg8gATYCACAFQTRqIgggAjYCACAFQTBqIgAgAzYCACAFQSxqIhAgBDYCACAFQShqIg4gACgCADYCACAFQSRqIgsgDigCACAQKAIAajYCACAFQSBqIgIgDigCADYCACAFQQhqIglBADYCACAFQQRqIhNBADYCACAQKAIAQQRJBEAgBkG4fzYCACAGKAIAIQAgBSQFIAAPCyAFQRBqIgMgAigCABCQBDYCACAFQRxqIgQgAygCAEEPcUEFajYCACAEKAIAQQ9KBEAgBkFUNgIAIAYoAgAhACAFJAUgAA8LIAUhACAFQcYAaiERIAVBxABqIQcgAyADKAIAQQR2NgIAIAVBDGoiAUEENgIAIAgoAgAgBCgCADYCACAFQRhqIgxBASAEKAIAdEEBajYCACAFQRRqIghB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CyABQQRqIgAgACgCACABKAIEQQR2ajYCACABQQhqIgAgACgCACABKAIIQQN2ajYCACABKAIEIAEoAgBJBEAgA0EBNgIACyAFIAcoAgAgBigCACAIKAIAIAIoAgAgAygCAEECdEHE5QBqKAIAQQ9xQagBahEIADYCACAFKAIAIQAgBCQFIAALrQIBBn8jBSEEIwVBoMAAaiQFIARBnMAAaiEFIARBmMAAaiIHIAA2AgAgBEGUwABqIgggATYCACAEQZDAAGoiBiACNgIAIARBjMAAaiIBIAM2AgAgBCIAQQBBgsAAEPYHGiAEQQw7AQAgBEGIwABqIgMgBigCADYCACAEQYTAAGoiAiAEIAYoAgAgASgCABDLBTYCACACKAIAEMwBQQBHIQkgAigCACEGIAkEQCAFIAY2AgAgBSgCACEAIAQkBSAADwsgBiABKAIATwR/IAVBuH82AgAgBSgCACEAIAQkBSAABSADIAMoAgAgAigCAGo2AgAgASABKAIAIAIoAgBrNgIAIAUgBygCACAIKAIAIAMoAgAgASgCACAAEMwFNgIAIAUoAgAhACAEJAUgAAsLrQIBBn8jBSEEIwVBoIABaiQFIARBnIABaiEFIARBmIABaiIHIAA2AgAgBEGUgAFqIgggATYCACAEQZCAAWoiBiACNgIAIARBjIABaiIBIAM2AgAgBCIAQQBBhIABEPYHGiAEQQw2AgAgBEGIgAFqIgMgBigCADYCACAEQYSAAWoiAiAEIAYoAgAgASgCABDDBTYCACACKAIAEMwBQQBHIQkgAigCACEGIAkEQCAFIAY2AgAgBSgCACEAIAQkBSAADwsgBiABKAIATwR/IAVBuH82AgAgBSgCACEAIAQkBSAABSADIAMoAgAgAigCAGo2AgAgASABKAIAIAIoAgBrNgIAIAUgBygCACAIKAIAIAMoAgAgASgCACAAEMQFNgIAIAUoAgAhACAEJAUgAAsLhQoBG38jBSEDIwVB0BBqJAUgA0HIEGohBiADQcQQaiIEIAA2AgAgA0HAEGoiACABNgIAIANBvBBqIgEgAjYCACADQZAJaiICQgA3AwAgAkIANwMIIAJCADcDECACQgA3AxggAkIANwMgIAJCADcDKCACQgA3AzAgAkIANwM4IAJBQGtBADYCACADQcAIaiIHQgA3AwAgB0IANwMIIAdC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AigCAEECdGooAgA2AgAgCiAELgEAEOAEIAogFigCADoAAiAKQQE6AAMgDEEANgIAA0AgDCgCACASKAIATw0CIBUoAgAgDCgCAEECdGogCigBADYBACAMIAwoAgBBAWo2AgAMAAsACwsgC0EANgIAA0AgCygCACAFKAIASQRAIBMgAygCACALKAIAQQF0ai0AADYCACANIAMoAgAgCygCAEEBdGotAAE2AgAgDyAGKAIAIA0oAgBrNgIAIBBBASAXKAIAIA8oAgBrdDYCACARIAAgDSgCAEECdGooAgA2AgAgDiARKAIANgIAIBQgESgCACAQKAIAajYCACAKIAQvAQAgEygCAEEIdGpB//8DcRDgBCAKIA8oAgAgFigCAGo6AAIgCkECOgADA0AgFSgCACEBIA4gDigCACICQQFqNgIAIAEgAkECdGogCigBADYBACAOKAIAIBQoAgBJDQALIAAgDSgCAEECdGoiASABKAIAIBAoAgBqNgIAIAsgCygCAEEBajYCAAwBCwsgCSQFC6YDAQh/IwUhBCMFQcCEAWokBSAEQbSEAWohBSAEQbCEAWoiByAANgIAIARBrIQBaiIIIAE2AgAgBEGohAFqIgEgAjYCACAEQaSEAWoiAiADNgIAIARBoIQBaiIAIAEoAgA2AgAgBEGchAFqIgMgACgCADYCACAEQZSEAWoiBkH/ATYCACACKAIAQQJJBEAgBUG4fzYCACAFKAIAIQAgBCQFIAAPCyAEQZCEAWoiASAEQZCAAWoiCSAGIARBmIQBaiIKIAAoAgAgAigCABC+BTYCACABKAIAEMwBQQBHIQsgASgCACEAIAsEQCAFIAA2AgAgBSgCACEAIAQkBSAADwsgACACKAIATwRAIAVBuH82AgAgBSgCACEAIAQkBSAADwsgAyADKAIAIAEoAgBqNgIAIAIgAigCACABKAIAazYCACABIAQiACAJIAYoAgAgCigCABCVBTYCACABKAIAEMwBBH8gBSABKAIANgIAIAUoAgAhACAEJAUgAAUgBSAHKAIAIAgoAgAgAygCACACKAIAIAAQygU2AgAgBSgCACEAIAQkBSAACwuNDgEkfyMFIQUjBUHAAWokBSAFQbgBaiEQIAVBtAFqIRsgBUGwAWohHCAFQawBaiEdIAVBqAFqIR4gBUGkAWohFSAFQaABaiEKIAVBnAFqIRYgBUGYAWohCCAFQZQBaiERIAVBkAFqIR8gBUGAAWohBiAFQfgAaiELIAVB8ABqIQwgBUHsAGohFyAFQegAaiESIAVB5ABqISAgBUHgAGohISAFQdwAaiEiIAVB2ABqISMgBUHUAGohGCAFQdAAaiENIAVBzABqIRkgBUHIAGohCSAFQcQAaiETIAVBQGshJCAFQTBqIQcgBUEoaiEOIAVBIGohDyAFQRxqIRogBUEYaiEUIAVBFGoiJSAANgIAIAVBEGoiJiABNgIAIAVBDGoiJyACNgIAIAVBCGoiKCADNgIAIAVBBGoiACAENgIAIAVBvAFqIgEgACgCACgBADYBACAFIAEvAQI2AgAgJSgCACEBICYoAgAhAiAnKAIAIQMgKCgCACEEIAAoAgAhACAFKAIABH8gICABNgIAICEgAjYCACAiIAM2AgAgIyAENgIAIBggADYCACANQQE2AgAgGSAgKAIANgIAIAkgGSgCADYCACATIAkoAgAgISgCAGo2AgAgJCATKAIAQX1qNgIAIBogByAiKAIAICMoAgAQuAU2AgACQCAaKAIAEMwBBEAgEiAaKAIANgIABSAOIAcgGCgCABC5BSAPIAcgGCgCABC5BQJAAkADQAJAIAcQugUNACAJKAIAICQoAgBPDQAgDSgCAAR/IA4gBxDaAUH/AXEFIA4gBxDbAUH/AXELIQAgCSgCACAAOgAAIA0oAgAEfyAPIAcQ2gFB/wFxBSAPIAcQ2wFB/wFxCyEAIAkoAgAgADoAASAHELoFQQBLDQIgDSgCAAR/IA4gBxDaAUH/AXEFIA4gBxDbAUH/AXELIQAgCSgCACAAOgACIA0oAgAEfyAPIAcQ2gFB/wFxBSAPIAcQ2wFB/wFxCyEAIAkoAgAgADoAAyAJIAkoAgBBBGo2AgAMAQsLDAELIAkgCSgCAEECajYCAAsDQAJAIAcQugVBAksNACAJKAIAIBMoAgBGDQAgBxDVAwRAIA0oAgANASAOEKQFDQELIA0oAgAEfyAOIAcQ2gFB/wFxBSAOIAcQ2wFB/wFxCyEAIAkgCSgCACIBQQFqNgIAIAEgADoAACAHELoFQQJLDQAgCSgCACATKAIARg0AIAcQ1QMEQCANKAIADQEgDxCkBQ0BCyANKAIABH8gDyAHENoBQf8BcQUgDyAHENsBQf8BcQshACAJIAkoAgAiAUEBajYCACABIAA6AAAMAQsLIAcQ1QMEQCAOEKQFBEAgDxCkBQRAIBIgCSgCACAZKAIAazYCAAwECwsLIAkoAgAgEygCAEYEQCASQbp/NgIABSASQWw2AgALCwsgFCASKAIANgIAIBQoAgAhACAFJAUgAAUgGyABNgIAIBwgAjYCACAdIAM2AgAgHiAENgIAIBUgADYCACAKQQA2AgAgFiAbKAIANgIAIAggFigCADYCACARIAgoAgAgHCgCAGo2AgAgHyARKAIAQX1qNgIAIBcgBiAdKAIAIB4oAgAQuAU2AgACQCAXKAIAEMwBBEAgECAXKAIANgIABSALIAYgFSgCABC5BSAMIAYgFSgCABC5BQJAAkADQAJAIAYQugUNACAIKAIAIB8oAgBPDQAgCigCAAR/IAsgBhDaAUH/AXEFIAsgBhDbAUH/AXELIQAgCCgCACAAOgAAIAooAgAEfyAMIAYQ2gFB/wFxBSAMIAYQ2wFB/wFxCyEAIAgoAgAgADoAASAGELoFQQBLDQIgCigCAAR/IAsgBhDaAUH/AXEFIAsgBhDbAUH/AXELIQAgCCgCACAAOgACIAooAgAEfyAMIAYQ2gFB/wFxBSAMIAYQ2wFB/wFxCyEAIAgoAgAgADoAAyAIIAgoAgBBBGo2AgAMAQsLDAELIAggCCgCAEECajYCAAsDQAJAIAYQugVBAksNACAIKAIAIBEoAgBGDQAgBhDVAwRAIAooAgANASALEKQFDQELIAooAgAEfyALIAYQ2gFB/wFxBSALIAYQ2wFB/wFxCyEAIAggCCgCACIBQQFqNgIAIAEgADoAACAGELoFQQJLDQAgCCgCACARKAIARg0AIAYQ1QMEQCAKKAIADQEgDBCkBQ0BCyAKKAIABH8gDCAGENoBQf8BcQUgDCAGENsBQf8BcQshACAIIAgoAgAiAUEBajYCACABIAA6AAAMAQsLIAYQ1QMEQCALEKQFBEAgDBCkBQRAIBAgCCgCACAWKAIAazYCAAwECwsLIAgoAgAgESgCAEYEQCAQQbp/NgIABSAQQWw2AgALCwsgFCAQKAIANgIAIBQoAgAhACAFJAUgAAsLjAUBDH8jBSEDIwVBkANqJAUgA0GIA2ohBiADQYQDaiIEIAA2AgAgA0GAA2oiBSABNgIAIANB/AJqIgEgAjYCACADQfgCaiIHQQA2AgAgA0HwAmoiC0EANgIAIANB5AJqIgAgBCgCAEECajYCACADQeACaiINIAAoAgA2AgAgA0H0AmoiCCADQdAAaiIOQYACIAMiACALIAcgBSgCACABKAIAEMYFNgIAIAgoAgAQzAEEQCAGIAgoAgA2AgAgBigCACEAIAMkBSAADwsgBygCACAEKAIALwEASwRAIAZBVDYCACAGKAIAIQAgAyQFIAAPCyADQdwCaiEMIANB2AJqIQIgA0HUAmohCSADQdACaiEFIANBjANqIQogBCgCACAHKAIAOwEAIANB6AJqIgRBADYCACADQewCaiIBQQE2AgADQCABKAIAIAcoAgBNBEAgDCAEKAIANgIAIAQgBCgCACAAIAEoAgBBAnRqKAIAIAEoAgBBAWt0ajYCACAAIAEoAgBBAnRqIAwoAgA2AgAgASABKAIAQQFqNgIADAELCyABQQA2AgADQCABKAIAIAsoAgBJBEAgAiAOIAEoAgBqLQAANgIAIAlBASACKAIAdEEBdTYCACAKIAEoAgA6AAAgCiAHKAIAQQFqIAIoAgBrOgABIAUgACACKAIAQQJ0aigCADYCAANAIAUoAgAgACACKAIAQQJ0aigCACAJKAIAakkEQCANKAIAIAUoAgBBAXRqIAouAAA7AAAgBSAFKAIAQQFqNgIADAELCyAAIAIoAgBBAnRqIgQgBCgCACAJKAIAajYCACABIAEoAgBBAWo2AgAMAQsLIAYgCCgCADYCACAGKAIAIQAgAyQFIAALhAwBEn8jBSEFIwVBwAFqJAUgBUG4AWohBiAFQbQBaiINIAA2AgAgBUGwAWoiESABNgIAIAVBrAFqIgEgAjYCACAFQagBaiIJIAM2AgAgBUGkAWoiAyAENgIAIAkoAgBBCkkEQCAGQWw2AgAgBigCACEAIAUkBSAADwsgBUGgAWoiACABKAIANgIAIAVBnAFqIgQgDSgCADYCACAFQZgBaiITIAQoAgAgESgCAGo2AgAgBUGUAWoiAiADKAIANgIAIAVBkAFqIgEgAigCAEECajYCACAFQYwBaiICIAMoAgAvAQA2AgAgBUFAayIKIAAoAgAQgQRB//8DcTYCACAFQTxqIgsgACgCAEECahCBBEH//wNxNgIAIAVBOGoiDCAAKAIAQQRqEIEEQf//A3E2AgAgBUEwaiIHIAAoAgBBBmo2AgAgBUEsaiIIIAcoAgAgCigCAGo2AgAgBUEoaiIUIAgoAgAgCygCAGo2AgAgBUEkaiIWIBQoAgAgDCgCAGo2AgAgBUEgaiIAIBEoAgBBA2pBBG42AgAgBUEcaiIPIAQoAgAgACgCAGo2AgAgBUEYaiIQIA8oAgAgACgCAGo2AgAgBUEUaiISIBAoAgAgACgCAGo2AgAgBUEQaiIDIAQoAgA2AgAgBUEMaiIEIA8oAgA2AgAgBUEIaiINIBAoAgA2AgAgBUEEaiIOIBIoAgA2AgAgBUE0aiIVIAkoAgAgCigCACALKAIAaiAMKAIAakEGams2AgAgFSgCACAJKAIASwRAIAZBbDYCACAGKAIAIQAgBSQFIAAPCyAFQYgBaiIAIAVB+ABqIgkgBygCACAKKAIAELgFNgIAIAAoAgAQzAEEQCAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgACAFQegAaiIKIAgoAgAgCygCABC4BTYCACAAKAIAEMwBBEAgBiAAKAIANgIAIAYoAgAhACAFJAUgAA8LIAAgBUHYAGoiCyAUKAIAIAwoAgAQuAU2AgAgACgCABDMAQRAIAYgACgCADYCACAGKAIAIQAgBSQFIAAPCyAAIAVByABqIgwgFigCACAVKAIAELgFNgIAIAAoAgAQzAEEQCAGIAAoAgA2AgAgBigCACEAIAUkBSAADwsgBSIAIAkQugUgChC6BXIgCxC6BXIgDBC6BXI2AgADQAJAIAAoAgANACAOKAIAIBMoAgBBeWpPDQAgCSABKAIAIAIoAgAQ1wQhByADIAMoAgAiCEEBajYCACAIIAc6AAAgCiABKAIAIAIoAgAQ1wQhByAEIAQoAgAiCEEBajYCACAIIAc6AAAgCyABKAIAIAIoAgAQ1wQhByANIA0oAgAiCEEBajYCACAIIAc6AAAgDCABKAIAIAIoAgAQ1wQhByAOIA4oAgAiCEEBajYCACAIIAc6AAAgCSABKAIAIAIoAgAQ1wQhByADIAMoAgAiCEEBajYCACAIIAc6AAAgCiABKAIAIAIoAgAQ1wQhByAEIAQoAgAiCEEBajYCACAIIAc6AAAgCyABKAIAIAIoAgAQ1wQhByANIA0oAgAiCEEBajYCACAIIAc6AAAgDCABKAIAIAIoAgAQ1wQhByAOIA4oAgAiCEEBajYCACAIIAc6AAAgACAJELoFIAoQugVyIAsQugVyIAwQugVyNgIADAELCyADKAIAIA8oAgBLBEAgBkFsNgIAIAYoAgAhACAFJAUgAA8LIAQoAgAgECgCAEsEQCAGQWw2AgAgBigCACEAIAUkBSAADwsgDSgCACASKAIASwRAIAZBbDYCACAGKAIAIQAgBSQFIAAPCyADKAIAIAkgDygCACABKAIAIAIoAgAQzQUaIAQoAgAgCiAQKAIAIAEoAgAgAigCABDNBRogDSgCACALIBIoAgAgASgCACACKAIAEM0FGiAOKAIAIAwgEygCACABKAIAIAIoAgAQzQUaIAAgCRDVAyAKENUDcSALENUDcSAMENUDcTYCACAAKAIABH8gBiARKAIANgIAIAYoAgAhACAFJAUgAAUgBkFsNgIAIAYoAgAhACAFJAUgAAsL5gIBBH8jBSEGIwVBIGokBSAGQRRqIgUgADYCACAGQRBqIgcgATYCACAGQQxqIgggAjYCACAGQQhqIgEgAzYCACAGQQRqIgIgBDYCACAGIgAgBSgCADYCAANAAkAgBygCABC6BQ0AIAUoAgAgCCgCAEF8aksNACAHKAIAIAEoAgAgAigCABDXBCEDIAUgBSgCACIEQQFqNgIAIAQgAzoAACAHKAIAIAEoAgAgAigCABDXBCEDIAUgBSgCACIEQQFqNgIAIAQgAzoAAAwBCwsDQAJAIAcoAgAQugUNACAFKAIAIAgoAgBPDQAgBygCACABKAIAIAIoAgAQ1wQhAyAFIAUoAgAiBEEBajYCACAEIAM6AAAMAQsLA0AgBSgCACAIKAIASQRAIAcoAgAgASgCACACKAIAENcEIQMgBSAFKAIAIgRBAWo2AgAgBCADOgAADAELCyAIKAIAIAAoAgBrIQAgBiQFIAAL+AEBA38jBSEDIwVBIGokBSADQRBqIQQgA0EMaiIFIAA2AgAgA0EIaiIAIAE2AgAgA0EEaiIBIAI2AgAgASgCAEEFSQRAIARBBTYCACAEKAIAIQAgAyQFIAAPCyADIAAoAgAQkAQ2AgAgAygCAEGk6r5pRwRAIARBdjYCACAEKAIAIQAgAyQFIAAPCyAFKAIAIgFCADcDACABQgA3AwggAUIANwMQIAFCADcDGCAFKAIAIAAoAgAtAARBD3FBC2o2AgggACgCAC0ABEEEdQR/IARBcjYCACAEKAIAIQAgAyQFIAAFIARBADYCACAEKAIAIQAgAyQFIAALC24BAn8jBSEFIwVBIGokBSAFQRBqIgYgADYCACAFQQxqIgAgATYCACAFQQhqIgEgAjYCACAFQQRqIgIgAzYCACAFIAQ2AgAgBigCACAAKAIAIAEoAgAgAigCACAFKAIAQQBBABCgBCEAIAUkBSAAC7UBAQV/IwUhBCMFQSBqJAUgBEEYaiEFIARBBGohBiAEQRRqIgcgADYCACAEQRBqIgggATYCACAEQQxqIgEgAjYCACAEQQhqIgIgAzYCACAEIgAQ6QM2AgAgBCgCAAR/IAYgACgCACAHKAIAIAgoAgAgASgCACACKAIAEM8FNgIAIAAoAgAQ6gMaIAUgBigCADYCACAFKAIAIQAgBCQFIAAFIAVBQDYCACAFKAIAIQAgBCQFIAALCysBAX8jBSEBIwVBEGokBSABIAA2AgAgASgCAEHI4AFqKAIAIQAgASQFIAALjAEBAn8jBSECIwVBEGokBSACQQRqIQEgAiAANgIAAkACQAJAAkACQAJAAkAgAigCAEGE4QFqKAIAQQJrDgYBAgMEAAAFCyABQQU2AgAMBQsgAUEBNgIADAQLIAFBAjYCAAwDCyABQQM2AgAMAgsgAUEENgIADAELIAFBADYCAAsgASgCACEAIAIkBSAAC6MOAQh/IwUhByMFQUBrJAUgB0E0aiEGIAdBMGoiBSAANgIAIAdBLGoiCCABNgIAIAdBKGoiCSACNgIAIAdBJGoiAiADNgIAIAdBIGoiASAENgIAIAEoAgAgBSgCAEHI4AFqKAIARwRAIAZBuH82AgAgBigCACEAIAckBSAADwsgCSgCAARAIAUoAgAgCCgCABCWBAsgB0EcaiELIAdBEGohBCAHQQxqIQogB0EIaiEDIAdBBGohDCAHIQACQAJAAkACQAJAAkACQAJAIAUoAgBBhOEBaigCAA4IAAECAwMEBQYHCyAFKAIAQfDhAWooAgBFBEAgAigCABDPAUFwcUHQ1LTCAUYEQCAFKAIAQdziCWogAigCACABKAIAEPQHGiAFKAIAQcjgAWpBCCABKAIAazYCACAFKAIAQYThAWpBBjYCACAGQQA2AgAgBigCACEAIAckBSAADwsLIAIoAgAgASgCACAFKAIAQfDhAWooAgAQ9gMhACAFKAIAQejhAWogADYCACAFKAIAQejhAWooAgAQzQFBAEchAyAFKAIAIQAgAwRAIAYgAEHo4QFqKAIANgIAIAYoAgAhACAHJAUgAA8FIABB3OIJaiACKAIAIAEoAgAQ9AcaIAUoAgBByOABaiAFKAIAQejhAWooAgAgASgCAGs2AgAgBSgCAEGE4QFqQQE2AgAgBkEANgIAIAYoAgAhACAHJAUgAA8LAAsgBSgCAEHc4glqIAUoAgBB6OEBaigCACABKAIAa2ogAigCACABKAIAEPQHGiALIAUoAgAgBSgCAEHc4glqIAUoAgBB6OEBaigCABCoBDYCACALKAIAEM0BBEAgBiALKAIANgIAIAYoAgAhACAHJAUgAA8FIAUoAgBByOABakEDNgIAIAUoAgBBhOEBakECNgIAIAZBADYCACAGKAIAIQAgByQFIAAPCwALIAogAigCAEEDIAQQhwQ2AgAgCigCABDNAUEARyEBIAooAgAhACABBEAgBiAANgIAIAYoAgAhACAHJAUgAA8LIAUoAgBByOABaiAANgIAIAUoAgBBgOEBaiAEKAIANgIAIAUoAgBBiOIBaiAEKAIINgIAIAQoAgRBAEchACAKKAIABEAgBSgCAEGE4QFqIAAEf0EEBUEDCzYCACAGQQA2AgAgBigCACEAIAckBSAADwsgBSgCACEBIAAEQCAFKAIAQcjgAWohACABQfDgAWooAgAEQCAAQQQ2AgAgBSgCAEGE4QFqQQU2AgAFIABBADYCACAFKAIAQYThAWpBADYCAAsFIAFByOABakEDNgIAIAUoAgBBhOEBakECNgIACyAGQQA2AgAgBigCACEAIAckBSAADwsCQAJAAkACQAJAIAUoAgBBgOEBaigCAA4DAQIAAwsgAyAFKAIAIAgoAgAgCSgCACACKAIAIAEoAgBBARCXBDYCAAwDCyADIAgoAgAgCSgCACACKAIAIAEoAgAQqQQ2AgAMAgsgAyAIKAIAIAkoAgAgAigCACABKAIAIAUoAgBBiOIBaigCABDUBTYCAAwBCyAGQWw2AgAgBigCACEAIAckBSAADwsgAygCABDNAUEARyEBIAMoAgAhACABBEAgBiAANgIAIAYoAgAhACAHJAUgAA8LIAUoAgBB+OABaiIBIAEpAwAgAK18NwMAIAUoAgBB8OABaigCAARAIAUoAgBBkOEBaiAI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AygCAEGE4QFqQQI2AgALIAMoAgBB2OABaiADKAIAQdjgAWopAwBCgAhWBH4gAygCAEHY4AFqKQMABUKACAs3AwAgAygCAEHY4AFqKQMAIAMoAgBBrOIBaigCAK1WBEBBNCEBDAULIBkgAygCAEHg4AFqKAIAQQRLBH8gAygCAEHg4AFqKAIABUEECyIGNgIAIBogAygCAEHY4AFqKQMAIAMoAgBB0OABaikDABDjBTYCAAJAAkAgAygCAEGk4gFqKAIAIBkoAgBJDQAgAygCAEG04gFqKAIAIBooAgBJDQAMAQsgIiAZKAIAIBooAgBqNgIAIAMoAgBBjOIBaigCAARAICIoAgAgAygCAEGM4gFqKAIAQfDiCWtLBEBBOyEBDAcLBSADKAIAQaDiAWooAgAhBiANIAMoAgBB+OEBaiIOKQIANwIAIA0gDigCCDYCCCAGIA0Q7wEgAygCAEGk4gFqQQA2AgAgAygCAEG04gFqQQA2AgAgIigCACEGIA0gAygCAEH44QFqIg4pAgA3AgAgDSAOKAIINgIIIAYgDRDtASEGIAMoAgBBoOIBaiAGNgIAIAMoAgBBoOIBaigCAEUEQEE9IQEMBwsLIAMoAgBBpOIBaiAZKAIANgIAIAMoAgBBsOIBaiADKAIAQaDiAWooAgAgAygCAEGk4gFqKAIAajYCACADKAIAQbTiAWogGigCADYCAAsgAygCAEGc4gFqQQI2AgALIBEgAygCABDRBTYCACARKAIARQRAIAMoAgBBnOIBakEANgIAIAFBADYCAAwDCyALKAIAIAIoAgBrIBEoAgBJBEAgAigCACALKAIARgRAIAFBADYCAAwEBSADKAIAQZziAWpBAzYCAAwCCwALICMgAygCABDnBTYCACASIAMoAgAiDiADKAIAQbDiAWooAgAgAygCAEG44gFqKAIAaiAjKAIABH9BAAUgAygCAEG04gFqKAIAIAMoAgBBuOIBaigCAGsLIgYgAigCACARKAIAENMFNgIAIBIoAgAQzQEEQEHGACEBDAQLIAIgAigCACARKAIAajYCACASKAIAICMoAgByBEAgAygCAEG84gFqIAMoAgBBuOIBaigCACASKAIAajYCACADKAIAQZziAWpBBDYCAAsMAgsgJCADKAIAENEFNgIAIBMgJCgCACADKAIAQajiAWooAgBrNgIA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NgIAIAMoAgAhASAAKAIABEAgARDSBUECRkEDbCEBIAAgACgCACABajYCACAAIAAoAgAgAygCAEGo4gFqKAIAazYCACAFIAAoAgA2AgAgBSgCACEAIAQkBSAADwsgAygCAEHQ4gFqKAIAQQBHIQAgAUG84gFqKAIAIAMoAgBBuOIBaigCAEcEQCAARQRAIAcoAgBBCGoiACAAKAIAQX9qNgIAIAMoAgBB0OIBakEBNgIACyAFQQE2AgAgBSgCACEAIAQkBSAADwsCQCAABEAgBygCACgCCCAHKAIAKAIESQRAIAcoAgBBCGoiACAAKAIAQQFqNgIADAILIAMoAgBBnOIBakECNgIAIAVBATYCACAFKAIAIQAgBCQFIAAPCwsgBUEANgIAIAUoAgAhACAEJAUgAA8LQQALvggBHH8jBSEEIwVBgAFqJAUgBEHwAGohBiAEQdwAaiEQIARB2ABqIREgBEHUAGohCCAEQdAAaiESIARBzABqIQkgBEHIAGohEyAEQcQAaiEUIARBQGshFSAEQTxqIQogBEE4aiEWIARBNGohCyAEQTBqIRcgBEEsaiEYIARBKGohGSAEQSRqIQwgBEEgaiEaIARBHGohDSAEQRhqIRsgBEEUaiEcIARBEGohHSAEQQxqIQ4gBEEIaiEeIARBBGohDyAEIR8gBEHsAGoiByAANgIAIARB6ABqIgAgATYCACAEQeQAaiIFIAI2AgAgBEHgAGoiASADNgIAAkACQAJAAkACQCAAKAIAQQRrDgQDAgEABAsgHCAHKAIANgIAIB0gASgCACgCACABKAIAKAIIajYCACAOIAEoAgAoAgQgASgCACgCCGs2AgAgHiAFKAIAKAIAIAUoAgAoAghqNgIAIA8gBSgCACgCBCAFKAIAKAIIazYCACAfIBwoAgAgHigCACAPIB0oAgAgDhD4BTYCACAFKAIAQQhqIgAgACgCACAPKAIAajYCACABKAIAQQhqIgAgACgCACAOKAIAajYCACAGIB8oAgA2AgAgBigCACEAIAQkBSAADwsgGCAHKAIANgIAIBkgASgCACgCACABKAIAKAIIajYCACAMIAEoAgAoAgQgASgCACgCCGs2AgAgGiAFKAIAKAIAIAUoAgAoAghqNgIAIA0gBSgCACgCBCAFKAIAKAIIazYCACAbIBgoAgAgGigCACANIBkoAgAgDBD3BTYCACAFKAIAQQhqIgAgACgCACANKAIAajYCACABKAIAQQhqIgAgACgCACAMKAIAajYCACAGIBsoAgA2AgAgBigCACEAIAQkBSAADwsgFCAHKAIANgIAIBUgASgCACgCACABKAIAKAIIajYCACAKIAEoAgAoAgQgASgCACgCCGs2AgAgFiAFKAIAKAIAIAUoAgAoAghqNgIAIAsgBSgCACgCBCAFKAIAKAIIazYCACAXIBQoAgAgFigCACALIBUoAgAgChD2BTYCACAFKAIAQQhqIgAgACgCACALKAIAajYCACABKAIAQQhqIgAgACgCACAKKAIAajYCACAGIBcoAgA2AgAgBigCACEAIAQkBSAADwsgECAHKAIANgIAIBEgASgCACgCACABKAIAKAIIajYCACAIIAEoAgAoAgQgASgCACgCCGs2AgAgEiAFKAIAKAIAIAUoAgAoAghqNgIAIAkgBSgCACgCBCAFKAIAKAIIazYCACATIBAoAgAgEigCACAJIBEoAgAgCBD1BTYCACAFKAIAQQhqIgAgACgCACAJKAIAajYCACABKAIAQQhqIgAgACgCACAIKAIAajYCACAGIBMoAgA2AgAgBigCACEAIAQkBSAADwsgBkF0NgIAIAYoAgAhACAEJAUgAAuRBQEGfyMFIQUjBUEwaiQFIAVBIGoiBiAANgIAIAVBHGoiByABNgIAIAVBGGoiCCACNgIAIAVBFGoiCSADNgIAIAVBEGoiAyAENgIAIAcoAgAgCCgCAEcEQCAGKAIAKAIAIAcoAgAQ7AMaCyAFQSRqIQEgBUEMaiECIAVBCGohBCAFQQRqIQogBSEAAkACQAJAAkACQCAIKAIAQQRrDgQDAgEABAsgACAHKAIAIAgoAgBHBH8Q7wUFIAYoAgAoAgALNgIAIAAoAgAEQCAAKAIAIAkoAgAgAygCABDwBRogBigCACAAKAIANgIAIAFBADYCACABKAIAIQAgBSQFIAAPBSABQUA2AgAgASgCACEAIAUkBSAADwsACyAKIAcoAgAgCCgCAEcEfxDtBQUgBigCACgCAAs2AgAgCigCAARAIAooAgAgCSgCACADKAIAEO4FGiAGKAIAIAooAgA2AgAgAUEANgIAIAEoAgAhACAFJAUgAA8FIAFBQDYCACABKAIAIQAgBSQFIAAPCwALIAQgBygCACAIKAIARwR/EOsFBSAGKAIAKAIACzYCACAEKAIABEAgBCgCACAJKAIAIAMoAgAQ7AUaIAYoAgAgBCgCADYCACABQQA2AgAgASgCACEAIAUkBSAADwUgAUFANgIAIAEoAgAhACAFJAUgAA8LAAsgAiAHKAIAIAgoAgBHBH8Q9AUFIAYoAgAoAgALNgIAIAIoAgAEQCACKAIAEOkFGiACKAIAIAkoAgAgAygCABDqBRogBigCACACKAIANgIAIAFBADYCACABKAIAIQAgBSQFIAAPBSABQUA2AgAgASgCACEAIAUkBSAADwsACyABQQA2AgAgASgCACEAIAUkBSAACy4BAX8jBSEBIwVBEGokBSABIAA2AgAgASgCAEGE4QFqKAIAQQdGIQAgASQFIAALhwEBBH8jBSEEIwVBIGokBSAEQRBqIgYgADYCACAEQQxqIgUgATYCACAEQQhqIgcgAjYCACAEQQRqIgEgAzYCACAFKAIAIQIgASgCACEDIAQiACAFKAIAIAEoAgBJBH8gAgUgAws2AgAgBigCACAHKAIAIAAoAgAQ9AcaIAAoAgAhACAEJAUgAAsmAQF/IwUhASMFQRBqJAUgASAANgIAIAEoAgAQ8wUhACABJAUgAAtIAQJ/IwUhAyMFQRBqJAUgA0EIaiIEIAA2AgAgA0EEaiIAIAE2AgAgAyACNgIAIAQoAgAgACgCACADKAIAEPIFIQAgAyQFIAALzAEBBH8jBSECIwVBEGokBSACQQRqIQMgAiIBQeAAEIYGNgIAIAEoAgAEfyABKAIAIgBCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0IANwMAIABCADcDSCAAQgA3A1AgAEIANwNYELAEIQAgASgCACAANgIAIAEoAgBBADYCUCADIAEoAgA2AgAgAygCACEBIAIkBSABBSADQQA2AgAgAygCACEBIAIkBSABCwt9AQJ/IwUhBCMFQRBqJAUgBEEIaiIDIAA2AgAgBEEEaiIAIAE2AgAgBCACNgIAIAMoAgBBATYCUCADKAIAQQA2AkggAygCAEEANgJEIAMoAgBBADYCOCADKAIAQQA2AkwgAygCACgCACAAKAIAIAQoAgAQhQUhACAEJAUgAAu+AQEEfyMFIQIjBUEQaiQFIAJBBGohAyACIgFB0AAQhgY2AgAgASgCAAR/IAEoAgAiAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwIABCADcDOCAAQUBrQgA3AwAgAEIANwNIELIEIQAgASgCACAANgIAIAEoAgBBADYCGCADIAEoAgA2AgAgAygCACEBIAIkBSABBSADQQA2AgAgAygCACEBIAIkBSABCwt9AQJ/IwUhBCMFQRBqJAUgBEEIaiIDIAA2AgAgBEEEaiIAIAE2AgAgBCACNgIAIAMoAgBBATYCGCADKAIAQQA2AjQgAygCAEEANgIwIAMoAgBBADYCJCADKAIAQQA2AkwgAygCACgCACAAKAIAIAQoAgAQ6gQhACAEJAUgAAs0AQJ/IwUhACMFQRBqJAUgAEGg5QApAgA3AgAgAEGo5QAoAgA2AgggABDxBSEBIAAkBSABC30BAn8jBSEEIwVBEGokBSAEQQhqIgMgADYCACAEQQRqIgAgATYCACAEIAI2AgAgAygCAEEBNgIgIAMoAgBBADYCPCADKAIAQQA2AjggAygCAEEANgIsIAMoAgBBADYCWCADKAIAKAIAIAAoAgAgBCgCABC2BCEAIAQkBSAAC5wDAQV/IwUhBCMFQSBqJAUgACgCAEUEQCAAKAIERQRAIABBoOUAKQIANwIAIABBqOUAKAIANgIICwsgBEEIaiEFIARBBGohAiAEIQMgACgCAARAIAAoAgQEQCADIAAoAghB6AAgACgCAEE/cUHIAGoRBwA2AgAgAygCAEUEQCACQQA2AgAgAigCACEAIAQkBSAADwsgAygCACIBQgA3AwAgAUIANwMIIAFCADcDECABQgA3AxggAUIANwMgIAFCADcDKCABQgA3AzAgAUIANwM4IAFBQGtCADcDACABQgA3A0ggAUIANwNQIAFCADcDWCABQgA3A2AgAygCAEHcAGoiASAAKQIANwIAIAEgACgCCDYCCCAFIAApAgA3AgAgBSAAKAIINgIIIAUQ5wQhACADKAIAIAA2AgAgAygCACEAIAMoAgAoAgAEQCAAQQA2AiAgAiADKAIANgIAIAIoAgAhACAEJAUgAA8FIAAQ8AMaIAJBADYCACACKAIAIQAgBCQFIAAPCwALCyACQQA2AgAgAigCACEAIAQkBSAAC04B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AAAAAAAAAGIEfyAARAAAAAAAAPBDoiABEKkGIQAgASgCAEFAagVBAAsiAjYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAAC6UCAAJ/IAAEfyABQYABSQRAIAAgAToAAEEBDAILQZDpACgCACgCAEUEQCABQYB/cUGAvwNGBEAgACABOgAAQQEMAwVByLUBQdQANgIAQX8MAwsACyABQYAQSQRAIAAgAUEGdkHAAXI6AAAgACABQT9xQYABcjoAAUECDAILIAFBgLADSSABQYBAcUGAwANGcgRAIAAgAUEMdkHgAXI6AAAgACABQQZ2QT9xQYABcjoAASAAIAFBP3FBgAFyOgACQQMMAgsgAUGAgHxqQYCAwABJBH8gACABQRJ2QfABcjoAACAAIAFBDHZBP3FBgAFyOgABIAAgAUEGdkE/cUGAAXI6AAIgACABQT9xQYABcjoAA0EEBUHItQFB1AA2AgBBfwsFQQELCwuTAQECfwJAAkACQANAIAJB8MUAai0AACAARg0BIAJBAWoiAkHXAEcNAAtB1wAhAgwBCyACDQBB0MYAIQAMAQtB0MYAIQADQCAAIQMDQCADQQFqIQAgAywAAARAIAAhAwwBCwsgAkF/aiICDQALCyABKAIUIgEEfyABKAIAIAEoAgQgABCZBgVBAAsiAQR/IAEFIAALC/MBAQR/AkACQCACQRBqIgQoAgAiAw0AIAIQrQYEf0EABSAEKAIAIQMMAQshAgwBCyADIAJBFGoiBSgCACIEayABSQRAIAIgACABIAIoAiRBH3FBiAFqEQUAIQIMAQsCfyACLABLQQBIIAFFcgR/QQAFIAEhAwNAIAAgA0F/aiIGaiwAAEEKRwRAIAYEQCAGIQMMAgVBAAwECwALCyACIAAgAyACKAIkQR9xQYgBahEFACICIANJDQIgACADaiEAIAEgA2shASAFKAIAIQQgAwsLIQIgBCAAIAEQ9AcaIAUgBSgCACABajYCACACIAFqIQILIAILawECfyAAQcoAaiICLAAAIQEgAiABQf8BaiABcjoAACAAKAIAIgFBCHEEfyAAIAFBIHI2AgBBfwUgAEEANgIIIABBADYCBCAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQQQALIgALOwECfyAA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QXhqKAIAIQggCUH/AXEhCSACQWhqIAYEfyAMBSAHCyAGBH8gCAUgCQsQ4QYaIAAoAgBBaGoiACwAC0EASARAIAAoAgAhAAsgASAAIAQQ9AcaIAEgBGpBADoAAEEAIQALIAMEQCADIAA2AgALIAVBIGoQ4gYgBUEQahDjBiAFEN8GIApBgCBqQQA2AgAMAQsgAwR/IANBfTYCAEEABUEACyEBCyALJAUgAQuPAQECfyMFIQIjBUEQaiQFIAIgATYCACAAQQA2AgAgAEEANgIEIABBADYCCCAAIAIoAgA2AgwgAiABENsGIABBEGoiA0EANgIAIANBADYCBCADQQA2AgggAyACKAIANgIMIAIgATYCACAAQSBqIgBBADYCACAAQQA2AgQgAEEANgIIIAAgAigCADYCDCACJAULCQAgACABNgIAC9sBAQl/IwUhBSMFQSBqJAUgBUEUaiEGIAUhBEH/////ACIHIABBBGoiCCgCACAAKAIAa0EEdUEBaiIDSQRAECgFIAAoAgggACgCACIJayICQQR1IAdBAXZJIQogAkEDdSICIANPBEAgAiEDCyAAQQxqIQIgBCAKBH8gAwUgBwsgCCgCACAJa0EEdSACENwHIARBCGoiAygCACECIAYgARDbBiACQQA2AgAgAkEANgIEIAJBADYCCCACIAYoAgA2AgwgAyACQRBqNgIAIAAgBBDdByAEEN4HIAUkBQsLtgIBAX8CQCAAIAFJBEACQCAALAAAQd8ARgRAIAEgAGtBA0wEQCADQX42AgAMBAsCQAJAAkACQAJAIAAsAAFB2gBrDgYAAgICAgECCyAAQQJqIgQgASACEOwGIgAgBEYgACABRnJFBEAgACwAAEEuRgRAIAAgASACEO0GIQALCyAAIAFGDQUgA0F+NgIADAcLDAELDAELIAAsAAJB3wBGBEAgACwAA0HaAEYEQCAAQQRqIgQgASACEOwGIgAgBEYgACABRnIEQCADQX42AgAMBwsgACABIAIQ7gYgAUYNBCADQX42AgAMBgsLCyADQX42AgAMAwUgACABIAIQ7wYgAUcEQCADQX42AgAMBAsLCyADKAIARQRAIAIoAgAgAigCBEYEQCADQX42AgALCwUgA0F+NgIACwsLDwAgAEEMahDrBiAAEOsGC1IBA38gACgCACICBEAgAEEEaiIDKAIAIQED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aiEADAELCyADIAZBDGoiAEECEPwGQduZARCWBiECIAMoAgQhBSADLAALIg1B/wFxIQ4gAiANQQBIBH8gBQUgDgtGBEAgA0HbmQEgAhD9BkUhAiADEOsGIAIEQCAAEOQHCwUgAxDrBgsgBCAJEIAHIARBAEHbmQEQ8gYaIAogBCkCADcCACAKIAQoAgg2AghBACECA0AgAkEDRwRAIAQgAkECdGpBADYCACACQQFqIQIMAQsLIApBkpoBEPMGGiAIIAopAgA3AgAgCCAKKAIINgIIQQAhAgNAIAJBA0cEQCAKIAJBAnRqQQA2AgAgAkEBaiECDAELCyAALAALIgVBAEghAiAAKAIAIQ0gBigCECEOIAVB/wFxIQUgCCACBH8gDQUgAAsgAgR/IA4FIAULEOEGGiAMIAgpAgA3AgAgDCAIKAIINgIIQQAhAANAIABBA0cEQCAIIABBAnRqQQA2AgAgAEEBaiEADAELCyAHKAIAIgJBdGoiAEELaiIHLAAAQQBIBEAgACgCACEHIANBADoAACAHIAMQ6AYgAkF4akEANgIABSADQQA6AAAgACADEOgGIAdBADoAAAsgABCOByAAIAwpAgA3AgAgACAMKAIINgIIQQAhAANAIABBA0cEQCAMIABBAnRqQQA2AgAgAEEBaiEADAELCyAMEOsGIAgQ6wYgChDrBiAEEOsGIAkQ3gYgBhDeBiABIQALCwsLCwsLCyALJAUgAAtEAQF/IABBADYCACAAQQRqIgNBADYCACAAQQA2AgggACACKAIANgIMIAAQ4wcgAygCACABEPQGIAMgAygCAEEYajYCAAuSAgEIfyMFIQcjBUEgaiQFIAchBUH/////ACIIIABBBGoiCSgCACAAKAIAa0EEdUEBaiIDSQRAECgFIAAoAgggACgCACIEayICQQR1IAhBAXZJIQYgAkEDdSICIANPBEAgAiEDCyAAQQxqIQIgBSAGBH8gAwUgCAsgCSgCACAEa0EEdSACENwHIAVBCGoiBigCACIEQQA2AgAgBEEEaiICQQA2AgAgBEEIaiIDQQA2AgAgBCABKAIMNgIMIAQgASgCADYCACACIAFBBGoiAigCADYCACADIAFBCGoiAygCADYCACADQQA2AgAgAkEANgIAIAFBADYCACAGIARBEGo2AgAgACAFEN0HIAUQ4gcgByQFCwvr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QfeZARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDBYLIANCADcCACADQQA2AgggA0GimgFBopoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMFQsgA0IANwIAIANBADYCCCADQaWaAUGlmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwUCyAAIAEgAhCVByEADBMLIAAgASACEJYHIQAMEgsMEQsCQAJAAkACQAJAAkAgBCwAAUHjAGsOFAAFBQUFBQUFBQECBQMFBQUFBQUEBQsgACABIAIQlwchAAwVCyAAIAEgAhCYByEADBQLIANCADcCACADQQA2AgggA0GnmgFBp5oBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMEwsgA0IANwIAIANBADYCCCADQamaAUGpmgEQlgYQjAcgAEECaiIEIAEgAyACEJQHIQEgAxDrBiABIARHBEAgASEACwwSCyAAIAEgAhCZByEADBELDBALAkACQAJAAkACQAJAAkACQAJAAkAgBCwAAUHWAGsOIQgJCQkJCQkJCQkJAAkBCQIJCQkJCQkDCQQJCQkJBQYJBwkLIARBAmoiBCABIAIQjQciASAERg0YIAIoAgAgAkEEaiICKAIARg0YIAdCADcCACAHQQA2AggCQCAKBEAgB0GrmgFBq5oBEJYGEIwHBUEAIQADQCAAQQNGDQIgByAAQQJ0akEANgIAIABBAWohAAwACwALCyAHQa6aARDzBhogBiAHKQIANwIAIAYgBygCCDYCCEEAIQADQCAAQQNHBEAgByAAQQJ0akEANgIAIABBAWohAAwBCwsgCCACKAIAQWhqEIAHIAgsAAsiBEEASCEAIAgoAgAhCSAIKAIEIQogBEH/AXEhBCAGIAAEfyAJBSAICyAABH8gCgUgBAsQ4QYaIAUgBikCADcCACAFIAYoAgg2AghBACEAA0AgAEEDRwRAIAYgAEECdGpBADYCACAAQQFqIQAMAQsLIAIoAgAiAkFoaiIAQQtqIgQsAABBAEgEQCAAKAIAIQQgA0EAOgAAIAQgAxDoBiACQWxqQQA2AgAFIANBADoAACAAIAMQ6AYgBEEAOgAACyAAEI4HIAAgBSkCADcCACAAIAUoAgg2AghBACEAA0AgAEEDRwRAIAUgAEECdGpBADYCACAAQQFqIQAMAQsLIAUQ6wYgCBDrBiAGEOsGIAcQ6wYgASEADBgLIAAgASACEJoHIQAMFwsgA0IANwIAIANBADYCCCADQfWZAUH1mQEQlgYQjAcgAEECaiIEIAEgAyACEJQHIQEgAxDrBiABIARHBEAgASEACwwWCyAEQQJqIgQgASACEI0HIgEgBEYNFSACKAIAIAJBBGoiAigCAEYNFSAHQgA3AgAgB0EANgIIAkAgCgRAIAdBq5oBQauaARCWBhCMBwVBACEAA0AgAEEDRg0CIAcgAEECdGpBADYCACAAQQFqIQAMAAsACwsgB0G4mgEQ8wYaIAYgBykCADcCACAGIAcoAgg2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAggAigCAEFoahCAByAILAALIgRBAEghACAIKAIAIQkgCCgCBCEKIARB/wFxIQQgBiAABH8gCQUgCAsgAAR/IAoFIAQLEOEGGiAFIAYpAgA3AgAgBSAGKAIINgIIQQAhAANAIABBA0cEQCAGIABBAnRqQQA2AgAgAEEBaiEADAELCyACKAIAIgJBaGoiAEELaiIELAAAQQBIBEAgACgCACEEIANBADoAACAEIAMQ6AYgAkFsakEANgIABSADQQA6AAAgACADEOgGIARBADoAAAsgABCOByAAIAUpAgA3AgAgACAFKAIINgIIQQAhAANAIABBA0cEQCAFIABBAnRqQQA2AgAgAEEBaiEADAELCyAFEOsGIAgQ6wYgBhDrBiAHEOsGIAEhAAwVCyAAIAEgAhCbByEADBQLIAAgASACEJwHIQAMEwsgACABIAIQnQchAAwSCyADQgA3AgAgA0EANgIIIANBwJoBQcCaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDBELIANCADcCACADQQA2AgggA0HCmgFBwpoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMEAsMDwsCQAJAAkACQCAELAABQc8Aaw4jAQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwIDCyADQgA3AgAgA0EANgIIIANBxZoBQcWaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDBELIANCADcCACADQQA2AgggA0HHmgFBx5oBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMEAsgA0IANwIAIANBADYCCCADQcqaAUHKmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwPCwwOCwJAAkACQCAELAABQeUAaw4QAAICAgICAgICAgICAgICAQILIANCADcCACADQQA2AgggA0HNmgFBzZoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDwsgA0IANwIAIANBADYCCCADQYeaAUGHmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwOCwwNCyAELAABQfgARw0MIABBAmoiBCABIAIQjQciCSAERg0MIAJBBGohBCAJIAEgAhCNByIBIAlGBEAgBCgCACECQQAhAQNAIAFBf0cEQCACIAFBf2oiAUEYbGoQ3gYMAQsLIAQgAkFoajYCAAwNCyAEKAIAIgkgAigCAGtBGG1BAkkNDCADIAlBaGoQgAcgBCgCACECQQAhAANAIABBf0cEQCACIABBf2oiAEEYbGoQ3gYMAQsLIAQgAkFoajYCACAFIAJBUGoQgAcgDEHjmQEgBRCPByAMQdCaARDzBhogCCAMKQIANwIAIAggDCgCCDYCCEEAIQADQCAAQQNHBEAgDCAAQQJ0akEANgIAIABBAWohAAwBCwsgAywACyICQQBIIQAgAygCACEJIAMoAgQhCiACQf8BcSECIAggAAR/IAkFIAMLIAAEfyAKBSACCxDhBhogByAIKQIANwIAIAcgCCgCCDYCCEEAIQADQCAAQQNHBEAgCCAAQQJ0akEANgIAIABBAWohAAwBCwsgB0GSmgEQ8wYaIBAgBykCADcCACAQIAcoAgg2AghBACEAA0AgAEEDRwRAIAcgAEECdGpBADYCACAAQQFqIQAMAQsLIAYgEBCDByAEKAIAQWhqIAYQhAcgBhDeBiAQEOsGIAcQ6wYgCBDrBiAMEOsGIAUQ6wYgAxDrBiABIQAMDAsCQAJAAkACQAJAIAQsAAFB0wBrDiICBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAEDBAsgA0IANwIAIANBADYCCCADQdOaAUHTmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwPCyADQgA3AgAgA0EANgIIIANB1poBQdaaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDA4LIANCADcCACADQQA2AgggA0HZmgFB2ZoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDQsgA0IANwIAIANBADYCCCADQYWaAUGFmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwMCwwLCwJAAkACQAJAAkACQCAELAABQckAaw4lAQUFAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUABQUCBAULIANCADcCACADQQA2AgggA0HdmgFB3ZoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDwsgA0IANwIAIANBADYCCCADQd+aAUHfmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwOCyADQgA3AgAgA0EANgIIIANB9ZkBQfWZARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDA0LIANCADcCACADQQA2AgggA0HimgFB4poBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDAsgAEECaiIEIAFHBEAgBCwAAEHfAEYEQCADQgA3AgAgA0EANgIIIANB5ZoBQeWaARCWBhCMByAAQQNqIgQgASADIAIQlAchASADEOsGIAEgBEcEQCABIQALDA0LCyAEIAEgAhCNByIBIARGDQsgAigCACACQQRqIgIoAgAiBEYNCyAGIARBaGoQgAcgBkEAQeOZARDyBhogBSAGKQIANwIAIAUgBigCCDYCCEEAIQADQCAAQQNHBEAgBiAAQQJ0akEANgIAIABBAWohAAwBCwsgBUHomgEQ8wYaIBEgBSkCADcCACARIAUoAgg2AghBACEAA0AgAEEDRwRAIAUgAEECdGpBADYCACAAQQFqIQAMAQsLIAMgERCDByACKAIAQWhqIAMQhAcgAxDeBiAREOsGIAUQ6wYgBhDrBiABIQAMCwsMCgsCQAJAAkACQAJAAkAgBCwAAUHhAGsOGAAFBQUBBQIFBQUFBQUFBQUFBQUDBQUABAULIAAgASACEJ4HIQAMDgsgA0IANwIAIANBADYCCCADQeyaAUHsmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwNCyADQgA3AgAgA0EANgIIIANB3ZoBQd2aARCWBhCMByAAQQJqIgQgASADIAIQlAchASADEOsGIAEgBEcEQCABIQALDAwLIANCADcCACADQQA2AgggA0HvmgFB75oBEJYGEIwHIABBAmoiBCABIAMgAhCUByEBIAMQ6wYgASAERwRAIAEhAAsMCwsgAEECaiIEIAEgAhCfByIBIARHBEAgASEACwwKCwwJCwJAAkACQAJAAkAgBCwAAUHSAGsOIQMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAQQEAgQLIAAgASACEJsHIQAMDAsgA0IANwIAIANBADYCCCADQfGaAUHxmgEQlgYQjAcgAEECaiIEIAEgAyACEJMHIQEgAxDrBiABIARHBEAgASEACwwLCyADQgA3AgAgA0EANgIIIANB9JoBQfSaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDAoLIANCADcCACADQQA2AgggA0H2mgFB9poBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMCQsMCAsCQAJAAkACQAJAAkACQCAELAABQcwAaw4pAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYBAAYGAwYGBAUGCyADQgA3AgAgA0EANgIIIANB+ZoBQfmaARCWBhCMByAAQQJqIgQgASADIAIQkwchASADEOsGIAEgBEcEQCABIQALDA0LIANCADcCACADQQA2AgggA0H9mgFB/ZoBEJYGEIwHIABBAmoiBCABIAMgAhCTByEBIAMQ6wYgASAERwRAIAEhAAsMDAsgA0IANwIAIANBADYCCCADQf+aAUH/mgEQlgYQjAcgAEECaiIEIAEg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BEAgACwAAEHMAEYEQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQQFqIgUsAABB1ABrDiYAFBQUFBQUFBQUFBMUBAIDERIQFAUICRQKCw4PFBQUBgcUFAEMDRQLDBYLIANCADcCACADQQA2AgggA0GLowFBi6MBEJYGEIwHIABBAmoiBCABIAMgAhDNByEBIAMQ6wYgASAERwRAIAEhAAsMFQsgACwAA0HFAEcNFAJAAkACQCAALAACQTBrDgIAAQILIANBk6MBEKkHIAJBBGoiBCgCACIBIAIoAghJBEAgASADEIUHIAQgBCgCAEEYajYCAAUgAiADEIYHCyADEN4GIABBBGohAAwWCyADQZmjARDOByACQQRqIgQoAgAiASACKAIISQRAIAEgAxCFByAEIAQoAgBBGGo2AgAFIAIgAxCGBwsgAxDeBiAAQQRqIQAMFQsMFAsgA0IANwIAIANBADYCCCADQZ6jAUGeowEQlgYQjAcgAEECaiIEIAEgAyACEM0HIQEgAxDrBiABIARHBEAgASEACwwTCyADQgA3AgAgA0EANgIIIANBo6MBQaOjARCWBhCMByAAQQJqIgQgASADIAIQzQchASADEOsGIAEgBEcEQCABIQALDBILIANCADcCACADQQA2AgggA0GvowFBr6MBEJYGEIwHIABBAmoiBCABIAMgAhDNByEBIAMQ6wYgASAERwRAIAEhAAsMEQsgA0IANwIAIANBADYCCCADQb2jAUG9owEQlgYQjAcgAEECaiIEIAEgAyACEM0HIQEgAxDrBiABIARHBEAgASEACwwQCyADQgA3AgAgA0EANgIIIANBw6MBQcOjARCWBhCMByAAQQJqIgQgASADIAIQzQchASADEOsGIAEgBEcEQCABIQALDA8LIANCADcCACADQQA2AgggA0HstQFB7LUBEJYGEIwHIABBAmoiBCABIAMgAhDNByEBIAMQ6wYgASAERwRAIAEhAAsMDgsgA0IANwIAIANBADYCCCADQdKjAUHSowEQlgYQjAcgAEECaiIEIAEgAyACEM0HIQEgAxDrBiABIARHBEAgASEACwwNCyADQgA3AgAgA0EANgIIIANB1KMBQdSjARCWBhCMByAAQQJqIgQgASADIAIQzQchASADEOsGIAEgBEcEQCAB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QQA6AAAgACALEOgGIARBADoAAAsgABCOByAAIAkpAgA3AgAgACAJKAIINgIIQQAhAANAIABBA0cEQCAJIABBAnRqQQA2AgAgAEEBaiEADAELCyAJEOsGIAMQ6wYgBRDrBiAHEOsGIAgQ6wYgASEADAILAkACQCAEIAEQ7QciAyAERgR/IAAhAUEDBSADIAEgAhDsBiIBIANGBH8gACEBQQAFIAIoAgAgAigCBCICRgR/IAAhAUEBBSACQWhqIQIgACwAAkH2AEYEfyACQQBB4acBEPIGGkEABSACQQBB86cBEPIGGkEACwsLCyICQQNxDgQAAQEAAQsgASEADAILIAJFBEAgASEACwsLIAYkBSAACw8AIAAoAgAgACwABDoAAAvHAQECfwJAIAAgAUcEQAJAAkACQAJAIAAsAABB6ABrDg8AAgICAgICAgICAgICAgECCyAAQQFqIgMgARCLByICIANGIAIgAUZyDQQgAkEBaiEBIAIsAABB3wBGBH8gAQUgAAsPCwwBCwwCCyAAQQFqIgMgARCLByICIANGIAIgAUZyRQRAIAIsAABB3wBGBEAgAkEBaiIDIAEQiwciAiADRiACIAFGckUEQCACQQFqIQEgAiwAAEHfAEYEQCABIQALCwsLCwsgAAsZACAALAAAQQFGBH9BAAUgAEEBOgAAQQELC0sBAn8jBSEDIwVBEGokBSADIgQgAigCADYCACAAIAEgAyAAKAIAKAIQQR9xQYgBahEFACIABEAgAiAEKAIANgIACyADJAUgAEEBcQscACAABH8gAEHI3ABBgN0AQQAQygZBAEcFQQALCwMAAQsrACAAQf8BcUEYdCAAQQh1Qf8BcUEQdHIgAEEQdUH/AXFBCHRyIABBGHZyCx0BAX8gAWciA0EgRgRAIAMgAGdqIQMLQQAkCSADC8MDAQN/IAJBgMAATgRAIAAgASACECkPCyAAIQQgACACaiEDIABBA3EgAUEDcUYEQANAIABBA3EEQCACRQRAIAQPCyAAIAEsAAA6AAAgAEEBaiEAIAFBAWohASACQQFrIQIMAQsLIANBfHEiAkFAaiEFA0AgACAFTARAIAAgASgCADYCACAAIAEoAgQ2AgQgACABKAIINgIIIAAgASgCDDYCDCAAIAEoAhA2AhAgACABKAIUNgIUIAAgASgCGDYCGCAAIAEoAhw2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AAAFAAAAAwAAAEAAAAAHAAAAFwAAABcAAAAWAAAABwAAAAMAAACAAAAABwAAABkAAAAZAAAAFwAAAAcAAAADAAAAgAAAAAgAAAAaAAAAGgAAABgAAAAHAAAAAwAAAAABAAAIAAAAGwAAABsAAAAZAAAACQAAAAMAAAAAAgAACAAAABIAAAAMAAAADQAAAAEAAAAFAAAAAQAAAAEAAAASAAAADQAAAA4AAAABAAAABgAAAAEAAAABAAAAEgAAAA4AAAANAAAAAQAAAAUAAAAIAAAAAgAAABIAAAAQAAAADwAAAAEAAAAFAAAACAAAAAIAAAASAAAADwAAABEAAAABAAAABQAAAAgAAAADAAAAEgAAABAAAAARAAAABAAAAAUAAAAIAAAAAwAAABIAAAAQAAAAEQAAAAMAAAAFAAAACAAAAAQAAAASAAAAEQAAABEAAAAEAAAABAAAAAgAAAAEAAAAEgAAABEAAAARAAAABAAAAAQAAAAIAAAABQAAABIAAAARAAAAEQAAAAUAAAAEAAAACAAAAAUAAAASAAAAEQAAABEAAAAGAAAABAAAAAgAAAAFAAAAEgAAABIAAAARAAAABgAAAAQAAAAIAAAABQAAABIAAAASAAAAEQAAAAUAAAAEAAAACAAAAAYAAAASAAAAEwAAABEAAAAHAAAABAAAAAgAAAAGAAAAEgAAABIAAAASAAAABAAAAAQAAAAQAAAABwAAABIAAAASAAAAEgAAAAQAAAADAAAAEAAAAAcAAAASAAAAEwAAABIAAAAGAAAAAwAAACAAAAAHAAAAEgAAABMAAAASAAAACAAAAAMAAABAAAAABwAAABIAAAATAAAAEgAAAAkAAAADAAAAgAAAAAcAAAASAAAAEwAAABIAAAAKAAAAAwAAAAABAAAHAAAAEgAAABMAAAASAAAACwAAAAMAAAAAAgAACAAAABIAAAATAAAAEgAAAAwAAAADAAAAAAIAAAgAAAASAAAAEwAAABIAAAANAAAAAwAAAAACAAAIAAAAEQAAAAwAAAAMAAAAAQAAAAUAAAABAAAAAQAAABEAAAAMAAAADQAAAAEAAAAGAAAAAQAAAAEAAAARAAAADQAAABAAAAABAAAABQAAAAEAAAABAAAAEQAAABAAAAAQAAAAAgAAAAUAAAAIAAAAAgAAABEAAAANAAAADwAAAAMAAAAEAAAACAAAAAMAAAARAAAADwAAABEAAAAEAAAABAAAAAgAAAADAAAAEQAAABAAAAARAAAAAwAAAAQAAAAIAAAABAAAABEAAAAPAAAAEQAAAAQAAAAEAAAACAAAAAUAAAARAAAAEQAAABEAAAAEAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAABQAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAYAAAAEAAAACAAAAAUAAAARAAAAEQAAABEAAAAHAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAACAAAAAQAAAAIAAAABQAAABEAAAASAAAAEQAAAAYAAAAEAAAACAAAAAYAAAARAAAAEQAAABEAAAAHAAAAAwAAAAgAAAAHAAAAEQAAABEAAAARAAAABwAAAAMAAAAQAAAABwAAABEAAAASAAAAEQAAAAcAAAADAAAAIAAAAAcAAAARAAAAEgAAABEAAAAHAAAAAwAAAEAAAAAHAAAAEQAAABIAAAARAAAABwAAAAMAAAAAAQAABwAAABEAAAASAAAAEQAAAAgAAAADAAAAAAEAAAcAAAARAAAAEgAAABEAAAAJAAAAAwAAAAABAAAIAAAAEQAAABIAAAARAAAACgAAAAMAAAAAAQAACAAAABEAAAASAAAAEQAAAAsAAAADAAAAAAIAAAgAAAAOAAAADAAAAA0AAAABAAAABQAAAAEAAAABAAAADgAAAA4AAAAOAAAAAQAAAAYAAAABAAAAAQAAAA4AAAAOAAAADgAAAAEAAAAEAAAAAQAAAAEAAAAOAAAADgAAAA4AAAABAAAABAAAAAYAAAACAAAADgAAAA4AAAAOAAAABAAAAAQAAAAGAAAAAwAAAA4AAAAOAAAADgAAAAMAAAAEAAAABgAAAAQAAAAOAAAADgAAAA4AAAAEAAAABAAAAAYAAAAFAAAADgAAAA4AAAAOAAAABQAAAAQAAAAGAAAABQAAAA4AAAAOAAAADgAAAAYAAAAEAAAABgAAAAUAAAAOAAAADwAAAA4AAAAGAAAABAAAAAYAAAAGAAAADgAAAA8AAAAOAAAAAwAAAAMAAAAGAAAABwAAAA4AAAAPAAAADgAAAAYAAAADAAAACAAAAAcAAAAOAAAADwAAAA4AAAAGAAAAAwAAABAAAAAHAAAADgAAAA8AAAAOAAAABgAAAAMAAAAYAAAABwAAAA4AAAAPAAAADwAAAAYAAAADAAAAMAAAAAcAAAAOAAAADwAAAA8AAAAGAAAAAwAAAEAAAAAHAAAADgAAAA8AAAAPAAAABgAAAAMAAABgAAAABwAAAA4AAAAPAAAADwAAAAYAAAADAAAAgAAAAAcAAAAOAAAADwAAAA8AAAAGAAAAAwAAAAABAAAHAAAADgAAAA8AAAAPAAAABwAAAAMAAAAAAQAABwAAAA4AAAAPAAAADwAAAAgAAAADAAAAAAEAAAgAAAAOAAAADwAAAA8AAAAJAAAAAwAAAAABAAAIAAAADgAAAA8AAAAPAAAACgAAAAMAAAAAAQAACAAAAAAAAAABAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAD//wAA//8BAP//AwD//wcA//8PAP//HwD//z8A//9/AP///wD///8B////A////wf///8P////H////z////9/AQAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAEGxHwuHAgECAwQFBgcICQoLDA0ODxAQERESEhMTFBQUFBUVFRUWFhYWFhYWFhcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICAhISIiIyMkJCQkJSUlJSYmJiYmJiYmJycnJycnJycoKCgoKCgoKCgoKCgoKCgoKSkpKSkpKSkpKSkpKSkpKSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqBAADAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQACAAIAAgACAAIAAgACAAIAAgADAAIAAQABAAEAAQABAP//////////AEHAIQuqAQEAAQABAAEAAQABAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP////////////8AAAAAAAABAAQAAwACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP//////////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AAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACUAAAAnAAAAKQAAACsAAAAvAAAAMwAAADsAAABDAAAAUwAAAGMAAACDAAAAAwEAAAMCAAADBAAAAwgAAAMQAAADIAAAA0AAAAOAAAADAAEAQbAyC0gEAAMAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAIAAgACAAIAAgACAAIAAgACAAMAAgABAAEAAQABAAEA//////////8AQYAzC6oBAQABAAEAAQABAAEAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA/////////////wAAAAAAAAEABAADAAIAAgACAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEA//////////////////8AQfA0C00BAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEABBwDYLUQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEABBpDcLbQEAAAADAAAABwAAAA8AAAAfAAAAPwAAAH8AAAD/AAAA/wEAAP8DAAD/BwAA/w8AAP8fAAD/PwAA/38AAP//AAD//wEA//8DAP//BwD//w8A//8fAP//PwD//38A////AP///wH///8DAQAAAAEAQaQ4C88BAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAiAAAAJAAAACYAAAAoAAAALAAAADAAAAA4AAAAQAAAAFAAAABgAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAEGEOgvUAQEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAASAAAAFAAAABYAAAAYAAAAHAAAACAAAAAoAAAAMAAAAEAAAACAAAAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAAEABAADAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQACAAIAAgACAAIAAgACAAIAAgADAAIAAQABAAEAAQABAP//////////AEHgOwvtAgEAAQABAAEAAQABAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP////////////8AAAAAAAABAAQAAwACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP//////////////////AAAAAAAACAAAAAgAAAAIAAAABwAAAAgAAAAJAAAACgAAAAsAAAAAAAAAAQAAAAIAAAABAAAABAAAAAQAAAAEAAAABAAAAAEAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgEAAAABAAAAAQAAAAEAAAABAEHYPgsNAQAAAAEAAAACAAAAAgBB8D4LlQMBAAAAAQAAAAIAAAACAAAAJgAAAIIAAAAhBQAASgAAAGcIAAAmAAAAwAEAAIAAAABJBQAASgAAAL4IAAApAAAALAIAAIAAAABJBQAASgAAAL4IAAAvAAAAygIAAIAAAACKBQAASgAAAIQJAAA1AAAAcwMAAIAAAACdBQAASgAAAKAJAAA9AAAAgQMAAIAAAADrBQAASwAAAD4KAABEAAAAngMAAIAAAABNBgAASwAAAKoKAABLAAAAswMAAIAAAADBBgAATQAAAB8NAABNAAAAUwQAAIAAAAAjCAAAUQAAAKYPAABUAAAAmQQAAIAAAABLCQAAVwAAALESAABYAAAA2gQAAIAAAABvCQAAXQAAACMUAABUAAAARQUAAIAAAABUCgAAagAAAIwUAABqAAAArwUAAIAAAAB2CQAAfAAAAE4QAAB8AAAA0gIAAIAAAABjBwAAkQAAAJAHAACSAAAAAQAAAAIAAAADAAAABAAAAAcAAAAIAAAADwAAABAAAAAfAAAAIAAAAD8AAABAAAAAfwAAAIAAQZDCAAsYEQAKABEREQAAAAAFAAAAAAAACQAAAAALAEGwwgALIREADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQBB4cIACwELAEHqwgALGBEACgoREREACgAAAgAJCwAAAAkACwAACwBBm8MACwEMAEGnwwALFQwAAAAADAAAAAAJDAAAAAAADAAADABB1cMACwEOAEHhwwALFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBBj8QACwEQAEGbxAALHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBB0sQACw4SAAAAEhISAAAAAAAACQBBg8UACwELAEGPxQALFQoAAAAACgAAAAAJCwAAAAAACwAACwBBvcUACwEMAEHJxQALfgwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRlQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABB0MYAC/0cSWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVk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AAAAAAAAAAMAAAAEAAAAAAAAAAUAAAAGAAAAAAAAANQyAAAFAEHg5QALAR0AQfjlAAsOAQAAAAIAAABIVAAAAAQAQZDmAAsBAQBBn+YACwUK/////wBB0OYACwnUMgAAWDMAAAUAQeTmAAsBHQBB/OYACwoDAAAAAgAAAOxaAEGU5wALAQIAQaPnAAsF//////8AQZDpAAsCsFoAQezpAAsBBABBk+oACwX//////wBByOoAC+09IC4AADIAAAAzAAAAHgAAAAEAAAAAAAAAOC4AADQAAAA1AAAANgAAADcAAAAFAAAAAQAAAAEAAAABAAAAAAAAAGAuAAA0AAAAOAAAADYAAAA3AAAABQAAAAIAAAACAAAAAgAAAAAAAACQLgAANAAAADkAAAA2AAAANwAAAAYAAAAAAAAAgC4AADQAAAA6AAAANgAAADcAAAAHAAAAAAAAABAvAAA0AAAAOwAAADYAAAA3AAAACAAAAAAAAAAgLwAANAAAADwAAAA2AAAANwAAAAUAAAADAAAAAwAAAAMAAABkdW1teQByYgBsZW5ndGgAYnVmZmVyAGNvbnN0cnVjdG9yAHNldABIRUFQVTgAVmVjdG9yVTgAY2xvbmVUb1ZlY3RvcgBjbG9uZUFzVHlwZWRBcnJheQB0b1R5cGVkQXJyYXlWaWV3AFpzdGRDb21wcmVzc2lvbkRpY3QAY3JlYXRlQ29tcHJlc3Npb25EaWN0AFpzdGREZWNvbXByZXNzaW9uRGljdABjcmVhdGVEZWNvbXByZXNzaW9uRGljdABac3RkQ29kZWMAY29tcHJlc3NCb3VuZABjb250ZW50U2l6ZQBjb21wcmVzcwBkZWNvbXByZXNzAGNvbXByZXNzVXNpbmdEaWN0AGRlY29tcHJlc3NVc2luZ0RpY3QAWnN0ZENvbXByZXNzU3RyZWFtQmluZGluZwBiZWdpbgBiZWdpblVzaW5nRGljdAB0cmFuc2Zvcm0AZmx1c2gAZW5kAFpzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZwBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk4yNVpzdGRDb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVM0X0UzJF8wTlNfOWFsbG9jYXRvcklTNV9FRUZ2UktOU182dmVjdG9ySWhOUzZfSWhFRUVFRUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UktOU182dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFRUVFAFpOMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nOVRyYW5zZm9ybUVOMTBlbXNjcmlwdGVuM3ZhbEVTMV9FMyRfMABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfMU5TXzlhbGxvY2F0b3JJUzVfRUVGdlJLTlNfNnZlY3RvckloTlM2X0loRUVFRUVFRQBaTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfMQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzNFbmRFTjEwZW1zY3JpcHRlbjN2YWxFRTMkXzJOU185YWxsb2NhdG9ySVM1X0VFRnZSS05TXzZ2ZWN0b3JJaE5TNl9JaEVFRUVFRUUAWk4yNVpzdGRDb21wcmVzc1N0cmVhbUJpbmRpbmczRW5kRU4xMGVtc2NyaXB0ZW4zdmFsRUUzJF8yAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVM0X0UzJF8zTlNfOWFsbG9jYXRvcklTNV9FRUZ2UktOU182dmVjdG9ySWhOUzZfSWhFRUVFRUVFAFpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVMxX0UzJF8zAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc1Rmx1c2hFTjEwZW1zY3JpcHRlbjN2YWxFRTMkXzROU185YWxsb2NhdG9ySVM1X0VFRnZSS05TXzZ2ZWN0b3JJaE5TNl9JaEVFRUVFRUUAWk4yN1pzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nM0VuZEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNU5TXzlhbGxvY2F0b3JJUzVfRUVGdlJLTlNfNnZlY3RvckloTlM2X0loRUVFRUVFRQBaTjI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nM0VuZEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNQBwdXNoX2JhY2sAcmVzaXplAHNpemUAZ2V0AE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJaE5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjIwX192ZWN0b3JfYmFzZV9jb21tb25JTGIxRUVFAFBOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQBQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAGlpAHYAdmkAdmlpaQB2aWlpaQBpaWkAaWlpaQBpaWlpaQAxOVpzdGRDb21wcmVzc2lvbkRpY3QAOFJlc291cmNlSTEyWlNURF9DRGljdF9zRQBQMTlac3RkQ29tcHJlc3Npb25EaWN0AFBLMTlac3RkQ29tcHJlc3Npb25EaWN0ADIxWnN0ZERlY29tcHJlc3Npb25EaWN0ADhSZXNvdXJjZUkxMlpTVERfRERpY3Rfc0UAUDIxWnN0ZERlY29tcHJlc3Npb25EaWN0AFBLMjFac3RkRGVjb21wcmVzc2lvbkRpY3QAOVpzdGRDb2RlYwBQOVpzdGRDb2RlYwBQSzlac3RkQ29kZWMAaWlpaWlpADI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZwBQMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nAFBLMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nADI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nAFAyN1pzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZwBQSzI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nAFBGdlAxMVpTVERfQ0N0eF9zRQBGdlAxMVpTVERfQ0N0eF9zRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lQRnZQMTFaU1REX0NDdHhfc0VOU185YWxsb2NhdG9ySVM1X0VFUzRfRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZQMTFaU1REX0NDdHhfc0VFRQBQRnZQMTFaU1REX0RDdHhfc0UARnZQMTFaU1REX0RDdHhfc0UATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJUEZ2UDExWlNURF9EQ3R4X3NFTlNfOWFsbG9jYXRvcklTNV9FRVM0X0VFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UDExWlNURF9EQ3R4X3NFRUUAUEZ2UDEyWlNURF9DRGljdF9zRQBGdlAxMlpTVERfQ0RpY3Rfc0UATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJUEZ2UDEyWlNURF9DRGljdF9zRU5TXzlhbGxvY2F0b3JJUzVfRUVTNF9FRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlAxMlpTVERfQ0RpY3Rfc0VFRQBQRnZQMTJaU1REX0REaWN0X3NFAEZ2UDEyWlNURF9ERGljdF9zRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lQRnZQMTJaU1REX0REaWN0X3NFTlNfOWFsbG9jYXRvcklTNV9FRVM0X0VFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UDEyWlNURF9ERGljdF9zRUVFAFpOMThac3RkQ29tcHJlc3NTdHJlYW01QmVnaW5FaUUzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMThac3RkQ29tcHJlc3NTdHJlYW01QmVnaW5FaUUzJF8wTlNfOWFsbG9jYXRvcklTM19FRUZtUDExWlNURF9DQ3R4X3NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRm1QMTFaU1REX0NDdHhfc0VFRQBaTjE4WnN0ZENvbXByZXNzU3RyZWFtNUJlZ2luRVJLMTlac3RkQ29tcHJlc3Npb25EaWN0RTMkXzEATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk4xOFpzdGRDb21wcmVzc1N0cmVhbTVCZWdpbkVSSzE5WnN0ZENvbXByZXNzaW9uRGljdEUzJF8xTlNfOWFsbG9jYXRvcklTNl9FRUZtUDExWlNURF9DQ3R4X3NFRUUAWk4yMFpzdGREZWNvbXByZXNzU3RyZWFtNUJlZ2luRXZFMyRfMgBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjIwWnN0ZERlY29tcHJlc3NTdHJlYW01QmVnaW5FdkUzJF8yTlNfOWFsbG9jYXRvcklTM19FRUZtUDExWlNURF9EQ3R4X3NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRm1QMTFaU1REX0RDdHhfc0VFRQBaTjIwWnN0ZERlY29tcHJlc3NTdHJlYW01QmVnaW5FUksyMVpzdGREZWNvbXByZXNzaW9uRGljdEUzJF8zAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjBac3RkRGVjb21wcmVzc1N0cmVhbTVCZWdpbkVSSzIxWnN0ZERlY29tcHJlc3Npb25EaWN0RTMkXzNOU185YWxsb2NhdG9ySVM2X0VFRm1QMTFaU1REX0RDdHhfc0VFRQBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAHJ3YQBzdGQ6OmJhZF9mdW5jdGlvbl9jYWxsAE5TdDNfXzIxN2JhZF9mdW5jdGlvbl9jYWxsRQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbQBmAGQATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAIGNvbnN0ACB2b2xhdGlsZQAgcmVzdHJpY3QAIGNvbXBsZXgAIGltYWdpbmFyeQAgWwAgKAApACgAJiYAb2JqY19vYmplY3Q8ACoAJgBvYmpjcHJvdG8AIAA8AD4AIHZlY3RvclsAXQBwaXhlbCB2ZWN0b3JbACY9AD0ALAB+ADo6AGRlbGV0ZVtdIABkZWxldGUgAC8ALz0AXgBePQA9PQA+PQApWwA8PQA8PAA8PD0ALQAtPQAqPQAtLQApLS0AIT0AIQB8fAB8AHw9AC0+KgArACs9ACsrACkrKwApID8gKAApIDogKAAlACU9AD4+AD4+PQB0aHJvdwB0aHJvdyAAdHlwZWlkKABzaXplb2YuLi4oACwgAHNpemVvZiAoAHN0YXRpY19jYXN0PAA+KAByZWludGVycHJldF9jYXN0PAAtPgBub2V4Y2VwdCAoAFtdIAApIAAuAC4qAHN0ZDo6AG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciAAb3BlcmF0b3IgZGVsZXRlW10Ab3BlcmF0b3IqAG9wZXJhdG9yLwBvcGVyYXRvci89AG9wZXJhdG9yXgBvcGVyYXRvcl49AG9wZXJhdG9yPT0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4Ab3BlcmF0b3JbXQBvcGVyYXRvcjw9AG9wZXJhdG9yIiIgAG9wZXJhdG9yPDwAb3BlcmF0b3I8PD0Ab3BlcmF0b3I8AG9wZXJhdG9yLQBvcGVyYXRvci09AG9wZXJhdG9yKj0Ab3BlcmF0b3ItLQBvcGVyYXRvciBuZXdbXQBvcGVyYXRvciE9AG9wZXJhdG9yIQBvcGVyYXRvciBuZXcAb3BlcmF0b3J8fABvcGVyYXRvcnwAb3BlcmF0b3J8PQBvcGVyYXRvci0+KgBvcGVyYXRvcisAb3BlcmF0b3IrPQBvcGVyYXRvcisrAG9wZXJhdG9yLT4Ab3BlcmF0b3I/AG9wZXJhdG9yJQBvcGVyYXRvciU9AG9wZXJhdG9yPj4Ab3BlcmF0b3I+Pj0Ab3BlcmF0b3IgZGVsZXRlACd1bm5hbWVkACdsYW1iZGEnKABzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AGJhc2ljX3N0cmluZwBzdGQ6OmlzdHJlYW0Ac3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19pc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6OmJhc2ljX29zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJhc2ljX29zdHJlYW0Ac3RkOjppb3N0cmVhbQBzdGQ6OmJhc2ljX2lvc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19pb3N0cmVhbQBkeW5hbWljX2Nhc3Q8ACkoAGNvbnN0X2Nhc3Q8AGFsaWdub2YgKABmcAB3Y2hhcl90AGZhbHNlAHRydWUAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AHUAbAB1bABsbAB1bGwAX19pbnQxMjgAdW5zaWduZWQgX19pbnQxMjgAJUxhTAAlYQAlYWYAZGVjbHR5cGUoAHN0ZDo6YWxsb2NhdG9yAHN0ZDo6YmFzaWNfc3RyaW5nADo6c3RyaW5nIGxpdGVyYWwAc3RkAF9HTE9CQUxfX04AKGFub255bW91cyBuYW1lc3BhY2UpACA+AFRfAGlkADo6KgAgJgAgJiYAIFtdAHZvaWQAYm9vbABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBsb25nIGxvbmcAZmxvYXQAbG9uZyBkb3VibGUAX19mbG9hdDEyOAAuLi4AZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABhdXRvAHN0ZDo6bnVsbHB0cl90AGRvdWJsZQB1bnNpZ25lZCBsb25nIGxvbmcAX2Jsb2NrX2ludm9rZQBpbnZvY2F0aW9uIGZ1bmN0aW9uIGZvciBibG9jayBpbiAAdnRhYmxlIGZvciAAVlRUIGZvciAAdHlwZWluZm8gZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAC1pbi0AdmlydHVhbCB0aHVuayB0byAAbm9uLXZpcnR1YWwgdGh1bmsgdG8gAGd1YXJkIHZhcmlhYmxlIGZvciAAcmVmZXJlbmNlIHRlbXBvcmFyeSBmb3Ig";
- var asmjsCodeFile = "";
- if (!isDataURI(wasmTextFile)) {
- wasmTextFile = locateFile(wasmTextFile);
- }
- if (!isDataURI(wasmBinaryFile)) {
- wasmBinaryFile = locateFile(wasmBinaryFile);
- }
- if (!isDataURI(asmjsCodeFile)) {
- asmjsCodeFile = locateFile(asmjsCodeFile);
- }
- var wasmPageSize = 64 * 1024;
- var info = {
- global: null,
- env: null,
- asm2wasm: asm2wasmImports,
- parent: Module,
- };
- var exports = null;
- function mergeMemory(newBuffer) {
- var oldBuffer = Module["buffer"];
- if (newBuffer.byteLength < oldBuffer.byteLength) {
- err(
- "the new buffer in mergeMemory is smaller than the previous one. in native wasm, we should grow memory here"
- );
- }
- var oldView = new Int8Array(oldBuffer);
- var newView = new Int8Array(newBuffer);
- newView.set(oldView);
- updateGlobalBuffer(newBuffer);
- updateGlobalBufferViews();
- }
- function fixImports(imports) {
- return imports;
- }
- function getBinary() {
- try {
- if (Module["wasmBinary"]) {
- return new Uint8Array(Module["wasmBinary"]);
- }
- var binary = tryParseAsDataURI(wasmBinaryFile);
- if (binary) {
- return binary;
- }
- if (Module["readBinary"]) {
- return Module["readBinary"](wasmBinaryFile);
- } else {
- throw "both async and sync fetching of the wasm failed";
- }
- } catch (err) {
- abort(err);
- }
- }
- function getBinaryPromise() {
- if (
- !Module["wasmBinary"] &&
- (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) &&
- typeof fetch === "function"
- ) {
- return fetch(wasmBinaryFile, { credentials: "same-origin" })
- .then(function (response) {
- if (!response["ok"]) {
- throw (
- "failed to load wasm binary file at '" +
- wasmBinaryFile +
- "'"
- );
- }
- return response["arrayBuffer"]();
- })
- .catch(function () {
- return getBinary();
- });
- }
- return new Promise(function (resolve, reject) {
- resolve(getBinary());
- });
- }
- function doNativeWasm(global, env, providedBuffer) {
- if (
- (typeof WebAssembly === "undefined"
- ? "undefined"
- : _typeof(WebAssembly)) !== "object"
- ) {
- err("no native wasm support detected");
- return false;
- }
- if (!(Module["wasmMemory"] instanceof WebAssembly.Memory)) {
- err("no native wasm Memory in use");
- return false;
- }
- env["memory"] = Module["wasmMemory"];
- info["global"] = { NaN: NaN, Infinity: Infinity };
- info["global.Math"] = Math;
- info["env"] = env;
- function receiveInstance(instance, module) {
- exports = instance.exports;
- if (exports.memory) mergeMemory(exports.memory);
- Module["asm"] = exports;
- Module["usingWasm"] = true;
- removeRunDependency("wasm-instantiate");
- }
- addRunDependency("wasm-instantiate");
- if (Module["instantiateWasm"]) {
- try {
- return Module["instantiateWasm"](info, receiveInstance);
- } catch (e) {
- err(
- "Module.instantiateWasm callback failed with error: " +
- e
- );
- return false;
- }
- }
- function receiveInstantiatedSource(output) {
- receiveInstance(output["instance"], output["module"]);
- }
- function instantiateArrayBuffer(receiver) {
- getBinaryPromise()
- .then(function (binary) {
- return WebAssembly.instantiate(binary, info);
- })
- .then(receiver)
- .catch(function (reason) {
- err("failed to asynchronously prepare wasm: " + reason);
- abort(reason);
- });
- }
- if (
- !Module["wasmBinary"] &&
- typeof WebAssembly.instantiateStreaming === "function" &&
- !isDataURI(wasmBinaryFile) &&
- typeof fetch === "function"
- ) {
- WebAssembly.instantiateStreaming(
- fetch(wasmBinaryFile, { credentials: "same-origin" }),
- info
- )
- .then(receiveInstantiatedSource)
- .catch(function (reason) {
- err("wasm streaming compile failed: " + reason);
- err("falling back to ArrayBuffer instantiation");
- instantiateArrayBuffer(receiveInstantiatedSource);
- });
- } else {
- instantiateArrayBuffer(receiveInstantiatedSource);
- }
- return {};
- }
- Module["asmPreload"] = Module["asm"];
- var asmjsReallocBuffer = Module["reallocBuffer"];
- var wasmReallocBuffer = function wasmReallocBuffer(size) {
- var PAGE_MULTIPLE = Module["usingWasm"]
- ? WASM_PAGE_SIZE
- : ASMJS_PAGE_SIZE;
- size = alignUp(size, PAGE_MULTIPLE);
- var old = Module["buffer"];
- var oldSize = old.byteLength;
- if (Module["usingWasm"]) {
- try {
- var result = Module["wasmMemory"].grow(
- (size - oldSize) / wasmPageSize
- );
- if (result !== (-1 | 0)) {
- return (Module["buffer"] = Module["wasmMemory"].buffer);
- } else {
- return null;
- }
- } catch (e) {
- return null;
- }
- }
- };
- Module["reallocBuffer"] = function (size) {
- if (finalMethod === "asmjs") {
- return asmjsReallocBuffer(size);
- } else {
- return wasmReallocBuffer(size);
- }
- };
- var finalMethod = "";
- Module["asm"] = function (global, env, providedBuffer) {
- env = fixImports(env);
- if (!env["table"]) {
- var TABLE_SIZE = Module["wasmTableSize"];
- if (TABLE_SIZE === undefined) TABLE_SIZE = 1024;
- var MAX_TABLE_SIZE = Module["wasmMaxTableSize"];
- if (
- (typeof WebAssembly === "undefined"
- ? "undefined"
- : _typeof(WebAssembly)) === "object" &&
- typeof WebAssembly.Table === "function"
- ) {
- if (MAX_TABLE_SIZE !== undefined) {
- env["table"] = new WebAssembly.Table({
- initial: TABLE_SIZE,
- maximum: MAX_TABLE_SIZE,
- element: "anyfunc",
- });
- } else {
- env["table"] = new WebAssembly.Table({
- initial: TABLE_SIZE,
- element: "anyfunc",
- });
- }
- } else {
- env["table"] = new Array(TABLE_SIZE);
- }
- Module["wasmTable"] = env["table"];
- }
- if (!env["memoryBase"]) {
- env["memoryBase"] = Module["STATIC_BASE"];
- }
- if (!env["tableBase"]) {
- env["tableBase"] = 0;
- }
- var exports;
- exports = doNativeWasm(global, env, providedBuffer);
- assert(exports, "no binaryen method succeeded.");
- return exports;
- };
- }
- integrateWasmJS();
- STATIC_BASE = GLOBAL_BASE;
- STATICTOP = STATIC_BASE + 23280;
- __ATINIT__.push(
- {
- func: function func() {
- __GLOBAL__sub_I_zstd_binding_cc();
- },
- },
- {
- func: function func() {
- __GLOBAL__sub_I_bind_cpp();
- },
- }
- );
- var STATIC_BUMP = 23280;
- Module["STATIC_BASE"] = STATIC_BASE;
- Module["STATIC_BUMP"] = STATIC_BUMP;
- var tempDoublePtr = STATICTOP;
- STATICTOP += 16;
- function ___cxa_allocate_exception(size) {
- return _malloc(size);
- }
- function __ZSt18uncaught_exceptionv() {
- return !!__ZSt18uncaught_exceptionv.uncaught_exception;
- }
- var EXCEPTIONS = {
- last: 0,
- caught: [],
- infos: {},
- deAdjust: function deAdjust(adjusted) {
- if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted;
- for (var key in EXCEPTIONS.infos) {
- var ptr = +key;
- var info = EXCEPTIONS.infos[ptr];
- if (info.adjusted === adjusted) {
- return ptr;
- }
- }
- return adjusted;
- },
- addRef: function addRef(ptr) {
- if (!ptr) return;
- var info = EXCEPTIONS.infos[ptr];
- info.refcount++;
- },
- decRef: function decRef(ptr) {
- if (!ptr) return;
- var info = EXCEPTIONS.infos[ptr];
- assert(info.refcount > 0);
- info.refcount--;
- if (info.refcount === 0 && !info.rethrown) {
- if (info.destructor) {
- Module["dynCall_vi"](info.destructor, ptr);
- }
- delete EXCEPTIONS.infos[ptr];
- ___cxa_free_exception(ptr);
- }
- },
- clearRef: function clearRef(ptr) {
- if (!ptr) return;
- var info = EXCEPTIONS.infos[ptr];
- info.refcount = 0;
- },
- };
- function ___cxa_begin_catch(ptr) {
- var info = EXCEPTIONS.infos[ptr];
- if (info && !info.caught) {
- info.caught = true;
- __ZSt18uncaught_exceptionv.uncaught_exception--;
- }
- if (info) info.rethrown = false;
- EXCEPTIONS.caught.push(ptr);
- EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));
- return ptr;
- }
- function ___resumeException(ptr) {
- if (!EXCEPTIONS.last) {
- EXCEPTIONS.last = ptr;
- }
- throw (
- ptr +
- " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."
- );
- }
- function ___cxa_find_matching_catch() {
- var thrown = EXCEPTIONS.last;
- if (!thrown) {
- return (setTempRet0(0), 0) | 0;
- }
- var info = EXCEPTIONS.infos[thrown];
- var throwntype = info.type;
- if (!throwntype) {
- return (setTempRet0(0), thrown) | 0;
- }
- var typeArray = Array.prototype.slice.call(arguments);
- var pointer = Module["___cxa_is_pointer_type"](throwntype);
- if (!___cxa_find_matching_catch.buffer)
- ___cxa_find_matching_catch.buffer = _malloc(4);
- HEAP32[___cxa_find_matching_catch.buffer >> 2] = thrown;
- thrown = ___cxa_find_matching_catch.buffer;
- for (var i = 0; i < typeArray.length; i++) {
- if (
- typeArray[i] &&
- Module["___cxa_can_catch"](typeArray[i], throwntype, thrown)
- ) {
- thrown = HEAP32[thrown >> 2];
- info.adjusted = thrown;
- return (setTempRet0(typeArray[i]), thrown) | 0;
- }
- }
- thrown = HEAP32[thrown >> 2];
- return (setTempRet0(throwntype), thrown) | 0;
- }
- function ___cxa_throw(ptr, type, destructor) {
- EXCEPTIONS.infos[ptr] = {
- ptr: ptr,
- adjusted: ptr,
- type: type,
- destructor: destructor,
- refcount: 0,
- caught: false,
- rethrown: false,
- };
- EXCEPTIONS.last = ptr;
- if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
- __ZSt18uncaught_exceptionv.uncaught_exception = 1;
- } else {
- __ZSt18uncaught_exceptionv.uncaught_exception++;
- }
- throw (
- ptr +
- " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."
- );
- }
- function ___gxx_personality_v0() {}
- function ___lock() {}
- var ERRNO_CODES = {
- EPERM: 1,
- ENOENT: 2,
- ESRCH: 3,
- EINTR: 4,
- EIO: 5,
- ENXIO: 6,
- E2BIG: 7,
- ENOEXEC: 8,
- EBADF: 9,
- ECHILD: 10,
- EAGAIN: 11,
- EWOULDBLOCK: 11,
- ENOMEM: 12,
- EACCES: 13,
- EFAULT: 14,
- ENOTBLK: 15,
- EBUSY: 16,
- EEXIST: 17,
- EXDEV: 18,
- ENODEV: 19,
- ENOTDIR: 20,
- EISDIR: 21,
- EINVAL: 22,
- ENFILE: 23,
- EMFILE: 24,
- ENOTTY: 25,
- ETXTBSY: 26,
- EFBIG: 27,
- ENOSPC: 28,
- ESPIPE: 29,
- EROFS: 30,
- EMLINK: 31,
- EPIPE: 32,
- EDOM: 33,
- ERANGE: 34,
- ENOMSG: 42,
- EIDRM: 43,
- ECHRNG: 44,
- EL2NSYNC: 45,
- EL3HLT: 46,
- EL3RST: 47,
- ELNRNG: 48,
- EUNATCH: 49,
- ENOCSI: 50,
- EL2HLT: 51,
- EDEADLK: 35,
- ENOLCK: 37,
- EBADE: 52,
- EBADR: 53,
- EXFULL: 54,
- ENOANO: 55,
- EBADRQC: 56,
- EBADSLT: 57,
- EDEADLOCK: 35,
- EBFONT: 59,
- ENOSTR: 60,
- ENODATA: 61,
- ETIME: 62,
- ENOSR: 63,
- ENONET: 64,
- ENOPKG: 65,
- EREMOTE: 66,
- ENOLINK: 67,
- EADV: 68,
- ESRMNT: 69,
- ECOMM: 70,
- EPROTO: 71,
- EMULTIHOP: 72,
- EDOTDOT: 73,
- EBADMSG: 74,
- ENOTUNIQ: 76,
- EBADFD: 77,
- EREMCHG: 78,
- ELIBACC: 79,
- ELIBBAD: 80,
- ELIBSCN: 81,
- ELIBMAX: 82,
- ELIBEXEC: 83,
- ENOSYS: 38,
- ENOTEMPTY: 39,
- ENAMETOOLONG: 36,
- ELOOP: 40,
- EOPNOTSUPP: 95,
- EPFNOSUPPORT: 96,
- ECONNRESET: 104,
- ENOBUFS: 105,
- EAFNOSUPPORT: 97,
- EPROTOTYPE: 91,
- ENOTSOCK: 88,
- ENOPROTOOPT: 92,
- ESHUTDOWN: 108,
- ECONNREFUSED: 111,
- EADDRINUSE: 98,
- ECONNABORTED: 103,
- ENETUNREACH: 101,
- ENETDOWN: 100,
- ETIMEDOUT: 110,
- EHOSTDOWN: 112,
- EHOSTUNREACH: 113,
- EINPROGRESS: 115,
- EALREADY: 114,
- EDESTADDRREQ: 89,
- EMSGSIZE: 90,
- EPROTONOSUPPORT: 93,
- ESOCKTNOSUPPORT: 94,
- EADDRNOTAVAIL: 99,
- ENETRESET: 102,
- EISCONN: 106,
- ENOTCONN: 107,
- ETOOMANYREFS: 109,
- EUSERS: 87,
- EDQUOT: 122,
- ESTALE: 116,
- ENOTSUP: 95,
- ENOMEDIUM: 123,
- EILSEQ: 84,
- EOVERFLOW: 75,
- ECANCELED: 125,
- ENOTRECOVERABLE: 131,
- EOWNERDEAD: 130,
- ESTRPIPE: 86,
- };
- var ERRNO_MESSAGES = {
- 0: "Success",
- 1: "Not super-user",
- 2: "No such file or directory",
- 3: "No such process",
- 4: "Interrupted system call",
- 5: "I/O error",
- 6: "No such device or address",
- 7: "Arg list too long",
- 8: "Exec format error",
- 9: "Bad file number",
- 10: "No children",
- 11: "No more processes",
- 12: "Not enough core",
- 13: "Permission denied",
- 14: "Bad address",
- 15: "Block device required",
- 16: "Mount device busy",
- 17: "File exists",
- 18: "Cross-device link",
- 19: "No such device",
- 20: "Not a directory",
- 21: "Is a directory",
- 22: "Invalid argument",
- 23: "Too many open files in system",
- 24: "Too many open files",
- 25: "Not a typewriter",
- 26: "Text file busy",
- 27: "File too large",
- 28: "No space left on device",
- 29: "Illegal seek",
- 30: "Read only file system",
- 31: "Too many links",
- 32: "Broken pipe",
- 33: "Math arg out of domain of func",
- 34: "Math result not representable",
- 35: "File locking deadlock error",
- 36: "File or path name too long",
- 37: "No record locks available",
- 38: "Function not implemented",
- 39: "Directory not empty",
- 40: "Too many symbolic links",
- 42: "No message of desired type",
- 43: "Identifier removed",
- 44: "Channel number out of range",
- 45: "Level 2 not synchronized",
- 46: "Level 3 halted",
- 47: "Level 3 reset",
- 48: "Link number out of range",
- 49: "Protocol driver not attached",
- 50: "No CSI structure available",
- 51: "Level 2 halted",
- 52: "Invalid exchange",
- 53: "Invalid request descriptor",
- 54: "Exchange full",
- 55: "No anode",
- 56: "Invalid request code",
- 57: "Invalid slot",
- 59: "Bad font file fmt",
- 60: "Device not a stream",
- 61: "No data (for no delay io)",
- 62: "Timer expired",
- 63: "Out of streams resources",
- 64: "Machine is not on the network",
- 65: "Package not installed",
- 66: "The object is remote",
- 67: "The link has been severed",
- 68: "Advertise error",
- 69: "Srmount error",
- 70: "Communication error on send",
- 71: "Protocol error",
- 72: "Multihop attempted",
- 73: "Cross mount point (not really error)",
- 74: "Trying to read unreadable message",
- 75: "Value too large for defined data type",
- 76: "Given log. name not unique",
- 77: "f.d. invalid for this operation",
- 78: "Remote address changed",
- 79: "Can access a needed shared lib",
- 80: "Accessing a corrupted shared lib",
- 81: ".lib section in a.out corrupted",
- 82: "Attempting to link in too many libs",
- 83: "Attempting to exec a shared library",
- 84: "Illegal byte sequence",
- 86: "Streams pipe error",
- 87: "Too many users",
- 88: "Socket operation on non-socket",
- 89: "Destination address required",
- 90: "Message too long",
- 91: "Protocol wrong type for socket",
- 92: "Protocol not available",
- 93: "Unknown protocol",
- 94: "Socket type not supported",
- 95: "Not supported",
- 96: "Protocol family not supported",
- 97: "Address family not supported by protocol family",
- 98: "Address already in use",
- 99: "Address not available",
- 100: "Network interface is not configured",
- 101: "Network is unreachable",
- 102: "Connection reset by network",
- 103: "Connection aborted",
- 104: "Connection reset by peer",
- 105: "No buffer space available",
- 106: "Socket is already connected",
- 107: "Socket is not connected",
- 108: "Can't send after socket shutdown",
- 109: "Too many references",
- 110: "Connection timed out",
- 111: "Connection refused",
- 112: "Host is down",
- 113: "Host is unreachable",
- 114: "Socket already connected",
- 115: "Connection already in progress",
- 116: "Stale file handle",
- 122: "Quota exceeded",
- 123: "No medium (in tape drive)",
- 125: "Operation canceled",
- 130: "Previous owner died",
- 131: "State not recoverable",
- };
- function ___setErrNo(value) {
- if (Module["___errno_location"])
- HEAP32[Module["___errno_location"]() >> 2] = value;
- return value;
- }
- var PATH = {
- splitPath: function splitPath(filename) {
- var splitPathRe =
- /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
- return splitPathRe.exec(filename).slice(1);
- },
- normalizeArray: function normalizeArray(parts, allowAboveRoot) {
- var up = 0;
- for (var i = parts.length - 1; i >= 0; i--) {
- var last = parts[i];
- if (last === ".") {
- parts.splice(i, 1);
- } else if (last === "..") {
- parts.splice(i, 1);
- up++;
- } else if (up) {
- parts.splice(i, 1);
- up--;
- }
- }
- if (allowAboveRoot) {
- for (; up; up--) {
- parts.unshift("..");
- }
- }
- return parts;
- },
- normalize: function normalize(path) {
- var isAbsolute = path.charAt(0) === "/",
- trailingSlash = path.substr(-1) === "/";
- path = PATH.normalizeArray(
- path.split("/").filter(function (p) {
- return !!p;
- }),
- !isAbsolute
- ).join("/");
- if (!path && !isAbsolute) {
- path = ".";
- }
- if (path && trailingSlash) {
- path += "/";
- }
- return (isAbsolute ? "/" : "") + path;
- },
- dirname: function dirname(path) {
- var result = PATH.splitPath(path),
- root = result[0],
- dir = result[1];
- if (!root && !dir) {
- return ".";
- }
- if (dir) {
- dir = dir.substr(0, dir.length - 1);
- }
- return root + dir;
- },
- basename: function basename(path) {
- if (path === "/") return "/";
- var lastSlash = path.lastIndexOf("/");
- if (lastSlash === -1) return path;
- return path.substr(lastSlash + 1);
- },
- extname: function extname(path) {
- return PATH.splitPath(path)[3];
- },
- join: function join() {
- var paths = Array.prototype.slice.call(arguments, 0);
- return PATH.normalize(paths.join("/"));
- },
- join2: function join2(l, r) {
- return PATH.normalize(l + "/" + r);
- },
- resolve: function resolve() {
- var resolvedPath = "",
- resolvedAbsolute = false;
- for (
- var i = arguments.length - 1;
- i >= -1 && !resolvedAbsolute;
- i--
- ) {
- var path = i >= 0 ? arguments[i] : FS.cwd();
- if (typeof path !== "string") {
- throw new TypeError(
- "Arguments to path.resolve must be strings"
- );
- } else if (!path) {
- return "";
- }
- resolvedPath = path + "/" + resolvedPath;
- resolvedAbsolute = path.charAt(0) === "/";
- }
- resolvedPath = PATH.normalizeArray(
- resolvedPath.split("/").filter(function (p) {
- return !!p;
- }),
- !resolvedAbsolute
- ).join("/");
- return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
- },
- relative: function relative(from, to) {
- from = PATH.resolve(from).substr(1);
- to = PATH.resolve(to).substr(1);
- function trim(arr) {
- var start = 0;
- for (; start < arr.length; start++) {
- if (arr[start] !== "") break;
- }
- var end = arr.length - 1;
- for (; end >= 0; end--) {
- if (arr[end] !== "") break;
- }
- if (start > end) return [];
- return arr.slice(start, end - start + 1);
- }
- var fromParts = trim(from.split("/"));
- var toParts = trim(to.split("/"));
- var length = Math.min(fromParts.length, toParts.length);
- var samePartsLength = length;
- for (var i = 0; i < length; i++) {
- if (fromParts[i] !== toParts[i]) {
- samePartsLength = i;
- break;
- }
- }
- var outputParts = [];
- for (var i = samePartsLength; i < fromParts.length; i++) {
- outputParts.push("..");
- }
- outputParts = outputParts.concat(
- toParts.slice(samePartsLength)
- );
- return outputParts.join("/");
- },
- };
- var TTY = {
- ttys: [],
- init: function init() {},
- shutdown: function shutdown() {},
- register: function register(dev, ops) {
- TTY.ttys[dev] = { input: [], output: [], ops: ops };
- FS.registerDevice(dev, TTY.stream_ops);
- },
- stream_ops: {
- open: function open(stream) {
- var tty = TTY.ttys[stream.node.rdev];
- if (!tty) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- stream.tty = tty;
- stream.seekable = false;
- },
- close: function close(stream) {
- stream.tty.ops.flush(stream.tty);
- },
- flush: function flush(stream) {
- stream.tty.ops.flush(stream.tty);
- },
- read: function read(stream, buffer, offset, length, pos) {
- if (!stream.tty || !stream.tty.ops.get_char) {
- throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
- }
- var bytesRead = 0;
- for (var i = 0; i < length; i++) {
- var result;
- try {
- result = stream.tty.ops.get_char(stream.tty);
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- if (result === undefined && bytesRead === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
- }
- if (result === null || result === undefined) break;
- bytesRead++;
- buffer[offset + i] = result;
- }
- if (bytesRead) {
- stream.node.timestamp = Date.now();
- }
- return bytesRead;
- },
- write: function write(stream, buffer, offset, length, pos) {
- if (!stream.tty || !stream.tty.ops.put_char) {
- throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
- }
- for (var i = 0; i < length; i++) {
- try {
- stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- }
- if (length) {
- stream.node.timestamp = Date.now();
- }
- return i;
- },
- },
- default_tty_ops: {
- get_char: function get_char(tty) {
- if (!tty.input.length) {
- var result = null;
- if (ENVIRONMENT_IS_NODE) {
- var BUFSIZE = 256;
- var buf = new Buffer(BUFSIZE);
- var bytesRead = 0;
- var isPosixPlatform = process.platform != "win32";
- var fd = process.stdin.fd;
- if (isPosixPlatform) {
- var usingDevice = false;
- try {
- fd = fs.openSync("/dev/stdin", "r");
- usingDevice = true;
- } catch (e) {}
- }
- try {
- bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
- } catch (e) {
- if (e.toString().indexOf("EOF") != -1) bytesRead = 0;
- else throw e;
- }
- if (usingDevice) {
- fs.closeSync(fd);
- }
- if (bytesRead > 0) {
- result = buf.slice(0, bytesRead).toString("utf-8");
- } else {
- result = null;
- }
- } else if (
- typeof window != "undefined" &&
- typeof window.prompt == "function"
- ) {
- result = window.prompt("Input: ");
- if (result !== null) {
- result += "\n";
- }
- } else if (typeof readline == "function") {
- result = readline();
- if (result !== null) {
- result += "\n";
- }
- }
- if (!result) {
- return null;
- }
- tty.input = intArrayFromString(result, true);
- }
- return tty.input.shift();
- },
- put_char: function put_char(tty, val) {
- if (val === null || val === 10) {
- out(UTF8ArrayToString(tty.output, 0));
- tty.output = [];
- } else {
- if (val != 0) tty.output.push(val);
- }
- },
- flush: function flush(tty) {
- if (tty.output && tty.output.length > 0) {
- out(UTF8ArrayToString(tty.output, 0));
- tty.output = [];
- }
- },
- },
- default_tty1_ops: {
- put_char: function put_char(tty, val) {
- if (val === null || val === 10) {
- err(UTF8ArrayToString(tty.output, 0));
- tty.output = [];
- } else {
- if (val != 0) tty.output.push(val);
- }
- },
- flush: function flush(tty) {
- if (tty.output && tty.output.length > 0) {
- err(UTF8ArrayToString(tty.output, 0));
- tty.output = [];
- }
- },
- },
- };
- var MEMFS = {
- ops_table: null,
- mount: function mount(_mount) {
- return MEMFS.createNode(null, "/", 16384 | 511, 0);
- },
- createNode: function createNode(parent, name, mode, dev) {
- if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (!MEMFS.ops_table) {
- MEMFS.ops_table = {
- dir: {
- node: {
- getattr: MEMFS.node_ops.getattr,
- setattr: MEMFS.node_ops.setattr,
- lookup: MEMFS.node_ops.lookup,
- mknod: MEMFS.node_ops.mknod,
- rename: MEMFS.node_ops.rename,
- unlink: MEMFS.node_ops.unlink,
- rmdir: MEMFS.node_ops.rmdir,
- readdir: MEMFS.node_ops.readdir,
- symlink: MEMFS.node_ops.symlink,
- },
- stream: { llseek: MEMFS.stream_ops.llseek },
- },
- file: {
- node: {
- getattr: MEMFS.node_ops.getattr,
- setattr: MEMFS.node_ops.setattr,
- },
- stream: {
- llseek: MEMFS.stream_ops.llseek,
- read: MEMFS.stream_ops.read,
- write: MEMFS.stream_ops.write,
- allocate: MEMFS.stream_ops.allocate,
- mmap: MEMFS.stream_ops.mmap,
- msync: MEMFS.stream_ops.msync,
- },
- },
- link: {
- node: {
- getattr: MEMFS.node_ops.getattr,
- setattr: MEMFS.node_ops.setattr,
- readlink: MEMFS.node_ops.readlink,
- },
- stream: {},
- },
- chrdev: {
- node: {
- getattr: MEMFS.node_ops.getattr,
- setattr: MEMFS.node_ops.setattr,
- },
- stream: FS.chrdev_stream_ops,
- },
- };
- }
- var node = FS.createNode(parent, name, mode, dev);
- if (FS.isDir(node.mode)) {
- node.node_ops = MEMFS.ops_table.dir.node;
- node.stream_ops = MEMFS.ops_table.dir.stream;
- node.contents = {};
- } else if (FS.isFile(node.mode)) {
- node.node_ops = MEMFS.ops_table.file.node;
- node.stream_ops = MEMFS.ops_table.file.stream;
- node.usedBytes = 0;
- node.contents = null;
- } else if (FS.isLink(node.mode)) {
- node.node_ops = MEMFS.ops_table.link.node;
- node.stream_ops = MEMFS.ops_table.link.stream;
- } else if (FS.isChrdev(node.mode)) {
- node.node_ops = MEMFS.ops_table.chrdev.node;
- node.stream_ops = MEMFS.ops_table.chrdev.stream;
- }
- node.timestamp = Date.now();
- if (parent) {
- parent.contents[name] = node;
- }
- return node;
- },
- getFileDataAsRegularArray: function getFileDataAsRegularArray(
- node
- ) {
- if (node.contents && node.contents.subarray) {
- var arr = [];
- for (var i = 0; i < node.usedBytes; ++i) {
- arr.push(node.contents[i]);
- }
- return arr;
- }
- return node.contents;
- },
- getFileDataAsTypedArray: function getFileDataAsTypedArray(
- node
- ) {
- if (!node.contents) return new Uint8Array();
- if (node.contents.subarray)
- return node.contents.subarray(0, node.usedBytes);
- return new Uint8Array(node.contents);
- },
- expandFileStorage: function expandFileStorage(
- node,
- newCapacity
- ) {
- if (
- node.contents &&
- node.contents.subarray &&
- newCapacity > node.contents.length
- ) {
- node.contents = MEMFS.getFileDataAsRegularArray(node);
- node.usedBytes = node.contents.length;
- }
- if (!node.contents || node.contents.subarray) {
- var prevCapacity = node.contents ? node.contents.length : 0;
- if (prevCapacity >= newCapacity) return;
- var CAPACITY_DOUBLING_MAX = 1024 * 1024;
- newCapacity = Math.max(
- newCapacity,
- (prevCapacity *
- (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) |
- 0
- );
- if (prevCapacity != 0)
- newCapacity = Math.max(newCapacity, 256);
- var oldContents = node.contents;
- node.contents = new Uint8Array(newCapacity);
- if (node.usedBytes > 0)
- node.contents.set(
- oldContents.subarray(0, node.usedBytes),
- 0
- );
- return;
- }
- if (!node.contents && newCapacity > 0) node.contents = [];
- while (node.contents.length < newCapacity) {
- node.contents.push(0);
- }
- },
- resizeFileStorage: function resizeFileStorage(node, newSize) {
- if (node.usedBytes == newSize) return;
- if (newSize == 0) {
- node.contents = null;
- node.usedBytes = 0;
- return;
- }
- if (!node.contents || node.contents.subarray) {
- var oldContents = node.contents;
- node.contents = new Uint8Array(new ArrayBuffer(newSize));
- if (oldContents) {
- node.contents.set(
- oldContents.subarray(
- 0,
- Math.min(newSize, node.usedBytes)
- )
- );
- }
- node.usedBytes = newSize;
- return;
- }
- if (!node.contents) node.contents = [];
- if (node.contents.length > newSize)
- node.contents.length = newSize;
- else
- while (node.contents.length < newSize) {
- node.contents.push(0);
- }
- node.usedBytes = newSize;
- },
- node_ops: {
- getattr: function getattr(node) {
- var attr = {};
- attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
- attr.ino = node.id;
- attr.mode = node.mode;
- attr.nlink = 1;
- attr.uid = 0;
- attr.gid = 0;
- attr.rdev = node.rdev;
- if (FS.isDir(node.mode)) {
- attr.size = 4096;
- } else if (FS.isFile(node.mode)) {
- attr.size = node.usedBytes;
- } else if (FS.isLink(node.mode)) {
- attr.size = node.link.length;
- } else {
- attr.size = 0;
- }
- attr.atime = new Date(node.timestamp);
- attr.mtime = new Date(node.timestamp);
- attr.ctime = new Date(node.timestamp);
- attr.blksize = 4096;
- attr.blocks = Math.ceil(attr.size / attr.blksize);
- return attr;
- },
- setattr: function setattr(node, attr) {
- if (attr.mode !== undefined) {
- node.mode = attr.mode;
- }
- if (attr.timestamp !== undefined) {
- node.timestamp = attr.timestamp;
- }
- if (attr.size !== undefined) {
- MEMFS.resizeFileStorage(node, attr.size);
- }
- },
- lookup: function lookup(parent, name) {
- throw FS.genericErrors[ERRNO_CODES.ENOENT];
- },
- mknod: function mknod(parent, name, mode, dev) {
- return MEMFS.createNode(parent, name, mode, dev);
- },
- rename: function rename(old_node, new_dir, new_name) {
- if (FS.isDir(old_node.mode)) {
- var new_node;
- try {
- new_node = FS.lookupNode(new_dir, new_name);
- } catch (e) {}
- if (new_node) {
- for (var i in new_node.contents) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
- }
- }
- }
- delete old_node.parent.contents[old_node.name];
- old_node.name = new_name;
- new_dir.contents[new_name] = old_node;
- old_node.parent = new_dir;
- },
- unlink: function unlink(parent, name) {
- delete parent.contents[name];
- },
- rmdir: function rmdir(parent, name) {
- var node = FS.lookupNode(parent, name);
- for (var i in node.contents) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
- }
- delete parent.contents[name];
- },
- readdir: function readdir(node) {
- var entries = [".", ".."];
- for (var key in node.contents) {
- if (!node.contents.hasOwnProperty(key)) {
- continue;
- }
- entries.push(key);
- }
- return entries;
- },
- symlink: function symlink(parent, newname, oldpath) {
- var node = MEMFS.createNode(
- parent,
- newname,
- 511 | 40960,
- 0
- );
- node.link = oldpath;
- return node;
- },
- readlink: function readlink(node) {
- if (!FS.isLink(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return node.link;
- },
- },
- stream_ops: {
- read: function read(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- var contents = stream.node.contents;
- if (position >= stream.node.usedBytes) return 0;
- var size = Math.min(
- stream.node.usedBytes - position,
- length
- );
- assert(size >= 0);
- if (size > 8 && contents.subarray) {
- buffer.set(
- contents.subarray(position, position + size),
- offset
- );
- } else {
- for (var i = 0; i < size; i++) {
- buffer[offset + i] = contents[position + i];
- }
- }
- return size;
- },
- write: function write(
- stream,
- buffer,
- offset,
- length,
- position,
- canOwn
- ) {
- if (!length) return 0;
- var node = stream.node;
- node.timestamp = Date.now();
- if (
- buffer.subarray &&
- (!node.contents || node.contents.subarray)
- ) {
- if (canOwn) {
- node.contents = buffer.subarray(
- offset,
- offset + length
- );
- node.usedBytes = length;
- return length;
- } else if (node.usedBytes === 0 && position === 0) {
- node.contents = new Uint8Array(
- buffer.subarray(offset, offset + length)
- );
- node.usedBytes = length;
- return length;
- } else if (position + length <= node.usedBytes) {
- node.contents.set(
- buffer.subarray(offset, offset + length),
- position
- );
- return length;
- }
- }
- MEMFS.expandFileStorage(node, position + length);
- if (node.contents.subarray && buffer.subarray)
- node.contents.set(
- buffer.subarray(offset, offset + length),
- position
- );
- else {
- for (var i = 0; i < length; i++) {
- node.contents[position + i] = buffer[offset + i];
- }
- }
- node.usedBytes = Math.max(
- node.usedBytes,
- position + length
- );
- return length;
- },
- llseek: function llseek(stream, offset, whence) {
- var position = offset;
- if (whence === 1) {
- position += stream.position;
- } else if (whence === 2) {
- if (FS.isFile(stream.node.mode)) {
- position += stream.node.usedBytes;
- }
- }
- if (position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return position;
- },
- allocate: function allocate(stream, offset, length) {
- MEMFS.expandFileStorage(stream.node, offset + length);
- stream.node.usedBytes = Math.max(
- stream.node.usedBytes,
- offset + length
- );
- },
- mmap: function mmap(
- stream,
- buffer,
- offset,
- length,
- position,
- prot,
- flags
- ) {
- if (!FS.isFile(stream.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- var ptr;
- var allocated;
- var contents = stream.node.contents;
- if (
- !(flags & 2) &&
- (contents.buffer === buffer ||
- contents.buffer === buffer.buffer)
- ) {
- allocated = false;
- ptr = contents.byteOffset;
- } else {
- if (
- position > 0 ||
- position + length < stream.node.usedBytes
- ) {
- if (contents.subarray) {
- contents = contents.subarray(
- position,
- position + length
- );
- } else {
- contents = Array.prototype.slice.call(
- contents,
- position,
- position + length
- );
- }
- }
- allocated = true;
- ptr = _malloc(length);
- if (!ptr) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
- }
- buffer.set(contents, ptr);
- }
- return { ptr: ptr, allocated: allocated };
- },
- msync: function msync(
- stream,
- buffer,
- offset,
- length,
- mmapFlags
- ) {
- if (!FS.isFile(stream.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- if (mmapFlags & 2) {
- return 0;
- }
- var bytesWritten = MEMFS.stream_ops.write(
- stream,
- buffer,
- 0,
- length,
- offset,
- false
- );
- return 0;
- },
- },
- };
- var IDBFS = {
- dbs: {},
- indexedDB: (function (_indexedDB) {
- function indexedDB() {
- return _indexedDB.apply(this, arguments);
- }
- indexedDB.toString = function () {
- return _indexedDB.toString();
- };
- return indexedDB;
- })(function () {
- if (typeof indexedDB !== "undefined") return indexedDB;
- var ret = null;
- if (
- (typeof window === "undefined"
- ? "undefined"
- : _typeof(window)) === "object"
- )
- ret =
- window.indexedDB ||
- window.mozIndexedDB ||
- window.webkitIndexedDB ||
- window.msIndexedDB;
- assert(ret, "IDBFS used, but indexedDB not supported");
- return ret;
- }),
- DB_VERSION: 21,
- DB_STORE_NAME: "FILE_DATA",
- mount: function mount(_mount2) {
- return MEMFS.mount.apply(null, arguments);
- },
- syncfs: function syncfs(mount, populate, callback) {
- IDBFS.getLocalSet(mount, function (err, local) {
- if (err) return callback(err);
- IDBFS.getRemoteSet(mount, function (err, remote) {
- if (err) return callback(err);
- var src = populate ? remote : local;
- var dst = populate ? local : remote;
- IDBFS.reconcile(src, dst, callback);
- });
- });
- },
- getDB: function getDB(name, callback) {
- var db = IDBFS.dbs[name];
- if (db) {
- return callback(null, db);
- }
- var req;
- try {
- req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
- } catch (e) {
- return callback(e);
- }
- if (!req) {
- return callback("Unable to connect to IndexedDB");
- }
- req.onupgradeneeded = function (e) {
- var db = e.target.result;
- var transaction = e.target.transaction;
- var fileStore;
- if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
- fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
- } else {
- fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
- }
- if (!fileStore.indexNames.contains("timestamp")) {
- fileStore.createIndex("timestamp", "timestamp", {
- unique: false,
- });
- }
- };
- req.onsuccess = function () {
- db = req.result;
- IDBFS.dbs[name] = db;
- callback(null, db);
- };
- req.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- },
- getLocalSet: function getLocalSet(mount, callback) {
- var entries = {};
- function isRealDir(p) {
- return p !== "." && p !== "..";
- }
- function toAbsolute(root) {
- return function (p) {
- return PATH.join2(root, p);
- };
- }
- var check = FS.readdir(mount.mountpoint)
- .filter(isRealDir)
- .map(toAbsolute(mount.mountpoint));
- while (check.length) {
- var path = check.pop();
- var stat;
- try {
- stat = FS.stat(path);
- } catch (e) {
- return callback(e);
- }
- if (FS.isDir(stat.mode)) {
- check.push.apply(
- check,
- FS.readdir(path).filter(isRealDir).map(toAbsolute(path))
- );
- }
- entries[path] = { timestamp: stat.mtime };
- }
- return callback(null, { type: "local", entries: entries });
- },
- getRemoteSet: function getRemoteSet(mount, callback) {
- var entries = {};
- IDBFS.getDB(mount.mountpoint, function (err, db) {
- if (err) return callback(err);
- try {
- var transaction = db.transaction(
- [IDBFS.DB_STORE_NAME],
- "readonly"
- );
- transaction.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
- var index = store.index("timestamp");
- index.openKeyCursor().onsuccess = function (event) {
- var cursor = event.target.result;
- if (!cursor) {
- return callback(null, {
- type: "remote",
- db: db,
- entries: entries,
- });
- }
- entries[cursor.primaryKey] = { timestamp: cursor.key };
- cursor.continue();
- };
- } catch (e) {
- return callback(e);
- }
- });
- },
- loadLocalEntry: function loadLocalEntry(path, callback) {
- var stat, node;
- try {
- var lookup = FS.lookupPath(path);
- node = lookup.node;
- stat = FS.stat(path);
- } catch (e) {
- return callback(e);
- }
- if (FS.isDir(stat.mode)) {
- return callback(null, {
- timestamp: stat.mtime,
- mode: stat.mode,
- });
- } else if (FS.isFile(stat.mode)) {
- node.contents = MEMFS.getFileDataAsTypedArray(node);
- return callback(null, {
- timestamp: stat.mtime,
- mode: stat.mode,
- contents: node.contents,
- });
- } else {
- return callback(new Error("node type not supported"));
- }
- },
- storeLocalEntry: function storeLocalEntry(
- path,
- entry,
- callback
- ) {
- try {
- if (FS.isDir(entry.mode)) {
- FS.mkdir(path, entry.mode);
- } else if (FS.isFile(entry.mode)) {
- FS.writeFile(path, entry.contents, { canOwn: true });
- } else {
- return callback(new Error("node type not supported"));
- }
- FS.chmod(path, entry.mode);
- FS.utime(path, entry.timestamp, entry.timestamp);
- } catch (e) {
- return callback(e);
- }
- callback(null);
- },
- removeLocalEntry: function removeLocalEntry(path, callback) {
- try {
- var lookup = FS.lookupPath(path);
- var stat = FS.stat(path);
- if (FS.isDir(stat.mode)) {
- FS.rmdir(path);
- } else if (FS.isFile(stat.mode)) {
- FS.unlink(path);
- }
- } catch (e) {
- return callback(e);
- }
- callback(null);
- },
- loadRemoteEntry: function loadRemoteEntry(
- store,
- path,
- callback
- ) {
- var req = store.get(path);
- req.onsuccess = function (event) {
- callback(null, event.target.result);
- };
- req.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- },
- storeRemoteEntry: function storeRemoteEntry(
- store,
- path,
- entry,
- callback
- ) {
- var req = store.put(entry, path);
- req.onsuccess = function () {
- callback(null);
- };
- req.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- },
- removeRemoteEntry: function removeRemoteEntry(
- store,
- path,
- callback
- ) {
- var req = store.delete(path);
- req.onsuccess = function () {
- callback(null);
- };
- req.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- },
- reconcile: function reconcile(src, dst, callback) {
- var total = 0;
- var create = [];
- Object.keys(src.entries).forEach(function (key) {
- var e = src.entries[key];
- var e2 = dst.entries[key];
- if (!e2 || e.timestamp > e2.timestamp) {
- create.push(key);
- total++;
- }
- });
- var remove = [];
- Object.keys(dst.entries).forEach(function (key) {
- var e = dst.entries[key];
- var e2 = src.entries[key];
- if (!e2) {
- remove.push(key);
- total++;
- }
- });
- if (!total) {
- return callback(null);
- }
- var completed = 0;
- var db = src.type === "remote" ? src.db : dst.db;
- var transaction = db.transaction(
- [IDBFS.DB_STORE_NAME],
- "readwrite"
- );
- var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
- function done(err) {
- if (err) {
- if (!done.errored) {
- done.errored = true;
- return callback(err);
- }
- return;
- }
- if (++completed >= total) {
- return callback(null);
- }
- }
- transaction.onerror = function (e) {
- done(this.error);
- e.preventDefault();
- };
- create.sort().forEach(function (path) {
- if (dst.type === "local") {
- IDBFS.loadRemoteEntry(store, path, function (err, entry) {
- if (err) return done(err);
- IDBFS.storeLocalEntry(path, entry, done);
- });
- } else {
- IDBFS.loadLocalEntry(path, function (err, entry) {
- if (err) return done(err);
- IDBFS.storeRemoteEntry(store, path, entry, done);
- });
- }
- });
- remove
- .sort()
- .reverse()
- .forEach(function (path) {
- if (dst.type === "local") {
- IDBFS.removeLocalEntry(path, done);
- } else {
- IDBFS.removeRemoteEntry(store, path, done);
- }
- });
- },
- };
- var NODEFS = {
- isWindows: false,
- staticInit: function staticInit() {
- NODEFS.isWindows = !!process.platform.match(/^win/);
- var flags = process["binding"]("constants");
- if (flags["fs"]) {
- flags = flags["fs"];
- }
- NODEFS.flagsForNodeMap = {
- 1024: flags["O_APPEND"],
- 64: flags["O_CREAT"],
- 128: flags["O_EXCL"],
- 0: flags["O_RDONLY"],
- 2: flags["O_RDWR"],
- 4096: flags["O_SYNC"],
- 512: flags["O_TRUNC"],
- 1: flags["O_WRONLY"],
- };
- },
- bufferFrom: function bufferFrom(arrayBuffer) {
- return Buffer.alloc
- ? Buffer.from(arrayBuffer)
- : new Buffer(arrayBuffer);
- },
- mount: function mount(_mount3) {
- assert(ENVIRONMENT_IS_NODE);
- return NODEFS.createNode(
- null,
- "/",
- NODEFS.getMode(_mount3.opts.root),
- 0
- );
- },
- createNode: function createNode(parent, name, mode, dev) {
- if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var node = FS.createNode(parent, name, mode);
- node.node_ops = NODEFS.node_ops;
- node.stream_ops = NODEFS.stream_ops;
- return node;
- },
- getMode: function getMode(path) {
- var stat;
- try {
- stat = fs.lstatSync(path);
- if (NODEFS.isWindows) {
- stat.mode = stat.mode | ((stat.mode & 292) >> 2);
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- return stat.mode;
- },
- realPath: function realPath(node) {
- var parts = [];
- while (node.parent !== node) {
- parts.push(node.name);
- node = node.parent;
- }
- parts.push(node.mount.opts.root);
- parts.reverse();
- return PATH.join.apply(null, parts);
- },
- flagsForNode: function flagsForNode(flags) {
- flags &= ~2097152;
- flags &= ~2048;
- flags &= ~32768;
- flags &= ~524288;
- var newFlags = 0;
- for (var k in NODEFS.flagsForNodeMap) {
- if (flags & k) {
- newFlags |= NODEFS.flagsForNodeMap[k];
- flags ^= k;
- }
- }
- if (!flags) {
- return newFlags;
- } else {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- },
- node_ops: {
- getattr: function getattr(node) {
- var path = NODEFS.realPath(node);
- var stat;
- try {
- stat = fs.lstatSync(path);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- if (NODEFS.isWindows && !stat.blksize) {
- stat.blksize = 4096;
- }
- if (NODEFS.isWindows && !stat.blocks) {
- stat.blocks =
- ((stat.size + stat.blksize - 1) / stat.blksize) | 0;
- }
- return {
- dev: stat.dev,
- ino: stat.ino,
- mode: stat.mode,
- nlink: stat.nlink,
- uid: stat.uid,
- gid: stat.gid,
- rdev: stat.rdev,
- size: stat.size,
- atime: stat.atime,
- mtime: stat.mtime,
- ctime: stat.ctime,
- blksize: stat.blksize,
- blocks: stat.blocks,
- };
- },
- setattr: function setattr(node, attr) {
- var path = NODEFS.realPath(node);
- try {
- if (attr.mode !== undefined) {
- fs.chmodSync(path, attr.mode);
- node.mode = attr.mode;
- }
- if (attr.timestamp !== undefined) {
- var date = new Date(attr.timestamp);
- fs.utimesSync(path, date, date);
- }
- if (attr.size !== undefined) {
- fs.truncateSync(path, attr.size);
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- lookup: function lookup(parent, name) {
- var path = PATH.join2(NODEFS.realPath(parent), name);
- var mode = NODEFS.getMode(path);
- return NODEFS.createNode(parent, name, mode);
- },
- mknod: function mknod(parent, name, mode, dev) {
- var node = NODEFS.createNode(parent, name, mode, dev);
- var path = NODEFS.realPath(node);
- try {
- if (FS.isDir(node.mode)) {
- fs.mkdirSync(path, node.mode);
- } else {
- fs.writeFileSync(path, "", { mode: node.mode });
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- return node;
- },
- rename: function rename(oldNode, newDir, newName) {
- var oldPath = NODEFS.realPath(oldNode);
- var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
- try {
- fs.renameSync(oldPath, newPath);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- unlink: function unlink(parent, name) {
- var path = PATH.join2(NODEFS.realPath(parent), name);
- try {
- fs.unlinkSync(path);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- rmdir: function rmdir(parent, name) {
- var path = PATH.join2(NODEFS.realPath(parent), name);
- try {
- fs.rmdirSync(path);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- readdir: function readdir(node) {
- var path = NODEFS.realPath(node);
- try {
- return fs.readdirSync(path);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- symlink: function symlink(parent, newName, oldPath) {
- var newPath = PATH.join2(NODEFS.realPath(parent), newName);
- try {
- fs.symlinkSync(oldPath, newPath);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- readlink: function readlink(node) {
- var path = NODEFS.realPath(node);
- try {
- path = fs.readlinkSync(path);
- path = NODEJS_PATH.relative(
- NODEJS_PATH.resolve(node.mount.opts.root),
- path
- );
- return path;
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- },
- stream_ops: {
- open: function open(stream) {
- var path = NODEFS.realPath(stream.node);
- try {
- if (FS.isFile(stream.node.mode)) {
- stream.nfd = fs.openSync(
- path,
- NODEFS.flagsForNode(stream.flags)
- );
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- close: function close(stream) {
- try {
- if (FS.isFile(stream.node.mode) && stream.nfd) {
- fs.closeSync(stream.nfd);
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- read: function read(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- if (length === 0) return 0;
- try {
- return fs.readSync(
- stream.nfd,
- NODEFS.bufferFrom(buffer.buffer),
- offset,
- length,
- position
- );
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- write: function write(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- try {
- return fs.writeSync(
- stream.nfd,
- NODEFS.bufferFrom(buffer.buffer),
- offset,
- length,
- position
- );
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- llseek: function llseek(stream, offset, whence) {
- var position = offset;
- if (whence === 1) {
- position += stream.position;
- } else if (whence === 2) {
- if (FS.isFile(stream.node.mode)) {
- try {
- var stat = fs.fstatSync(stream.nfd);
- position += stat.size;
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- }
- }
- if (position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return position;
- },
- },
- };
- var WORKERFS = {
- DIR_MODE: 16895,
- FILE_MODE: 33279,
- reader: null,
- mount: function mount(_mount4) {
- assert(ENVIRONMENT_IS_WORKER);
- if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
- var root = WORKERFS.createNode(
- null,
- "/",
- WORKERFS.DIR_MODE,
- 0
- );
- var createdParents = {};
- function ensureParent(path) {
- var parts = path.split("/");
- var parent = root;
- for (var i = 0; i < parts.length - 1; i++) {
- var curr = parts.slice(0, i + 1).join("/");
- if (!createdParents[curr]) {
- createdParents[curr] = WORKERFS.createNode(
- parent,
- parts[i],
- WORKERFS.DIR_MODE,
- 0
- );
- }
- parent = createdParents[curr];
- }
- return parent;
- }
- function base(path) {
- var parts = path.split("/");
- return parts[parts.length - 1];
- }
- Array.prototype.forEach.call(
- _mount4.opts["files"] || [],
- function (file) {
- WORKERFS.createNode(
- ensureParent(file.name),
- base(file.name),
- WORKERFS.FILE_MODE,
- 0,
- file,
- file.lastModifiedDate
- );
- }
- );
- (_mount4.opts["blobs"] || []).forEach(function (obj) {
- WORKERFS.createNode(
- ensureParent(obj["name"]),
- base(obj["name"]),
- WORKERFS.FILE_MODE,
- 0,
- obj["data"]
- );
- });
- (_mount4.opts["packages"] || []).forEach(function (pack) {
- pack["metadata"].files.forEach(function (file) {
- var name = file.filename.substr(1);
- WORKERFS.createNode(
- ensureParent(name),
- base(name),
- WORKERFS.FILE_MODE,
- 0,
- pack["blob"].slice(file.start, file.end)
- );
- });
- });
- return root;
- },
- createNode: function createNode(
- parent,
- name,
- mode,
- dev,
- contents,
- mtime
- ) {
- var node = FS.createNode(parent, name, mode);
- node.mode = mode;
- node.node_ops = WORKERFS.node_ops;
- node.stream_ops = WORKERFS.stream_ops;
- node.timestamp = (mtime || new Date()).getTime();
- assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
- if (mode === WORKERFS.FILE_MODE) {
- node.size = contents.size;
- node.contents = contents;
- } else {
- node.size = 4096;
- node.contents = {};
- }
- if (parent) {
- parent.contents[name] = node;
- }
- return node;
- },
- node_ops: {
- getattr: function getattr(node) {
- return {
- dev: 1,
- ino: undefined,
- mode: node.mode,
- nlink: 1,
- uid: 0,
- gid: 0,
- rdev: undefined,
- size: node.size,
- atime: new Date(node.timestamp),
- mtime: new Date(node.timestamp),
- ctime: new Date(node.timestamp),
- blksize: 4096,
- blocks: Math.ceil(node.size / 4096),
- };
- },
- setattr: function setattr(node, attr) {
- if (attr.mode !== undefined) {
- node.mode = attr.mode;
- }
- if (attr.timestamp !== undefined) {
- node.timestamp = attr.timestamp;
- }
- },
- lookup: function lookup(parent, name) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- },
- mknod: function mknod(parent, name, mode, dev) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- rename: function rename(oldNode, newDir, newName) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- unlink: function unlink(parent, name) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- rmdir: function rmdir(parent, name) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- readdir: function readdir(node) {
- var entries = [".", ".."];
- for (var key in node.contents) {
- if (!node.contents.hasOwnProperty(key)) {
- continue;
- }
- entries.push(key);
- }
- return entries;
- },
- symlink: function symlink(parent, newName, oldPath) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- readlink: function readlink(node) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- },
- stream_ops: {
- read: function read(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- if (position >= stream.node.size) return 0;
- var chunk = stream.node.contents.slice(
- position,
- position + length
- );
- var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
- buffer.set(new Uint8Array(ab), offset);
- return chunk.size;
- },
- write: function write(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- },
- llseek: function llseek(stream, offset, whence) {
- var position = offset;
- if (whence === 1) {
- position += stream.position;
- } else if (whence === 2) {
- if (FS.isFile(stream.node.mode)) {
- position += stream.node.size;
- }
- }
- if (position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return position;
- },
- },
- };
- STATICTOP += 16;
- STATICTOP += 16;
- STATICTOP += 16;
- var FS = {
- root: null,
- mounts: [],
- devices: {},
- streams: [],
- nextInode: 1,
- nameTable: null,
- currentPath: "/",
- initialized: false,
- ignorePermissions: true,
- trackingDelegate: {},
- tracking: { openFlags: { READ: 1, WRITE: 2 } },
- ErrnoError: null,
- genericErrors: {},
- filesystems: null,
- syncFSRequests: 0,
- handleFSError: function handleFSError(e) {
- if (!(e instanceof FS.ErrnoError))
- throw e + " : " + stackTrace();
- return ___setErrNo(e.errno);
- },
- lookupPath: function lookupPath(path, opts) {
- path = PATH.resolve(FS.cwd(), path);
- opts = opts || {};
- if (!path) return { path: "", node: null };
- var defaults = { follow_mount: true, recurse_count: 0 };
- for (var key in defaults) {
- if (opts[key] === undefined) {
- opts[key] = defaults[key];
- }
- }
- if (opts.recurse_count > 8) {
- throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
- }
- var parts = PATH.normalizeArray(
- path.split("/").filter(function (p) {
- return !!p;
- }),
- false
- );
- var current = FS.root;
- var current_path = "/";
- for (var i = 0; i < parts.length; i++) {
- var islast = i === parts.length - 1;
- if (islast && opts.parent) {
- break;
- }
- current = FS.lookupNode(current, parts[i]);
- current_path = PATH.join2(current_path, parts[i]);
- if (FS.isMountpoint(current)) {
- if (!islast || (islast && opts.follow_mount)) {
- current = current.mounted.root;
- }
- }
- if (!islast || opts.follow) {
- var count = 0;
- while (FS.isLink(current.mode)) {
- var link = FS.readlink(current_path);
- current_path = PATH.resolve(
- PATH.dirname(current_path),
- link
- );
- var lookup = FS.lookupPath(current_path, {
- recurse_count: opts.recurse_count,
- });
- current = lookup.node;
- if (count++ > 40) {
- throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
- }
- }
- }
- }
- return { path: current_path, node: current };
- },
- getPath: function getPath(node) {
- var path;
- while (true) {
- if (FS.isRoot(node)) {
- var mount = node.mount.mountpoint;
- if (!path) return mount;
- return mount[mount.length - 1] !== "/"
- ? mount + "/" + path
- : mount + path;
- }
- path = path ? node.name + "/" + path : node.name;
- node = node.parent;
- }
- },
- hashName: function hashName(parentid, name) {
- var hash = 0;
- for (var i = 0; i < name.length; i++) {
- hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
- }
- return ((parentid + hash) >>> 0) % FS.nameTable.length;
- },
- hashAddNode: function hashAddNode(node) {
- var hash = FS.hashName(node.parent.id, node.name);
- node.name_next = FS.nameTable[hash];
- FS.nameTable[hash] = node;
- },
- hashRemoveNode: function hashRemoveNode(node) {
- var hash = FS.hashName(node.parent.id, node.name);
- if (FS.nameTable[hash] === node) {
- FS.nameTable[hash] = node.name_next;
- } else {
- var current = FS.nameTable[hash];
- while (current) {
- if (current.name_next === node) {
- current.name_next = node.name_next;
- break;
- }
- current = current.name_next;
- }
- }
- },
- lookupNode: function lookupNode(parent, name) {
- var err = FS.mayLookup(parent);
- if (err) {
- throw new FS.ErrnoError(err, parent);
- }
- var hash = FS.hashName(parent.id, name);
- for (
- var node = FS.nameTable[hash];
- node;
- node = node.name_next
- ) {
- var nodeName = node.name;
- if (node.parent.id === parent.id && nodeName === name) {
- return node;
- }
- }
- return FS.lookup(parent, name);
- },
- createNode: function createNode(parent, name, mode, rdev) {
- if (!FS.FSNode) {
- FS.FSNode = function (parent, name, mode, rdev) {
- if (!parent) {
- parent = this;
- }
- this.parent = parent;
- this.mount = parent.mount;
- this.mounted = null;
- this.id = FS.nextInode++;
- this.name = name;
- this.mode = mode;
- this.node_ops = {};
- this.stream_ops = {};
- this.rdev = rdev;
- };
- FS.FSNode.prototype = {};
- var readMode = 292 | 73;
- var writeMode = 146;
- Object.defineProperties(FS.FSNode.prototype, {
- read: {
- get: function get() {
- return (this.mode & readMode) === readMode;
- },
- set: function set(val) {
- val
- ? (this.mode |= readMode)
- : (this.mode &= ~readMode);
- },
- },
- write: {
- get: function get() {
- return (this.mode & writeMode) === writeMode;
- },
- set: function set(val) {
- val
- ? (this.mode |= writeMode)
- : (this.mode &= ~writeMode);
- },
- },
- isFolder: {
- get: function get() {
- return FS.isDir(this.mode);
- },
- },
- isDevice: {
- get: function get() {
- return FS.isChrdev(this.mode);
- },
- },
- });
- }
- var node = new FS.FSNode(parent, name, mode, rdev);
- FS.hashAddNode(node);
- return node;
- },
- destroyNode: function destroyNode(node) {
- FS.hashRemoveNode(node);
- },
- isRoot: function isRoot(node) {
- return node === node.parent;
- },
- isMountpoint: function isMountpoint(node) {
- return !!node.mounted;
- },
- isFile: function isFile(mode) {
- return (mode & 61440) === 32768;
- },
- isDir: function isDir(mode) {
- return (mode & 61440) === 16384;
- },
- isLink: function isLink(mode) {
- return (mode & 61440) === 40960;
- },
- isChrdev: function isChrdev(mode) {
- return (mode & 61440) === 8192;
- },
- isBlkdev: function isBlkdev(mode) {
- return (mode & 61440) === 24576;
- },
- isFIFO: function isFIFO(mode) {
- return (mode & 61440) === 4096;
- },
- isSocket: function isSocket(mode) {
- return (mode & 49152) === 49152;
- },
- flagModes: {
- r: 0,
- rs: 1052672,
- "r+": 2,
- w: 577,
- wx: 705,
- xw: 705,
- "w+": 578,
- "wx+": 706,
- "xw+": 706,
- a: 1089,
- ax: 1217,
- xa: 1217,
- "a+": 1090,
- "ax+": 1218,
- "xa+": 1218,
- },
- modeStringToFlags: function modeStringToFlags(str) {
- var flags = FS.flagModes[str];
- if (typeof flags === "undefined") {
- throw new Error("Unknown file open mode: " + str);
- }
- return flags;
- },
- flagsToPermissionString: function flagsToPermissionString(
- flag
- ) {
- var perms = ["r", "w", "rw"][flag & 3];
- if (flag & 512) {
- perms += "w";
- }
- return perms;
- },
- nodePermissions: function nodePermissions(node, perms) {
- if (FS.ignorePermissions) {
- return 0;
- }
- if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
- return ERRNO_CODES.EACCES;
- } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
- return ERRNO_CODES.EACCES;
- } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
- return ERRNO_CODES.EACCES;
- }
- return 0;
- },
- mayLookup: function mayLookup(dir) {
- var err = FS.nodePermissions(dir, "x");
- if (err) return err;
- if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
- return 0;
- },
- mayCreate: function mayCreate(dir, name) {
- try {
- var node = FS.lookupNode(dir, name);
- return ERRNO_CODES.EEXIST;
- } catch (e) {}
- return FS.nodePermissions(dir, "wx");
- },
- mayDelete: function mayDelete(dir, name, isdir) {
- var node;
- try {
- node = FS.lookupNode(dir, name);
- } catch (e) {
- return e.errno;
- }
- var err = FS.nodePermissions(dir, "wx");
- if (err) {
- return err;
- }
- if (isdir) {
- if (!FS.isDir(node.mode)) {
- return ERRNO_CODES.ENOTDIR;
- }
- if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
- return ERRNO_CODES.EBUSY;
- }
- } else {
- if (FS.isDir(node.mode)) {
- return ERRNO_CODES.EISDIR;
- }
- }
- return 0;
- },
- mayOpen: function mayOpen(node, flags) {
- if (!node) {
- return ERRNO_CODES.ENOENT;
- }
- if (FS.isLink(node.mode)) {
- return ERRNO_CODES.ELOOP;
- } else if (FS.isDir(node.mode)) {
- if (
- FS.flagsToPermissionString(flags) !== "r" ||
- flags & 512
- ) {
- return ERRNO_CODES.EISDIR;
- }
- }
- return FS.nodePermissions(
- node,
- FS.flagsToPermissionString(flags)
- );
- },
- MAX_OPEN_FDS: 4096,
- nextfd: function nextfd(fd_start, fd_end) {
- fd_start = fd_start || 0;
- fd_end = fd_end || FS.MAX_OPEN_FDS;
- for (var fd = fd_start; fd <= fd_end; fd++) {
- if (!FS.streams[fd]) {
- return fd;
- }
- }
- throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
- },
- getStream: function getStream(fd) {
- return FS.streams[fd];
- },
- createStream: function createStream(stream, fd_start, fd_end) {
- if (!FS.FSStream) {
- FS.FSStream = function () {};
- FS.FSStream.prototype = {};
- Object.defineProperties(FS.FSStream.prototype, {
- object: {
- get: function get() {
- return this.node;
- },
- set: function set(val) {
- this.node = val;
- },
- },
- isRead: {
- get: function get() {
- return (this.flags & 2097155) !== 1;
- },
- },
- isWrite: {
- get: function get() {
- return (this.flags & 2097155) !== 0;
- },
- },
- isAppend: {
- get: function get() {
- return this.flags & 1024;
- },
- },
- });
- }
- var newStream = new FS.FSStream();
- for (var p in stream) {
- newStream[p] = stream[p];
- }
- stream = newStream;
- var fd = FS.nextfd(fd_start, fd_end);
- stream.fd = fd;
- FS.streams[fd] = stream;
- return stream;
- },
- closeStream: function closeStream(fd) {
- FS.streams[fd] = null;
- },
- chrdev_stream_ops: {
- open: function open(stream) {
- var device = FS.getDevice(stream.node.rdev);
- stream.stream_ops = device.stream_ops;
- if (stream.stream_ops.open) {
- stream.stream_ops.open(stream);
- }
- },
- llseek: function llseek() {
- throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
- },
- },
- major: function major(dev) {
- return dev >> 8;
- },
- minor: function minor(dev) {
- return dev & 255;
- },
- makedev: function makedev(ma, mi) {
- return (ma << 8) | mi;
- },
- registerDevice: function registerDevice(dev, ops) {
- FS.devices[dev] = { stream_ops: ops };
- },
- getDevice: function getDevice(dev) {
- return FS.devices[dev];
- },
- getMounts: function getMounts(mount) {
- var mounts = [];
- var check = [mount];
- while (check.length) {
- var m = check.pop();
- mounts.push(m);
- check.push.apply(check, m.mounts);
- }
- return mounts;
- },
- syncfs: function syncfs(populate, callback) {
- if (typeof populate === "function") {
- callback = populate;
- populate = false;
- }
- FS.syncFSRequests++;
- if (FS.syncFSRequests > 1) {
- console.log(
- "warning: " +
- FS.syncFSRequests +
- " FS.syncfs operations in flight at once, probably just doing extra work"
- );
- }
- var mounts = FS.getMounts(FS.root.mount);
- var completed = 0;
- function doCallback(err) {
- assert(FS.syncFSRequests > 0);
- FS.syncFSRequests--;
- return callback(err);
- }
- function done(err) {
- if (err) {
- if (!done.errored) {
- done.errored = true;
- return doCallback(err);
- }
- return;
- }
- if (++completed >= mounts.length) {
- doCallback(null);
- }
- }
- mounts.forEach(function (mount) {
- if (!mount.type.syncfs) {
- return done(null);
- }
- mount.type.syncfs(mount, populate, done);
- });
- },
- mount: function mount(type, opts, mountpoint) {
- var root = mountpoint === "/";
- var pseudo = !mountpoint;
- var node;
- if (root && FS.root) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- } else if (!root && !pseudo) {
- var lookup = FS.lookupPath(mountpoint, {
- follow_mount: false,
- });
- mountpoint = lookup.path;
- node = lookup.node;
- if (FS.isMountpoint(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- if (!FS.isDir(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
- }
- }
- var mount = {
- type: type,
- opts: opts,
- mountpoint: mountpoint,
- mounts: [],
- };
- var mountRoot = type.mount(mount);
- mountRoot.mount = mount;
- mount.root = mountRoot;
- if (root) {
- FS.root = mountRoot;
- } else if (node) {
- node.mounted = mount;
- if (node.mount) {
- node.mount.mounts.push(mount);
- }
- }
- return mountRoot;
- },
- unmount: function unmount(mountpoint) {
- var lookup = FS.lookupPath(mountpoint, {
- follow_mount: false,
- });
- if (!FS.isMountpoint(lookup.node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var node = lookup.node;
- var mount = node.mounted;
- var mounts = FS.getMounts(mount);
- Object.keys(FS.nameTable).forEach(function (hash) {
- var current = FS.nameTable[hash];
- while (current) {
- var next = current.name_next;
- if (mounts.indexOf(current.mount) !== -1) {
- FS.destroyNode(current);
- }
- current = next;
- }
- });
- node.mounted = null;
- var idx = node.mount.mounts.indexOf(mount);
- assert(idx !== -1);
- node.mount.mounts.splice(idx, 1);
- },
- lookup: function lookup(parent, name) {
- return parent.node_ops.lookup(parent, name);
- },
- mknod: function mknod(path, mode, dev) {
- var lookup = FS.lookupPath(path, { parent: true });
- var parent = lookup.node;
- var name = PATH.basename(path);
- if (!name || name === "." || name === "..") {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var err = FS.mayCreate(parent, name);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!parent.node_ops.mknod) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- return parent.node_ops.mknod(parent, name, mode, dev);
- },
- create: function create(path, mode) {
- mode = mode !== undefined ? mode : 438;
- mode &= 4095;
- mode |= 32768;
- return FS.mknod(path, mode, 0);
- },
- mkdir: function mkdir(path, mode) {
- mode = mode !== undefined ? mode : 511;
- mode &= 511 | 512;
- mode |= 16384;
- return FS.mknod(path, mode, 0);
- },
- mkdirTree: function mkdirTree(path, mode) {
- var dirs = path.split("/");
- var d = "";
- for (var i = 0; i < dirs.length; ++i) {
- if (!dirs[i]) continue;
- d += "/" + dirs[i];
- try {
- FS.mkdir(d, mode);
- } catch (e) {
- if (e.errno != ERRNO_CODES.EEXIST) throw e;
- }
- }
- },
- mkdev: function mkdev(path, mode, dev) {
- if (typeof dev === "undefined") {
- dev = mode;
- mode = 438;
- }
- mode |= 8192;
- return FS.mknod(path, mode, dev);
- },
- symlink: function symlink(oldpath, newpath) {
- if (!PATH.resolve(oldpath)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- var lookup = FS.lookupPath(newpath, { parent: true });
- var parent = lookup.node;
- if (!parent) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- var newname = PATH.basename(newpath);
- var err = FS.mayCreate(parent, newname);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!parent.node_ops.symlink) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- return parent.node_ops.symlink(parent, newname, oldpath);
- },
- rename: function rename(old_path, new_path) {
- var old_dirname = PATH.dirname(old_path);
- var new_dirname = PATH.dirname(new_path);
- var old_name = PATH.basename(old_path);
- var new_name = PATH.basename(new_path);
- var lookup, old_dir, new_dir;
- try {
- lookup = FS.lookupPath(old_path, { parent: true });
- old_dir = lookup.node;
- lookup = FS.lookupPath(new_path, { parent: true });
- new_dir = lookup.node;
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- if (!old_dir || !new_dir)
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- if (old_dir.mount !== new_dir.mount) {
- throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
- }
- var old_node = FS.lookupNode(old_dir, old_name);
- var relative = PATH.relative(old_path, new_dirname);
- if (relative.charAt(0) !== ".") {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- relative = PATH.relative(new_path, old_dirname);
- if (relative.charAt(0) !== ".") {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
- }
- var new_node;
- try {
- new_node = FS.lookupNode(new_dir, new_name);
- } catch (e) {}
- if (old_node === new_node) {
- return;
- }
- var isdir = FS.isDir(old_node.mode);
- var err = FS.mayDelete(old_dir, old_name, isdir);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- err = new_node
- ? FS.mayDelete(new_dir, new_name, isdir)
- : FS.mayCreate(new_dir, new_name);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!old_dir.node_ops.rename) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (
- FS.isMountpoint(old_node) ||
- (new_node && FS.isMountpoint(new_node))
- ) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- if (new_dir !== old_dir) {
- err = FS.nodePermissions(old_dir, "w");
- if (err) {
- throw new FS.ErrnoError(err);
- }
- }
- try {
- if (FS.trackingDelegate["willMovePath"]) {
- FS.trackingDelegate["willMovePath"](old_path, new_path);
- }
- } catch (e) {
- console.log(
- "FS.trackingDelegate['willMovePath']('" +
- old_path +
- "', '" +
- new_path +
- "') threw an exception: " +
- e.message
- );
- }
- FS.hashRemoveNode(old_node);
- try {
- old_dir.node_ops.rename(old_node, new_dir, new_name);
- } catch (e) {
- throw e;
- } finally {
- FS.hashAddNode(old_node);
- }
- try {
- if (FS.trackingDelegate["onMovePath"])
- FS.trackingDelegate["onMovePath"](old_path, new_path);
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onMovePath']('" +
- old_path +
- "', '" +
- new_path +
- "') threw an exception: " +
- e.message
- );
- }
- },
- rmdir: function rmdir(path) {
- var lookup = FS.lookupPath(path, { parent: true });
- var parent = lookup.node;
- var name = PATH.basename(path);
- var node = FS.lookupNode(parent, name);
- var err = FS.mayDelete(parent, name, true);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!parent.node_ops.rmdir) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (FS.isMountpoint(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- try {
- if (FS.trackingDelegate["willDeletePath"]) {
- FS.trackingDelegate["willDeletePath"](path);
- }
- } catch (e) {
- console.log(
- "FS.trackingDelegate['willDeletePath']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- parent.node_ops.rmdir(parent, name);
- FS.destroyNode(node);
- try {
- if (FS.trackingDelegate["onDeletePath"])
- FS.trackingDelegate["onDeletePath"](path);
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onDeletePath']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- },
- readdir: function readdir(path) {
- var lookup = FS.lookupPath(path, { follow: true });
- var node = lookup.node;
- if (!node.node_ops.readdir) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
- }
- return node.node_ops.readdir(node);
- },
- unlink: function unlink(path) {
- var lookup = FS.lookupPath(path, { parent: true });
- var parent = lookup.node;
- var name = PATH.basename(path);
- var node = FS.lookupNode(parent, name);
- var err = FS.mayDelete(parent, name, false);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!parent.node_ops.unlink) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (FS.isMountpoint(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- try {
- if (FS.trackingDelegate["willDeletePath"]) {
- FS.trackingDelegate["willDeletePath"](path);
- }
- } catch (e) {
- console.log(
- "FS.trackingDelegate['willDeletePath']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- parent.node_ops.unlink(parent, name);
- FS.destroyNode(node);
- try {
- if (FS.trackingDelegate["onDeletePath"])
- FS.trackingDelegate["onDeletePath"](path);
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onDeletePath']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- },
- readlink: function readlink(path) {
- var lookup = FS.lookupPath(path);
- var link = lookup.node;
- if (!link) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- if (!link.node_ops.readlink) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return PATH.resolve(
- FS.getPath(link.parent),
- link.node_ops.readlink(link)
- );
- },
- stat: function stat(path, dontFollow) {
- var lookup = FS.lookupPath(path, { follow: !dontFollow });
- var node = lookup.node;
- if (!node) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- if (!node.node_ops.getattr) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- return node.node_ops.getattr(node);
- },
- lstat: function lstat(path) {
- return FS.stat(path, true);
- },
- chmod: function chmod(path, mode, dontFollow) {
- var node;
- if (typeof path === "string") {
- var lookup = FS.lookupPath(path, { follow: !dontFollow });
- node = lookup.node;
- } else {
- node = path;
- }
- if (!node.node_ops.setattr) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- node.node_ops.setattr(node, {
- mode: (mode & 4095) | (node.mode & ~4095),
- timestamp: Date.now(),
- });
- },
- lchmod: function lchmod(path, mode) {
- FS.chmod(path, mode, true);
- },
- fchmod: function fchmod(fd, mode) {
- var stream = FS.getStream(fd);
- if (!stream) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- FS.chmod(stream.node, mode);
- },
- chown: function chown(path, uid, gid, dontFollow) {
- var node;
- if (typeof path === "string") {
- var lookup = FS.lookupPath(path, { follow: !dontFollow });
- node = lookup.node;
- } else {
- node = path;
- }
- if (!node.node_ops.setattr) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- node.node_ops.setattr(node, { timestamp: Date.now() });
- },
- lchown: function lchown(path, uid, gid) {
- FS.chown(path, uid, gid, true);
- },
- fchown: function fchown(fd, uid, gid) {
- var stream = FS.getStream(fd);
- if (!stream) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- FS.chown(stream.node, uid, gid);
- },
- truncate: function truncate(path, len) {
- if (len < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var node;
- if (typeof path === "string") {
- var lookup = FS.lookupPath(path, { follow: true });
- node = lookup.node;
- } else {
- node = path;
- }
- if (!node.node_ops.setattr) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (FS.isDir(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
- }
- if (!FS.isFile(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var err = FS.nodePermissions(node, "w");
- if (err) {
- throw new FS.ErrnoError(err);
- }
- node.node_ops.setattr(node, {
- size: len,
- timestamp: Date.now(),
- });
- },
- ftruncate: function ftruncate(fd, len) {
- var stream = FS.getStream(fd);
- if (!stream) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if ((stream.flags & 2097155) === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- FS.truncate(stream.node, len);
- },
- utime: function utime(path, atime, mtime) {
- var lookup = FS.lookupPath(path, { follow: true });
- var node = lookup.node;
- node.node_ops.setattr(node, {
- timestamp: Math.max(atime, mtime),
- });
- },
- open: function open(path, flags, mode, fd_start, fd_end) {
- if (path === "") {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- flags =
- typeof flags === "string"
- ? FS.modeStringToFlags(flags)
- : flags;
- mode = typeof mode === "undefined" ? 438 : mode;
- if (flags & 64) {
- mode = (mode & 4095) | 32768;
- } else {
- mode = 0;
- }
- var node;
- if (
- (typeof path === "undefined"
- ? "undefined"
- : _typeof(path)) === "object"
- ) {
- node = path;
- } else {
- path = PATH.normalize(path);
- try {
- var lookup = FS.lookupPath(path, {
- follow: !(flags & 131072),
- });
- node = lookup.node;
- } catch (e) {}
- }
- var created = false;
- if (flags & 64) {
- if (node) {
- if (flags & 128) {
- throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
- }
- } else {
- node = FS.mknod(path, mode, 0);
- created = true;
- }
- }
- if (!node) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- if (FS.isChrdev(node.mode)) {
- flags &= ~512;
- }
- if (flags & 65536 && !FS.isDir(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
- }
- if (!created) {
- var err = FS.mayOpen(node, flags);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- }
- if (flags & 512) {
- FS.truncate(node, 0);
- }
- flags &= ~(128 | 512);
- var stream = FS.createStream(
- {
- node: node,
- path: FS.getPath(node),
- flags: flags,
- seekable: true,
- position: 0,
- stream_ops: node.stream_ops,
- ungotten: [],
- error: false,
- },
- fd_start,
- fd_end
- );
- if (stream.stream_ops.open) {
- stream.stream_ops.open(stream);
- }
- if (Module["logReadFiles"] && !(flags & 1)) {
- if (!FS.readFiles) FS.readFiles = {};
- if (!(path in FS.readFiles)) {
- FS.readFiles[path] = 1;
- err("read file: " + path);
- }
- }
- try {
- if (FS.trackingDelegate["onOpenFile"]) {
- var trackingFlags = 0;
- if ((flags & 2097155) !== 1) {
- trackingFlags |= FS.tracking.openFlags.READ;
- }
- if ((flags & 2097155) !== 0) {
- trackingFlags |= FS.tracking.openFlags.WRITE;
- }
- FS.trackingDelegate["onOpenFile"](path, trackingFlags);
- }
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onOpenFile']('" +
- path +
- "', flags) threw an exception: " +
- e.message
- );
- }
- return stream;
- },
- close: function close(stream) {
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (stream.getdents) stream.getdents = null;
- try {
- if (stream.stream_ops.close) {
- stream.stream_ops.close(stream);
- }
- } catch (e) {
- throw e;
- } finally {
- FS.closeStream(stream.fd);
- }
- stream.fd = null;
- },
- isClosed: function isClosed(stream) {
- return stream.fd === null;
- },
- llseek: function llseek(stream, offset, whence) {
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (!stream.seekable || !stream.stream_ops.llseek) {
- throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
- }
- stream.position = stream.stream_ops.llseek(
- stream,
- offset,
- whence
- );
- stream.ungotten = [];
- return stream.position;
- },
- read: function read(stream, buffer, offset, length, position) {
- if (length < 0 || position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if ((stream.flags & 2097155) === 1) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (FS.isDir(stream.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
- }
- if (!stream.stream_ops.read) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var seeking = typeof position !== "undefined";
- if (!seeking) {
- position = stream.position;
- } else if (!stream.seekable) {
- throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
- }
- var bytesRead = stream.stream_ops.read(
- stream,
- buffer,
- offset,
- length,
- position
- );
- if (!seeking) stream.position += bytesRead;
- return bytesRead;
- },
- write: function write(
- stream,
- buffer,
- offset,
- length,
- position,
- canOwn
- ) {
- if (length < 0 || position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if ((stream.flags & 2097155) === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (FS.isDir(stream.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
- }
- if (!stream.stream_ops.write) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- if (stream.flags & 1024) {
- FS.llseek(stream, 0, 2);
- }
- var seeking = typeof position !== "undefined";
- if (!seeking) {
- position = stream.position;
- } else if (!stream.seekable) {
- throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
- }
- var bytesWritten = stream.stream_ops.write(
- stream,
- buffer,
- offset,
- length,
- position,
- canOwn
- );
- if (!seeking) stream.position += bytesWritten;
- try {
- if (stream.path && FS.trackingDelegate["onWriteToFile"])
- FS.trackingDelegate["onWriteToFile"](stream.path);
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onWriteToFile']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- return bytesWritten;
- },
- allocate: function allocate(stream, offset, length) {
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (offset < 0 || length <= 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- if ((stream.flags & 2097155) === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (
- !FS.isFile(stream.node.mode) &&
- !FS.isDir(stream.node.mode)
- ) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- if (!stream.stream_ops.allocate) {
- throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
- }
- stream.stream_ops.allocate(stream, offset, length);
- },
- mmap: function mmap(
- stream,
- buffer,
- offset,
- length,
- position,
- prot,
- flags
- ) {
- if ((stream.flags & 2097155) === 1) {
- throw new FS.ErrnoError(ERRNO_CODES.EACCES);
- }
- if (!stream.stream_ops.mmap) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- return stream.stream_ops.mmap(
- stream,
- buffer,
- offset,
- length,
- position,
- prot,
- flags
- );
- },
- msync: function msync(
- stream,
- buffer,
- offset,
- length,
- mmapFlags
- ) {
- if (!stream || !stream.stream_ops.msync) {
- return 0;
- }
- return stream.stream_ops.msync(
- stream,
- buffer,
- offset,
- length,
- mmapFlags
- );
- },
- munmap: function munmap(stream) {
- return 0;
- },
- ioctl: function ioctl(stream, cmd, arg) {
- if (!stream.stream_ops.ioctl) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
- }
- return stream.stream_ops.ioctl(stream, cmd, arg);
- },
- readFile: function readFile(path, opts) {
- opts = opts || {};
- opts.flags = opts.flags || "r";
- opts.encoding = opts.encoding || "binary";
- if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
- throw new Error(
- 'Invalid encoding type "' + opts.encoding + '"'
- );
- }
- var ret;
- var stream = FS.open(path, opts.flags);
- var stat = FS.stat(path);
- var length = stat.size;
- var buf = new Uint8Array(length);
- FS.read(stream, buf, 0, length, 0);
- if (opts.encoding === "utf8") {
- ret = UTF8ArrayToString(buf, 0);
- } else if (opts.encoding === "binary") {
- ret = buf;
- }
- FS.close(stream);
- return ret;
- },
- writeFile: function writeFile(path, data, opts) {
- opts = opts || {};
- opts.flags = opts.flags || "w";
- var stream = FS.open(path, opts.flags, opts.mode);
- if (typeof data === "string") {
- var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
- var actualNumBytes = stringToUTF8Array(
- data,
- buf,
- 0,
- buf.length
- );
- FS.write(
- stream,
- buf,
- 0,
- actualNumBytes,
- undefined,
- opts.canOwn
- );
- } else if (ArrayBuffer.isView(data)) {
- FS.write(
- stream,
- data,
- 0,
- data.byteLength,
- undefined,
- opts.canOwn
- );
- } else {
- throw new Error("Unsupported data type");
- }
- FS.close(stream);
- },
- cwd: function cwd() {
- return FS.currentPath;
- },
- chdir: function chdir(path) {
- var lookup = FS.lookupPath(path, { follow: true });
- if (lookup.node === null) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- if (!FS.isDir(lookup.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
- }
- var err = FS.nodePermissions(lookup.node, "x");
- if (err) {
- throw new FS.ErrnoError(err);
- }
- FS.currentPath = lookup.path;
- },
- createDefaultDirectories: function createDefaultDirectories() {
- FS.mkdir("/tmp");
- FS.mkdir("/home");
- FS.mkdir("/home/web_user");
- },
- createDefaultDevices: function createDefaultDevices() {
- FS.mkdir("/dev");
- FS.registerDevice(FS.makedev(1, 3), {
- read: function read() {
- return 0;
- },
- write: function write(stream, buffer, offset, length, pos) {
- return length;
- },
- });
- FS.mkdev("/dev/null", FS.makedev(1, 3));
- TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
- TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
- FS.mkdev("/dev/tty", FS.makedev(5, 0));
- FS.mkdev("/dev/tty1", FS.makedev(6, 0));
- var random_device;
- if (typeof crypto !== "undefined") {
- var randomBuffer = new Uint8Array(1);
- random_device = function random_device() {
- crypto.getRandomValues(randomBuffer);
- return randomBuffer[0];
- };
- } else if (ENVIRONMENT_IS_NODE) {
- random_device = function random_device() {
- return require("crypto")["randomBytes"](1)[0];
- };
- } else {
- random_device = function random_device() {
- return (Math.random() * 256) | 0;
- };
- }
- FS.createDevice("/dev", "random", random_device);
- FS.createDevice("/dev", "urandom", random_device);
- FS.mkdir("/dev/shm");
- FS.mkdir("/dev/shm/tmp");
- },
- createSpecialDirectories: function createSpecialDirectories() {
- FS.mkdir("/proc");
- FS.mkdir("/proc/self");
- FS.mkdir("/proc/self/fd");
- FS.mount(
- {
- mount: function mount() {
- var node = FS.createNode(
- "/proc/self",
- "fd",
- 16384 | 511,
- 73
- );
- node.node_ops = {
- lookup: function lookup(parent, name) {
- var fd = +name;
- var stream = FS.getStream(fd);
- if (!stream)
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- var ret = {
- parent: null,
- mount: { mountpoint: "fake" },
- node_ops: {
- readlink: function readlink() {
- return stream.path;
- },
- },
- };
- ret.parent = ret;
- return ret;
- },
- };
- return node;
- },
- },
- {},
- "/proc/self/fd"
- );
- },
- createStandardStreams: function createStandardStreams() {
- if (Module["stdin"]) {
- FS.createDevice("/dev", "stdin", Module["stdin"]);
- } else {
- FS.symlink("/dev/tty", "/dev/stdin");
- }
- if (Module["stdout"]) {
- FS.createDevice("/dev", "stdout", null, Module["stdout"]);
- } else {
- FS.symlink("/dev/tty", "/dev/stdout");
- }
- if (Module["stderr"]) {
- FS.createDevice("/dev", "stderr", null, Module["stderr"]);
- } else {
- FS.symlink("/dev/tty1", "/dev/stderr");
- }
- var stdin = FS.open("/dev/stdin", "r");
- assert(
- stdin.fd === 0,
- "invalid handle for stdin (" + stdin.fd + ")"
- );
- var stdout = FS.open("/dev/stdout", "w");
- assert(
- stdout.fd === 1,
- "invalid handle for stdout (" + stdout.fd + ")"
- );
- var stderr = FS.open("/dev/stderr", "w");
- assert(
- stderr.fd === 2,
- "invalid handle for stderr (" + stderr.fd + ")"
- );
- },
- ensureErrnoError: function ensureErrnoError() {
- if (FS.ErrnoError) return;
- FS.ErrnoError = function ErrnoError(errno, node) {
- this.node = node;
- this.setErrno = function (errno) {
- this.errno = errno;
- for (var key in ERRNO_CODES) {
- if (ERRNO_CODES[key] === errno) {
- this.code = key;
- break;
- }
- }
- };
- this.setErrno(errno);
- this.message = ERRNO_MESSAGES[errno];
- if (this.stack)
- Object.defineProperty(this, "stack", {
- value: new Error().stack,
- writable: true,
- });
- };
- FS.ErrnoError.prototype = new Error();
- FS.ErrnoError.prototype.constructor = FS.ErrnoError;
- [ERRNO_CODES.ENOENT].forEach(function (code) {
- FS.genericErrors[code] = new FS.ErrnoError(code);
- FS.genericErrors[code].stack = "<generic error, no stack>";
- });
- },
- staticInit: function staticInit() {
- FS.ensureErrnoError();
- FS.nameTable = new Array(4096);
- FS.mount(MEMFS, {}, "/");
- FS.createDefaultDirectories();
- FS.createDefaultDevices();
- FS.createSpecialDirectories();
- FS.filesystems = {
- MEMFS: MEMFS,
- IDBFS: IDBFS,
- NODEFS: NODEFS,
- WORKERFS: WORKERFS,
- };
- },
- init: function init(input, output, error) {
- assert(
- !FS.init.initialized,
- "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"
- );
- FS.init.initialized = true;
- FS.ensureErrnoError();
- Module["stdin"] = input || Module["stdin"];
- Module["stdout"] = output || Module["stdout"];
- Module["stderr"] = error || Module["stderr"];
- FS.createStandardStreams();
- },
- quit: function quit() {
- FS.init.initialized = false;
- var fflush = Module["_fflush"];
- if (fflush) fflush(0);
- for (var i = 0; i < FS.streams.length; i++) {
- var stream = FS.streams[i];
- if (!stream) {
- continue;
- }
- FS.close(stream);
- }
- },
- getMode: function getMode(canRead, canWrite) {
- var mode = 0;
- if (canRead) mode |= 292 | 73;
- if (canWrite) mode |= 146;
- return mode;
- },
- joinPath: function joinPath(parts, forceRelative) {
- var path = PATH.join.apply(null, parts);
- if (forceRelative && path[0] == "/") path = path.substr(1);
- return path;
- },
- absolutePath: function absolutePath(relative, base) {
- return PATH.resolve(base, relative);
- },
- standardizePath: function standardizePath(path) {
- return PATH.normalize(path);
- },
- findObject: function findObject(path, dontResolveLastLink) {
- var ret = FS.analyzePath(path, dontResolveLastLink);
- if (ret.exists) {
- return ret.object;
- } else {
- ___setErrNo(ret.error);
- return null;
- }
- },
- analyzePath: function analyzePath(path, dontResolveLastLink) {
- try {
- var lookup = FS.lookupPath(path, {
- follow: !dontResolveLastLink,
- });
- path = lookup.path;
- } catch (e) {}
- var ret = {
- isRoot: false,
- exists: false,
- error: 0,
- name: null,
- path: null,
- object: null,
- parentExists: false,
- parentPath: null,
- parentObject: null,
- };
- try {
- var lookup = FS.lookupPath(path, { parent: true });
- ret.parentExists = true;
- ret.parentPath = lookup.path;
- ret.parentObject = lookup.node;
- ret.name = PATH.basename(path);
- lookup = FS.lookupPath(path, {
- follow: !dontResolveLastLink,
- });
- ret.exists = true;
- ret.path = lookup.path;
- ret.object = lookup.node;
- ret.name = lookup.node.name;
- ret.isRoot = lookup.path === "/";
- } catch (e) {
- ret.error = e.errno;
- }
- return ret;
- },
- createFolder: function createFolder(
- parent,
- name,
- canRead,
- canWrite
- ) {
- var path = PATH.join2(
- typeof parent === "string" ? parent : FS.getPath(parent),
- name
- );
- var mode = FS.getMode(canRead, canWrite);
- return FS.mkdir(path, mode);
- },
- createPath: function createPath(
- parent,
- path,
- canRead,
- canWrite
- ) {
- parent =
- typeof parent === "string" ? parent : FS.getPath(parent);
- var parts = path.split("/").reverse();
- while (parts.length) {
- var part = parts.pop();
- if (!part) continue;
- var current = PATH.join2(parent, part);
- try {
- FS.mkdir(current);
- } catch (e) {}
- parent = current;
- }
- return current;
- },
- createFile: function createFile(
- parent,
- name,
- properties,
- canRead,
- canWrite
- ) {
- var path = PATH.join2(
- typeof parent === "string" ? parent : FS.getPath(parent),
- name
- );
- var mode = FS.getMode(canRead, canWrite);
- return FS.create(path, mode);
- },
- createDataFile: function createDataFile(
- parent,
- name,
- data,
- canRead,
- canWrite,
- canOwn
- ) {
- var path = name
- ? PATH.join2(
- typeof parent === "string"
- ? parent
- : FS.getPath(parent),
- name
- )
- : parent;
- var mode = FS.getMode(canRead, canWrite);
- var node = FS.create(path, mode);
- if (data) {
- if (typeof data === "string") {
- var arr = new Array(data.length);
- for (var i = 0, len = data.length; i < len; ++i) {
- arr[i] = data.charCodeAt(i);
- }
- data = arr;
- }
- FS.chmod(node, mode | 146);
- var stream = FS.open(node, "w");
- FS.write(stream, data, 0, data.length, 0, canOwn);
- FS.close(stream);
- FS.chmod(node, mode);
- }
- return node;
- },
- createDevice: function createDevice(
- parent,
- name,
- input,
- output
- ) {
- var path = PATH.join2(
- typeof parent === "string" ? parent : FS.getPath(parent),
- name
- );
- var mode = FS.getMode(!!input, !!output);
- if (!FS.createDevice.major) FS.createDevice.major = 64;
- var dev = FS.makedev(FS.createDevice.major++, 0);
- FS.registerDevice(dev, {
- open: function open(stream) {
- stream.seekable = false;
- },
- close: function close(stream) {
- if (output && output.buffer && output.buffer.length) {
- output(10);
- }
- },
- read: function read(stream, buffer, offset, length, pos) {
- var bytesRead = 0;
- for (var i = 0; i < length; i++) {
- var result;
- try {
- result = input();
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- if (result === undefined && bytesRead === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
- }
- if (result === null || result === undefined) break;
- bytesRead++;
- buffer[offset + i] = result;
- }
- if (bytesRead) {
- stream.node.timestamp = Date.now();
- }
- return bytesRead;
- },
- write: function write(stream, buffer, offset, length, pos) {
- for (var i = 0; i < length; i++) {
- try {
- output(buffer[offset + i]);
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- }
- if (length) {
- stream.node.timestamp = Date.now();
- }
- return i;
- },
- });
- return FS.mkdev(path, mode, dev);
- },
- createLink: function createLink(
- parent,
- name,
- target,
- canRead,
- canWrite
- ) {
- var path = PATH.join2(
- typeof parent === "string" ? parent : FS.getPath(parent),
- name
- );
- return FS.symlink(target, path);
- },
- forceLoadFile: function forceLoadFile(obj) {
- if (obj.isDevice || obj.isFolder || obj.link || obj.contents)
- return true;
- var success = true;
- if (typeof XMLHttpRequest !== "undefined") {
- throw new Error(
- "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."
- );
- } else if (Module["read"]) {
- try {
- obj.contents = intArrayFromString(
- Module["read"](obj.url),
- true
- );
- obj.usedBytes = obj.contents.length;
- } catch (e) {
- success = false;
- }
- } else {
- throw new Error(
- "Cannot load without read() or XMLHttpRequest."
- );
- }
- if (!success) ___setErrNo(ERRNO_CODES.EIO);
- return success;
- },
- createLazyFile: function createLazyFile(
- parent,
- name,
- url,
- canRead,
- canWrite
- ) {
- function LazyUint8Array() {
- this.lengthKnown = false;
- this.chunks = [];
- }
- LazyUint8Array.prototype.get = function LazyUint8Array_get(
- idx
- ) {
- if (idx > this.length - 1 || idx < 0) {
- return undefined;
- }
- var chunkOffset = idx % this.chunkSize;
- var chunkNum = (idx / this.chunkSize) | 0;
- return this.getter(chunkNum)[chunkOffset];
- };
- LazyUint8Array.prototype.setDataGetter =
- function LazyUint8Array_setDataGetter(getter) {
- this.getter = getter;
- };
- LazyUint8Array.prototype.cacheLength =
- function LazyUint8Array_cacheLength() {
- var xhr = new XMLHttpRequest();
- xhr.open("HEAD", url, false);
- xhr.send(null);
- if (
- !(
- (xhr.status >= 200 && xhr.status < 300) ||
- xhr.status === 304
- )
- )
- throw new Error(
- "Couldn't load " + url + ". Status: " + xhr.status
- );
- var datalength = Number(
- xhr.getResponseHeader("Content-length")
- );
- var header;
- var hasByteServing =
- (header = xhr.getResponseHeader("Accept-Ranges")) &&
- header === "bytes";
- var usesGzip =
- (header = xhr.getResponseHeader("Content-Encoding")) &&
- header === "gzip";
- var chunkSize = 1024 * 1024;
- if (!hasByteServing) chunkSize = datalength;
- var doXHR = function doXHR(from, to) {
- if (from > to)
- throw new Error(
- "invalid range (" +
- from +
- ", " +
- to +
- ") or no bytes requested!"
- );
- if (to > datalength - 1)
- throw new Error(
- "only " +
- datalength +
- " bytes available! programmer error!"
- );
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, false);
- if (datalength !== chunkSize)
- xhr.setRequestHeader(
- "Range",
- "bytes=" + from + "-" + to
- );
- if (typeof Uint8Array != "undefined")
- xhr.responseType = "arraybuffer";
- if (xhr.overrideMimeType) {
- xhr.overrideMimeType(
- "text/plain; charset=x-user-defined"
- );
- }
- xhr.send(null);
- if (
- !(
- (xhr.status >= 200 && xhr.status < 300) ||
- xhr.status === 304
- )
- )
- throw new Error(
- "Couldn't load " + url + ". Status: " + xhr.status
- );
- if (xhr.response !== undefined) {
- return new Uint8Array(xhr.response || []);
- } else {
- return intArrayFromString(
- xhr.responseText || "",
- true
- );
- }
- };
- var lazyArray = this;
- lazyArray.setDataGetter(function (chunkNum) {
- var start = chunkNum * chunkSize;
- var end = (chunkNum + 1) * chunkSize - 1;
- end = Math.min(end, datalength - 1);
- if (typeof lazyArray.chunks[chunkNum] === "undefined") {
- lazyArray.chunks[chunkNum] = doXHR(start, end);
- }
- if (typeof lazyArray.chunks[chunkNum] === "undefined")
- throw new Error("doXHR failed!");
- return lazyArray.chunks[chunkNum];
- });
- if (usesGzip || !datalength) {
- chunkSize = datalength = 1;
- datalength = this.getter(0).length;
- chunkSize = datalength;
- console.log(
- "LazyFiles on gzip forces download of the whole file when length is accessed"
- );
- }
- this._length = datalength;
- this._chunkSize = chunkSize;
- this.lengthKnown = true;
- };
- if (typeof XMLHttpRequest !== "undefined") {
- if (!ENVIRONMENT_IS_WORKER)
- throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
- var lazyArray = new LazyUint8Array();
- Object.defineProperties(lazyArray, {
- length: {
- get: function get() {
- if (!this.lengthKnown) {
- this.cacheLength();
- }
- return this._length;
- },
- },
- chunkSize: {
- get: function get() {
- if (!this.lengthKnown) {
- this.cacheLength();
- }
- return this._chunkSize;
- },
- },
- });
- var properties = { isDevice: false, contents: lazyArray };
- } else {
- var properties = { isDevice: false, url: url };
- }
- var node = FS.createFile(
- parent,
- name,
- properties,
- canRead,
- canWrite
- );
- if (properties.contents) {
- node.contents = properties.contents;
- } else if (properties.url) {
- node.contents = null;
- node.url = properties.url;
- }
- Object.defineProperties(node, {
- usedBytes: {
- get: function get() {
- return this.contents.length;
- },
- },
- });
- var stream_ops = {};
- var keys = Object.keys(node.stream_ops);
- keys.forEach(function (key) {
- var fn = node.stream_ops[key];
- stream_ops[key] = function forceLoadLazyFile() {
- if (!FS.forceLoadFile(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- return fn.apply(null, arguments);
- };
- });
- stream_ops.read = function stream_ops_read(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- if (!FS.forceLoadFile(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- var contents = stream.node.contents;
- if (position >= contents.length) return 0;
- var size = Math.min(contents.length - position, length);
- assert(size >= 0);
- if (contents.slice) {
- for (var i = 0; i < size; i++) {
- buffer[offset + i] = contents[position + i];
- }
- } else {
- for (var i = 0; i < size; i++) {
- buffer[offset + i] = contents.get(position + i);
- }
- }
- return size;
- };
- node.stream_ops = stream_ops;
- return node;
- },
- createPreloadedFile: function createPreloadedFile(
- parent,
- name,
- url,
- canRead,
- canWrite,
- onload,
- onerror,
- dontCreateFile,
- canOwn,
- preFinish
- ) {
- Browser.init();
- var fullname = name
- ? PATH.resolve(PATH.join2(parent, name))
- : parent;
- var dep = getUniqueRunDependency("cp " + fullname);
- function processData(byteArray) {
- function finish(byteArray) {
- if (preFinish) preFinish();
- if (!dontCreateFile) {
- FS.createDataFile(
- parent,
- name,
- byteArray,
- canRead,
- canWrite,
- canOwn
- );
- }
- if (onload) onload();
- removeRunDependency(dep);
- }
- var handled = false;
- Module["preloadPlugins"].forEach(function (plugin) {
- if (handled) return;
- if (plugin["canHandle"](fullname)) {
- plugin["handle"](
- byteArray,
- fullname,
- finish,
- function () {
- if (onerror) onerror();
- removeRunDependency(dep);
- }
- );
- handled = true;
- }
- });
- if (!handled) finish(byteArray);
- }
- addRunDependency(dep);
- if (typeof url == "string") {
- Browser.asyncLoad(
- url,
- function (byteArray) {
- processData(byteArray);
- },
- onerror
- );
- } else {
- processData(url);
- }
- },
- indexedDB: function indexedDB() {
- return (
- window.indexedDB ||
- window.mozIndexedDB ||
- window.webkitIndexedDB ||
- window.msIndexedDB
- );
- },
- DB_NAME: function DB_NAME() {
- return "EM_FS_" + window.location.pathname;
- },
- DB_VERSION: 20,
- DB_STORE_NAME: "FILE_DATA",
- saveFilesToDB: function saveFilesToDB(paths, onload, onerror) {
- onload = onload || function () {};
- onerror = onerror || function () {};
- var indexedDB = FS.indexedDB();
- try {
- var openRequest = indexedDB.open(
- FS.DB_NAME(),
- FS.DB_VERSION
- );
- } catch (e) {
- return onerror(e);
- }
- openRequest.onupgradeneeded =
- function openRequest_onupgradeneeded() {
- console.log("creating db");
- var db = openRequest.result;
- db.createObjectStore(FS.DB_STORE_NAME);
- };
- openRequest.onsuccess = function openRequest_onsuccess() {
- var db = openRequest.result;
- var transaction = db.transaction(
- [FS.DB_STORE_NAME],
- "readwrite"
- );
- var files = transaction.objectStore(FS.DB_STORE_NAME);
- var ok = 0,
- fail = 0,
- total = paths.length;
- function finish() {
- if (fail == 0) onload();
- else onerror();
- }
- paths.forEach(function (path) {
- var putRequest = files.put(
- FS.analyzePath(path).object.contents,
- path
- );
- putRequest.onsuccess = function putRequest_onsuccess() {
- ok++;
- if (ok + fail == total) finish();
- };
- putRequest.onerror = function putRequest_onerror() {
- fail++;
- if (ok + fail == total) finish();
- };
- });
- transaction.onerror = onerror;
- };
- openRequest.onerror = onerror;
- },
- loadFilesFromDB: function loadFilesFromDB(
- paths,
- onload,
- onerror
- ) {
- onload = onload || function () {};
- onerror = onerror || function () {};
- var indexedDB = FS.indexedDB();
- try {
- var openRequest = indexedDB.open(
- FS.DB_NAME(),
- FS.DB_VERSION
- );
- } catch (e) {
- return onerror(e);
- }
- openRequest.onupgradeneeded = onerror;
- openRequest.onsuccess = function openRequest_onsuccess() {
- var db = openRequest.result;
- try {
- var transaction = db.transaction(
- [FS.DB_STORE_NAME],
- "readonly"
- );
- } catch (e) {
- onerror(e);
- return;
- }
- var files = transaction.objectStore(FS.DB_STORE_NAME);
- var ok = 0,
- fail = 0,
- total = paths.length;
- function finish() {
- if (fail == 0) onload();
- else onerror();
- }
- paths.forEach(function (path) {
- var getRequest = files.get(path);
- getRequest.onsuccess = function getRequest_onsuccess() {
- if (FS.analyzePath(path).exists) {
- FS.unlink(path);
- }
- FS.createDataFile(
- PATH.dirname(path),
- PATH.basename(path),
- getRequest.result,
- true,
- true,
- true
- );
- ok++;
- if (ok + fail == total) finish();
- };
- getRequest.onerror = function getRequest_onerror() {
- fail++;
- if (ok + fail == total) finish();
- };
- });
- transaction.onerror = onerror;
- };
- openRequest.onerror = onerror;
- },
- };
- var SYSCALLS = {
- DEFAULT_POLLMASK: 5,
- mappings: {},
- umask: 511,
- calculateAt: function calculateAt(dirfd, path) {
- if (path[0] !== "/") {
- var dir;
- if (dirfd === -100) {
- dir = FS.cwd();
- } else {
- var dirstream = FS.getStream(dirfd);
- if (!dirstream)
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- dir = dirstream.path;
- }
- path = PATH.join2(dir, path);
- }
- return path;
- },
- doStat: function doStat(func, path, buf) {
- try {
- var stat = func(path);
- } catch (e) {
- if (
- e &&
- e.node &&
- PATH.normalize(path) !==
- PATH.normalize(FS.getPath(e.node))
- ) {
- return -ERRNO_CODES.ENOTDIR;
- }
- throw e;
- }
- HEAP32[buf >> 2] = stat.dev;
- HEAP32[(buf + 4) >> 2] = 0;
- HEAP32[(buf + 8) >> 2] = stat.ino;
- HEAP32[(buf + 12) >> 2] = stat.mode;
- HEAP32[(buf + 16) >> 2] = stat.nlink;
- HEAP32[(buf + 20) >> 2] = stat.uid;
- HEAP32[(buf + 24) >> 2] = stat.gid;
- HEAP32[(buf + 28) >> 2] = stat.rdev;
- HEAP32[(buf + 32) >> 2] = 0;
- HEAP32[(buf + 36) >> 2] = stat.size;
- HEAP32[(buf + 40) >> 2] = 4096;
- HEAP32[(buf + 44) >> 2] = stat.blocks;
- HEAP32[(buf + 48) >> 2] = (stat.atime.getTime() / 1e3) | 0;
- HEAP32[(buf + 52) >> 2] = 0;
- HEAP32[(buf + 56) >> 2] = (stat.mtime.getTime() / 1e3) | 0;
- HEAP32[(buf + 60) >> 2] = 0;
- HEAP32[(buf + 64) >> 2] = (stat.ctime.getTime() / 1e3) | 0;
- HEAP32[(buf + 68) >> 2] = 0;
- HEAP32[(buf + 72) >> 2] = stat.ino;
- return 0;
- },
- doMsync: function doMsync(addr, stream, len, flags) {
- var buffer = new Uint8Array(
- HEAPU8.subarray(addr, addr + len)
- );
- FS.msync(stream, buffer, 0, len, flags);
- },
- doMkdir: function doMkdir(path, mode) {
- path = PATH.normalize(path);
- if (path[path.length - 1] === "/")
- path = path.substr(0, path.length - 1);
- FS.mkdir(path, mode, 0);
- return 0;
- },
- doMknod: function doMknod(path, mode, dev) {
- switch (mode & 61440) {
- case 32768:
- case 8192:
- case 24576:
- case 4096:
- case 49152:
- break;
- default:
- return -ERRNO_CODES.EINVAL;
- }
- FS.mknod(path, mode, dev);
- return 0;
- },
- doReadlink: function doReadlink(path, buf, bufsize) {
- if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
- var ret = FS.readlink(path);
- var len = Math.min(bufsize, lengthBytesUTF8(ret));
- var endChar = HEAP8[buf + len];
- stringToUTF8(ret, buf, bufsize + 1);
- HEAP8[buf + len] = endChar;
- return len;
- },
- doAccess: function doAccess(path, amode) {
- if (amode & ~7) {
- return -ERRNO_CODES.EINVAL;
- }
- var node;
- var lookup = FS.lookupPath(path, { follow: true });
- node = lookup.node;
- var perms = "";
- if (amode & 4) perms += "r";
- if (amode & 2) perms += "w";
- if (amode & 1) perms += "x";
- if (perms && FS.nodePermissions(node, perms)) {
- return -ERRNO_CODES.EACCES;
- }
- return 0;
- },
- doDup: function doDup(path, flags, suggestFD) {
- var suggest = FS.getStream(suggestFD);
- if (suggest) FS.close(suggest);
- return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
- },
- doReadv: function doReadv(stream, iov, iovcnt, offset) {
- var ret = 0;
- for (var i = 0; i < iovcnt; i++) {
- var ptr = HEAP32[(iov + i * 8) >> 2];
- var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
- var curr = FS.read(stream, HEAP8, ptr, len, offset);
- if (curr < 0) return -1;
- ret += curr;
- if (curr < len) break;
- }
- return ret;
- },
- doWritev: function doWritev(stream, iov, iovcnt, offset) {
- var ret = 0;
- for (var i = 0; i < iovcnt; i++) {
- var ptr = HEAP32[(iov + i * 8) >> 2];
- var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
- var curr = FS.write(stream, HEAP8, ptr, len, offset);
- if (curr < 0) return -1;
- ret += curr;
- }
- return ret;
- },
- varargs: 0,
- get: function get(varargs) {
- SYSCALLS.varargs += 4;
- var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2];
- return ret;
- },
- getStr: function getStr() {
- var ret = Pointer_stringify(SYSCALLS.get());
- return ret;
- },
- getStreamFromFD: function getStreamFromFD() {
- var stream = FS.getStream(SYSCALLS.get());
- if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- return stream;
- },
- getSocketFromFD: function getSocketFromFD() {
- var socket = SOCKFS.getSocket(SYSCALLS.get());
- if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- return socket;
- },
- getSocketAddress: function getSocketAddress(allowNull) {
- var addrp = SYSCALLS.get(),
- addrlen = SYSCALLS.get();
- if (allowNull && addrp === 0) return null;
- var info = __read_sockaddr(addrp, addrlen);
- if (info.errno) throw new FS.ErrnoError(info.errno);
- info.addr = DNS.lookup_addr(info.addr) || info.addr;
- return info;
- },
- get64: function get64() {
- var low = SYSCALLS.get(),
- high = SYSCALLS.get();
- if (low >= 0) assert(high === 0);
- else assert(high === -1);
- return low;
- },
- getZero: function getZero() {
- assert(SYSCALLS.get() === 0);
- },
- };
- function ___syscall140(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- offset_high = SYSCALLS.get(),
- offset_low = SYSCALLS.get(),
- result = SYSCALLS.get(),
- whence = SYSCALLS.get();
- var offset = offset_low;
- FS.llseek(stream, offset, whence);
- HEAP32[result >> 2] = stream.position;
- if (stream.getdents && offset === 0 && whence === 0)
- stream.getdents = null;
- return 0;
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall145(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- iov = SYSCALLS.get(),
- iovcnt = SYSCALLS.get();
- return SYSCALLS.doReadv(stream, iov, iovcnt);
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall146(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- iov = SYSCALLS.get(),
- iovcnt = SYSCALLS.get();
- return SYSCALLS.doWritev(stream, iov, iovcnt);
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall221(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- cmd = SYSCALLS.get();
- switch (cmd) {
- case 0: {
- var arg = SYSCALLS.get();
- if (arg < 0) {
- return -ERRNO_CODES.EINVAL;
- }
- var newStream;
- newStream = FS.open(stream.path, stream.flags, 0, arg);
- return newStream.fd;
- }
- case 1:
- case 2:
- return 0;
- case 3:
- return stream.flags;
- case 4: {
- var arg = SYSCALLS.get();
- stream.flags |= arg;
- return 0;
- }
- case 12:
- case 12: {
- var arg = SYSCALLS.get();
- var offset = 0;
- HEAP16[(arg + offset) >> 1] = 2;
- return 0;
- }
- case 13:
- case 14:
- case 13:
- case 14:
- return 0;
- case 16:
- case 8:
- return -ERRNO_CODES.EINVAL;
- case 9:
- ___setErrNo(ERRNO_CODES.EINVAL);
- return -1;
- default: {
- return -ERRNO_CODES.EINVAL;
- }
- }
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall5(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var pathname = SYSCALLS.getStr(),
- flags = SYSCALLS.get(),
- mode = SYSCALLS.get();
- var stream = FS.open(pathname, flags, mode);
- return stream.fd;
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall54(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- op = SYSCALLS.get();
- switch (op) {
- case 21509:
- case 21505: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return 0;
- }
- case 21510:
- case 21511:
- case 21512:
- case 21506:
- case 21507:
- case 21508: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return 0;
- }
- case 21519: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- var argp = SYSCALLS.get();
- HEAP32[argp >> 2] = 0;
- return 0;
- }
- case 21520: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return -ERRNO_CODES.EINVAL;
- }
- case 21531: {
- var argp = SYSCALLS.get();
- return FS.ioctl(stream, op, argp);
- }
- case 21523: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return 0;
- }
- case 21524: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return 0;
- }
- default:
- abort("bad ioctl syscall " + op);
- }
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall6(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD();
- FS.close(stream);
- return 0;
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___unlock() {}
- function getShiftFromSize(size) {
- switch (size) {
- case 1:
- return 0;
- case 2:
- return 1;
- case 4:
- return 2;
- case 8:
- return 3;
- default:
- throw new TypeError("Unknown type size: " + size);
- }
- }
- function embind_init_charCodes() {
- var codes = new Array(256);
- for (var i = 0; i < 256; ++i) {
- codes[i] = String.fromCharCode(i);
- }
- embind_charCodes = codes;
- }
- var embind_charCodes = undefined;
- function readLatin1String(ptr) {
- var ret = "";
- var c = ptr;
- while (HEAPU8[c]) {
- ret += embind_charCodes[HEAPU8[c++]];
- }
- return ret;
- }
- var awaitingDependencies = {};
- var registeredTypes = {};
- var typeDependencies = {};
- var char_0 = 48;
- var char_9 = 57;
- function makeLegalFunctionName(name) {
- if (undefined === name) {
- return "_unknown";
- }
- name = name.replace(/[^a-zA-Z0-9_]/g, "$");
- var f = name.charCodeAt(0);
- if (f >= char_0 && f <= char_9) {
- return "_" + name;
- } else {
- return name;
- }
- }
- function createNamedFunction(name, body) {
- name = makeLegalFunctionName(name);
- return new Function(
- "body",
- "return function " +
- name +
- "() {\n" +
- ' "use strict";' +
- " return body.apply(this, arguments);\n" +
- "};\n"
- )(body);
- }
- function extendError(baseErrorType, errorName) {
- var errorClass = createNamedFunction(
- errorName,
- function (message) {
- this.name = errorName;
- this.message = message;
- var stack = new Error(message).stack;
- if (stack !== undefined) {
- this.stack =
- this.toString() +
- "\n" +
- stack.replace(/^Error(:[^\n]*)?\n/, "");
- }
- }
- );
- errorClass.prototype = Object.create(baseErrorType.prototype);
- errorClass.prototype.constructor = errorClass;
- errorClass.prototype.toString = function () {
- if (this.message === undefined) {
- return this.name;
- } else {
- return this.name + ": " + this.message;
- }
- };
- return errorClass;
- }
- var BindingError = undefined;
- function throwBindingError(message) {
- throw new BindingError(message);
- }
- var InternalError = undefined;
- function throwInternalError(message) {
- throw new InternalError(message);
- }
- function whenDependentTypesAreResolved(
- myTypes,
- dependentTypes,
- getTypeConverters
- ) {
- myTypes.forEach(function (type) {
- typeDependencies[type] = dependentTypes;
- });
- function onComplete(typeConverters) {
- var myTypeConverters = getTypeConverters(typeConverters);
- if (myTypeConverters.length !== myTypes.length) {
- throwInternalError("Mismatched type converter count");
- }
- for (var i = 0; i < myTypes.length; ++i) {
- registerType(myTypes[i], myTypeConverters[i]);
- }
- }
- var typeConverters = new Array(dependentTypes.length);
- var unregisteredTypes = [];
- var registered = 0;
- dependentTypes.forEach(function (dt, i) {
- if (registeredTypes.hasOwnProperty(dt)) {
- typeConverters[i] = registeredTypes[dt];
- } else {
- unregisteredTypes.push(dt);
- if (!awaitingDependencies.hasOwnProperty(dt)) {
- awaitingDependencies[dt] = [];
- }
- awaitingDependencies[dt].push(function () {
- typeConverters[i] = registeredTypes[dt];
- ++registered;
- if (registered === unregisteredTypes.length) {
- onComplete(typeConverters);
- }
- });
- }
- });
- if (0 === unregisteredTypes.length) {
- onComplete(typeConverters);
- }
- }
- function registerType(rawType, registeredInstance, options) {
- options = options || {};
- if (!("argPackAdvance" in registeredInstance)) {
- throw new TypeError(
- "registerType registeredInstance requires argPackAdvance"
- );
- }
- var name = registeredInstance.name;
- if (!rawType) {
- throwBindingError(
- 'type "' +
- name +
- '" must have a positive integer typeid pointer'
- );
- }
- if (registeredTypes.hasOwnProperty(rawType)) {
- if (options.ignoreDuplicateRegistrations) {
- return;
- } else {
- throwBindingError(
- "Cannot register type '" + name + "' twice"
- );
- }
- }
- registeredTypes[rawType] = registeredInstance;
- delete typeDependencies[rawType];
- if (awaitingDependencies.hasOwnProperty(rawType)) {
- var callbacks = awaitingDependencies[rawType];
- delete awaitingDependencies[rawType];
- callbacks.forEach(function (cb) {
- cb();
- });
- }
- }
- function __embind_register_bool(
- rawType,
- name,
- size,
- trueValue,
- falseValue
- ) {
- var shift = getShiftFromSize(size);
- name = readLatin1String(name);
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(wt) {
- return !!wt;
- },
- toWireType: function toWireType(destructors, o) {
- return o ? trueValue : falseValue;
- },
- argPackAdvance: 8,
- readValueFromPointer: function readValueFromPointer(pointer) {
- var heap;
- if (size === 1) {
- heap = HEAP8;
- } else if (size === 2) {
- heap = HEAP16;
- } else if (size === 4) {
- heap = HEAP32;
- } else {
- throw new TypeError("Unknown boolean type size: " + name);
- }
- return this["fromWireType"](heap[pointer >> shift]);
- },
- destructorFunction: null,
- });
- }
- function ClassHandle_isAliasOf(other) {
- if (!(this instanceof ClassHandle)) {
- return false;
- }
- if (!(other instanceof ClassHandle)) {
- return false;
- }
- var leftClass = this.$$.ptrType.registeredClass;
- var left = this.$$.ptr;
- var rightClass = other.$$.ptrType.registeredClass;
- var right = other.$$.ptr;
- while (leftClass.baseClass) {
- left = leftClass.upcast(left);
- leftClass = leftClass.baseClass;
- }
- while (rightClass.baseClass) {
- right = rightClass.upcast(right);
- rightClass = rightClass.baseClass;
- }
- return leftClass === rightClass && left === right;
- }
- function shallowCopyInternalPointer(o) {
- return {
- count: o.count,
- deleteScheduled: o.deleteScheduled,
- preservePointerOnDelete: o.preservePointerOnDelete,
- ptr: o.ptr,
- ptrType: o.ptrType,
- smartPtr: o.smartPtr,
- smartPtrType: o.smartPtrType,
- };
- }
- function throwInstanceAlreadyDeleted(obj) {
- function getInstanceTypeName(handle) {
- return handle.$$.ptrType.registeredClass.name;
- }
- throwBindingError(
- getInstanceTypeName(obj) + " instance already deleted"
- );
- }
- function ClassHandle_clone() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (this.$$.preservePointerOnDelete) {
- this.$$.count.value += 1;
- return this;
- } else {
- var clone = Object.create(Object.getPrototypeOf(this), {
- $$: { value: shallowCopyInternalPointer(this.$$) },
- });
- clone.$$.count.value += 1;
- clone.$$.deleteScheduled = false;
- return clone;
- }
- }
- function runDestructor(handle) {
- var $$ = handle.$$;
- if ($$.smartPtr) {
- $$.smartPtrType.rawDestructor($$.smartPtr);
- } else {
- $$.ptrType.registeredClass.rawDestructor($$.ptr);
- }
- }
- function ClassHandle_delete() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (
- this.$$.deleteScheduled &&
- !this.$$.preservePointerOnDelete
- ) {
- throwBindingError("Object already scheduled for deletion");
- }
- this.$$.count.value -= 1;
- var toDelete = 0 === this.$$.count.value;
- if (toDelete) {
- runDestructor(this);
- }
- if (!this.$$.preservePointerOnDelete) {
- this.$$.smartPtr = undefined;
- this.$$.ptr = undefined;
- }
- }
- function ClassHandle_isDeleted() {
- return !this.$$.ptr;
- }
- var delayFunction = undefined;
- var deletionQueue = [];
- function flushPendingDeletes() {
- while (deletionQueue.length) {
- var obj = deletionQueue.pop();
- obj.$$.deleteScheduled = false;
- obj["delete"]();
- }
- }
- function ClassHandle_deleteLater() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (
- this.$$.deleteScheduled &&
- !this.$$.preservePointerOnDelete
- ) {
- throwBindingError("Object already scheduled for deletion");
- }
- deletionQueue.push(this);
- if (deletionQueue.length === 1 && delayFunction) {
- delayFunction(flushPendingDeletes);
- }
- this.$$.deleteScheduled = true;
- return this;
- }
- function init_ClassHandle() {
- ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf;
- ClassHandle.prototype["clone"] = ClassHandle_clone;
- ClassHandle.prototype["delete"] = ClassHandle_delete;
- ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted;
- ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater;
- }
- function ClassHandle() {}
- var registeredPointers = {};
- function ensureOverloadTable(proto, methodName, humanName) {
- if (undefined === proto[methodName].overloadTable) {
- var prevFunc = proto[methodName];
- proto[methodName] = function () {
- if (
- !proto[methodName].overloadTable.hasOwnProperty(
- arguments.length
- )
- ) {
- throwBindingError(
- "Function '" +
- humanName +
- "' called with an invalid number of arguments (" +
- arguments.length +
- ") - expects one of (" +
- proto[methodName].overloadTable +
- ")!"
- );
- }
- return proto[methodName].overloadTable[
- arguments.length
- ].apply(this, arguments);
- };
- proto[methodName].overloadTable = [];
- proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
- }
- }
- function exposePublicSymbol(name, value, numArguments) {
- if (Module.hasOwnProperty(name)) {
- if (
- undefined === numArguments ||
- (undefined !== Module[name].overloadTable &&
- undefined !== Module[name].overloadTable[numArguments])
- ) {
- throwBindingError(
- "Cannot register public name '" + name + "' twice"
- );
- }
- ensureOverloadTable(Module, name, name);
- if (Module.hasOwnProperty(numArguments)) {
- throwBindingError(
- "Cannot register multiple overloads of a function with the same number of arguments (" +
- numArguments +
- ")!"
- );
- }
- Module[name].overloadTable[numArguments] = value;
- } else {
- Module[name] = value;
- if (undefined !== numArguments) {
- Module[name].numArguments = numArguments;
- }
- }
- }
- function RegisteredClass(
- name,
- constructor,
- instancePrototype,
- rawDestructor,
- baseClass,
- getActualType,
- upcast,
- downcast
- ) {
- this.name = name;
- this.constructor = constructor;
- this.instancePrototype = instancePrototype;
- this.rawDestructor = rawDestructor;
- this.baseClass = baseClass;
- this.getActualType = getActualType;
- this.upcast = upcast;
- this.downcast = downcast;
- this.pureVirtualFunctions = [];
- }
- function upcastPointer(ptr, ptrClass, desiredClass) {
- while (ptrClass !== desiredClass) {
- if (!ptrClass.upcast) {
- throwBindingError(
- "Expected null or instance of " +
- desiredClass.name +
- ", got an instance of " +
- ptrClass.name
- );
- }
- ptr = ptrClass.upcast(ptr);
- ptrClass = ptrClass.baseClass;
- }
- return ptr;
- }
- function constNoSmartPtrRawPointerToWireType(
- destructors,
- handle
- ) {
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- return 0;
- }
- if (!handle.$$) {
- throwBindingError(
- 'Cannot pass "' +
- _embind_repr(handle) +
- '" as a ' +
- this.name
- );
- }
- if (!handle.$$.ptr) {
- throwBindingError(
- "Cannot pass deleted object as a pointer of type " +
- this.name
- );
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- var ptr = upcastPointer(
- handle.$$.ptr,
- handleClass,
- this.registeredClass
- );
- return ptr;
- }
- function genericPointerToWireType(destructors, handle) {
- var ptr;
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- if (this.isSmartPointer) {
- ptr = this.rawConstructor();
- if (destructors !== null) {
- destructors.push(this.rawDestructor, ptr);
- }
- return ptr;
- } else {
- return 0;
- }
- }
- if (!handle.$$) {
- throwBindingError(
- 'Cannot pass "' +
- _embind_repr(handle) +
- '" as a ' +
- this.name
- );
- }
- if (!handle.$$.ptr) {
- throwBindingError(
- "Cannot pass deleted object as a pointer of type " +
- this.name
- );
- }
- if (!this.isConst && handle.$$.ptrType.isConst) {
- throwBindingError(
- "Cannot convert argument of type " +
- (handle.$$.smartPtrType
- ? handle.$$.smartPtrType.name
- : handle.$$.ptrType.name) +
- " to parameter type " +
- this.name
- );
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- ptr = upcastPointer(
- handle.$$.ptr,
- handleClass,
- this.registeredClass
- );
- if (this.isSmartPointer) {
- if (undefined === handle.$$.smartPtr) {
- throwBindingError(
- "Passing raw pointer to smart pointer is illegal"
- );
- }
- switch (this.sharingPolicy) {
- case 0:
- if (handle.$$.smartPtrType === this) {
- ptr = handle.$$.smartPtr;
- } else {
- throwBindingError(
- "Cannot convert argument of type " +
- (handle.$$.smartPtrType
- ? handle.$$.smartPtrType.name
- : handle.$$.ptrType.name) +
- " to parameter type " +
- this.name
- );
- }
- break;
- case 1:
- ptr = handle.$$.smartPtr;
- break;
- case 2:
- if (handle.$$.smartPtrType === this) {
- ptr = handle.$$.smartPtr;
- } else {
- var clonedHandle = handle["clone"]();
- ptr = this.rawShare(
- ptr,
- __emval_register(function () {
- clonedHandle["delete"]();
- })
- );
- if (destructors !== null) {
- destructors.push(this.rawDestructor, ptr);
- }
- }
- break;
- default:
- throwBindingError("Unsupporting sharing policy");
- }
- }
- return ptr;
- }
- function nonConstNoSmartPtrRawPointerToWireType(
- destructors,
- handle
- ) {
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- return 0;
- }
- if (!handle.$$) {
- throwBindingError(
- 'Cannot pass "' +
- _embind_repr(handle) +
- '" as a ' +
- this.name
- );
- }
- if (!handle.$$.ptr) {
- throwBindingError(
- "Cannot pass deleted object as a pointer of type " +
- this.name
- );
- }
- if (handle.$$.ptrType.isConst) {
- throwBindingError(
- "Cannot convert argument of type " +
- handle.$$.ptrType.name +
- " to parameter type " +
- this.name
- );
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- var ptr = upcastPointer(
- handle.$$.ptr,
- handleClass,
- this.registeredClass
- );
- return ptr;
- }
- function simpleReadValueFromPointer(pointer) {
- return this["fromWireType"](HEAPU32[pointer >> 2]);
- }
- function RegisteredPointer_getPointee(ptr) {
- if (this.rawGetPointee) {
- ptr = this.rawGetPointee(ptr);
- }
- return ptr;
- }
- function RegisteredPointer_destructor(ptr) {
- if (this.rawDestructor) {
- this.rawDestructor(ptr);
- }
- }
- function RegisteredPointer_deleteObject(handle) {
- if (handle !== null) {
- handle["delete"]();
- }
- }
- function downcastPointer(ptr, ptrClass, desiredClass) {
- if (ptrClass === desiredClass) {
- return ptr;
- }
- if (undefined === desiredClass.baseClass) {
- return null;
- }
- var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
- if (rv === null) {
- return null;
- }
- return desiredClass.downcast(rv);
- }
- function getInheritedInstanceCount() {
- return Object.keys(registeredInstances).length;
- }
- function getLiveInheritedInstances() {
- var rv = [];
- for (var k in registeredInstances) {
- if (registeredInstances.hasOwnProperty(k)) {
- rv.push(registeredInstances[k]);
- }
- }
- return rv;
- }
- function setDelayFunction(fn) {
- delayFunction = fn;
- if (deletionQueue.length && delayFunction) {
- delayFunction(flushPendingDeletes);
- }
- }
- function init_embind() {
- Module["getInheritedInstanceCount"] = getInheritedInstanceCount;
- Module["getLiveInheritedInstances"] = getLiveInheritedInstances;
- Module["flushPendingDeletes"] = flushPendingDeletes;
- Module["setDelayFunction"] = setDelayFunction;
- }
- var registeredInstances = {};
- function getBasestPointer(class_, ptr) {
- if (ptr === undefined) {
- throwBindingError("ptr should not be undefined");
- }
- while (class_.baseClass) {
- ptr = class_.upcast(ptr);
- class_ = class_.baseClass;
- }
- return ptr;
- }
- function getInheritedInstance(class_, ptr) {
- ptr = getBasestPointer(class_, ptr);
- return registeredInstances[ptr];
- }
- function makeClassHandle(prototype, record) {
- if (!record.ptrType || !record.ptr) {
- throwInternalError(
- "makeClassHandle requires ptr and ptrType"
- );
- }
- var hasSmartPtrType = !!record.smartPtrType;
- var hasSmartPtr = !!record.smartPtr;
- if (hasSmartPtrType !== hasSmartPtr) {
- throwInternalError(
- "Both smartPtrType and smartPtr must be specified"
- );
- }
- record.count = { value: 1 };
- return Object.create(prototype, { $$: { value: record } });
- }
- function RegisteredPointer_fromWireType(ptr) {
- var rawPointer = this.getPointee(ptr);
- if (!rawPointer) {
- this.destructor(ptr);
- return null;
- }
- var registeredInstance = getInheritedInstance(
- this.registeredClass,
- rawPointer
- );
- if (undefined !== registeredInstance) {
- if (0 === registeredInstance.$$.count.value) {
- registeredInstance.$$.ptr = rawPointer;
- registeredInstance.$$.smartPtr = ptr;
- return registeredInstance["clone"]();
- } else {
- var rv = registeredInstance["clone"]();
- this.destructor(ptr);
- return rv;
- }
- }
- function makeDefaultHandle() {
- if (this.isSmartPointer) {
- return makeClassHandle(
- this.registeredClass.instancePrototype,
- {
- ptrType: this.pointeeType,
- ptr: rawPointer,
- smartPtrType: this,
- smartPtr: ptr,
- }
- );
- } else {
- return makeClassHandle(
- this.registeredClass.instancePrototype,
- { ptrType: this, ptr: ptr }
- );
- }
- }
- var actualType = this.registeredClass.getActualType(rawPointer);
- var registeredPointerRecord = registeredPointers[actualType];
- if (!registeredPointerRecord) {
- return makeDefaultHandle.call(this);
- }
- var toType;
- if (this.isConst) {
- toType = registeredPointerRecord.constPointerType;
- } else {
- toType = registeredPointerRecord.pointerType;
- }
- var dp = downcastPointer(
- rawPointer,
- this.registeredClass,
- toType.registeredClass
- );
- if (dp === null) {
- return makeDefaultHandle.call(this);
- }
- if (this.isSmartPointer) {
- return makeClassHandle(
- toType.registeredClass.instancePrototype,
- {
- ptrType: toType,
- ptr: dp,
- smartPtrType: this,
- smartPtr: ptr,
- }
- );
- } else {
- return makeClassHandle(
- toType.registeredClass.instancePrototype,
- { ptrType: toType, ptr: dp }
- );
- }
- }
- function init_RegisteredPointer() {
- RegisteredPointer.prototype.getPointee =
- RegisteredPointer_getPointee;
- RegisteredPointer.prototype.destructor =
- RegisteredPointer_destructor;
- RegisteredPointer.prototype["argPackAdvance"] = 8;
- RegisteredPointer.prototype["readValueFromPointer"] =
- simpleReadValueFromPointer;
- RegisteredPointer.prototype["deleteObject"] =
- RegisteredPointer_deleteObject;
- RegisteredPointer.prototype["fromWireType"] =
- RegisteredPointer_fromWireType;
- }
- function RegisteredPointer(
- name,
- registeredClass,
- isReference,
- isConst,
- isSmartPointer,
- pointeeType,
- sharingPolicy,
- rawGetPointee,
- rawConstructor,
- rawShare,
- rawDestructor
- ) {
- this.name = name;
- this.registeredClass = registeredClass;
- this.isReference = isReference;
- this.isConst = isConst;
- this.isSmartPointer = isSmartPointer;
- this.pointeeType = pointeeType;
- this.sharingPolicy = sharingPolicy;
- this.rawGetPointee = rawGetPointee;
- this.rawConstructor = rawConstructor;
- this.rawShare = rawShare;
- this.rawDestructor = rawDestructor;
- if (
- !isSmartPointer &&
- registeredClass.baseClass === undefined
- ) {
- if (isConst) {
- this["toWireType"] = constNoSmartPtrRawPointerToWireType;
- this.destructorFunction = null;
- } else {
- this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType;
- this.destructorFunction = null;
- }
- } else {
- this["toWireType"] = genericPointerToWireType;
- }
- }
- function replacePublicSymbol(name, value, numArguments) {
- if (!Module.hasOwnProperty(name)) {
- throwInternalError("Replacing nonexistant public symbol");
- }
- if (
- undefined !== Module[name].overloadTable &&
- undefined !== numArguments
- ) {
- Module[name].overloadTable[numArguments] = value;
- } else {
- Module[name] = value;
- Module[name].argCount = numArguments;
- }
- }
- function embind__requireFunction(signature, rawFunction) {
- signature = readLatin1String(signature);
- function makeDynCaller(dynCall) {
- var args = [];
- for (var i = 1; i < signature.length; ++i) {
- args.push("a" + i);
- }
- var name = "dynCall_" + signature + "_" + rawFunction;
- var body =
- "return function " + name + "(" + args.join(", ") + ") {\n";
- body +=
- " return dynCall(rawFunction" +
- (args.length ? ", " : "") +
- args.join(", ") +
- ");\n";
- body += "};\n";
- return new Function("dynCall", "rawFunction", body)(
- dynCall,
- rawFunction
- );
- }
- var fp;
- if (Module["FUNCTION_TABLE_" + signature] !== undefined) {
- fp = Module["FUNCTION_TABLE_" + signature][rawFunction];
- } else if (typeof FUNCTION_TABLE !== "undefined") {
- fp = FUNCTION_TABLE[rawFunction];
- } else {
- var dc = Module["asm"]["dynCall_" + signature];
- if (dc === undefined) {
- dc =
- Module["asm"]["dynCall_" + signature.replace(/f/g, "d")];
- if (dc === undefined) {
- throwBindingError(
- "No dynCall invoker for signature: " + signature
- );
- }
- }
- fp = makeDynCaller(dc);
- }
- if (typeof fp !== "function") {
- throwBindingError(
- "unknown function pointer with signature " +
- signature +
- ": " +
- rawFunction
- );
- }
- return fp;
- }
- var UnboundTypeError = undefined;
- function getTypeName(type) {
- var ptr = ___getTypeName(type);
- var rv = readLatin1String(ptr);
- _free(ptr);
- return rv;
- }
- function throwUnboundTypeError(message, types) {
- var unboundTypes = [];
- var seen = {};
- function visit(type) {
- if (seen[type]) {
- return;
- }
- if (registeredTypes[type]) {
- return;
- }
- if (typeDependencies[type]) {
- typeDependencies[type].forEach(visit);
- return;
- }
- unboundTypes.push(type);
- seen[type] = true;
- }
- types.forEach(visit);
- throw new UnboundTypeError(
- message + ": " + unboundTypes.map(getTypeName).join([", "])
- );
- }
- function __embind_register_class(
- rawType,
- rawPointerType,
- rawConstPointerType,
- baseClassRawType,
- getActualTypeSignature,
- getActualType,
- upcastSignature,
- upcast,
- downcastSignature,
- downcast,
- name,
- destructorSignature,
- rawDestructor
- ) {
- name = readLatin1String(name);
- getActualType = embind__requireFunction(
- getActualTypeSignature,
- getActualType
- );
- if (upcast) {
- upcast = embind__requireFunction(upcastSignature, upcast);
- }
- if (downcast) {
- downcast = embind__requireFunction(
- downcastSignature,
- downcast
- );
- }
- rawDestructor = embind__requireFunction(
- destructorSignature,
- rawDestructor
- );
- var legalFunctionName = makeLegalFunctionName(name);
- exposePublicSymbol(legalFunctionName, function () {
- throwUnboundTypeError(
- "Cannot construct " + name + " due to unbound types",
- [baseClassRawType]
- );
- });
- whenDependentTypesAreResolved(
- [rawType, rawPointerType, rawConstPointerType],
- baseClassRawType ? [baseClassRawType] : [],
- function (base) {
- base = base[0];
- var baseClass;
- var basePrototype;
- if (baseClassRawType) {
- baseClass = base.registeredClass;
- basePrototype = baseClass.instancePrototype;
- } else {
- basePrototype = ClassHandle.prototype;
- }
- var constructor = createNamedFunction(
- legalFunctionName,
- function () {
- if (Object.getPrototypeOf(this) !== instancePrototype) {
- throw new BindingError(
- "Use 'new' to construct " + name
- );
- }
- if (undefined === registeredClass.constructor_body) {
- throw new BindingError(
- name + " has no accessible constructor"
- );
- }
- var body =
- registeredClass.constructor_body[arguments.length];
- if (undefined === body) {
- throw new BindingError(
- "Tried to invoke ctor of " +
- name +
- " with invalid number of parameters (" +
- arguments.length +
- ") - expected (" +
- Object.keys(
- registeredClass.constructor_body
- ).toString() +
- ") parameters instead!"
- );
- }
- return body.apply(this, arguments);
- }
- );
- var instancePrototype = Object.create(basePrototype, {
- constructor: { value: constructor },
- });
- constructor.prototype = instancePrototype;
- var registeredClass = new RegisteredClass(
- name,
- constructor,
- instancePrototype,
- rawDestructor,
- baseClass,
- getActualType,
- upcast,
- downcast
- );
- var referenceConverter = new RegisteredPointer(
- name,
- registeredClass,
- true,
- false,
- false
- );
- var pointerConverter = new RegisteredPointer(
- name + "*",
- registeredClass,
- false,
- false,
- false
- );
- var constPointerConverter = new RegisteredPointer(
- name + " const*",
- registeredClass,
- false,
- true,
- false
- );
- registeredPointers[rawType] = {
- pointerType: pointerConverter,
- constPointerType: constPointerConverter,
- };
- replacePublicSymbol(legalFunctionName, constructor);
- return [
- referenceConverter,
- pointerConverter,
- constPointerConverter,
- ];
- }
- );
- }
- function heap32VectorToArray(count, firstElement) {
- var array = [];
- for (var i = 0; i < count; i++) {
- array.push(HEAP32[(firstElement >> 2) + i]);
- }
- return array;
- }
- function runDestructors(destructors) {
- while (destructors.length) {
- var ptr = destructors.pop();
- var del = destructors.pop();
- del(ptr);
- }
- }
- function __embind_register_class_constructor(
- rawClassType,
- argCount,
- rawArgTypesAddr,
- invokerSignature,
- invoker,
- rawConstructor
- ) {
- var rawArgTypes = heap32VectorToArray(
- argCount,
- rawArgTypesAddr
- );
- invoker = embind__requireFunction(invokerSignature, invoker);
- whenDependentTypesAreResolved(
- [],
- [rawClassType],
- function (classType) {
- classType = classType[0];
- var humanName = "constructor " + classType.name;
- if (
- undefined === classType.registeredClass.constructor_body
- ) {
- classType.registeredClass.constructor_body = [];
- }
- if (
- undefined !==
- classType.registeredClass.constructor_body[argCount - 1]
- ) {
- throw new BindingError(
- "Cannot register multiple constructors with identical number of parameters (" +
- (argCount - 1) +
- ") for class '" +
- classType.name +
- "'! Overload resolution is currently only performed using the parameter count, not actual type info!"
- );
- }
- classType.registeredClass.constructor_body[argCount - 1] =
- function unboundTypeHandler() {
- throwUnboundTypeError(
- "Cannot construct " +
- classType.name +
- " due to unbound types",
- rawArgTypes
- );
- };
- whenDependentTypesAreResolved(
- [],
- rawArgTypes,
- function (argTypes) {
- classType.registeredClass.constructor_body[
- argCount - 1
- ] = function constructor_body() {
- if (arguments.length !== argCount - 1) {
- throwBindingError(
- humanName +
- " called with " +
- arguments.length +
- " arguments, expected " +
- (argCount - 1)
- );
- }
- var destructors = [];
- var args = new Array(argCount);
- args[0] = rawConstructor;
- for (var i = 1; i < argCount; ++i) {
- args[i] = argTypes[i]["toWireType"](
- destructors,
- arguments[i - 1]
- );
- }
- var ptr = invoker.apply(null, args);
- runDestructors(destructors);
- return argTypes[0]["fromWireType"](ptr);
- };
- return [];
- }
- );
- return [];
- }
- );
- }
- function new_(constructor, argumentList) {
- if (!(constructor instanceof Function)) {
- throw new TypeError(
- "new_ called with constructor type " +
- (typeof constructor === "undefined"
- ? "undefined"
- : _typeof(constructor)) +
- " which is not a function"
- );
- }
- var dummy = createNamedFunction(
- constructor.name || "unknownFunctionName",
- function () {}
- );
- dummy.prototype = constructor.prototype;
- var obj = new dummy();
- var r = constructor.apply(obj, argumentList);
- return r instanceof Object ? r : obj;
- }
- function craftInvokerFunction(
- humanName,
- argTypes,
- classType,
- cppInvokerFunc,
- cppTargetFunc
- ) {
- var argCount = argTypes.length;
- if (argCount < 2) {
- throwBindingError(
- "argTypes array size mismatch! Must at least get return value and 'this' types!"
- );
- }
- var isClassMethodFunc =
- argTypes[1] !== null && classType !== null;
- var needsDestructorStack = false;
- for (var i = 1; i < argTypes.length; ++i) {
- if (
- argTypes[i] !== null &&
- argTypes[i].destructorFunction === undefined
- ) {
- needsDestructorStack = true;
- break;
- }
- }
- var returns = argTypes[0].name !== "void";
- var argsList = "";
- var argsListWired = "";
- for (var i = 0; i < argCount - 2; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
- }
- var invokerFnBody =
- "return function " +
- makeLegalFunctionName(humanName) +
- "(" +
- argsList +
- ") {\n" +
- "if (arguments.length !== " +
- (argCount - 2) +
- ") {\n" +
- "throwBindingError('function " +
- humanName +
- " called with ' + arguments.length + ' arguments, expected " +
- (argCount - 2) +
- " args!');\n" +
- "}\n";
- if (needsDestructorStack) {
- invokerFnBody += "var destructors = [];\n";
- }
- var dtorStack = needsDestructorStack ? "destructors" : "null";
- var args1 = [
- "throwBindingError",
- "invoker",
- "fn",
- "runDestructors",
- "retType",
- "classParam",
- ];
- var args2 = [
- throwBindingError,
- cppInvokerFunc,
- cppTargetFunc,
- runDestructors,
- argTypes[0],
- argTypes[1],
- ];
- if (isClassMethodFunc) {
- invokerFnBody +=
- "var thisWired = classParam.toWireType(" +
- dtorStack +
- ", this);\n";
- }
- for (var i = 0; i < argCount - 2; ++i) {
- invokerFnBody +=
- "var arg" +
- i +
- "Wired = argType" +
- i +
- ".toWireType(" +
- dtorStack +
- ", arg" +
- i +
- "); // " +
- argTypes[i + 2].name +
- "\n";
- args1.push("argType" + i);
- args2.push(argTypes[i + 2]);
- }
- if (isClassMethodFunc) {
- argsListWired =
- "thisWired" +
- (argsListWired.length > 0 ? ", " : "") +
- argsListWired;
- }
- invokerFnBody +=
- (returns ? "var rv = " : "") +
- "invoker(fn" +
- (argsListWired.length > 0 ? ", " : "") +
- argsListWired +
- ");\n";
- if (needsDestructorStack) {
- invokerFnBody += "runDestructors(destructors);\n";
- } else {
- for (
- var i = isClassMethodFunc ? 1 : 2;
- i < argTypes.length;
- ++i
- ) {
- var paramName =
- i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
- if (argTypes[i].destructorFunction !== null) {
- invokerFnBody +=
- paramName +
- "_dtor(" +
- paramName +
- "); // " +
- argTypes[i].name +
- "\n";
- args1.push(paramName + "_dtor");
- args2.push(argTypes[i].destructorFunction);
- }
- }
- }
- if (returns) {
- invokerFnBody +=
- "var ret = retType.fromWireType(rv);\n" + "return ret;\n";
- } else {
- }
- invokerFnBody += "}\n";
- args1.push(invokerFnBody);
- var invokerFunction = new_(Function, args1).apply(null, args2);
- return invokerFunction;
- }
- function __embind_register_class_function(
- rawClassType,
- methodName,
- argCount,
- rawArgTypesAddr,
- invokerSignature,
- rawInvoker,
- context,
- isPureVirtual
- ) {
- var rawArgTypes = heap32VectorToArray(
- argCount,
- rawArgTypesAddr
- );
- methodName = readLatin1String(methodName);
- rawInvoker = embind__requireFunction(
- invokerSignature,
- rawInvoker
- );
- whenDependentTypesAreResolved(
- [],
- [rawClassType],
- function (classType) {
- classType = classType[0];
- var humanName = classType.name + "." + methodName;
- if (isPureVirtual) {
- classType.registeredClass.pureVirtualFunctions.push(
- methodName
- );
- }
- function unboundTypesHandler() {
- throwUnboundTypeError(
- "Cannot call " + humanName + " due to unbound types",
- rawArgTypes
- );
- }
- var proto = classType.registeredClass.instancePrototype;
- var method = proto[methodName];
- if (
- undefined === method ||
- (undefined === method.overloadTable &&
- method.className !== classType.name &&
- method.argCount === argCount - 2)
- ) {
- unboundTypesHandler.argCount = argCount - 2;
- unboundTypesHandler.className = classType.name;
- proto[methodName] = unboundTypesHandler;
- } else {
- ensureOverloadTable(proto, methodName, humanName);
- proto[methodName].overloadTable[argCount - 2] =
- unboundTypesHandler;
- }
- whenDependentTypesAreResolved(
- [],
- rawArgTypes,
- function (argTypes) {
- var memberFunction = craftInvokerFunction(
- humanName,
- argTypes,
- classType,
- rawInvoker,
- context
- );
- if (undefined === proto[methodName].overloadTable) {
- memberFunction.argCount = argCount - 2;
- proto[methodName] = memberFunction;
- } else {
- proto[methodName].overloadTable[argCount - 2] =
- memberFunction;
- }
- return [];
- }
- );
- return [];
- }
- );
- }
- var emval_free_list = [];
- var emval_handle_array = [
- {},
- { value: undefined },
- { value: null },
- { value: true },
- { value: false },
- ];
- function __emval_decref(handle) {
- if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
- emval_handle_array[handle] = undefined;
- emval_free_list.push(handle);
- }
- }
- function count_emval_handles() {
- var count = 0;
- for (var i = 5; i < emval_handle_array.length; ++i) {
- if (emval_handle_array[i] !== undefined) {
- ++count;
- }
- }
- return count;
- }
- function get_first_emval() {
- for (var i = 5; i < emval_handle_array.length; ++i) {
- if (emval_handle_array[i] !== undefined) {
- return emval_handle_array[i];
- }
- }
- return null;
- }
- function init_emval() {
- Module["count_emval_handles"] = count_emval_handles;
- Module["get_first_emval"] = get_first_emval;
- }
- function __emval_register(value) {
- switch (value) {
- case undefined: {
- return 1;
- }
- case null: {
- return 2;
- }
- case true: {
- return 3;
- }
- case false: {
- return 4;
- }
- default: {
- var handle = emval_free_list.length
- ? emval_free_list.pop()
- : emval_handle_array.length;
- emval_handle_array[handle] = { refcount: 1, value: value };
- return handle;
- }
- }
- }
- function __embind_register_emval(rawType, name) {
- name = readLatin1String(name);
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(handle) {
- var rv = emval_handle_array[handle].value;
- __emval_decref(handle);
- return rv;
- },
- toWireType: function toWireType(destructors, value) {
- return __emval_register(value);
- },
- argPackAdvance: 8,
- readValueFromPointer: simpleReadValueFromPointer,
- destructorFunction: null,
- });
- }
- function _embind_repr(v) {
- if (v === null) {
- return "null";
- }
- var t = typeof v === "undefined" ? "undefined" : _typeof(v);
- if (t === "object" || t === "array" || t === "function") {
- return v.toString();
- } else {
- return "" + v;
- }
- }
- function floatReadValueFromPointer(name, shift) {
- switch (shift) {
- case 2:
- return function (pointer) {
- return this["fromWireType"](HEAPF32[pointer >> 2]);
- };
- case 3:
- return function (pointer) {
- return this["fromWireType"](HEAPF64[pointer >> 3]);
- };
- default:
- throw new TypeError("Unknown float type: " + name);
- }
- }
- function __embind_register_float(rawType, name, size) {
- var shift = getShiftFromSize(size);
- name = readLatin1String(name);
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(value) {
- return value;
- },
- toWireType: function toWireType(destructors, value) {
- if (
- typeof value !== "number" &&
- typeof value !== "boolean"
- ) {
- throw new TypeError(
- 'Cannot convert "' +
- _embind_repr(value) +
- '" to ' +
- this.name
- );
- }
- return value;
- },
- argPackAdvance: 8,
- readValueFromPointer: floatReadValueFromPointer(name, shift),
- destructorFunction: null,
- });
- }
- function __embind_register_function(
- name,
- argCount,
- rawArgTypesAddr,
- signature,
- rawInvoker,
- fn
- ) {
- var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
- name = readLatin1String(name);
- rawInvoker = embind__requireFunction(signature, rawInvoker);
- exposePublicSymbol(
- name,
- function () {
- throwUnboundTypeError(
- "Cannot call " + name + " due to unbound types",
- argTypes
- );
- },
- argCount - 1
- );
- whenDependentTypesAreResolved(
- [],
- argTypes,
- function (argTypes) {
- var invokerArgsArray = [argTypes[0], null].concat(
- argTypes.slice(1)
- );
- replacePublicSymbol(
- name,
- craftInvokerFunction(
- name,
- invokerArgsArray,
- null,
- rawInvoker,
- fn
- ),
- argCount - 1
- );
- return [];
- }
- );
- }
- function integerReadValueFromPointer(name, shift, signed) {
- switch (shift) {
- case 0:
- return signed
- ? function readS8FromPointer(pointer) {
- return HEAP8[pointer];
- }
- : function readU8FromPointer(pointer) {
- return HEAPU8[pointer];
- };
- case 1:
- return signed
- ? function readS16FromPointer(pointer) {
- return HEAP16[pointer >> 1];
- }
- : function readU16FromPointer(pointer) {
- return HEAPU16[pointer >> 1];
- };
- case 2:
- return signed
- ? function readS32FromPointer(pointer) {
- return HEAP32[pointer >> 2];
- }
- : function readU32FromPointer(pointer) {
- return HEAPU32[pointer >> 2];
- };
- default:
- throw new TypeError("Unknown integer type: " + name);
- }
- }
- function __embind_register_integer(
- primitiveType,
- name,
- size,
- minRange,
- maxRange
- ) {
- name = readLatin1String(name);
- if (maxRange === -1) {
- maxRange = 4294967295;
- }
- var shift = getShiftFromSize(size);
- var fromWireType = function fromWireType(value) {
- return value;
- };
- if (minRange === 0) {
- var bitshift = 32 - 8 * size;
- fromWireType = function fromWireType(value) {
- return (value << bitshift) >>> bitshift;
- };
- }
- var isUnsignedType = name.indexOf("unsigned") != -1;
- registerType(primitiveType, {
- name: name,
- fromWireType: fromWireType,
- toWireType: function toWireType(destructors, value) {
- if (
- typeof value !== "number" &&
- typeof value !== "boolean"
- ) {
- throw new TypeError(
- 'Cannot convert "' +
- _embind_repr(value) +
- '" to ' +
- this.name
- );
- }
- if (value < minRange || value > maxRange) {
- 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 +
- "]!"
- );
- }
- return isUnsignedType ? value >>> 0 : value | 0;
- },
- argPackAdvance: 8,
- readValueFromPointer: integerReadValueFromPointer(
- name,
- shift,
- minRange !== 0
- ),
- destructorFunction: null,
- });
- }
- function __embind_register_memory_view(
- rawType,
- dataTypeIndex,
- name
- ) {
- var typeMapping = [
- Int8Array,
- Uint8Array,
- Int16Array,
- Uint16Array,
- Int32Array,
- Uint32Array,
- Float32Array,
- Float64Array,
- ];
- var TA = typeMapping[dataTypeIndex];
- function decodeMemoryView(handle) {
- handle = handle >> 2;
- var heap = HEAPU32;
- var size = heap[handle];
- var data = heap[handle + 1];
- return new TA(heap["buffer"], data, size);
- }
- name = readLatin1String(name);
- registerType(
- rawType,
- {
- name: name,
- fromWireType: decodeMemoryView,
- argPackAdvance: 8,
- readValueFromPointer: decodeMemoryView,
- },
- { ignoreDuplicateRegistrations: true }
- );
- }
- function __embind_register_std_string(rawType, name) {
- name = readLatin1String(name);
- var stdStringIsUTF8 = name === "std::string";
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(value) {
- var length = HEAPU32[value >> 2];
- var str;
- if (stdStringIsUTF8) {
- var endChar = HEAPU8[value + 4 + length];
- var endCharSwap = 0;
- if (endChar != 0) {
- endCharSwap = endChar;
- HEAPU8[value + 4 + length] = 0;
- }
- var decodeStartPtr = value + 4;
- for (var i = 0; i <= length; ++i) {
- var currentBytePtr = value + 4 + i;
- if (HEAPU8[currentBytePtr] == 0) {
- var stringSegment = UTF8ToString(decodeStartPtr);
- if (str === undefined) str = stringSegment;
- else {
- str += String.fromCharCode(0);
- str += stringSegment;
- }
- decodeStartPtr = currentBytePtr + 1;
- }
- }
- if (endCharSwap != 0)
- HEAPU8[value + 4 + length] = endCharSwap;
- } else {
- var a = new Array(length);
- for (var i = 0; i < length; ++i) {
- a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
- }
- str = a.join("");
- }
- _free(value);
- return str;
- },
- toWireType: function toWireType(destructors, value) {
- if (value instanceof ArrayBuffer) {
- value = new Uint8Array(value);
- }
- var getLength;
- var valueIsOfTypeString = typeof value === "string";
- if (
- !(
- valueIsOfTypeString ||
- value instanceof Uint8Array ||
- value instanceof Uint8ClampedArray ||
- value instanceof Int8Array
- )
- ) {
- throwBindingError(
- "Cannot pass non-string to std::string"
- );
- }
- if (stdStringIsUTF8 && valueIsOfTypeString) {
- getLength = function getLength() {
- return lengthBytesUTF8(value);
- };
- } else {
- getLength = function getLength() {
- return value.length;
- };
- }
- var length = getLength();
- var ptr = _malloc(4 + length + 1);
- HEAPU32[ptr >> 2] = length;
- if (stdStringIsUTF8 && valueIsOfTypeString) {
- stringToUTF8(value, ptr + 4, length + 1);
- } else {
- if (valueIsOfTypeString) {
- for (var i = 0; i < length; ++i) {
- var charCode = value.charCodeAt(i);
- if (charCode > 255) {
- _free(ptr);
- throwBindingError(
- "String has UTF-16 code units that do not fit in 8 bits"
- );
- }
- HEAPU8[ptr + 4 + i] = charCode;
- }
- } else {
- for (var i = 0; i < length; ++i) {
- HEAPU8[ptr + 4 + i] = value[i];
- }
- }
- }
- if (destructors !== null) {
- destructors.push(_free, ptr);
- }
- return ptr;
- },
- argPackAdvance: 8,
- readValueFromPointer: simpleReadValueFromPointer,
- destructorFunction: function destructorFunction(ptr) {
- _free(ptr);
- },
- });
- }
- function __embind_register_std_wstring(rawType, charSize, name) {
- name = readLatin1String(name);
- var getHeap, shift;
- if (charSize === 2) {
- getHeap = function getHeap() {
- return HEAPU16;
- };
- shift = 1;
- } else if (charSize === 4) {
- getHeap = function getHeap() {
- return HEAPU32;
- };
- shift = 2;
- }
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(value) {
- var HEAP = getHeap();
- var length = HEAPU32[value >> 2];
- var a = new Array(length);
- var start = (value + 4) >> shift;
- for (var i = 0; i < length; ++i) {
- a[i] = String.fromCharCode(HEAP[start + i]);
- }
- _free(value);
- return a.join("");
- },
- toWireType: function toWireType(destructors, value) {
- var HEAP = getHeap();
- var length = value.length;
- var ptr = _malloc(4 + length * charSize);
- HEAPU32[ptr >> 2] = length;
- var start = (ptr + 4) >> shift;
- for (var i = 0; i < length; ++i) {
- HEAP[start + i] = value.charCodeAt(i);
- }
- if (destructors !== null) {
- destructors.push(_free, ptr);
- }
- return ptr;
- },
- argPackAdvance: 8,
- readValueFromPointer: simpleReadValueFromPointer,
- destructorFunction: function destructorFunction(ptr) {
- _free(ptr);
- },
- });
- }
- function __embind_register_void(rawType, name) {
- name = readLatin1String(name);
- registerType(rawType, {
- isVoid: true,
- name: name,
- argPackAdvance: 0,
- fromWireType: function fromWireType() {
- return undefined;
- },
- toWireType: function toWireType(destructors, o) {
- return undefined;
- },
- });
- }
- function requireHandle(handle) {
- if (!handle) {
- throwBindingError(
- "Cannot use deleted val. handle = " + handle
- );
- }
- return emval_handle_array[handle].value;
- }
- function requireRegisteredType(rawType, humanName) {
- var impl = registeredTypes[rawType];
- if (undefined === impl) {
- throwBindingError(
- humanName + " has unknown type " + getTypeName(rawType)
- );
- }
- return impl;
- }
- function __emval_as(handle, returnType, destructorsRef) {
- handle = requireHandle(handle);
- returnType = requireRegisteredType(returnType, "emval::as");
- var destructors = [];
- var rd = __emval_register(destructors);
- HEAP32[destructorsRef >> 2] = rd;
- return returnType["toWireType"](destructors, handle);
- }
- function __emval_lookupTypes(argCount, argTypes, argWireTypes) {
- var a = new Array(argCount);
- for (var i = 0; i < argCount; ++i) {
- a[i] = requireRegisteredType(
- HEAP32[(argTypes >> 2) + i],
- "parameter " + i
- );
- }
- return a;
- }
- function __emval_call(handle, argCount, argTypes, argv) {
- handle = requireHandle(handle);
- var types = __emval_lookupTypes(argCount, argTypes);
- var args = new Array(argCount);
- for (var i = 0; i < argCount; ++i) {
- var type = types[i];
- args[i] = type["readValueFromPointer"](argv);
- argv += type["argPackAdvance"];
- }
- var rv = handle.apply(undefined, args);
- return __emval_register(rv);
- }
- function __emval_allocateDestructors(destructorsRef) {
- var destructors = [];
- HEAP32[destructorsRef >> 2] = __emval_register(destructors);
- return destructors;
- }
- var emval_symbols = {};
- function getStringOrSymbol(address) {
- var symbol = emval_symbols[address];
- if (symbol === undefined) {
- return readLatin1String(address);
- } else {
- return symbol;
- }
- }
- var emval_methodCallers = [];
- function __emval_call_void_method(
- caller,
- handle,
- methodName,
- args
- ) {
- caller = emval_methodCallers[caller];
- handle = requireHandle(handle);
- methodName = getStringOrSymbol(methodName);
- caller(handle, methodName, null, args);
- }
- function __emval_addMethodCaller(caller) {
- var id = emval_methodCallers.length;
- emval_methodCallers.push(caller);
- return id;
- }
- function __emval_get_method_caller(argCount, argTypes) {
- var types = __emval_lookupTypes(argCount, argTypes);
- var retType = types[0];
- var signatureName =
- retType.name +
- "_$" +
- types
- .slice(1)
- .map(function (t) {
- return t.name;
- })
- .join("_") +
- "$";
- var params = ["retType"];
- var args = [retType];
- var argsList = "";
- for (var i = 0; i < argCount - 1; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- params.push("argType" + i);
- args.push(types[1 + i]);
- }
- var functionName = makeLegalFunctionName(
- "methodCaller_" + signatureName
- );
- var functionBody =
- "return function " +
- functionName +
- "(handle, name, destructors, args) {\n";
- var offset = 0;
- for (var i = 0; i < argCount - 1; ++i) {
- functionBody +=
- " var arg" +
- i +
- " = argType" +
- i +
- ".readValueFromPointer(args" +
- (offset ? "+" + offset : "") +
- ");\n";
- offset += types[i + 1]["argPackAdvance"];
- }
- functionBody +=
- " var rv = handle[name](" + argsList + ");\n";
- for (var i = 0; i < argCount - 1; ++i) {
- if (types[i + 1]["deleteObject"]) {
- functionBody +=
- " argType" + i + ".deleteObject(arg" + i + ");\n";
- }
- }
- if (!retType.isVoid) {
- functionBody +=
- " return retType.toWireType(destructors, rv);\n";
- }
- functionBody += "};\n";
- params.push(functionBody);
- var invokerFunction = new_(Function, params).apply(null, args);
- return __emval_addMethodCaller(invokerFunction);
- }
- function __emval_get_module_property(name) {
- name = getStringOrSymbol(name);
- return __emval_register(Module[name]);
- }
- function __emval_get_property(handle, key) {
- handle = requireHandle(handle);
- key = requireHandle(key);
- return __emval_register(handle[key]);
- }
- function __emval_incref(handle) {
- if (handle > 4) {
- emval_handle_array[handle].refcount += 1;
- }
- }
- function craftEmvalAllocator(argCount) {
- var argsList = "";
- for (var i = 0; i < argCount; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- }
- var functionBody =
- "return function emval_allocator_" +
- argCount +
- "(constructor, argTypes, args) {\n";
- for (var i = 0; i < argCount; ++i) {
- functionBody +=
- "var argType" +
- i +
- " = requireRegisteredType(HEAP32[(argTypes >> 2) + " +
- i +
- '], "parameter ' +
- i +
- '");\n' +
- "var arg" +
- i +
- " = argType" +
- i +
- ".readValueFromPointer(args);\n" +
- "args += argType" +
- i +
- "['argPackAdvance'];\n";
- }
- functionBody +=
- "var obj = new constructor(" +
- argsList +
- ");\n" +
- "return __emval_register(obj);\n" +
- "}\n";
- return new Function(
- "requireRegisteredType",
- "HEAP32",
- "__emval_register",
- functionBody
- )(requireRegisteredType, HEAP32, __emval_register);
- }
- var emval_newers = {};
- function __emval_new(handle, argCount, argTypes, args) {
- handle = requireHandle(handle);
- var newer = emval_newers[argCount];
- if (!newer) {
- newer = craftEmvalAllocator(argCount);
- emval_newers[argCount] = newer;
- }
- return newer(handle, argTypes, args);
- }
- function __emval_new_cstring(v) {
- return __emval_register(getStringOrSymbol(v));
- }
- function __emval_run_destructors(handle) {
- var destructors = emval_handle_array[handle].value;
- runDestructors(destructors);
- __emval_decref(handle);
- }
- function __emval_take_value(type, argv) {
- type = requireRegisteredType(type, "_emval_take_value");
- var v = type["readValueFromPointer"](argv);
- return __emval_register(v);
- }
- function _abort() {
- Module["abort"]();
- }
- function _llvm_cttz_i32(x) {
- x = x | 0;
- return (x ? (31 - (Math_clz32(x ^ (x - 1)) | 0)) | 0 : 32) | 0;
- }
- function _llvm_cttz_i64(l, h) {
- var ret = _llvm_cttz_i32(l);
- if (ret == 32) ret += _llvm_cttz_i32(h);
- return (setTempRet0(0), ret) | 0;
- }
- function _emscripten_memcpy_big(dest, src, num) {
- HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
- return dest;
- }
- var PTHREAD_SPECIFIC = {};
- function _pthread_getspecific(key) {
- return PTHREAD_SPECIFIC[key] || 0;
- }
- var PTHREAD_SPECIFIC_NEXT_KEY = 1;
- function _pthread_key_create(key, destructor) {
- if (key == 0) {
- return ERRNO_CODES.EINVAL;
- }
- HEAP32[key >> 2] = PTHREAD_SPECIFIC_NEXT_KEY;
- PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY] = 0;
- PTHREAD_SPECIFIC_NEXT_KEY++;
- return 0;
- }
- function _pthread_once(ptr, func) {
- if (!_pthread_once.seen) _pthread_once.seen = {};
- if (ptr in _pthread_once.seen) return;
- Module["dynCall_v"](func);
- _pthread_once.seen[ptr] = 1;
- }
- function _pthread_setspecific(key, value) {
- if (!(key in PTHREAD_SPECIFIC)) {
- return ERRNO_CODES.EINVAL;
- }
- PTHREAD_SPECIFIC[key] = value;
- return 0;
- }
- FS.staticInit();
- __ATINIT__.unshift(function () {
- if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
- });
- __ATMAIN__.push(function () {
- FS.ignorePermissions = false;
- });
- __ATEXIT__.push(function () {
- FS.quit();
- });
- __ATINIT__.unshift(function () {
- TTY.init();
- });
- __ATEXIT__.push(function () {
- TTY.shutdown();
- });
- if (ENVIRONMENT_IS_NODE) {
- var fs = require("fs");
- var NODEJS_PATH = require("path");
- NODEFS.staticInit();
- }
- embind_init_charCodes();
- BindingError = Module["BindingError"] = extendError(
- Error,
- "BindingError"
- );
- InternalError = Module["InternalError"] = extendError(
- Error,
- "InternalError"
- );
- init_ClassHandle();
- init_RegisteredPointer();
- init_embind();
- UnboundTypeError = Module["UnboundTypeError"] = extendError(
- Error,
- "UnboundTypeError"
- );
- init_emval();
- DYNAMICTOP_PTR = staticAlloc(4);
- STACK_BASE = STACKTOP = alignMemory(STATICTOP);
- STACK_MAX = STACK_BASE + TOTAL_STACK;
- DYNAMIC_BASE = alignMemory(STACK_MAX);
- HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
- staticSealed = true;
- var ASSERTIONS = false;
- function intArrayFromString(stringy, dontAddNull, length) {
- var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
- var u8array = new Array(len);
- var numBytesWritten = stringToUTF8Array(
- stringy,
- u8array,
- 0,
- u8array.length
- );
- if (dontAddNull) u8array.length = numBytesWritten;
- return u8array;
- }
- function intArrayToString(array) {
- var ret = [];
- for (var i = 0; i < array.length; i++) {
- var chr = array[i];
- if (chr > 255) {
- if (ASSERTIONS) {
- assert(
- false,
- "Character code " +
- chr +
- " (" +
- String.fromCharCode(chr) +
- ") at offset " +
- i +
- " not in 0x00-0xFF."
- );
- }
- chr &= 255;
- }
- ret.push(String.fromCharCode(chr));
- }
- return ret.join("");
- }
- var decodeBase64 =
- typeof atob === "function"
- ? atob
- : function (input) {
- var keyStr =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
- var output = "";
- var chr1, chr2, chr3;
- var enc1, enc2, enc3, enc4;
- var i = 0;
- input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
- do {
- enc1 = keyStr.indexOf(input.charAt(i++));
- enc2 = keyStr.indexOf(input.charAt(i++));
- enc3 = keyStr.indexOf(input.charAt(i++));
- enc4 = keyStr.indexOf(input.charAt(i++));
- chr1 = (enc1 << 2) | (enc2 >> 4);
- chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
- chr3 = ((enc3 & 3) << 6) | enc4;
- output = output + String.fromCharCode(chr1);
- if (enc3 !== 64) {
- output = output + String.fromCharCode(chr2);
- }
- if (enc4 !== 64) {
- output = output + String.fromCharCode(chr3);
- }
- } while (i < input.length);
- return output;
- };
- function intArrayFromBase64(s) {
- if (
- typeof ENVIRONMENT_IS_NODE === "boolean" &&
- ENVIRONMENT_IS_NODE
- ) {
- var buf;
- try {
- buf = Buffer.from(s, "base64");
- } catch (_) {
- buf = new Buffer(s, "base64");
- }
- return new Uint8Array(
- buf.buffer,
- buf.byteOffset,
- buf.byteLength
- );
- }
- try {
- var decoded = decodeBase64(s);
- var bytes = new Uint8Array(decoded.length);
- for (var i = 0; i < decoded.length; ++i) {
- bytes[i] = decoded.charCodeAt(i);
- }
- return bytes;
- } catch (_) {
- throw new Error("Converting base64 string to bytes failed.");
- }
- }
- function tryParseAsDataURI(filename) {
- if (!isDataURI(filename)) {
- return;
- }
- return intArrayFromBase64(filename.slice(dataURIPrefix.length));
- }
- Module["wasmTableSize"] = 412;
- Module["wasmMaxTableSize"] = 412;
- function invoke_i(index) {
- var sp = _stackSave();
- try {
- return Module["dynCall_i"](index);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_ii(index, a1) {
- var sp = _stackSave();
- try {
- return Module["dynCall_ii"](index, a1);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iii(index, a1, a2) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iii"](index, a1, a2);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iiii(index, a1, a2, a3) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iiii"](index, a1, a2, a3);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iiiii(index, a1, a2, a3, a4) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iiiii"](index, a1, a2, a3, a4);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iiiiii"](index, a1, a2, a3, a4, a5);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iiiiiii"](
- index,
- a1,
- a2,
- a3,
- a4,
- a5,
- a6
- );
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_v(index) {
- var sp = _stackSave();
- try {
- Module["dynCall_v"](index);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_vi(index, a1) {
- var sp = _stackSave();
- try {
- Module["dynCall_vi"](index, a1);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_vii(index, a1, a2) {
- var sp = _stackSave();
- try {
- Module["dynCall_vii"](index, a1, a2);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_viii(index, a1, a2, a3) {
- var sp = _stackSave();
- try {
- Module["dynCall_viii"](index, a1, a2, a3);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_viiii(index, a1, a2, a3, a4) {
- var sp = _stackSave();
- try {
- Module["dynCall_viiii"](index, a1, a2, a3, a4);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_viiiii(index, a1, a2, a3, a4, a5) {
- var sp = _stackSave();
- try {
- Module["dynCall_viiiii"](index, a1, a2, a3, a4, a5);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
- var sp = _stackSave();
- try {
- Module["dynCall_viiiiii"](index, a1, a2, a3, a4, a5, a6);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- Module.asmGlobalArg = {};
- Module.asmLibraryArg = {
- abort: abort,
- assert: assert,
- enlargeMemory: enlargeMemory,
- getTotalMemory: getTotalMemory,
- abortOnCannotGrowMemory: abortOnCannotGrowMemory,
- invoke_i: invoke_i,
- invoke_ii: invoke_ii,
- invoke_iii: invoke_iii,
- invoke_iiii: invoke_iiii,
- invoke_iiiii: invoke_iiiii,
- invoke_iiiiii: invoke_iiiiii,
- invoke_iiiiiii: invoke_iiiiiii,
- invoke_v: invoke_v,
- invoke_vi: invoke_vi,
- invoke_vii: invoke_vii,
- invoke_viii: invoke_viii,
- invoke_viiii: invoke_viiii,
- invoke_viiiii: invoke_viiiii,
- invoke_viiiiii: invoke_viiiiii,
- ClassHandle: ClassHandle,
- ClassHandle_clone: ClassHandle_clone,
- ClassHandle_delete: ClassHandle_delete,
- ClassHandle_deleteLater: ClassHandle_deleteLater,
- ClassHandle_isAliasOf: ClassHandle_isAliasOf,
- ClassHandle_isDeleted: ClassHandle_isDeleted,
- RegisteredClass: RegisteredClass,
- RegisteredPointer: RegisteredPointer,
- RegisteredPointer_deleteObject: RegisteredPointer_deleteObject,
- RegisteredPointer_destructor: RegisteredPointer_destructor,
- RegisteredPointer_fromWireType: RegisteredPointer_fromWireType,
- RegisteredPointer_getPointee: RegisteredPointer_getPointee,
- __ZSt18uncaught_exceptionv: __ZSt18uncaught_exceptionv,
- ___cxa_allocate_exception: ___cxa_allocate_exception,
- ___cxa_begin_catch: ___cxa_begin_catch,
- ___cxa_find_matching_catch: ___cxa_find_matching_catch,
- ___cxa_throw: ___cxa_throw,
- ___gxx_personality_v0: ___gxx_personality_v0,
- ___lock: ___lock,
- ___resumeException: ___resumeException,
- ___setErrNo: ___setErrNo,
- ___syscall140: ___syscall140,
- ___syscall145: ___syscall145,
- ___syscall146: ___syscall146,
- ___syscall221: ___syscall221,
- ___syscall5: ___syscall5,
- ___syscall54: ___syscall54,
- ___syscall6: ___syscall6,
- ___unlock: ___unlock,
- __embind_register_bool: __embind_register_bool,
- __embind_register_class: __embind_register_class,
- __embind_register_class_constructor:
- __embind_register_class_constructor,
- __embind_register_class_function:
- __embind_register_class_function,
- __embind_register_emval: __embind_register_emval,
- __embind_register_float: __embind_register_float,
- __embind_register_function: __embind_register_function,
- __embind_register_integer: __embind_register_integer,
- __embind_register_memory_view: __embind_register_memory_view,
- __embind_register_std_string: __embind_register_std_string,
- __embind_register_std_wstring: __embind_register_std_wstring,
- __embind_register_void: __embind_register_void,
- __emval_addMethodCaller: __emval_addMethodCaller,
- __emval_allocateDestructors: __emval_allocateDestructors,
- __emval_as: __emval_as,
- __emval_call: __emval_call,
- __emval_call_void_method: __emval_call_void_method,
- __emval_decref: __emval_decref,
- __emval_get_method_caller: __emval_get_method_caller,
- __emval_get_module_property: __emval_get_module_property,
- __emval_get_property: __emval_get_property,
- __emval_incref: __emval_incref,
- __emval_lookupTypes: __emval_lookupTypes,
- __emval_new: __emval_new,
- __emval_new_cstring: __emval_new_cstring,
- __emval_register: __emval_register,
- __emval_run_destructors: __emval_run_destructors,
- __emval_take_value: __emval_take_value,
- _abort: _abort,
- _embind_repr: _embind_repr,
- _emscripten_memcpy_big: _emscripten_memcpy_big,
- _llvm_cttz_i32: _llvm_cttz_i32,
- _llvm_cttz_i64: _llvm_cttz_i64,
- _pthread_getspecific: _pthread_getspecific,
- _pthread_key_create: _pthread_key_create,
- _pthread_once: _pthread_once,
- _pthread_setspecific: _pthread_setspecific,
- constNoSmartPtrRawPointerToWireType:
- constNoSmartPtrRawPointerToWireType,
- count_emval_handles: count_emval_handles,
- craftEmvalAllocator: craftEmvalAllocator,
- craftInvokerFunction: craftInvokerFunction,
- createNamedFunction: createNamedFunction,
- downcastPointer: downcastPointer,
- embind__requireFunction: embind__requireFunction,
- embind_init_charCodes: embind_init_charCodes,
- ensureOverloadTable: ensureOverloadTable,
- exposePublicSymbol: exposePublicSymbol,
- extendError: extendError,
- floatReadValueFromPointer: floatReadValueFromPointer,
- flushPendingDeletes: flushPendingDeletes,
- genericPointerToWireType: genericPointerToWireType,
- getBasestPointer: getBasestPointer,
- getInheritedInstance: getInheritedInstance,
- getInheritedInstanceCount: getInheritedInstanceCount,
- getLiveInheritedInstances: getLiveInheritedInstances,
- getShiftFromSize: getShiftFromSize,
- getStringOrSymbol: getStringOrSymbol,
- getTypeName: getTypeName,
- get_first_emval: get_first_emval,
- heap32VectorToArray: heap32VectorToArray,
- init_ClassHandle: init_ClassHandle,
- init_RegisteredPointer: init_RegisteredPointer,
- init_embind: init_embind,
- init_emval: init_emval,
- integerReadValueFromPointer: integerReadValueFromPointer,
- makeClassHandle: makeClassHandle,
- makeLegalFunctionName: makeLegalFunctionName,
- new_: new_,
- nonConstNoSmartPtrRawPointerToWireType:
- nonConstNoSmartPtrRawPointerToWireType,
- readLatin1String: readLatin1String,
- registerType: registerType,
- replacePublicSymbol: replacePublicSymbol,
- requireHandle: requireHandle,
- requireRegisteredType: requireRegisteredType,
- runDestructor: runDestructor,
- runDestructors: runDestructors,
- setDelayFunction: setDelayFunction,
- shallowCopyInternalPointer: shallowCopyInternalPointer,
- simpleReadValueFromPointer: simpleReadValueFromPointer,
- throwBindingError: throwBindingError,
- throwInstanceAlreadyDeleted: throwInstanceAlreadyDeleted,
- throwInternalError: throwInternalError,
- throwUnboundTypeError: throwUnboundTypeError,
- upcastPointer: upcastPointer,
- whenDependentTypesAreResolved: whenDependentTypesAreResolved,
- DYNAMICTOP_PTR: DYNAMICTOP_PTR,
- tempDoublePtr: tempDoublePtr,
- ABORT: ABORT,
- STACKTOP: STACKTOP,
- STACK_MAX: STACK_MAX,
- };
- var asm = Module["asm"](
- Module.asmGlobalArg,
- Module.asmLibraryArg,
- buffer
- );
- Module["asm"] = asm;
- var __GLOBAL__sub_I_bind_cpp = (Module[
- "__GLOBAL__sub_I_bind_cpp"
- ] = function () {
- return Module["asm"]["__GLOBAL__sub_I_bind_cpp"].apply(
- null,
- arguments
- );
- });
- var __GLOBAL__sub_I_zstd_binding_cc = (Module[
- "__GLOBAL__sub_I_zstd_binding_cc"
- ] = function () {
- return Module["asm"]["__GLOBAL__sub_I_zstd_binding_cc"].apply(
- null,
- arguments
- );
- });
- var ___cxa_can_catch = (Module["___cxa_can_catch"] = function () {
- return Module["asm"]["___cxa_can_catch"].apply(null, arguments);
- });
- var ___cxa_demangle = (Module["___cxa_demangle"] = function () {
- return Module["asm"]["___cxa_demangle"].apply(null, arguments);
- });
- var ___cxa_is_pointer_type = (Module["___cxa_is_pointer_type"] =
- function () {
- return Module["asm"]["___cxa_is_pointer_type"].apply(
- null,
- arguments
- );
- });
- var ___errno_location = (Module["___errno_location"] =
- function () {
- return Module["asm"]["___errno_location"].apply(
- null,
- arguments
- );
- });
- var ___getTypeName = (Module["___getTypeName"] = function () {
- return Module["asm"]["___getTypeName"].apply(null, arguments);
- });
- var _free = (Module["_free"] = function () {
- return Module["asm"]["_free"].apply(null, arguments);
- });
- var _llvm_bswap_i32 = (Module["_llvm_bswap_i32"] = function () {
- return Module["asm"]["_llvm_bswap_i32"].apply(null, arguments);
- });
- var _llvm_ctlz_i64 = (Module["_llvm_ctlz_i64"] = function () {
- return Module["asm"]["_llvm_ctlz_i64"].apply(null, arguments);
- });
- var _malloc = (Module["_malloc"] = function () {
- return Module["asm"]["_malloc"].apply(null, arguments);
- });
- var _memcpy = (Module["_memcpy"] = function () {
- return Module["asm"]["_memcpy"].apply(null, arguments);
- });
- var _memmove = (Module["_memmove"] = function () {
- return Module["asm"]["_memmove"].apply(null, arguments);
- });
- var _memset = (Module["_memset"] = function () {
- return Module["asm"]["_memset"].apply(null, arguments);
- });
- var _sbrk = (Module["_sbrk"] = function () {
- return Module["asm"]["_sbrk"].apply(null, arguments);
- });
- var establishStackSpace = (Module["establishStackSpace"] =
- function () {
- return Module["asm"]["establishStackSpace"].apply(
- null,
- arguments
- );
- });
- var getTempRet0 = (Module["getTempRet0"] = function () {
- return Module["asm"]["getTempRet0"].apply(null, arguments);
- });
- var runPostSets = (Module["runPostSets"] = function () {
- return Module["asm"]["runPostSets"].apply(null, arguments);
- });
- var setTempRet0 = (Module["setTempRet0"] = function () {
- return Module["asm"]["setTempRet0"].apply(null, arguments);
- });
- var setThrew = (Module["setThrew"] = function () {
- return Module["asm"]["setThrew"].apply(null, arguments);
- });
- var stackAlloc = (Module["stackAlloc"] = function () {
- return Module["asm"]["stackAlloc"].apply(null, arguments);
- });
- var _stackRestore = (Module["stackRestore"] = function () {
- return Module["asm"]["stackRestore"].apply(null, arguments);
- });
- var _stackSave = (Module["stackSave"] = function () {
- return Module["asm"]["stackSave"].apply(null, arguments);
- });
- var dynCall_i = (Module["dynCall_i"] = function () {
- return Module["asm"]["dynCall_i"].apply(null, arguments);
- });
- var dynCall_ii = (Module["dynCall_ii"] = function () {
- return Module["asm"]["dynCall_ii"].apply(null, arguments);
- });
- var dynCall_iii = (Module["dynCall_iii"] = function () {
- return Module["asm"]["dynCall_iii"].apply(null, arguments);
- });
- var dynCall_iiii = (Module["dynCall_iiii"] = function () {
- return Module["asm"]["dynCall_iiii"].apply(null, arguments);
- });
- var dynCall_iiiii = (Module["dynCall_iiiii"] = function () {
- return Module["asm"]["dynCall_iiiii"].apply(null, arguments);
- });
- var dynCall_iiiiii = (Module["dynCall_iiiiii"] = function () {
- return Module["asm"]["dynCall_iiiiii"].apply(null, arguments);
- });
- var dynCall_iiiiiii = (Module["dynCall_iiiiiii"] = function () {
- return Module["asm"]["dynCall_iiiiiii"].apply(null, arguments);
- });
- var dynCall_v = (Module["dynCall_v"] = function () {
- return Module["asm"]["dynCall_v"].apply(null, arguments);
- });
- var dynCall_vi = (Module["dynCall_vi"] = function () {
- return Module["asm"]["dynCall_vi"].apply(null, arguments);
- });
- var dynCall_vii = (Module["dynCall_vii"] = function () {
- return Module["asm"]["dynCall_vii"].apply(null, arguments);
- });
- var dynCall_viii = (Module["dynCall_viii"] = function () {
- return Module["asm"]["dynCall_viii"].apply(null, arguments);
- });
- var dynCall_viiii = (Module["dynCall_viiii"] = function () {
- return Module["asm"]["dynCall_viiii"].apply(null, arguments);
- });
- var dynCall_viiiii = (Module["dynCall_viiiii"] = function () {
- return Module["asm"]["dynCall_viiiii"].apply(null, arguments);
- });
- var dynCall_viiiiii = (Module["dynCall_viiiiii"] = function () {
- return Module["asm"]["dynCall_viiiiii"].apply(null, arguments);
- });
- Module["asm"] = asm;
- Module["FS"] = FS;
- Module["then"] = function (func) {
- if (Module["calledRun"]) {
- func(Module);
- } else {
- var old = Module["onRuntimeInitialized"];
- Module["onRuntimeInitialized"] = function () {
- if (old) old();
- func(Module);
- };
- }
- return Module;
- };
- function ExitStatus(status) {
- this.name = "ExitStatus";
- this.message = "Program terminated with exit(" + status + ")";
- this.status = status;
- }
- ExitStatus.prototype = new Error();
- ExitStatus.prototype.constructor = ExitStatus;
- var initialStackTop;
- dependenciesFulfilled = function runCaller() {
- if (!Module["calledRun"]) run();
- if (!Module["calledRun"]) dependenciesFulfilled = runCaller;
- };
- function run(args) {
- args = args || Module["arguments"];
- if (runDependencies > 0) {
- return;
- }
- preRun();
- if (runDependencies > 0) return;
- if (Module["calledRun"]) return;
- function doRun() {
- if (Module["calledRun"]) return;
- Module["calledRun"] = true;
- if (ABORT) return;
- ensureInitRuntime();
- preMain();
- if (Module["onRuntimeInitialized"])
- Module["onRuntimeInitialized"]();
- postRun();
- }
- if (Module["setStatus"]) {
- Module["setStatus"]("Running...");
- setTimeout(function () {
- setTimeout(function () {
- Module["setStatus"]("");
- }, 1);
- doRun();
- }, 1);
- } else {
- doRun();
- }
- }
- Module["run"] = run;
- function abort(what) {
- if (Module["onAbort"]) {
- Module["onAbort"](what);
- }
- if (what !== undefined) {
- out(what);
- err(what);
- what = JSON.stringify(what);
- } else {
- what = "";
- }
- ABORT = true;
- EXITSTATUS = 1;
- throw (
- "abort(" +
- what +
- "). Build with -s ASSERTIONS=1 for more info."
- );
- }
- Module["abort"] = abort;
- if (Module["preInit"]) {
- if (typeof Module["preInit"] == "function")
- Module["preInit"] = [Module["preInit"]];
- while (Module["preInit"].length > 0) {
- Module["preInit"].pop()();
- }
- }
- Module["noExitRuntime"] = true;
- run();
- return Module;
- };
- })();
- if (
- (typeof exports === "undefined"
- ? "undefined"
- : _typeof(exports)) === "object" &&
- (typeof module === "undefined" ? "undefined" : _typeof(module)) ===
- "object"
- )
- module.exports = Module;
- else if (typeof define === "function" && define["amd"])
- define([], function () {
- return Module;
- });
- else if (
- (typeof exports === "undefined"
- ? "undefined"
- : _typeof(exports)) === "object"
- )
- exports["Module"] = Module;
- }).call(this, require("_process"), require("buffer").Buffer, "/lib");
- },
- { _process: 126, buffer: 54, crypto: 63, fs: 9, path: 119 },
- ],
- 6: [
- function (require, module, exports) {
- (function (process, Buffer, __dirname) {
- "use strict";
- var _typeof =
- typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
- ? function (obj) {
- return typeof obj;
- }
- : function (obj) {
- return obj &&
- typeof Symbol === "function" &&
- obj.constructor === Symbol &&
- obj !== Symbol.prototype
- ? "symbol"
- : typeof obj;
- };
- var Module = (function () {
- var _scriptDir =
- typeof document !== "undefined" && document.currentScript
- ? document.currentScript.src
- : undefined;
- return function (Module) {
- Module = Module || {};
- var Module;
- if (!Module) Module = typeof Module !== "undefined" ? Module : {};
- var moduleOverrides = {};
- var key;
- for (key in Module) {
- if (Module.hasOwnProperty(key)) {
- moduleOverrides[key] = Module[key];
- }
- }
- Module["arguments"] = [];
- Module["thisProgram"] = "./this.program";
- Module["quit"] = function (status, toThrow) {
- throw toThrow;
- };
- Module["preRun"] = [];
- Module["postRun"] = [];
- var ENVIRONMENT_IS_WEB = false;
- var ENVIRONMENT_IS_WORKER = false;
- var ENVIRONMENT_IS_NODE = false;
- var ENVIRONMENT_IS_SHELL = false;
- ENVIRONMENT_IS_WEB =
- (typeof window === "undefined"
- ? "undefined"
- : _typeof(window)) === "object";
- ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
- ENVIRONMENT_IS_NODE =
- (typeof process === "undefined"
- ? "undefined"
- : _typeof(process)) === "object" &&
- typeof require === "function" &&
- !ENVIRONMENT_IS_WEB &&
- !ENVIRONMENT_IS_WORKER;
- ENVIRONMENT_IS_SHELL =
- !ENVIRONMENT_IS_WEB &&
- !ENVIRONMENT_IS_NODE &&
- !ENVIRONMENT_IS_WORKER;
- var scriptDirectory = "";
- function locateFile(path) {
- if (Module["locateFile"]) {
- return Module["locateFile"](path, scriptDirectory);
- } else {
- return scriptDirectory + path;
- }
- }
- if (ENVIRONMENT_IS_NODE) {
- scriptDirectory = __dirname + "/";
- var nodeFS;
- var nodePath;
- Module["read"] = function shell_read(filename, binary) {
- var ret;
- ret = tryParseAsDataURI(filename);
- if (!ret) {
- if (!nodeFS) nodeFS = require("fs");
- if (!nodePath) nodePath = require("path");
- filename = nodePath["normalize"](filename);
- ret = nodeFS["readFileSync"](filename);
- }
- return binary ? ret : ret.toString();
- };
- Module["readBinary"] = function readBinary(filename) {
- var ret = Module["read"](filename, true);
- if (!ret.buffer) {
- ret = new Uint8Array(ret);
- }
- assert(ret.buffer);
- return ret;
- };
- if (process["argv"].length > 1) {
- Module["thisProgram"] = process["argv"][1].replace(
- /\\/g,
- "/"
- );
- }
- Module["arguments"] = process["argv"].slice(2);
- process["on"]("uncaughtException", function (ex) {
- if (!(ex instanceof ExitStatus)) {
- throw ex;
- }
- });
- process["on"]("unhandledRejection", function (reason, p) {
- process["exit"](1);
- });
- Module["quit"] = function (status) {
- process["exit"](status);
- };
- Module["inspect"] = function () {
- return "[Emscripten Module object]";
- };
- } else if (ENVIRONMENT_IS_SHELL) {
- if (typeof read != "undefined") {
- Module["read"] = function shell_read(f) {
- var data = tryParseAsDataURI(f);
- if (data) {
- return intArrayToString(data);
- }
- return read(f);
- };
- }
- Module["readBinary"] = function readBinary(f) {
- var data;
- data = tryParseAsDataURI(f);
- if (data) {
- return data;
- }
- if (typeof readbuffer === "function") {
- return new Uint8Array(readbuffer(f));
- }
- data = read(f, "binary");
- assert(
- (typeof data === "undefined"
- ? "undefined"
- : _typeof(data)) === "object"
- );
- return data;
- };
- if (typeof scriptArgs != "undefined") {
- Module["arguments"] = scriptArgs;
- } else if (typeof arguments != "undefined") {
- Module["arguments"] = arguments;
- }
- if (typeof quit === "function") {
- Module["quit"] = function (status) {
- quit(status);
- };
- }
- } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
- if (ENVIRONMENT_IS_WEB) {
- if (document.currentScript) {
- scriptDirectory = document.currentScript.src;
- }
- } else {
- scriptDirectory = self.location.href;
- }
- if (_scriptDir) {
- scriptDirectory = _scriptDir;
- }
- if (scriptDirectory.indexOf("blob:") !== 0) {
- scriptDirectory =
- scriptDirectory.split("/").slice(0, -1).join("/") + "/";
- } else {
- scriptDirectory = "";
- }
- Module["read"] = function shell_read(url) {
- try {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, false);
- xhr.send(null);
- return xhr.responseText;
- } catch (err) {
- var data = tryParseAsDataURI(url);
- if (data) {
- return intArrayToString(data);
- }
- throw err;
- }
- };
- if (ENVIRONMENT_IS_WORKER) {
- Module["readBinary"] = function readBinary(url) {
- try {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, false);
- xhr.responseType = "arraybuffer";
- xhr.send(null);
- return new Uint8Array(xhr.response);
- } catch (err) {
- var data = tryParseAsDataURI(url);
- if (data) {
- return data;
- }
- throw err;
- }
- };
- }
- Module["readAsync"] = function readAsync(url, onload, onerror) {
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, true);
- xhr.responseType = "arraybuffer";
- xhr.onload = function xhr_onload() {
- if (
- xhr.status == 200 ||
- (xhr.status == 0 && xhr.response)
- ) {
- onload(xhr.response);
- return;
- }
- var data = tryParseAsDataURI(url);
- if (data) {
- onload(data.buffer);
- return;
- }
- onerror();
- };
- xhr.onerror = onerror;
- xhr.send(null);
- };
- Module["setWindowTitle"] = function (title) {
- document.title = title;
- };
- } else {
- }
- var out =
- Module["print"] ||
- (typeof console !== "undefined"
- ? console.log.bind(console)
- : typeof print !== "undefined"
- ? print
- : null);
- var err =
- Module["printErr"] ||
- (typeof printErr !== "undefined"
- ? printErr
- : (typeof console !== "undefined" &&
- console.warn.bind(console)) ||
- out);
- for (key in moduleOverrides) {
- if (moduleOverrides.hasOwnProperty(key)) {
- Module[key] = moduleOverrides[key];
- }
- }
- moduleOverrides = undefined;
- var STACK_ALIGN = 16;
- function staticAlloc(size) {
- var ret = STATICTOP;
- STATICTOP = (STATICTOP + size + 15) & -16;
- return ret;
- }
- function dynamicAlloc(size) {
- var ret = HEAP32[DYNAMICTOP_PTR >> 2];
- var end = (ret + size + 15) & -16;
- HEAP32[DYNAMICTOP_PTR >> 2] = end;
- if (end >= TOTAL_MEMORY) {
- var success = enlargeMemory();
- if (!success) {
- HEAP32[DYNAMICTOP_PTR >> 2] = ret;
- return 0;
- }
- }
- return ret;
- }
- function alignMemory(size, factor) {
- if (!factor) factor = STACK_ALIGN;
- var ret = (size = Math.ceil(size / factor) * factor);
- return ret;
- }
- function getNativeTypeSize(type) {
- switch (type) {
- case "i1":
- case "i8":
- return 1;
- case "i16":
- return 2;
- case "i32":
- return 4;
- case "i64":
- return 8;
- case "float":
- return 4;
- case "double":
- return 8;
- default: {
- if (type[type.length - 1] === "*") {
- return 4;
- } else if (type[0] === "i") {
- var bits = parseInt(type.substr(1));
- assert(bits % 8 === 0);
- return bits / 8;
- } else {
- return 0;
- }
- }
- }
- }
- function warnOnce(text) {
- if (!warnOnce.shown) warnOnce.shown = {};
- if (!warnOnce.shown[text]) {
- warnOnce.shown[text] = 1;
- err(text);
- }
- }
- var jsCallStartIndex = 1;
- var functionPointers = new Array(0);
- var funcWrappers = {};
- function dynCall(sig, ptr, args) {
- if (args && args.length) {
- return Module["dynCall_" + sig].apply(
- null,
- [ptr].concat(args)
- );
- } else {
- return Module["dynCall_" + sig].call(null, ptr);
- }
- }
- var GLOBAL_BASE = 8;
- var ABORT = 0;
- var EXITSTATUS = 0;
- function assert(condition, text) {
- if (!condition) {
- abort("Assertion failed: " + text);
- }
- }
- function getCFunc(ident) {
- var func = Module["_" + ident];
- assert(
- func,
- "Cannot call unknown function " +
- ident +
- ", make sure it is exported"
- );
- return func;
- }
- var JSfuncs = {
- stackSave: function stackSave() {
- _stackSave();
- },
- stackRestore: function stackRestore() {
- _stackRestore();
- },
- arrayToC: function arrayToC(arr) {
- var ret = stackAlloc(arr.length);
- writeArrayToMemory(arr, ret);
- return ret;
- },
- stringToC: function stringToC(str) {
- var ret = 0;
- if (str !== null && str !== undefined && str !== 0) {
- var len = (str.length << 2) + 1;
- ret = stackAlloc(len);
- stringToUTF8(str, ret, len);
- }
- return ret;
- },
- };
- var toC = {
- string: JSfuncs["stringToC"],
- array: JSfuncs["arrayToC"],
- };
- function ccall(ident, returnType, argTypes, args, opts) {
- function convertReturnValue(ret) {
- if (returnType === "string") return Pointer_stringify(ret);
- if (returnType === "boolean") return Boolean(ret);
- return ret;
- }
- var func = getCFunc(ident);
- var cArgs = [];
- var stack = 0;
- if (args) {
- for (var i = 0; i < args.length; i++) {
- var converter = toC[argTypes[i]];
- if (converter) {
- if (stack === 0) stack = _stackSave();
- cArgs[i] = converter(args[i]);
- } else {
- cArgs[i] = args[i];
- }
- }
- }
- var ret = func.apply(null, cArgs);
- ret = convertReturnValue(ret);
- if (stack !== 0) _stackRestore(stack);
- return ret;
- }
- function setValue(ptr, value, type, noSafe) {
- type = type || "i8";
- if (type.charAt(type.length - 1) === "*") type = "i32";
- switch (type) {
- case "i1":
- HEAP8[ptr >> 0] = value;
- break;
- case "i8":
- HEAP8[ptr >> 0] = value;
- break;
- case "i16":
- HEAP16[ptr >> 1] = value;
- break;
- case "i32":
- HEAP32[ptr >> 2] = value;
- break;
- case "i64":
- (tempI64 = [
- value >>> 0,
- ((tempDouble = value),
- +Math_abs(tempDouble) >= +1
- ? tempDouble > +0
- ? (Math_min(
- +Math_floor(tempDouble / +4294967296),
- +4294967295
- ) |
- 0) >>>
- 0
- : ~~+Math_ceil(
- (tempDouble - +(~~tempDouble >>> 0)) / +4294967296
- ) >>> 0
- : 0),
- ]),
- (HEAP32[ptr >> 2] = tempI64[0]),
- (HEAP32[(ptr + 4) >> 2] = tempI64[1]);
- break;
- case "float":
- HEAPF32[ptr >> 2] = value;
- break;
- case "double":
- HEAPF64[ptr >> 3] = value;
- break;
- default:
- abort("invalid type for setValue: " + type);
- }
- }
- var ALLOC_STATIC = 2;
- var ALLOC_NONE = 4;
- function Pointer_stringify(ptr, length) {
- if (length === 0 || !ptr) return "";
- var hasUtf = 0;
- var t;
- var i = 0;
- while (1) {
- t = HEAPU8[(ptr + i) >> 0];
- hasUtf |= t;
- if (t == 0 && !length) break;
- i++;
- if (length && i == length) break;
- }
- if (!length) length = i;
- var ret = "";
- if (hasUtf < 128) {
- var MAX_CHUNK = 1024;
- var curr;
- while (length > 0) {
- curr = String.fromCharCode.apply(
- String,
- HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))
- );
- ret = ret ? ret + curr : curr;
- ptr += MAX_CHUNK;
- length -= MAX_CHUNK;
- }
- return ret;
- }
- return UTF8ToString(ptr);
- }
- var UTF8Decoder =
- typeof TextDecoder !== "undefined"
- ? new TextDecoder("utf8")
- : undefined;
- function UTF8ArrayToString(u8Array, idx) {
- var endPtr = idx;
- while (u8Array[endPtr]) {
- ++endPtr;
- }
- if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
- return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
- } else {
- var u0, u1, u2, u3, u4, u5;
- var str = "";
- while (1) {
- u0 = u8Array[idx++];
- if (!u0) return str;
- if (!(u0 & 128)) {
- str += String.fromCharCode(u0);
- continue;
- }
- u1 = u8Array[idx++] & 63;
- if ((u0 & 224) == 192) {
- str += String.fromCharCode(((u0 & 31) << 6) | u1);
- continue;
- }
- u2 = u8Array[idx++] & 63;
- if ((u0 & 240) == 224) {
- u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
- } else {
- u3 = u8Array[idx++] & 63;
- if ((u0 & 248) == 240) {
- u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
- } else {
- u4 = u8Array[idx++] & 63;
- if ((u0 & 252) == 248) {
- u0 =
- ((u0 & 3) << 24) |
- (u1 << 18) |
- (u2 << 12) |
- (u3 << 6) |
- u4;
- } else {
- u5 = u8Array[idx++] & 63;
- u0 =
- ((u0 & 1) << 30) |
- (u1 << 24) |
- (u2 << 18) |
- (u3 << 12) |
- (u4 << 6) |
- u5;
- }
- }
- }
- if (u0 < 65536) {
- str += String.fromCharCode(u0);
- } else {
- var ch = u0 - 65536;
- str += String.fromCharCode(
- 55296 | (ch >> 10),
- 56320 | (ch & 1023)
- );
- }
- }
- }
- }
- function UTF8ToString(ptr) {
- return UTF8ArrayToString(HEAPU8, ptr);
- }
- function stringToUTF8Array(
- str,
- outU8Array,
- outIdx,
- maxBytesToWrite
- ) {
- if (!(maxBytesToWrite > 0)) return 0;
- var startIdx = outIdx;
- var endIdx = outIdx + maxBytesToWrite - 1;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 55296 && u <= 57343) {
- var u1 = str.charCodeAt(++i);
- u = (65536 + ((u & 1023) << 10)) | (u1 & 1023);
- }
- if (u <= 127) {
- if (outIdx >= endIdx) break;
- outU8Array[outIdx++] = u;
- } else if (u <= 2047) {
- if (outIdx + 1 >= endIdx) break;
- outU8Array[outIdx++] = 192 | (u >> 6);
- outU8Array[outIdx++] = 128 | (u & 63);
- } else if (u <= 65535) {
- if (outIdx + 2 >= endIdx) break;
- outU8Array[outIdx++] = 224 | (u >> 12);
- outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
- outU8Array[outIdx++] = 128 | (u & 63);
- } else if (u <= 2097151) {
- if (outIdx + 3 >= endIdx) break;
- outU8Array[outIdx++] = 240 | (u >> 18);
- outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
- outU8Array[outIdx++] = 128 | (u & 63);
- } else if (u <= 67108863) {
- if (outIdx + 4 >= endIdx) break;
- outU8Array[outIdx++] = 248 | (u >> 24);
- outU8Array[outIdx++] = 128 | ((u >> 18) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
- outU8Array[outIdx++] = 128 | (u & 63);
- } else {
- if (outIdx + 5 >= endIdx) break;
- outU8Array[outIdx++] = 252 | (u >> 30);
- outU8Array[outIdx++] = 128 | ((u >> 24) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 18) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 12) & 63);
- outU8Array[outIdx++] = 128 | ((u >> 6) & 63);
- outU8Array[outIdx++] = 128 | (u & 63);
- }
- }
- outU8Array[outIdx] = 0;
- return outIdx - startIdx;
- }
- function stringToUTF8(str, outPtr, maxBytesToWrite) {
- return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
- }
- function lengthBytesUTF8(str) {
- var len = 0;
- for (var i = 0; i < str.length; ++i) {
- var u = str.charCodeAt(i);
- if (u >= 55296 && u <= 57343)
- u =
- (65536 + ((u & 1023) << 10)) |
- (str.charCodeAt(++i) & 1023);
- if (u <= 127) {
- ++len;
- } else if (u <= 2047) {
- len += 2;
- } else if (u <= 65535) {
- len += 3;
- } else if (u <= 2097151) {
- len += 4;
- } else if (u <= 67108863) {
- len += 5;
- } else {
- len += 6;
- }
- }
- return len;
- }
- var UTF16Decoder =
- typeof TextDecoder !== "undefined"
- ? new TextDecoder("utf-16le")
- : undefined;
- function demangle(func) {
- var __cxa_demangle_func =
- Module["___cxa_demangle"] || Module["__cxa_demangle"];
- assert(__cxa_demangle_func);
- try {
- var s = func.substr(1);
- var len = lengthBytesUTF8(s) + 1;
- var buf = _malloc(len);
- stringToUTF8(s, buf, len);
- var status = _malloc(4);
- var ret = __cxa_demangle_func(buf, 0, 0, status);
- if (HEAP32[status >> 2] === 0 && ret) {
- return Pointer_stringify(ret);
- }
- } catch (e) {
- } finally {
- if (buf) _free(buf);
- if (status) _free(status);
- if (ret) _free(ret);
- }
- return func;
- }
- function demangleAll(text) {
- var regex = /__Z[\w\d_]+/g;
- return text.replace(regex, function (x) {
- var y = demangle(x);
- return x === y ? x : x + " [" + y + "]";
- });
- }
- function jsStackTrace() {
- var err = new Error();
- if (!err.stack) {
- try {
- throw new Error(0);
- } catch (e) {
- err = e;
- }
- if (!err.stack) {
- return "(no stack trace available)";
- }
- }
- return err.stack.toString();
- }
- function stackTrace() {
- var js = jsStackTrace();
- if (Module["extraStackTrace"])
- js += "\n" + Module["extraStackTrace"]();
- return demangleAll(js);
- }
- var buffer,
- HEAP8,
- HEAPU8,
- HEAP16,
- HEAPU16,
- HEAP32,
- HEAPU32,
- HEAPF32,
- HEAPF64;
- function updateGlobalBufferViews() {
- Module["HEAP8"] = HEAP8 = new Int8Array(buffer);
- Module["HEAP16"] = HEAP16 = new Int16Array(buffer);
- Module["HEAP32"] = HEAP32 = new Int32Array(buffer);
- Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);
- Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);
- Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);
- Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);
- Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer);
- }
- var STATIC_BASE, STATICTOP, staticSealed;
- var STACK_BASE, STACKTOP, STACK_MAX;
- var DYNAMIC_BASE, DYNAMICTOP_PTR;
- STATIC_BASE =
- STATICTOP =
- STACK_BASE =
- STACKTOP =
- STACK_MAX =
- DYNAMIC_BASE =
- DYNAMICTOP_PTR =
- 0;
- staticSealed = false;
- function abortOnCannotGrowMemory() {
- abort(
- "Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " +
- TOTAL_MEMORY +
- ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "
- );
- }
- function enlargeMemory() {
- abortOnCannotGrowMemory();
- }
- var TOTAL_STACK = Module["TOTAL_STACK"] || 5242880;
- var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216;
- if (TOTAL_MEMORY < TOTAL_STACK)
- err(
- "TOTAL_MEMORY should be larger than TOTAL_STACK, was " +
- TOTAL_MEMORY +
- "! (TOTAL_STACK=" +
- TOTAL_STACK +
- ")"
- );
- if (Module["buffer"]) {
- buffer = Module["buffer"];
- } else {
- {
- buffer = new ArrayBuffer(TOTAL_MEMORY);
- }
- Module["buffer"] = buffer;
- }
- updateGlobalBufferViews();
- function getTotalMemory() {
- return TOTAL_MEMORY;
- }
- function callRuntimeCallbacks(callbacks) {
- while (callbacks.length > 0) {
- var callback = callbacks.shift();
- if (typeof callback == "function") {
- callback();
- continue;
- }
- var func = callback.func;
- if (typeof func === "number") {
- if (callback.arg === undefined) {
- Module["dynCall_v"](func);
- } else {
- Module["dynCall_vi"](func, callback.arg);
- }
- } else {
- func(callback.arg === undefined ? null : callback.arg);
- }
- }
- }
- var __ATPRERUN__ = [];
- var __ATINIT__ = [];
- var __ATMAIN__ = [];
- var __ATEXIT__ = [];
- var __ATPOSTRUN__ = [];
- var runtimeInitialized = false;
- var runtimeExited = false;
- function preRun() {
- if (Module["preRun"]) {
- if (typeof Module["preRun"] == "function")
- Module["preRun"] = [Module["preRun"]];
- while (Module["preRun"].length) {
- addOnPreRun(Module["preRun"].shift());
- }
- }
- callRuntimeCallbacks(__ATPRERUN__);
- }
- function ensureInitRuntime() {
- if (runtimeInitialized) return;
- runtimeInitialized = true;
- callRuntimeCallbacks(__ATINIT__);
- }
- function preMain() {
- callRuntimeCallbacks(__ATMAIN__);
- }
- function exitRuntime() {
- callRuntimeCallbacks(__ATEXIT__);
- runtimeExited = true;
- }
- function postRun() {
- if (Module["postRun"]) {
- if (typeof Module["postRun"] == "function")
- Module["postRun"] = [Module["postRun"]];
- while (Module["postRun"].length) {
- addOnPostRun(Module["postRun"].shift());
- }
- }
- callRuntimeCallbacks(__ATPOSTRUN__);
- }
- function addOnPreRun(cb) {
- __ATPRERUN__.unshift(cb);
- }
- function addOnPostRun(cb) {
- __ATPOSTRUN__.unshift(cb);
- }
- function writeArrayToMemory(array, buffer) {
- HEAP8.set(array, buffer);
- }
- function writeAsciiToMemory(str, buffer, dontAddNull) {
- for (var i = 0; i < str.length; ++i) {
- HEAP8[buffer++ >> 0] = str.charCodeAt(i);
- }
- if (!dontAddNull) HEAP8[buffer >> 0] = 0;
- }
- var Math_abs = Math.abs;
- var Math_ceil = Math.ceil;
- var Math_floor = Math.floor;
- var Math_min = Math.min;
- var runDependencies = 0;
- var runDependencyWatcher = null;
- var dependenciesFulfilled = null;
- function getUniqueRunDependency(id) {
- return id;
- }
- function addRunDependency(id) {
- runDependencies++;
- if (Module["monitorRunDependencies"]) {
- Module["monitorRunDependencies"](runDependencies);
- }
- }
- function removeRunDependency(id) {
- runDependencies--;
- if (Module["monitorRunDependencies"]) {
- Module["monitorRunDependencies"](runDependencies);
- }
- if (runDependencies == 0) {
- if (runDependencyWatcher !== null) {
- clearInterval(runDependencyWatcher);
- runDependencyWatcher = null;
- }
- if (dependenciesFulfilled) {
- var callback = dependenciesFulfilled;
- dependenciesFulfilled = null;
- callback();
- }
- }
- }
- Module["preloadedImages"] = {};
- Module["preloadedAudios"] = {};
- var memoryInitializer = null;
- var dataURIPrefix = "data:application/octet-stream;base64,";
- function isDataURI(filename) {
- return String.prototype.startsWith
- ? filename.startsWith(dataURIPrefix)
- : filename.indexOf(dataURIPrefix) === 0;
- }
- STATIC_BASE = GLOBAL_BASE;
- STATICTOP = STATIC_BASE + 22272;
- __ATINIT__.push(
- {
- func: function func() {
- __GLOBAL__sub_I_zstd_binding_cc();
- },
- },
- {
- func: function func() {
- __GLOBAL__sub_I_bind_cpp();
- },
- }
- );
- memoryInitializer =
- "data:application/octet-stream;base64,AAAAAAAAAACwKgAASCcAAAgrAADQKgAAwCoAADAnAAAIKwAA0CoAAPAqAADwJwAAMCcAADAnAADwKgAAAAAAAAAAAAAAAAAA8CoAAPAnAAAwJwAAMCcAAPAqAADwJwAAMCcAADAnAABwJwAAAAAAAAAAAAAAAAAA8CoAAPAnAAAwJwAAMCcAAKgnAAAAAAAAAAAAAAAAAADAKgAACCgAAHAmAABwJgAAwCoAADAoAABwJgAAcCYAAAAAAABrOAcADbIHAJzyBwBwZAgAYK4KALBxCwAwqgwAEwAAAAwAAAANAAAAAQAAAAYAAAABAAAAAQAAABMAAAANAAAADgAAAAEAAAAHAAAAAQAAAAEAAAATAAAADwAAABAAAAABAAAABgAAAAEAAAABAAAAFAAAABAAAAARAAAAAQAAAAUAAAAIAAAAAgAAABQAAAARAAAAEgAAAAEAAAAFAAAACAAAAAIAAAAUAAAAEQAAABIAAAACAAAABQAAABAAAAADAAAAFQAAABEAAAATAAAAAgAAAAUAAAAQAAAABAAAABUAAAASAAAAEwAAAAMAAAAFAAAAEAAAAAQAAAAVAAAAEgAAABQAAAADAAAABQAAABAAAAAFAAAAFQAAABMAAAAUAAAAAwAAAAUAAAAQAAAABQAAABUAAAATAAAAFQAAAAQAAAAFAAAAEAAAAAUAAAAWAAAAFAAAABYAAAAEAAAABQAAABAAAAAFAAAAFgAAABQAAAAWAAAABQAAAAUAAAAQAAAABQAAABYAAAAVAAAAFgAAAAQAAAAFAAAAIAAAAAYAAAAWAAAAFQAAABYAAAAFAAAABQAAACAAAAAGAAAAFgAAABYAAAAWAAAABgAAAAUAAAAgAAAABgAAABYAAAAVAAAAFgAAAAQAAAAFAAAAMAAAAAcAAAAXAAAAFgAAABYAAAAEAAAABAAAADAAAAAHAAAAFwAAABYAAAAWAAAABQAAAAMAAABAAAAABwAAABcAAAAXAAAAFgAAAAcAAAADAAAAgAAAAAcAAAAZAAAAGQAAABcAAAAHAAAAAwAAAIAAAAAIAAAAGgAAABoAAAAYAAAABwAAAAMAAAAAAQAACAAAABsAAAAbAAAAGQAAAAkAAAADAAAAAAIAAAgAAAASAAAADAAAAA0AAAABAAAABQAAAAEAAAABAAAAEgAAAA0AAAAOAAAAAQAAAAYAAAABAAAAAQAAABIAAAAOAAAADQAAAAEAAAAFAAAACAAAAAIAAAASAAAAEAAAAA8AAAABAAAABQAAAAgAAAACAAAAEgAAAA8AAAARAAAAAQAAAAUAAAAIAAAAAwAAABIAAAAQAAAAEQAAAAQAAAAFAAAACAAAAAMAAAASAAAAEAAAABEAAAADAAAABQAAAAgAAAAEAAAAEgAAABEAAAARAAAABAAAAAQAAAAIAAAABAAAABIAAAARAAAAEQAAAAQAAAAEAAAACAAAAAUAAAASAAAAEQAAABEAAAAFAAAABAAAAAgAAAAFAAAAEgAAABEAAAARAAAABgAAAAQAAAAIAAAABQAAABIAAAASAAAAEQAAAAYAAAAEAAAACAAAAAUAAAASAAAAEgAAABEAAAAFAAAABAAAAAgAAAAGAAAAEgAAABMAAAARAAAABwAAAAQAAAAIAAAABgAAABIAAAASAAAAEgAAAAQAAAAEAAAAEAAAAAcAAAASAAAAEgAAABIAAAAEAAAAAwAAABAAAAAHAAAAEgAAABMAAAASAAAABgAAAAMAAAAgAAAABwAAABIAAAATAAAAEgAAAAgAAAADAAAAQAAAAAcAAAASAAAAEwAAABIAAAAJAAAAAwAAAIAAAAAHAAAAEgAAABMAAAASAAAACgAAAAMAAAAAAQAABwAAABIAAAATAAAAEgAAAAsAAAADAAAAAAIAAAgAAAASAAAAEwAAABIAAAAMAAAAAwAAAAACAAAIAAAAEgAAABMAAAASAAAADQAAAAMAAAAAAgAACAAAABEAAAAMAAAADAAAAAEAAAAFAAAAAQAAAAEAAAARAAAADAAAAA0AAAABAAAABgAAAAEAAAABAAAAEQAAAA0AAAAQAAAAAQAAAAUAAAABAAAAAQAAABEAAAAQAAAAEAAAAAIAAAAFAAAACAAAAAIAAAARAAAADQAAAA8AAAADAAAABAAAAAgAAAADAAAAEQAAAA8AAAARAAAABAAAAAQAAAAIAAAAAwAAABEAAAAQAAAAEQAAAAMAAAAEAAAACAAAAAQAAAARAAAADwAAABEAAAAEAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAABAAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAUAAAAEAAAACAAAAAUAAAARAAAAEQAAABEAAAAGAAAABAAAAAgAAAAFAAAAEQAAABEAAAARAAAABwAAAAQAAAAIAAAABQAAABEAAAARAAAAEQAAAAgAAAAEAAAACAAAAAUAAAARAAAAEgAAABEAAAAGAAAABAAAAAgAAAAGAAAAEQAAABEAAAARAAAABwAAAAMAAAAIAAAABwAAABEAAAARAAAAEQAAAAcAAAADAAAAEAAAAAcAAAARAAAAEgAAABEAAAAHAAAAAwAAACAAAAAHAAAAEQAAABIAAAARAAAABwAAAAMAAABAAAAABwAAABEAAAASAAAAEQAAAAcAAAADAAAAAAEAAAcAAAARAAAAEgAAABEAAAAIAAAAAwAAAAABAAAHAAAAEQAAABIAAAARAAAACQAAAAMAAAAAAQAACAAAABEAAAASAAAAEQAAAAoAAAADAAAAAAEAAAgAAAARAAAAEgAAABEAAAALAAAAAwAAAAACAAAIAAAADgAAAAwAAAANAAAAAQAAAAUAAAABAAAAAQAAAA4AAAAOAAAADgAAAAEAAAAGAAAAAQAAAAEAAAAOAAAADgAAAA4AAAABAAAABAAAAAEAAAABAAAADgAAAA4AAAAOAAAAAQAAAAQAAAAGAAAAAgAAAA4AAAAOAAAADgAAAAQAAAAEAAAABgAAAAMAAAAOAAAADgAAAA4AAAADAAAABAAAAAYAAAAEAAAADgAAAA4AAAAOAAAABAAAAAQAAAAGAAAABQAAAA4AAAAOAAAADgAAAAUAAAAEAAAABgAAAAUAAAAOAAAADgAAAA4AAAAGAAAABAAAAAYAAAAFAAAADgAAAA8AAAAOAAAABgAAAAQAAAAGAAAABgAAAA4AAAAPAAAADgAAAAMAAAADAAAABgAAAAcAAAAOAAAADwAAAA4AAAAGAAAAAwAAAAgAAAAHAAAADgAAAA8AAAAOAAAABgAAAAMAAAAQAAAABwAAAA4AAAAPAAAADgAAAAYAAAADAAAAGAAAAAcAAAAOAAAADwAAAA8AAAAGAAAAAwAAADAAAAAHAAAADgAAAA8AAAAPAAAABgAAAAMAAABAAAAABwAAAA4AAAAPAAAADwAAAAYAAAADAAAAYAAAAAcAAAAOAAAADwAAAA8AAAAGAAAAAwAAAIAAAAAHAAAADgAAAA8AAAAPAAAABgAAAAMAAAAAAQAABwAAAA4AAAAPAAAADwAAAAcAAAADAAAAAAEAAAcAAAAOAAAADwAAAA8AAAAIAAAAAwAAAAABAAAIAAAADgAAAA8AAAAPAAAACQAAAAMAAAAAAQAACAAAAA4AAAAPAAAADwAAAAoAAAADAAAAAAEAAAgAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8A////Af///wP///8H////D////x////8/////fwEAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAAAAAAAAAAAAAAAECAwQFBgcICQoLDA0ODxAQERESEhMTFBQUFBUVFRUWFhYWFhYWFhcXFxcXFxcXGBgYGBgYGBgYGBgYGBgYGAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICAhISIiIyMkJCQkJSUlJSYmJiYmJiYmJycnJycnJycoKCgoKCgoKCgoKCgoKCgoKSkpKSkpKSkpKSkpKSkpKSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqBAADAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQACAAIAAgACAAIAAgACAAIAAgADAAIAAQABAAEAAQABAP//////////AAAAAAAAAAABAAEAAQABAAEAAQACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQD/////////////AAAAAAAAAQAEAAMAAgACAAIAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQD//////////////////wAAAAAAAAAAAAABAAAAAgAAAAQAAAAAAAAAAgAAAAQAAAAIAAAAAAAAAAEAAAACAAAACAAAAAEAAQEGAAAAAAAABAAAAAAQAAAEAAAAACAAAAUBAAAAAAAABQMAAAAAAAAFBAAAAAAAAAUGAAAAAAAABQcAAAAAAAAFCQAAAAAAAAUKAAAAAAAABQwAAAAAAAAGDgAAAAAAAQUQAAAA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AxAAAAMgAAADQAAAA4AAAAMAAQAAAAAAAAAAAAAAAAAEAAMAAgACAAIAAgACAAIAAgACAAIAAgACAAEAAQABAAIAAgACAAIAAgACAAIAAgACAAMAAgABAAEAAQABAAEA//////////8AAAAAAAAAAAEAAQABAAEAAQABAAIAAgACAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP////////////8AAAAAAAABAAQAAwACAAIAAgACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAP//////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADwAAAB8AAAA/AAAAfwAAAP8AAAD/AQAA/wMAAP8HAAD/DwAA/x8AAP8/AAD/fwAA//8AAP//AQD//wMA//8HAP//DwD//x8A//8/AP//fwD///8A////Af///wMBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACIAAAAkAAAAJgAAACgAAAAsAAAAMAAAADgAAABAAAAAUAAAAGAAAACAAAAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAASAAAAFAAAABYAAAAYAAAAHAAAACAAAAAoAAAAMAAAAEAAAACAAAAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAAAAAEABAADAAIAAgACAAIAAgACAAIAAgACAAIAAgABAAEAAQACAAIAAgACAAIAAgACAAIAAgADAAIAAQABAAEAAQABAP//////////AAAAAAAAAAABAAEAAQABAAEAAQACAAIAAgABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQD/////////////AAAAAAAAAQAEAAMAAgACAAIAAgACAAIAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQD//////////////////wAAAAAAAAgAAAAIAAAACAAAAAcAAAAIAAAACQAAAAoAAAALAAAAAAAAAAEAAAACAAAAAQAAAAQAAAAEAAAABAAAAAQAAAABAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAAAQAAAAIBAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAACYAAACCAAAAIQUAAEoAAABnCAAAJgAAAMABAACAAAAASQUAAEoAAAC+CAAAKQAAACwCAACAAAAASQUAAEoAAAC+CAAALwAAAMoCAACAAAAAigUAAEoAAACECQAANQAAAHMDAACAAAAAnQUAAEoAAACgCQAAPQAAAIEDAACAAAAA6wUAAEsAAAA+CgAARAAAAJ4DAACAAAAATQYAAEsAAACqCgAASwAAALMDAACAAAAAwQYAAE0AAAAfDQAATQAAAFMEAACAAAAAIwgAAFEAAACmDwAAVAAAAJkEAACAAAAASwkAAFcAAACxEgAAWAAAANoEAACAAAAAbwkAAF0AAAAjFAAAVAAAAEUFAACAAAAAVAoAAGoAAACMFAAAagAAAK8FAACAAAAAdgkAAHwAAABOEAAAfAAAANICAACAAAAAYwcAAJEAAACQBwAAkgAAAAEAAAACAAAAAwAAAAQAAAAHAAAACAAAAA8AAAAQAAAAHwAAACAAAAA/AAAAQAAAAH8AAACAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAHQxAAC1MwAAdDEAAFY0AACcMQAAyDMAAHgmAAAAAAAAdDEAAJg0AACcMQAA2zQAAHgmAAAAAAAAdDEAAGI1AACcMQAA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCoAADIAAAAzAAAAHgAAAAEAAAAAAAAASCoAADQAAAA1AAAANgAAADcAAAAFAAAAAQAAAAEAAAABAAAAAAAAAHAqAAA0AAAAOAAAADYAAAA3AAAABQAAAAIAAAACAAAAAgAAAAAAAACgKgAANAAAADkAAAA2AAAANwAAAAYAAAAAAAAAkCoAADQAAAA6AAAANgAAADcAAAAHAAAAAAAAACArAAA0AAAAOwAAADYAAAA3AAAACAAAAAAAAAAwKwAANAAAADwAAAA2AAAANwAAAAUAAAADAAAAAwAAAAMAAABkdW1teQByYgBsZW5ndGgAYnVmZmVyAGNvbnN0cnVjdG9yAHNldABIRUFQVTgAVmVjdG9yVTgAY2xvbmVUb1ZlY3RvcgBjbG9uZUFzVHlwZWRBcnJheQB0b1R5cGVkQXJyYXlWaWV3AFpzdGRDb21wcmVzc2lvbkRpY3QAY3JlYXRlQ29tcHJlc3Npb25EaWN0AFpzdGREZWNvbXByZXNzaW9uRGljdABjcmVhdGVEZWNvbXByZXNzaW9uRGljdABac3RkQ29kZWMAY29tcHJlc3NCb3VuZABjb250ZW50U2l6ZQBjb21wcmVzcwBkZWNvbXByZXNzAGNvbXByZXNzVXNpbmdEaWN0AGRlY29tcHJlc3NVc2luZ0RpY3QAWnN0ZENvbXByZXNzU3RyZWFtQmluZGluZwBiZWdpbgBiZWdpblVzaW5nRGljdAB0cmFuc2Zvcm0AZmx1c2gAZW5kAFpzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZwBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk4yNVpzdGRDb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVM0X0UzJF8wTlNfOWFsbG9jYXRvcklTNV9FRUZ2UktOU182dmVjdG9ySWhOUzZfSWhFRUVFRUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UktOU182dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFRUVFAFpOMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nOVRyYW5zZm9ybUVOMTBlbXNjcmlwdGVuM3ZhbEVTMV9FMyRfMABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfMU5TXzlhbGxvY2F0b3JJUzVfRUVGdlJLTlNfNnZlY3RvckloTlM2X0loRUVFRUVFRQBaTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfMQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZzNFbmRFTjEwZW1zY3JpcHRlbjN2YWxFRTMkXzJOU185YWxsb2NhdG9ySVM1X0VFRnZSS05TXzZ2ZWN0b3JJaE5TNl9JaEVFRUVFRUUAWk4yNVpzdGRDb21wcmVzc1N0cmVhbUJpbmRpbmczRW5kRU4xMGVtc2NyaXB0ZW4zdmFsRUUzJF8yAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVM0X0UzJF8zTlNfOWFsbG9jYXRvcklTNV9FRUZ2UktOU182dmVjdG9ySWhOUzZfSWhFRUVFRUVFAFpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc5VHJhbnNmb3JtRU4xMGVtc2NyaXB0ZW4zdmFsRVMxX0UzJF8zAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjdac3RkRGVjb21wcmVzc1N0cmVhbUJpbmRpbmc1Rmx1c2hFTjEwZW1zY3JpcHRlbjN2YWxFRTMkXzROU185YWxsb2NhdG9ySVM1X0VFRnZSS05TXzZ2ZWN0b3JJaE5TNl9JaEVFRUVFRUUAWk4yN1pzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZzVGbHVzaEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNABOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nM0VuZEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNU5TXzlhbGxvY2F0b3JJUzVfRUVGdlJLTlNfNnZlY3RvckloTlM2X0loRUVFRUVFRQBaTjI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nM0VuZEVOMTBlbXNjcmlwdGVuM3ZhbEVFMyRfNQBwdXNoX2JhY2sAcmVzaXplAHNpemUAZ2V0AE5TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAE5TdDNfXzIxM19fdmVjdG9yX2Jhc2VJaE5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjIwX192ZWN0b3JfYmFzZV9jb21tb25JTGIxRUVFAFBOU3QzX18yNnZlY3RvckloTlNfOWFsbG9jYXRvckloRUVFRQBQS05TdDNfXzI2dmVjdG9ySWhOU185YWxsb2NhdG9ySWhFRUVFAGlpAHYAdmkAdmlpaQB2aWlpaQBpaWkAaWlpaQBpaWlpaQAxOVpzdGRDb21wcmVzc2lvbkRpY3QAOFJlc291cmNlSTEyWlNURF9DRGljdF9zRQBQMTlac3RkQ29tcHJlc3Npb25EaWN0AFBLMTlac3RkQ29tcHJlc3Npb25EaWN0ADIxWnN0ZERlY29tcHJlc3Npb25EaWN0ADhSZXNvdXJjZUkxMlpTVERfRERpY3Rfc0UAUDIxWnN0ZERlY29tcHJlc3Npb25EaWN0AFBLMjFac3RkRGVjb21wcmVzc2lvbkRpY3QAOVpzdGRDb2RlYwBQOVpzdGRDb2RlYwBQSzlac3RkQ29kZWMAaWlpaWlpADI1WnN0ZENvbXByZXNzU3RyZWFtQmluZGluZwBQMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nAFBLMjVac3RkQ29tcHJlc3NTdHJlYW1CaW5kaW5nADI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nAFAyN1pzdGREZWNvbXByZXNzU3RyZWFtQmluZGluZwBQSzI3WnN0ZERlY29tcHJlc3NTdHJlYW1CaW5kaW5nAFBGdlAxMVpTVERfQ0N0eF9zRQBGdlAxMVpTVERfQ0N0eF9zRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lQRnZQMTFaU1REX0NDdHhfc0VOU185YWxsb2NhdG9ySVM1X0VFUzRfRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZQMTFaU1REX0NDdHhfc0VFRQBQRnZQMTFaU1REX0RDdHhfc0UARnZQMTFaU1REX0RDdHhfc0UATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJUEZ2UDExWlNURF9EQ3R4X3NFTlNfOWFsbG9jYXRvcklTNV9FRVM0X0VFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UDExWlNURF9EQ3R4X3NFRUUAUEZ2UDEyWlNURF9DRGljdF9zRQBGdlAxMlpTVERfQ0RpY3Rfc0UATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJUEZ2UDEyWlNURF9DRGljdF9zRU5TXzlhbGxvY2F0b3JJUzVfRUVTNF9FRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fYmFzZUlGdlAxMlpTVERfQ0RpY3Rfc0VFRQBQRnZQMTJaU1REX0REaWN0X3NFAEZ2UDEyWlNURF9ERGljdF9zRQBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0lQRnZQMTJaU1REX0REaWN0X3NFTlNfOWFsbG9jYXRvcklTNV9FRVM0X0VFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZ2UDEyWlNURF9ERGljdF9zRUVFAFpOMThac3RkQ29tcHJlc3NTdHJlYW01QmVnaW5FaUUzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMThac3RkQ29tcHJlc3NTdHJlYW01QmVnaW5FaUUzJF8wTlNfOWFsbG9jYXRvcklTM19FRUZtUDExWlNURF9DQ3R4X3NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRm1QMTFaU1REX0NDdHhfc0VFRQBaTjE4WnN0ZENvbXByZXNzU3RyZWFtNUJlZ2luRVJLMTlac3RkQ29tcHJlc3Npb25EaWN0RTMkXzEATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk4xOFpzdGRDb21wcmVzc1N0cmVhbTVCZWdpbkVSSzE5WnN0ZENvbXByZXNzaW9uRGljdEUzJF8xTlNfOWFsbG9jYXRvcklTNl9FRUZtUDExWlNURF9DQ3R4X3NFRUUAWk4yMFpzdGREZWNvbXByZXNzU3RyZWFtNUJlZ2luRXZFMyRfMgBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjIwWnN0ZERlY29tcHJlc3NTdHJlYW01QmVnaW5FdkUzJF8yTlNfOWFsbG9jYXRvcklTM19FRUZtUDExWlNURF9EQ3R4X3NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRm1QMTFaU1REX0RDdHhfc0VFRQBaTjIwWnN0ZERlY29tcHJlc3NTdHJlYW01QmVnaW5FUksyMVpzdGREZWNvbXByZXNzaW9uRGljdEUzJF8zAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpOMjBac3RkRGVjb21wcmVzc1N0cmVhbTVCZWdpbkVSSzIxWnN0ZERlY29tcHJlc3Npb25EaWN0RTMkXzNOU185YWxsb2NhdG9ySVM2X0VFRm1QMTFaU1REX0RDdHhfc0VFRQBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBzdGQ6OndzdHJpbmcAZW1zY3JpcHRlbjo6dmFsAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZyBkb3VibGU+AE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWVFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZkVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOAHJ3YQBzdGQ6OmJhZF9mdW5jdGlvbl9jYWxsAE5TdDNfXzIxN2JhZF9mdW5jdGlvbl9jYWxsRQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBjYW5ub3QgY3JlYXRlIHB0aHJlYWQga2V5IGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAGNhbm5vdCB6ZXJvIG91dCB0aHJlYWQgdmFsdWUgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBEbgBiAGMAaABhAHMAdABpAGoAbQBmAGQATjEwX19jeHhhYml2MTIwX19mdW5jdGlvbl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAIGNvbnN0ACB2b2xhdGlsZQAgcmVzdHJpY3QAIGNvbXBsZXgAIGltYWdpbmFyeQAgWwAgKAApACgAJiYAb2JqY19vYmplY3Q8ACoAJgBvYmpjcHJvdG8AIAA8AD4AIHZlY3RvclsAXQBwaXhlbCB2ZWN0b3JbACY9AD0ALAB+ADo6AGRlbGV0ZVtdIABkZWxldGUgAC8ALz0AXgBePQA9PQA+PQApWwA8PQA8PAA8PD0ALQAtPQAqPQAtLQApLS0AIT0AIQB8fAB8AHw9AC0+KgArACs9ACsrACkrKwApID8gKAApIDogKAAlACU9AD4+AD4+PQB0aHJvdwB0aHJvdyAAdHlwZWlkKABzaXplb2YuLi4oACwgAHNpemVvZiAoAHN0YXRpY19jYXN0PAA+KAByZWludGVycHJldF9jYXN0PAAtPgBub2V4Y2VwdCAoAFtdIAApIAAuAC4qAHN0ZDo6AG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciAAb3BlcmF0b3IgZGVsZXRlW10Ab3BlcmF0b3IqAG9wZXJhdG9yLwBvcGVyYXRvci89AG9wZXJhdG9yXgBvcGVyYXRvcl49AG9wZXJhdG9yPT0Ab3BlcmF0b3I+PQBvcGVyYXRvcj4Ab3BlcmF0b3JbXQBvcGVyYXRvcjw9AG9wZXJhdG9yIiIgAG9wZXJhdG9yPDwAb3BlcmF0b3I8PD0Ab3BlcmF0b3I8AG9wZXJhdG9yLQBvcGVyYXRvci09AG9wZXJhdG9yKj0Ab3BlcmF0b3ItLQBvcGVyYXRvciBuZXdbXQBvcGVyYXRvciE9AG9wZXJhdG9yIQBvcGVyYXRvciBuZXcAb3BlcmF0b3J8fABvcGVyYXRvcnwAb3BlcmF0b3J8PQBvcGVyYXRvci0+KgBvcGVyYXRvcisAb3BlcmF0b3IrPQBvcGVyYXRvcisrAG9wZXJhdG9yLT4Ab3BlcmF0b3I/AG9wZXJhdG9yJQBvcGVyYXRvciU9AG9wZXJhdG9yPj4Ab3BlcmF0b3I+Pj0Ab3BlcmF0b3IgZGVsZXRlACd1bm5hbWVkACdsYW1iZGEnKABzdGQ6OnN0cmluZwBzdGQ6OmJhc2ljX3N0cmluZzxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+LCBzdGQ6OmFsbG9jYXRvcjxjaGFyPiA+AGJhc2ljX3N0cmluZwBzdGQ6OmlzdHJlYW0Ac3RkOjpiYXNpY19pc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19pc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6OmJhc2ljX29zdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AGJhc2ljX29zdHJlYW0Ac3RkOjppb3N0cmVhbQBzdGQ6OmJhc2ljX2lvc3RyZWFtPGNoYXIsIHN0ZDo6Y2hhcl90cmFpdHM8Y2hhcj4gPgBiYXNpY19pb3N0cmVhbQBkeW5hbWljX2Nhc3Q8ACkoAGNvbnN0X2Nhc3Q8AGFsaWdub2YgKABmcAB3Y2hhcl90AGZhbHNlAHRydWUAY2hhcgBzaWduZWQgY2hhcgB1bnNpZ25lZCBjaGFyAHNob3J0AHVuc2lnbmVkIHNob3J0AHUAbAB1bABsbAB1bGwAX19pbnQxMjgAdW5zaWduZWQgX19pbnQxMjgAJUxhTAAlYQAlYWYAZGVjbHR5cGUoAHN0ZDo6YWxsb2NhdG9yAHN0ZDo6YmFzaWNfc3RyaW5nADo6c3RyaW5nIGxpdGVyYWwAc3RkAF9HTE9CQUxfX04AKGFub255bW91cyBuYW1lc3BhY2UpACA+AFRfAGlkADo6KgAgJgAgJiYAIFtdAHZvaWQAYm9vbABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBsb25nIGxvbmcAZmxvYXQAbG9uZyBkb3VibGUAX19mbG9hdDEyOAAuLi4AZGVjaW1hbDY0AGRlY2ltYWwxMjgAZGVjaW1hbDMyAGRlY2ltYWwxNgBjaGFyMzJfdABjaGFyMTZfdABhdXRvAHN0ZDo6bnVsbHB0cl90AGRvdWJsZQB1bnNpZ25lZCBsb25nIGxvbmcAX2Jsb2NrX2ludm9rZQBpbnZvY2F0aW9uIGZ1bmN0aW9uIGZvciBibG9jayBpbiAAdnRhYmxlIGZvciAAVlRUIGZvciAAdHlwZWluZm8gZm9yIAB0eXBlaW5mbyBuYW1lIGZvciAAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAY29uc3RydWN0aW9uIHZ0YWJsZSBmb3IgAC1pbi0AdmlydHVhbCB0aHVuayB0byAAbm9uLXZpcnR1YWwgdGh1bmsgdG8gAGd1YXJkIHZhcmlhYmxlIGZvciAAcmVmZXJlbmNlIHRlbXBvcmFyeSBmb3Ig";
- var tempDoublePtr = STATICTOP;
- STATICTOP += 16;
- function ___cxa_allocate_exception(size) {
- return _malloc(size);
- }
- function __ZSt18uncaught_exceptionv() {
- return !!__ZSt18uncaught_exceptionv.uncaught_exception;
- }
- var EXCEPTIONS = {
- last: 0,
- caught: [],
- infos: {},
- deAdjust: function deAdjust(adjusted) {
- if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted;
- for (var key in EXCEPTIONS.infos) {
- var ptr = +key;
- var info = EXCEPTIONS.infos[ptr];
- if (info.adjusted === adjusted) {
- return ptr;
- }
- }
- return adjusted;
- },
- addRef: function addRef(ptr) {
- if (!ptr) return;
- var info = EXCEPTIONS.infos[ptr];
- info.refcount++;
- },
- decRef: function decRef(ptr) {
- if (!ptr) return;
- var info = EXCEPTIONS.infos[ptr];
- assert(info.refcount > 0);
- info.refcount--;
- if (info.refcount === 0 && !info.rethrown) {
- if (info.destructor) {
- Module["dynCall_vi"](info.destructor, ptr);
- }
- delete EXCEPTIONS.infos[ptr];
- ___cxa_free_exception(ptr);
- }
- },
- clearRef: function clearRef(ptr) {
- if (!ptr) return;
- var info = EXCEPTIONS.infos[ptr];
- info.refcount = 0;
- },
- };
- function ___cxa_begin_catch(ptr) {
- var info = EXCEPTIONS.infos[ptr];
- if (info && !info.caught) {
- info.caught = true;
- __ZSt18uncaught_exceptionv.uncaught_exception--;
- }
- if (info) info.rethrown = false;
- EXCEPTIONS.caught.push(ptr);
- EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));
- return ptr;
- }
- function ___resumeException(ptr) {
- if (!EXCEPTIONS.last) {
- EXCEPTIONS.last = ptr;
- }
- throw (
- ptr +
- " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."
- );
- }
- function ___cxa_find_matching_catch() {
- var thrown = EXCEPTIONS.last;
- if (!thrown) {
- return (setTempRet0(0), 0) | 0;
- }
- var info = EXCEPTIONS.infos[thrown];
- var throwntype = info.type;
- if (!throwntype) {
- return (setTempRet0(0), thrown) | 0;
- }
- var typeArray = Array.prototype.slice.call(arguments);
- var pointer = Module["___cxa_is_pointer_type"](throwntype);
- if (!___cxa_find_matching_catch.buffer)
- ___cxa_find_matching_catch.buffer = _malloc(4);
- HEAP32[___cxa_find_matching_catch.buffer >> 2] = thrown;
- thrown = ___cxa_find_matching_catch.buffer;
- for (var i = 0; i < typeArray.length; i++) {
- if (
- typeArray[i] &&
- Module["___cxa_can_catch"](typeArray[i], throwntype, thrown)
- ) {
- thrown = HEAP32[thrown >> 2];
- info.adjusted = thrown;
- return (setTempRet0(typeArray[i]), thrown) | 0;
- }
- }
- thrown = HEAP32[thrown >> 2];
- return (setTempRet0(throwntype), thrown) | 0;
- }
- function ___cxa_throw(ptr, type, destructor) {
- EXCEPTIONS.infos[ptr] = {
- ptr: ptr,
- adjusted: ptr,
- type: type,
- destructor: destructor,
- refcount: 0,
- caught: false,
- rethrown: false,
- };
- EXCEPTIONS.last = ptr;
- if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
- __ZSt18uncaught_exceptionv.uncaught_exception = 1;
- } else {
- __ZSt18uncaught_exceptionv.uncaught_exception++;
- }
- throw (
- ptr +
- " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."
- );
- }
- function ___gxx_personality_v0() {}
- function ___lock() {}
- var ERRNO_CODES = {
- EPERM: 1,
- ENOENT: 2,
- ESRCH: 3,
- EINTR: 4,
- EIO: 5,
- ENXIO: 6,
- E2BIG: 7,
- ENOEXEC: 8,
- EBADF: 9,
- ECHILD: 10,
- EAGAIN: 11,
- EWOULDBLOCK: 11,
- ENOMEM: 12,
- EACCES: 13,
- EFAULT: 14,
- ENOTBLK: 15,
- EBUSY: 16,
- EEXIST: 17,
- EXDEV: 18,
- ENODEV: 19,
- ENOTDIR: 20,
- EISDIR: 21,
- EINVAL: 22,
- ENFILE: 23,
- EMFILE: 24,
- ENOTTY: 25,
- ETXTBSY: 26,
- EFBIG: 27,
- ENOSPC: 28,
- ESPIPE: 29,
- EROFS: 30,
- EMLINK: 31,
- EPIPE: 32,
- EDOM: 33,
- ERANGE: 34,
- ENOMSG: 42,
- EIDRM: 43,
- ECHRNG: 44,
- EL2NSYNC: 45,
- EL3HLT: 46,
- EL3RST: 47,
- ELNRNG: 48,
- EUNATCH: 49,
- ENOCSI: 50,
- EL2HLT: 51,
- EDEADLK: 35,
- ENOLCK: 37,
- EBADE: 52,
- EBADR: 53,
- EXFULL: 54,
- ENOANO: 55,
- EBADRQC: 56,
- EBADSLT: 57,
- EDEADLOCK: 35,
- EBFONT: 59,
- ENOSTR: 60,
- ENODATA: 61,
- ETIME: 62,
- ENOSR: 63,
- ENONET: 64,
- ENOPKG: 65,
- EREMOTE: 66,
- ENOLINK: 67,
- EADV: 68,
- ESRMNT: 69,
- ECOMM: 70,
- EPROTO: 71,
- EMULTIHOP: 72,
- EDOTDOT: 73,
- EBADMSG: 74,
- ENOTUNIQ: 76,
- EBADFD: 77,
- EREMCHG: 78,
- ELIBACC: 79,
- ELIBBAD: 80,
- ELIBSCN: 81,
- ELIBMAX: 82,
- ELIBEXEC: 83,
- ENOSYS: 38,
- ENOTEMPTY: 39,
- ENAMETOOLONG: 36,
- ELOOP: 40,
- EOPNOTSUPP: 95,
- EPFNOSUPPORT: 96,
- ECONNRESET: 104,
- ENOBUFS: 105,
- EAFNOSUPPORT: 97,
- EPROTOTYPE: 91,
- ENOTSOCK: 88,
- ENOPROTOOPT: 92,
- ESHUTDOWN: 108,
- ECONNREFUSED: 111,
- EADDRINUSE: 98,
- ECONNABORTED: 103,
- ENETUNREACH: 101,
- ENETDOWN: 100,
- ETIMEDOUT: 110,
- EHOSTDOWN: 112,
- EHOSTUNREACH: 113,
- EINPROGRESS: 115,
- EALREADY: 114,
- EDESTADDRREQ: 89,
- EMSGSIZE: 90,
- EPROTONOSUPPORT: 93,
- ESOCKTNOSUPPORT: 94,
- EADDRNOTAVAIL: 99,
- ENETRESET: 102,
- EISCONN: 106,
- ENOTCONN: 107,
- ETOOMANYREFS: 109,
- EUSERS: 87,
- EDQUOT: 122,
- ESTALE: 116,
- ENOTSUP: 95,
- ENOMEDIUM: 123,
- EILSEQ: 84,
- EOVERFLOW: 75,
- ECANCELED: 125,
- ENOTRECOVERABLE: 131,
- EOWNERDEAD: 130,
- ESTRPIPE: 86,
- };
- var ERRNO_MESSAGES = {
- 0: "Success",
- 1: "Not super-user",
- 2: "No such file or directory",
- 3: "No such process",
- 4: "Interrupted system call",
- 5: "I/O error",
- 6: "No such device or address",
- 7: "Arg list too long",
- 8: "Exec format error",
- 9: "Bad file number",
- 10: "No children",
- 11: "No more processes",
- 12: "Not enough core",
- 13: "Permission denied",
- 14: "Bad address",
- 15: "Block device required",
- 16: "Mount device busy",
- 17: "File exists",
- 18: "Cross-device link",
- 19: "No such device",
- 20: "Not a directory",
- 21: "Is a directory",
- 22: "Invalid argument",
- 23: "Too many open files in system",
- 24: "Too many open files",
- 25: "Not a typewriter",
- 26: "Text file busy",
- 27: "File too large",
- 28: "No space left on device",
- 29: "Illegal seek",
- 30: "Read only file system",
- 31: "Too many links",
- 32: "Broken pipe",
- 33: "Math arg out of domain of func",
- 34: "Math result not representable",
- 35: "File locking deadlock error",
- 36: "File or path name too long",
- 37: "No record locks available",
- 38: "Function not implemented",
- 39: "Directory not empty",
- 40: "Too many symbolic links",
- 42: "No message of desired type",
- 43: "Identifier removed",
- 44: "Channel number out of range",
- 45: "Level 2 not synchronized",
- 46: "Level 3 halted",
- 47: "Level 3 reset",
- 48: "Link number out of range",
- 49: "Protocol driver not attached",
- 50: "No CSI structure available",
- 51: "Level 2 halted",
- 52: "Invalid exchange",
- 53: "Invalid request descriptor",
- 54: "Exchange full",
- 55: "No anode",
- 56: "Invalid request code",
- 57: "Invalid slot",
- 59: "Bad font file fmt",
- 60: "Device not a stream",
- 61: "No data (for no delay io)",
- 62: "Timer expired",
- 63: "Out of streams resources",
- 64: "Machine is not on the network",
- 65: "Package not installed",
- 66: "The object is remote",
- 67: "The link has been severed",
- 68: "Advertise error",
- 69: "Srmount error",
- 70: "Communication error on send",
- 71: "Protocol error",
- 72: "Multihop attempted",
- 73: "Cross mount point (not really error)",
- 74: "Trying to read unreadable message",
- 75: "Value too large for defined data type",
- 76: "Given log. name not unique",
- 77: "f.d. invalid for this operation",
- 78: "Remote address changed",
- 79: "Can access a needed shared lib",
- 80: "Accessing a corrupted shared lib",
- 81: ".lib section in a.out corrupted",
- 82: "Attempting to link in too many libs",
- 83: "Attempting to exec a shared library",
- 84: "Illegal byte sequence",
- 86: "Streams pipe error",
- 87: "Too many users",
- 88: "Socket operation on non-socket",
- 89: "Destination address required",
- 90: "Message too long",
- 91: "Protocol wrong type for socket",
- 92: "Protocol not available",
- 93: "Unknown protocol",
- 94: "Socket type not supported",
- 95: "Not supported",
- 96: "Protocol family not supported",
- 97: "Address family not supported by protocol family",
- 98: "Address already in use",
- 99: "Address not available",
- 100: "Network interface is not configured",
- 101: "Network is unreachable",
- 102: "Connection reset by network",
- 103: "Connection aborted",
- 104: "Connection reset by peer",
- 105: "No buffer space available",
- 106: "Socket is already connected",
- 107: "Socket is not connected",
- 108: "Can't send after socket shutdown",
- 109: "Too many references",
- 110: "Connection timed out",
- 111: "Connection refused",
- 112: "Host is down",
- 113: "Host is unreachable",
- 114: "Socket already connected",
- 115: "Connection already in progress",
- 116: "Stale file handle",
- 122: "Quota exceeded",
- 123: "No medium (in tape drive)",
- 125: "Operation canceled",
- 130: "Previous owner died",
- 131: "State not recoverable",
- };
- function ___setErrNo(value) {
- if (Module["___errno_location"])
- HEAP32[Module["___errno_location"]() >> 2] = value;
- return value;
- }
- var PATH = {
- splitPath: function splitPath(filename) {
- var splitPathRe =
- /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
- return splitPathRe.exec(filename).slice(1);
- },
- normalizeArray: function normalizeArray(parts, allowAboveRoot) {
- var up = 0;
- for (var i = parts.length - 1; i >= 0; i--) {
- var last = parts[i];
- if (last === ".") {
- parts.splice(i, 1);
- } else if (last === "..") {
- parts.splice(i, 1);
- up++;
- } else if (up) {
- parts.splice(i, 1);
- up--;
- }
- }
- if (allowAboveRoot) {
- for (; up; up--) {
- parts.unshift("..");
- }
- }
- return parts;
- },
- normalize: function normalize(path) {
- var isAbsolute = path.charAt(0) === "/",
- trailingSlash = path.substr(-1) === "/";
- path = PATH.normalizeArray(
- path.split("/").filter(function (p) {
- return !!p;
- }),
- !isAbsolute
- ).join("/");
- if (!path && !isAbsolute) {
- path = ".";
- }
- if (path && trailingSlash) {
- path += "/";
- }
- return (isAbsolute ? "/" : "") + path;
- },
- dirname: function dirname(path) {
- var result = PATH.splitPath(path),
- root = result[0],
- dir = result[1];
- if (!root && !dir) {
- return ".";
- }
- if (dir) {
- dir = dir.substr(0, dir.length - 1);
- }
- return root + dir;
- },
- basename: function basename(path) {
- if (path === "/") return "/";
- var lastSlash = path.lastIndexOf("/");
- if (lastSlash === -1) return path;
- return path.substr(lastSlash + 1);
- },
- extname: function extname(path) {
- return PATH.splitPath(path)[3];
- },
- join: function join() {
- var paths = Array.prototype.slice.call(arguments, 0);
- return PATH.normalize(paths.join("/"));
- },
- join2: function join2(l, r) {
- return PATH.normalize(l + "/" + r);
- },
- resolve: function resolve() {
- var resolvedPath = "",
- resolvedAbsolute = false;
- for (
- var i = arguments.length - 1;
- i >= -1 && !resolvedAbsolute;
- i--
- ) {
- var path = i >= 0 ? arguments[i] : FS.cwd();
- if (typeof path !== "string") {
- throw new TypeError(
- "Arguments to path.resolve must be strings"
- );
- } else if (!path) {
- return "";
- }
- resolvedPath = path + "/" + resolvedPath;
- resolvedAbsolute = path.charAt(0) === "/";
- }
- resolvedPath = PATH.normalizeArray(
- resolvedPath.split("/").filter(function (p) {
- return !!p;
- }),
- !resolvedAbsolute
- ).join("/");
- return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
- },
- relative: function relative(from, to) {
- from = PATH.resolve(from).substr(1);
- to = PATH.resolve(to).substr(1);
- function trim(arr) {
- var start = 0;
- for (; start < arr.length; start++) {
- if (arr[start] !== "") break;
- }
- var end = arr.length - 1;
- for (; end >= 0; end--) {
- if (arr[end] !== "") break;
- }
- if (start > end) return [];
- return arr.slice(start, end - start + 1);
- }
- var fromParts = trim(from.split("/"));
- var toParts = trim(to.split("/"));
- var length = Math.min(fromParts.length, toParts.length);
- var samePartsLength = length;
- for (var i = 0; i < length; i++) {
- if (fromParts[i] !== toParts[i]) {
- samePartsLength = i;
- break;
- }
- }
- var outputParts = [];
- for (var i = samePartsLength; i < fromParts.length; i++) {
- outputParts.push("..");
- }
- outputParts = outputParts.concat(
- toParts.slice(samePartsLength)
- );
- return outputParts.join("/");
- },
- };
- var TTY = {
- ttys: [],
- init: function init() {},
- shutdown: function shutdown() {},
- register: function register(dev, ops) {
- TTY.ttys[dev] = { input: [], output: [], ops: ops };
- FS.registerDevice(dev, TTY.stream_ops);
- },
- stream_ops: {
- open: function open(stream) {
- var tty = TTY.ttys[stream.node.rdev];
- if (!tty) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- stream.tty = tty;
- stream.seekable = false;
- },
- close: function close(stream) {
- stream.tty.ops.flush(stream.tty);
- },
- flush: function flush(stream) {
- stream.tty.ops.flush(stream.tty);
- },
- read: function read(stream, buffer, offset, length, pos) {
- if (!stream.tty || !stream.tty.ops.get_char) {
- throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
- }
- var bytesRead = 0;
- for (var i = 0; i < length; i++) {
- var result;
- try {
- result = stream.tty.ops.get_char(stream.tty);
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- if (result === undefined && bytesRead === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
- }
- if (result === null || result === undefined) break;
- bytesRead++;
- buffer[offset + i] = result;
- }
- if (bytesRead) {
- stream.node.timestamp = Date.now();
- }
- return bytesRead;
- },
- write: function write(stream, buffer, offset, length, pos) {
- if (!stream.tty || !stream.tty.ops.put_char) {
- throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
- }
- for (var i = 0; i < length; i++) {
- try {
- stream.tty.ops.put_char(stream.tty, buffer[offset + i]);
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- }
- if (length) {
- stream.node.timestamp = Date.now();
- }
- return i;
- },
- },
- default_tty_ops: {
- get_char: function get_char(tty) {
- if (!tty.input.length) {
- var result = null;
- if (ENVIRONMENT_IS_NODE) {
- var BUFSIZE = 256;
- var buf = new Buffer(BUFSIZE);
- var bytesRead = 0;
- var isPosixPlatform = process.platform != "win32";
- var fd = process.stdin.fd;
- if (isPosixPlatform) {
- var usingDevice = false;
- try {
- fd = fs.openSync("/dev/stdin", "r");
- usingDevice = true;
- } catch (e) {}
- }
- try {
- bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
- } catch (e) {
- if (e.toString().indexOf("EOF") != -1) bytesRead = 0;
- else throw e;
- }
- if (usingDevice) {
- fs.closeSync(fd);
- }
- if (bytesRead > 0) {
- result = buf.slice(0, bytesRead).toString("utf-8");
- } else {
- result = null;
- }
- } else if (
- typeof window != "undefined" &&
- typeof window.prompt == "function"
- ) {
- result = window.prompt("Input: ");
- if (result !== null) {
- result += "\n";
- }
- } else if (typeof readline == "function") {
- result = readline();
- if (result !== null) {
- result += "\n";
- }
- }
- if (!result) {
- return null;
- }
- tty.input = intArrayFromString(result, true);
- }
- return tty.input.shift();
- },
- put_char: function put_char(tty, val) {
- if (val === null || val === 10) {
- out(UTF8ArrayToString(tty.output, 0));
- tty.output = [];
- } else {
- if (val != 0) tty.output.push(val);
- }
- },
- flush: function flush(tty) {
- if (tty.output && tty.output.length > 0) {
- out(UTF8ArrayToString(tty.output, 0));
- tty.output = [];
- }
- },
- },
- default_tty1_ops: {
- put_char: function put_char(tty, val) {
- if (val === null || val === 10) {
- err(UTF8ArrayToString(tty.output, 0));
- tty.output = [];
- } else {
- if (val != 0) tty.output.push(val);
- }
- },
- flush: function flush(tty) {
- if (tty.output && tty.output.length > 0) {
- err(UTF8ArrayToString(tty.output, 0));
- tty.output = [];
- }
- },
- },
- };
- var MEMFS = {
- ops_table: null,
- mount: function mount(_mount) {
- return MEMFS.createNode(null, "/", 16384 | 511, 0);
- },
- createNode: function createNode(parent, name, mode, dev) {
- if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (!MEMFS.ops_table) {
- MEMFS.ops_table = {
- dir: {
- node: {
- getattr: MEMFS.node_ops.getattr,
- setattr: MEMFS.node_ops.setattr,
- lookup: MEMFS.node_ops.lookup,
- mknod: MEMFS.node_ops.mknod,
- rename: MEMFS.node_ops.rename,
- unlink: MEMFS.node_ops.unlink,
- rmdir: MEMFS.node_ops.rmdir,
- readdir: MEMFS.node_ops.readdir,
- symlink: MEMFS.node_ops.symlink,
- },
- stream: { llseek: MEMFS.stream_ops.llseek },
- },
- file: {
- node: {
- getattr: MEMFS.node_ops.getattr,
- setattr: MEMFS.node_ops.setattr,
- },
- stream: {
- llseek: MEMFS.stream_ops.llseek,
- read: MEMFS.stream_ops.read,
- write: MEMFS.stream_ops.write,
- allocate: MEMFS.stream_ops.allocate,
- mmap: MEMFS.stream_ops.mmap,
- msync: MEMFS.stream_ops.msync,
- },
- },
- link: {
- node: {
- getattr: MEMFS.node_ops.getattr,
- setattr: MEMFS.node_ops.setattr,
- readlink: MEMFS.node_ops.readlink,
- },
- stream: {},
- },
- chrdev: {
- node: {
- getattr: MEMFS.node_ops.getattr,
- setattr: MEMFS.node_ops.setattr,
- },
- stream: FS.chrdev_stream_ops,
- },
- };
- }
- var node = FS.createNode(parent, name, mode, dev);
- if (FS.isDir(node.mode)) {
- node.node_ops = MEMFS.ops_table.dir.node;
- node.stream_ops = MEMFS.ops_table.dir.stream;
- node.contents = {};
- } else if (FS.isFile(node.mode)) {
- node.node_ops = MEMFS.ops_table.file.node;
- node.stream_ops = MEMFS.ops_table.file.stream;
- node.usedBytes = 0;
- node.contents = null;
- } else if (FS.isLink(node.mode)) {
- node.node_ops = MEMFS.ops_table.link.node;
- node.stream_ops = MEMFS.ops_table.link.stream;
- } else if (FS.isChrdev(node.mode)) {
- node.node_ops = MEMFS.ops_table.chrdev.node;
- node.stream_ops = MEMFS.ops_table.chrdev.stream;
- }
- node.timestamp = Date.now();
- if (parent) {
- parent.contents[name] = node;
- }
- return node;
- },
- getFileDataAsRegularArray: function getFileDataAsRegularArray(
- node
- ) {
- if (node.contents && node.contents.subarray) {
- var arr = [];
- for (var i = 0; i < node.usedBytes; ++i) {
- arr.push(node.contents[i]);
- }
- return arr;
- }
- return node.contents;
- },
- getFileDataAsTypedArray: function getFileDataAsTypedArray(
- node
- ) {
- if (!node.contents) return new Uint8Array();
- if (node.contents.subarray)
- return node.contents.subarray(0, node.usedBytes);
- return new Uint8Array(node.contents);
- },
- expandFileStorage: function expandFileStorage(
- node,
- newCapacity
- ) {
- if (
- node.contents &&
- node.contents.subarray &&
- newCapacity > node.contents.length
- ) {
- node.contents = MEMFS.getFileDataAsRegularArray(node);
- node.usedBytes = node.contents.length;
- }
- if (!node.contents || node.contents.subarray) {
- var prevCapacity = node.contents ? node.contents.length : 0;
- if (prevCapacity >= newCapacity) return;
- var CAPACITY_DOUBLING_MAX = 1024 * 1024;
- newCapacity = Math.max(
- newCapacity,
- (prevCapacity *
- (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) |
- 0
- );
- if (prevCapacity != 0)
- newCapacity = Math.max(newCapacity, 256);
- var oldContents = node.contents;
- node.contents = new Uint8Array(newCapacity);
- if (node.usedBytes > 0)
- node.contents.set(
- oldContents.subarray(0, node.usedBytes),
- 0
- );
- return;
- }
- if (!node.contents && newCapacity > 0) node.contents = [];
- while (node.contents.length < newCapacity) {
- node.contents.push(0);
- }
- },
- resizeFileStorage: function resizeFileStorage(node, newSize) {
- if (node.usedBytes == newSize) return;
- if (newSize == 0) {
- node.contents = null;
- node.usedBytes = 0;
- return;
- }
- if (!node.contents || node.contents.subarray) {
- var oldContents = node.contents;
- node.contents = new Uint8Array(new ArrayBuffer(newSize));
- if (oldContents) {
- node.contents.set(
- oldContents.subarray(
- 0,
- Math.min(newSize, node.usedBytes)
- )
- );
- }
- node.usedBytes = newSize;
- return;
- }
- if (!node.contents) node.contents = [];
- if (node.contents.length > newSize)
- node.contents.length = newSize;
- else
- while (node.contents.length < newSize) {
- node.contents.push(0);
- }
- node.usedBytes = newSize;
- },
- node_ops: {
- getattr: function getattr(node) {
- var attr = {};
- attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
- attr.ino = node.id;
- attr.mode = node.mode;
- attr.nlink = 1;
- attr.uid = 0;
- attr.gid = 0;
- attr.rdev = node.rdev;
- if (FS.isDir(node.mode)) {
- attr.size = 4096;
- } else if (FS.isFile(node.mode)) {
- attr.size = node.usedBytes;
- } else if (FS.isLink(node.mode)) {
- attr.size = node.link.length;
- } else {
- attr.size = 0;
- }
- attr.atime = new Date(node.timestamp);
- attr.mtime = new Date(node.timestamp);
- attr.ctime = new Date(node.timestamp);
- attr.blksize = 4096;
- attr.blocks = Math.ceil(attr.size / attr.blksize);
- return attr;
- },
- setattr: function setattr(node, attr) {
- if (attr.mode !== undefined) {
- node.mode = attr.mode;
- }
- if (attr.timestamp !== undefined) {
- node.timestamp = attr.timestamp;
- }
- if (attr.size !== undefined) {
- MEMFS.resizeFileStorage(node, attr.size);
- }
- },
- lookup: function lookup(parent, name) {
- throw FS.genericErrors[ERRNO_CODES.ENOENT];
- },
- mknod: function mknod(parent, name, mode, dev) {
- return MEMFS.createNode(parent, name, mode, dev);
- },
- rename: function rename(old_node, new_dir, new_name) {
- if (FS.isDir(old_node.mode)) {
- var new_node;
- try {
- new_node = FS.lookupNode(new_dir, new_name);
- } catch (e) {}
- if (new_node) {
- for (var i in new_node.contents) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
- }
- }
- }
- delete old_node.parent.contents[old_node.name];
- old_node.name = new_name;
- new_dir.contents[new_name] = old_node;
- old_node.parent = new_dir;
- },
- unlink: function unlink(parent, name) {
- delete parent.contents[name];
- },
- rmdir: function rmdir(parent, name) {
- var node = FS.lookupNode(parent, name);
- for (var i in node.contents) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
- }
- delete parent.contents[name];
- },
- readdir: function readdir(node) {
- var entries = [".", ".."];
- for (var key in node.contents) {
- if (!node.contents.hasOwnProperty(key)) {
- continue;
- }
- entries.push(key);
- }
- return entries;
- },
- symlink: function symlink(parent, newname, oldpath) {
- var node = MEMFS.createNode(
- parent,
- newname,
- 511 | 40960,
- 0
- );
- node.link = oldpath;
- return node;
- },
- readlink: function readlink(node) {
- if (!FS.isLink(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return node.link;
- },
- },
- stream_ops: {
- read: function read(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- var contents = stream.node.contents;
- if (position >= stream.node.usedBytes) return 0;
- var size = Math.min(
- stream.node.usedBytes - position,
- length
- );
- assert(size >= 0);
- if (size > 8 && contents.subarray) {
- buffer.set(
- contents.subarray(position, position + size),
- offset
- );
- } else {
- for (var i = 0; i < size; i++) {
- buffer[offset + i] = contents[position + i];
- }
- }
- return size;
- },
- write: function write(
- stream,
- buffer,
- offset,
- length,
- position,
- canOwn
- ) {
- if (!length) return 0;
- var node = stream.node;
- node.timestamp = Date.now();
- if (
- buffer.subarray &&
- (!node.contents || node.contents.subarray)
- ) {
- if (canOwn) {
- node.contents = buffer.subarray(
- offset,
- offset + length
- );
- node.usedBytes = length;
- return length;
- } else if (node.usedBytes === 0 && position === 0) {
- node.contents = new Uint8Array(
- buffer.subarray(offset, offset + length)
- );
- node.usedBytes = length;
- return length;
- } else if (position + length <= node.usedBytes) {
- node.contents.set(
- buffer.subarray(offset, offset + length),
- position
- );
- return length;
- }
- }
- MEMFS.expandFileStorage(node, position + length);
- if (node.contents.subarray && buffer.subarray)
- node.contents.set(
- buffer.subarray(offset, offset + length),
- position
- );
- else {
- for (var i = 0; i < length; i++) {
- node.contents[position + i] = buffer[offset + i];
- }
- }
- node.usedBytes = Math.max(
- node.usedBytes,
- position + length
- );
- return length;
- },
- llseek: function llseek(stream, offset, whence) {
- var position = offset;
- if (whence === 1) {
- position += stream.position;
- } else if (whence === 2) {
- if (FS.isFile(stream.node.mode)) {
- position += stream.node.usedBytes;
- }
- }
- if (position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return position;
- },
- allocate: function allocate(stream, offset, length) {
- MEMFS.expandFileStorage(stream.node, offset + length);
- stream.node.usedBytes = Math.max(
- stream.node.usedBytes,
- offset + length
- );
- },
- mmap: function mmap(
- stream,
- buffer,
- offset,
- length,
- position,
- prot,
- flags
- ) {
- if (!FS.isFile(stream.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- var ptr;
- var allocated;
- var contents = stream.node.contents;
- if (
- !(flags & 2) &&
- (contents.buffer === buffer ||
- contents.buffer === buffer.buffer)
- ) {
- allocated = false;
- ptr = contents.byteOffset;
- } else {
- if (
- position > 0 ||
- position + length < stream.node.usedBytes
- ) {
- if (contents.subarray) {
- contents = contents.subarray(
- position,
- position + length
- );
- } else {
- contents = Array.prototype.slice.call(
- contents,
- position,
- position + length
- );
- }
- }
- allocated = true;
- ptr = _malloc(length);
- if (!ptr) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
- }
- buffer.set(contents, ptr);
- }
- return { ptr: ptr, allocated: allocated };
- },
- msync: function msync(
- stream,
- buffer,
- offset,
- length,
- mmapFlags
- ) {
- if (!FS.isFile(stream.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- if (mmapFlags & 2) {
- return 0;
- }
- var bytesWritten = MEMFS.stream_ops.write(
- stream,
- buffer,
- 0,
- length,
- offset,
- false
- );
- return 0;
- },
- },
- };
- var IDBFS = {
- dbs: {},
- indexedDB: (function (_indexedDB) {
- function indexedDB() {
- return _indexedDB.apply(this, arguments);
- }
- indexedDB.toString = function () {
- return _indexedDB.toString();
- };
- return indexedDB;
- })(function () {
- if (typeof indexedDB !== "undefined") return indexedDB;
- var ret = null;
- if (
- (typeof window === "undefined"
- ? "undefined"
- : _typeof(window)) === "object"
- )
- ret =
- window.indexedDB ||
- window.mozIndexedDB ||
- window.webkitIndexedDB ||
- window.msIndexedDB;
- assert(ret, "IDBFS used, but indexedDB not supported");
- return ret;
- }),
- DB_VERSION: 21,
- DB_STORE_NAME: "FILE_DATA",
- mount: function mount(_mount2) {
- return MEMFS.mount.apply(null, arguments);
- },
- syncfs: function syncfs(mount, populate, callback) {
- IDBFS.getLocalSet(mount, function (err, local) {
- if (err) return callback(err);
- IDBFS.getRemoteSet(mount, function (err, remote) {
- if (err) return callback(err);
- var src = populate ? remote : local;
- var dst = populate ? local : remote;
- IDBFS.reconcile(src, dst, callback);
- });
- });
- },
- getDB: function getDB(name, callback) {
- var db = IDBFS.dbs[name];
- if (db) {
- return callback(null, db);
- }
- var req;
- try {
- req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
- } catch (e) {
- return callback(e);
- }
- if (!req) {
- return callback("Unable to connect to IndexedDB");
- }
- req.onupgradeneeded = function (e) {
- var db = e.target.result;
- var transaction = e.target.transaction;
- var fileStore;
- if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
- fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
- } else {
- fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
- }
- if (!fileStore.indexNames.contains("timestamp")) {
- fileStore.createIndex("timestamp", "timestamp", {
- unique: false,
- });
- }
- };
- req.onsuccess = function () {
- db = req.result;
- IDBFS.dbs[name] = db;
- callback(null, db);
- };
- req.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- },
- getLocalSet: function getLocalSet(mount, callback) {
- var entries = {};
- function isRealDir(p) {
- return p !== "." && p !== "..";
- }
- function toAbsolute(root) {
- return function (p) {
- return PATH.join2(root, p);
- };
- }
- var check = FS.readdir(mount.mountpoint)
- .filter(isRealDir)
- .map(toAbsolute(mount.mountpoint));
- while (check.length) {
- var path = check.pop();
- var stat;
- try {
- stat = FS.stat(path);
- } catch (e) {
- return callback(e);
- }
- if (FS.isDir(stat.mode)) {
- check.push.apply(
- check,
- FS.readdir(path).filter(isRealDir).map(toAbsolute(path))
- );
- }
- entries[path] = { timestamp: stat.mtime };
- }
- return callback(null, { type: "local", entries: entries });
- },
- getRemoteSet: function getRemoteSet(mount, callback) {
- var entries = {};
- IDBFS.getDB(mount.mountpoint, function (err, db) {
- if (err) return callback(err);
- try {
- var transaction = db.transaction(
- [IDBFS.DB_STORE_NAME],
- "readonly"
- );
- transaction.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
- var index = store.index("timestamp");
- index.openKeyCursor().onsuccess = function (event) {
- var cursor = event.target.result;
- if (!cursor) {
- return callback(null, {
- type: "remote",
- db: db,
- entries: entries,
- });
- }
- entries[cursor.primaryKey] = { timestamp: cursor.key };
- cursor.continue();
- };
- } catch (e) {
- return callback(e);
- }
- });
- },
- loadLocalEntry: function loadLocalEntry(path, callback) {
- var stat, node;
- try {
- var lookup = FS.lookupPath(path);
- node = lookup.node;
- stat = FS.stat(path);
- } catch (e) {
- return callback(e);
- }
- if (FS.isDir(stat.mode)) {
- return callback(null, {
- timestamp: stat.mtime,
- mode: stat.mode,
- });
- } else if (FS.isFile(stat.mode)) {
- node.contents = MEMFS.getFileDataAsTypedArray(node);
- return callback(null, {
- timestamp: stat.mtime,
- mode: stat.mode,
- contents: node.contents,
- });
- } else {
- return callback(new Error("node type not supported"));
- }
- },
- storeLocalEntry: function storeLocalEntry(
- path,
- entry,
- callback
- ) {
- try {
- if (FS.isDir(entry.mode)) {
- FS.mkdir(path, entry.mode);
- } else if (FS.isFile(entry.mode)) {
- FS.writeFile(path, entry.contents, { canOwn: true });
- } else {
- return callback(new Error("node type not supported"));
- }
- FS.chmod(path, entry.mode);
- FS.utime(path, entry.timestamp, entry.timestamp);
- } catch (e) {
- return callback(e);
- }
- callback(null);
- },
- removeLocalEntry: function removeLocalEntry(path, callback) {
- try {
- var lookup = FS.lookupPath(path);
- var stat = FS.stat(path);
- if (FS.isDir(stat.mode)) {
- FS.rmdir(path);
- } else if (FS.isFile(stat.mode)) {
- FS.unlink(path);
- }
- } catch (e) {
- return callback(e);
- }
- callback(null);
- },
- loadRemoteEntry: function loadRemoteEntry(
- store,
- path,
- callback
- ) {
- var req = store.get(path);
- req.onsuccess = function (event) {
- callback(null, event.target.result);
- };
- req.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- },
- storeRemoteEntry: function storeRemoteEntry(
- store,
- path,
- entry,
- callback
- ) {
- var req = store.put(entry, path);
- req.onsuccess = function () {
- callback(null);
- };
- req.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- },
- removeRemoteEntry: function removeRemoteEntry(
- store,
- path,
- callback
- ) {
- var req = store.delete(path);
- req.onsuccess = function () {
- callback(null);
- };
- req.onerror = function (e) {
- callback(this.error);
- e.preventDefault();
- };
- },
- reconcile: function reconcile(src, dst, callback) {
- var total = 0;
- var create = [];
- Object.keys(src.entries).forEach(function (key) {
- var e = src.entries[key];
- var e2 = dst.entries[key];
- if (!e2 || e.timestamp > e2.timestamp) {
- create.push(key);
- total++;
- }
- });
- var remove = [];
- Object.keys(dst.entries).forEach(function (key) {
- var e = dst.entries[key];
- var e2 = src.entries[key];
- if (!e2) {
- remove.push(key);
- total++;
- }
- });
- if (!total) {
- return callback(null);
- }
- var completed = 0;
- var db = src.type === "remote" ? src.db : dst.db;
- var transaction = db.transaction(
- [IDBFS.DB_STORE_NAME],
- "readwrite"
- );
- var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
- function done(err) {
- if (err) {
- if (!done.errored) {
- done.errored = true;
- return callback(err);
- }
- return;
- }
- if (++completed >= total) {
- return callback(null);
- }
- }
- transaction.onerror = function (e) {
- done(this.error);
- e.preventDefault();
- };
- create.sort().forEach(function (path) {
- if (dst.type === "local") {
- IDBFS.loadRemoteEntry(store, path, function (err, entry) {
- if (err) return done(err);
- IDBFS.storeLocalEntry(path, entry, done);
- });
- } else {
- IDBFS.loadLocalEntry(path, function (err, entry) {
- if (err) return done(err);
- IDBFS.storeRemoteEntry(store, path, entry, done);
- });
- }
- });
- remove
- .sort()
- .reverse()
- .forEach(function (path) {
- if (dst.type === "local") {
- IDBFS.removeLocalEntry(path, done);
- } else {
- IDBFS.removeRemoteEntry(store, path, done);
- }
- });
- },
- };
- var NODEFS = {
- isWindows: false,
- staticInit: function staticInit() {
- NODEFS.isWindows = !!process.platform.match(/^win/);
- var flags = process["binding"]("constants");
- if (flags["fs"]) {
- flags = flags["fs"];
- }
- NODEFS.flagsForNodeMap = {
- 1024: flags["O_APPEND"],
- 64: flags["O_CREAT"],
- 128: flags["O_EXCL"],
- 0: flags["O_RDONLY"],
- 2: flags["O_RDWR"],
- 4096: flags["O_SYNC"],
- 512: flags["O_TRUNC"],
- 1: flags["O_WRONLY"],
- };
- },
- bufferFrom: function bufferFrom(arrayBuffer) {
- return Buffer.alloc
- ? Buffer.from(arrayBuffer)
- : new Buffer(arrayBuffer);
- },
- mount: function mount(_mount3) {
- assert(ENVIRONMENT_IS_NODE);
- return NODEFS.createNode(
- null,
- "/",
- NODEFS.getMode(_mount3.opts.root),
- 0
- );
- },
- createNode: function createNode(parent, name, mode, dev) {
- if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var node = FS.createNode(parent, name, mode);
- node.node_ops = NODEFS.node_ops;
- node.stream_ops = NODEFS.stream_ops;
- return node;
- },
- getMode: function getMode(path) {
- var stat;
- try {
- stat = fs.lstatSync(path);
- if (NODEFS.isWindows) {
- stat.mode = stat.mode | ((stat.mode & 292) >> 2);
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- return stat.mode;
- },
- realPath: function realPath(node) {
- var parts = [];
- while (node.parent !== node) {
- parts.push(node.name);
- node = node.parent;
- }
- parts.push(node.mount.opts.root);
- parts.reverse();
- return PATH.join.apply(null, parts);
- },
- flagsForNode: function flagsForNode(flags) {
- flags &= ~2097152;
- flags &= ~2048;
- flags &= ~32768;
- flags &= ~524288;
- var newFlags = 0;
- for (var k in NODEFS.flagsForNodeMap) {
- if (flags & k) {
- newFlags |= NODEFS.flagsForNodeMap[k];
- flags ^= k;
- }
- }
- if (!flags) {
- return newFlags;
- } else {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- },
- node_ops: {
- getattr: function getattr(node) {
- var path = NODEFS.realPath(node);
- var stat;
- try {
- stat = fs.lstatSync(path);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- if (NODEFS.isWindows && !stat.blksize) {
- stat.blksize = 4096;
- }
- if (NODEFS.isWindows && !stat.blocks) {
- stat.blocks =
- ((stat.size + stat.blksize - 1) / stat.blksize) | 0;
- }
- return {
- dev: stat.dev,
- ino: stat.ino,
- mode: stat.mode,
- nlink: stat.nlink,
- uid: stat.uid,
- gid: stat.gid,
- rdev: stat.rdev,
- size: stat.size,
- atime: stat.atime,
- mtime: stat.mtime,
- ctime: stat.ctime,
- blksize: stat.blksize,
- blocks: stat.blocks,
- };
- },
- setattr: function setattr(node, attr) {
- var path = NODEFS.realPath(node);
- try {
- if (attr.mode !== undefined) {
- fs.chmodSync(path, attr.mode);
- node.mode = attr.mode;
- }
- if (attr.timestamp !== undefined) {
- var date = new Date(attr.timestamp);
- fs.utimesSync(path, date, date);
- }
- if (attr.size !== undefined) {
- fs.truncateSync(path, attr.size);
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- lookup: function lookup(parent, name) {
- var path = PATH.join2(NODEFS.realPath(parent), name);
- var mode = NODEFS.getMode(path);
- return NODEFS.createNode(parent, name, mode);
- },
- mknod: function mknod(parent, name, mode, dev) {
- var node = NODEFS.createNode(parent, name, mode, dev);
- var path = NODEFS.realPath(node);
- try {
- if (FS.isDir(node.mode)) {
- fs.mkdirSync(path, node.mode);
- } else {
- fs.writeFileSync(path, "", { mode: node.mode });
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- return node;
- },
- rename: function rename(oldNode, newDir, newName) {
- var oldPath = NODEFS.realPath(oldNode);
- var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
- try {
- fs.renameSync(oldPath, newPath);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- unlink: function unlink(parent, name) {
- var path = PATH.join2(NODEFS.realPath(parent), name);
- try {
- fs.unlinkSync(path);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- rmdir: function rmdir(parent, name) {
- var path = PATH.join2(NODEFS.realPath(parent), name);
- try {
- fs.rmdirSync(path);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- readdir: function readdir(node) {
- var path = NODEFS.realPath(node);
- try {
- return fs.readdirSync(path);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- symlink: function symlink(parent, newName, oldPath) {
- var newPath = PATH.join2(NODEFS.realPath(parent), newName);
- try {
- fs.symlinkSync(oldPath, newPath);
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- readlink: function readlink(node) {
- var path = NODEFS.realPath(node);
- try {
- path = fs.readlinkSync(path);
- path = NODEJS_PATH.relative(
- NODEJS_PATH.resolve(node.mount.opts.root),
- path
- );
- return path;
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- },
- stream_ops: {
- open: function open(stream) {
- var path = NODEFS.realPath(stream.node);
- try {
- if (FS.isFile(stream.node.mode)) {
- stream.nfd = fs.openSync(
- path,
- NODEFS.flagsForNode(stream.flags)
- );
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- close: function close(stream) {
- try {
- if (FS.isFile(stream.node.mode) && stream.nfd) {
- fs.closeSync(stream.nfd);
- }
- } catch (e) {
- if (!e.code) throw e;
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- read: function read(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- if (length === 0) return 0;
- try {
- return fs.readSync(
- stream.nfd,
- NODEFS.bufferFrom(buffer.buffer),
- offset,
- length,
- position
- );
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- write: function write(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- try {
- return fs.writeSync(
- stream.nfd,
- NODEFS.bufferFrom(buffer.buffer),
- offset,
- length,
- position
- );
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- },
- llseek: function llseek(stream, offset, whence) {
- var position = offset;
- if (whence === 1) {
- position += stream.position;
- } else if (whence === 2) {
- if (FS.isFile(stream.node.mode)) {
- try {
- var stat = fs.fstatSync(stream.nfd);
- position += stat.size;
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES[e.code]);
- }
- }
- }
- if (position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return position;
- },
- },
- };
- var WORKERFS = {
- DIR_MODE: 16895,
- FILE_MODE: 33279,
- reader: null,
- mount: function mount(_mount4) {
- assert(ENVIRONMENT_IS_WORKER);
- if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
- var root = WORKERFS.createNode(
- null,
- "/",
- WORKERFS.DIR_MODE,
- 0
- );
- var createdParents = {};
- function ensureParent(path) {
- var parts = path.split("/");
- var parent = root;
- for (var i = 0; i < parts.length - 1; i++) {
- var curr = parts.slice(0, i + 1).join("/");
- if (!createdParents[curr]) {
- createdParents[curr] = WORKERFS.createNode(
- parent,
- parts[i],
- WORKERFS.DIR_MODE,
- 0
- );
- }
- parent = createdParents[curr];
- }
- return parent;
- }
- function base(path) {
- var parts = path.split("/");
- return parts[parts.length - 1];
- }
- Array.prototype.forEach.call(
- _mount4.opts["files"] || [],
- function (file) {
- WORKERFS.createNode(
- ensureParent(file.name),
- base(file.name),
- WORKERFS.FILE_MODE,
- 0,
- file,
- file.lastModifiedDate
- );
- }
- );
- (_mount4.opts["blobs"] || []).forEach(function (obj) {
- WORKERFS.createNode(
- ensureParent(obj["name"]),
- base(obj["name"]),
- WORKERFS.FILE_MODE,
- 0,
- obj["data"]
- );
- });
- (_mount4.opts["packages"] || []).forEach(function (pack) {
- pack["metadata"].files.forEach(function (file) {
- var name = file.filename.substr(1);
- WORKERFS.createNode(
- ensureParent(name),
- base(name),
- WORKERFS.FILE_MODE,
- 0,
- pack["blob"].slice(file.start, file.end)
- );
- });
- });
- return root;
- },
- createNode: function createNode(
- parent,
- name,
- mode,
- dev,
- contents,
- mtime
- ) {
- var node = FS.createNode(parent, name, mode);
- node.mode = mode;
- node.node_ops = WORKERFS.node_ops;
- node.stream_ops = WORKERFS.stream_ops;
- node.timestamp = (mtime || new Date()).getTime();
- assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
- if (mode === WORKERFS.FILE_MODE) {
- node.size = contents.size;
- node.contents = contents;
- } else {
- node.size = 4096;
- node.contents = {};
- }
- if (parent) {
- parent.contents[name] = node;
- }
- return node;
- },
- node_ops: {
- getattr: function getattr(node) {
- return {
- dev: 1,
- ino: undefined,
- mode: node.mode,
- nlink: 1,
- uid: 0,
- gid: 0,
- rdev: undefined,
- size: node.size,
- atime: new Date(node.timestamp),
- mtime: new Date(node.timestamp),
- ctime: new Date(node.timestamp),
- blksize: 4096,
- blocks: Math.ceil(node.size / 4096),
- };
- },
- setattr: function setattr(node, attr) {
- if (attr.mode !== undefined) {
- node.mode = attr.mode;
- }
- if (attr.timestamp !== undefined) {
- node.timestamp = attr.timestamp;
- }
- },
- lookup: function lookup(parent, name) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- },
- mknod: function mknod(parent, name, mode, dev) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- rename: function rename(oldNode, newDir, newName) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- unlink: function unlink(parent, name) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- rmdir: function rmdir(parent, name) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- readdir: function readdir(node) {
- var entries = [".", ".."];
- for (var key in node.contents) {
- if (!node.contents.hasOwnProperty(key)) {
- continue;
- }
- entries.push(key);
- }
- return entries;
- },
- symlink: function symlink(parent, newName, oldPath) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- readlink: function readlink(node) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- },
- },
- stream_ops: {
- read: function read(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- if (position >= stream.node.size) return 0;
- var chunk = stream.node.contents.slice(
- position,
- position + length
- );
- var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
- buffer.set(new Uint8Array(ab), offset);
- return chunk.size;
- },
- write: function write(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- },
- llseek: function llseek(stream, offset, whence) {
- var position = offset;
- if (whence === 1) {
- position += stream.position;
- } else if (whence === 2) {
- if (FS.isFile(stream.node.mode)) {
- position += stream.node.size;
- }
- }
- if (position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return position;
- },
- },
- };
- STATICTOP += 16;
- STATICTOP += 16;
- STATICTOP += 16;
- var FS = {
- root: null,
- mounts: [],
- devices: {},
- streams: [],
- nextInode: 1,
- nameTable: null,
- currentPath: "/",
- initialized: false,
- ignorePermissions: true,
- trackingDelegate: {},
- tracking: { openFlags: { READ: 1, WRITE: 2 } },
- ErrnoError: null,
- genericErrors: {},
- filesystems: null,
- syncFSRequests: 0,
- handleFSError: function handleFSError(e) {
- if (!(e instanceof FS.ErrnoError))
- throw e + " : " + stackTrace();
- return ___setErrNo(e.errno);
- },
- lookupPath: function lookupPath(path, opts) {
- path = PATH.resolve(FS.cwd(), path);
- opts = opts || {};
- if (!path) return { path: "", node: null };
- var defaults = { follow_mount: true, recurse_count: 0 };
- for (var key in defaults) {
- if (opts[key] === undefined) {
- opts[key] = defaults[key];
- }
- }
- if (opts.recurse_count > 8) {
- throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
- }
- var parts = PATH.normalizeArray(
- path.split("/").filter(function (p) {
- return !!p;
- }),
- false
- );
- var current = FS.root;
- var current_path = "/";
- for (var i = 0; i < parts.length; i++) {
- var islast = i === parts.length - 1;
- if (islast && opts.parent) {
- break;
- }
- current = FS.lookupNode(current, parts[i]);
- current_path = PATH.join2(current_path, parts[i]);
- if (FS.isMountpoint(current)) {
- if (!islast || (islast && opts.follow_mount)) {
- current = current.mounted.root;
- }
- }
- if (!islast || opts.follow) {
- var count = 0;
- while (FS.isLink(current.mode)) {
- var link = FS.readlink(current_path);
- current_path = PATH.resolve(
- PATH.dirname(current_path),
- link
- );
- var lookup = FS.lookupPath(current_path, {
- recurse_count: opts.recurse_count,
- });
- current = lookup.node;
- if (count++ > 40) {
- throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
- }
- }
- }
- }
- return { path: current_path, node: current };
- },
- getPath: function getPath(node) {
- var path;
- while (true) {
- if (FS.isRoot(node)) {
- var mount = node.mount.mountpoint;
- if (!path) return mount;
- return mount[mount.length - 1] !== "/"
- ? mount + "/" + path
- : mount + path;
- }
- path = path ? node.name + "/" + path : node.name;
- node = node.parent;
- }
- },
- hashName: function hashName(parentid, name) {
- var hash = 0;
- for (var i = 0; i < name.length; i++) {
- hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
- }
- return ((parentid + hash) >>> 0) % FS.nameTable.length;
- },
- hashAddNode: function hashAddNode(node) {
- var hash = FS.hashName(node.parent.id, node.name);
- node.name_next = FS.nameTable[hash];
- FS.nameTable[hash] = node;
- },
- hashRemoveNode: function hashRemoveNode(node) {
- var hash = FS.hashName(node.parent.id, node.name);
- if (FS.nameTable[hash] === node) {
- FS.nameTable[hash] = node.name_next;
- } else {
- var current = FS.nameTable[hash];
- while (current) {
- if (current.name_next === node) {
- current.name_next = node.name_next;
- break;
- }
- current = current.name_next;
- }
- }
- },
- lookupNode: function lookupNode(parent, name) {
- var err = FS.mayLookup(parent);
- if (err) {
- throw new FS.ErrnoError(err, parent);
- }
- var hash = FS.hashName(parent.id, name);
- for (
- var node = FS.nameTable[hash];
- node;
- node = node.name_next
- ) {
- var nodeName = node.name;
- if (node.parent.id === parent.id && nodeName === name) {
- return node;
- }
- }
- return FS.lookup(parent, name);
- },
- createNode: function createNode(parent, name, mode, rdev) {
- if (!FS.FSNode) {
- FS.FSNode = function (parent, name, mode, rdev) {
- if (!parent) {
- parent = this;
- }
- this.parent = parent;
- this.mount = parent.mount;
- this.mounted = null;
- this.id = FS.nextInode++;
- this.name = name;
- this.mode = mode;
- this.node_ops = {};
- this.stream_ops = {};
- this.rdev = rdev;
- };
- FS.FSNode.prototype = {};
- var readMode = 292 | 73;
- var writeMode = 146;
- Object.defineProperties(FS.FSNode.prototype, {
- read: {
- get: function get() {
- return (this.mode & readMode) === readMode;
- },
- set: function set(val) {
- val
- ? (this.mode |= readMode)
- : (this.mode &= ~readMode);
- },
- },
- write: {
- get: function get() {
- return (this.mode & writeMode) === writeMode;
- },
- set: function set(val) {
- val
- ? (this.mode |= writeMode)
- : (this.mode &= ~writeMode);
- },
- },
- isFolder: {
- get: function get() {
- return FS.isDir(this.mode);
- },
- },
- isDevice: {
- get: function get() {
- return FS.isChrdev(this.mode);
- },
- },
- });
- }
- var node = new FS.FSNode(parent, name, mode, rdev);
- FS.hashAddNode(node);
- return node;
- },
- destroyNode: function destroyNode(node) {
- FS.hashRemoveNode(node);
- },
- isRoot: function isRoot(node) {
- return node === node.parent;
- },
- isMountpoint: function isMountpoint(node) {
- return !!node.mounted;
- },
- isFile: function isFile(mode) {
- return (mode & 61440) === 32768;
- },
- isDir: function isDir(mode) {
- return (mode & 61440) === 16384;
- },
- isLink: function isLink(mode) {
- return (mode & 61440) === 40960;
- },
- isChrdev: function isChrdev(mode) {
- return (mode & 61440) === 8192;
- },
- isBlkdev: function isBlkdev(mode) {
- return (mode & 61440) === 24576;
- },
- isFIFO: function isFIFO(mode) {
- return (mode & 61440) === 4096;
- },
- isSocket: function isSocket(mode) {
- return (mode & 49152) === 49152;
- },
- flagModes: {
- r: 0,
- rs: 1052672,
- "r+": 2,
- w: 577,
- wx: 705,
- xw: 705,
- "w+": 578,
- "wx+": 706,
- "xw+": 706,
- a: 1089,
- ax: 1217,
- xa: 1217,
- "a+": 1090,
- "ax+": 1218,
- "xa+": 1218,
- },
- modeStringToFlags: function modeStringToFlags(str) {
- var flags = FS.flagModes[str];
- if (typeof flags === "undefined") {
- throw new Error("Unknown file open mode: " + str);
- }
- return flags;
- },
- flagsToPermissionString: function flagsToPermissionString(
- flag
- ) {
- var perms = ["r", "w", "rw"][flag & 3];
- if (flag & 512) {
- perms += "w";
- }
- return perms;
- },
- nodePermissions: function nodePermissions(node, perms) {
- if (FS.ignorePermissions) {
- return 0;
- }
- if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {
- return ERRNO_CODES.EACCES;
- } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {
- return ERRNO_CODES.EACCES;
- } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {
- return ERRNO_CODES.EACCES;
- }
- return 0;
- },
- mayLookup: function mayLookup(dir) {
- var err = FS.nodePermissions(dir, "x");
- if (err) return err;
- if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
- return 0;
- },
- mayCreate: function mayCreate(dir, name) {
- try {
- var node = FS.lookupNode(dir, name);
- return ERRNO_CODES.EEXIST;
- } catch (e) {}
- return FS.nodePermissions(dir, "wx");
- },
- mayDelete: function mayDelete(dir, name, isdir) {
- var node;
- try {
- node = FS.lookupNode(dir, name);
- } catch (e) {
- return e.errno;
- }
- var err = FS.nodePermissions(dir, "wx");
- if (err) {
- return err;
- }
- if (isdir) {
- if (!FS.isDir(node.mode)) {
- return ERRNO_CODES.ENOTDIR;
- }
- if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
- return ERRNO_CODES.EBUSY;
- }
- } else {
- if (FS.isDir(node.mode)) {
- return ERRNO_CODES.EISDIR;
- }
- }
- return 0;
- },
- mayOpen: function mayOpen(node, flags) {
- if (!node) {
- return ERRNO_CODES.ENOENT;
- }
- if (FS.isLink(node.mode)) {
- return ERRNO_CODES.ELOOP;
- } else if (FS.isDir(node.mode)) {
- if (
- FS.flagsToPermissionString(flags) !== "r" ||
- flags & 512
- ) {
- return ERRNO_CODES.EISDIR;
- }
- }
- return FS.nodePermissions(
- node,
- FS.flagsToPermissionString(flags)
- );
- },
- MAX_OPEN_FDS: 4096,
- nextfd: function nextfd(fd_start, fd_end) {
- fd_start = fd_start || 0;
- fd_end = fd_end || FS.MAX_OPEN_FDS;
- for (var fd = fd_start; fd <= fd_end; fd++) {
- if (!FS.streams[fd]) {
- return fd;
- }
- }
- throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
- },
- getStream: function getStream(fd) {
- return FS.streams[fd];
- },
- createStream: function createStream(stream, fd_start, fd_end) {
- if (!FS.FSStream) {
- FS.FSStream = function () {};
- FS.FSStream.prototype = {};
- Object.defineProperties(FS.FSStream.prototype, {
- object: {
- get: function get() {
- return this.node;
- },
- set: function set(val) {
- this.node = val;
- },
- },
- isRead: {
- get: function get() {
- return (this.flags & 2097155) !== 1;
- },
- },
- isWrite: {
- get: function get() {
- return (this.flags & 2097155) !== 0;
- },
- },
- isAppend: {
- get: function get() {
- return this.flags & 1024;
- },
- },
- });
- }
- var newStream = new FS.FSStream();
- for (var p in stream) {
- newStream[p] = stream[p];
- }
- stream = newStream;
- var fd = FS.nextfd(fd_start, fd_end);
- stream.fd = fd;
- FS.streams[fd] = stream;
- return stream;
- },
- closeStream: function closeStream(fd) {
- FS.streams[fd] = null;
- },
- chrdev_stream_ops: {
- open: function open(stream) {
- var device = FS.getDevice(stream.node.rdev);
- stream.stream_ops = device.stream_ops;
- if (stream.stream_ops.open) {
- stream.stream_ops.open(stream);
- }
- },
- llseek: function llseek() {
- throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
- },
- },
- major: function major(dev) {
- return dev >> 8;
- },
- minor: function minor(dev) {
- return dev & 255;
- },
- makedev: function makedev(ma, mi) {
- return (ma << 8) | mi;
- },
- registerDevice: function registerDevice(dev, ops) {
- FS.devices[dev] = { stream_ops: ops };
- },
- getDevice: function getDevice(dev) {
- return FS.devices[dev];
- },
- getMounts: function getMounts(mount) {
- var mounts = [];
- var check = [mount];
- while (check.length) {
- var m = check.pop();
- mounts.push(m);
- check.push.apply(check, m.mounts);
- }
- return mounts;
- },
- syncfs: function syncfs(populate, callback) {
- if (typeof populate === "function") {
- callback = populate;
- populate = false;
- }
- FS.syncFSRequests++;
- if (FS.syncFSRequests > 1) {
- console.log(
- "warning: " +
- FS.syncFSRequests +
- " FS.syncfs operations in flight at once, probably just doing extra work"
- );
- }
- var mounts = FS.getMounts(FS.root.mount);
- var completed = 0;
- function doCallback(err) {
- assert(FS.syncFSRequests > 0);
- FS.syncFSRequests--;
- return callback(err);
- }
- function done(err) {
- if (err) {
- if (!done.errored) {
- done.errored = true;
- return doCallback(err);
- }
- return;
- }
- if (++completed >= mounts.length) {
- doCallback(null);
- }
- }
- mounts.forEach(function (mount) {
- if (!mount.type.syncfs) {
- return done(null);
- }
- mount.type.syncfs(mount, populate, done);
- });
- },
- mount: function mount(type, opts, mountpoint) {
- var root = mountpoint === "/";
- var pseudo = !mountpoint;
- var node;
- if (root && FS.root) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- } else if (!root && !pseudo) {
- var lookup = FS.lookupPath(mountpoint, {
- follow_mount: false,
- });
- mountpoint = lookup.path;
- node = lookup.node;
- if (FS.isMountpoint(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- if (!FS.isDir(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
- }
- }
- var mount = {
- type: type,
- opts: opts,
- mountpoint: mountpoint,
- mounts: [],
- };
- var mountRoot = type.mount(mount);
- mountRoot.mount = mount;
- mount.root = mountRoot;
- if (root) {
- FS.root = mountRoot;
- } else if (node) {
- node.mounted = mount;
- if (node.mount) {
- node.mount.mounts.push(mount);
- }
- }
- return mountRoot;
- },
- unmount: function unmount(mountpoint) {
- var lookup = FS.lookupPath(mountpoint, {
- follow_mount: false,
- });
- if (!FS.isMountpoint(lookup.node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var node = lookup.node;
- var mount = node.mounted;
- var mounts = FS.getMounts(mount);
- Object.keys(FS.nameTable).forEach(function (hash) {
- var current = FS.nameTable[hash];
- while (current) {
- var next = current.name_next;
- if (mounts.indexOf(current.mount) !== -1) {
- FS.destroyNode(current);
- }
- current = next;
- }
- });
- node.mounted = null;
- var idx = node.mount.mounts.indexOf(mount);
- assert(idx !== -1);
- node.mount.mounts.splice(idx, 1);
- },
- lookup: function lookup(parent, name) {
- return parent.node_ops.lookup(parent, name);
- },
- mknod: function mknod(path, mode, dev) {
- var lookup = FS.lookupPath(path, { parent: true });
- var parent = lookup.node;
- var name = PATH.basename(path);
- if (!name || name === "." || name === "..") {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var err = FS.mayCreate(parent, name);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!parent.node_ops.mknod) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- return parent.node_ops.mknod(parent, name, mode, dev);
- },
- create: function create(path, mode) {
- mode = mode !== undefined ? mode : 438;
- mode &= 4095;
- mode |= 32768;
- return FS.mknod(path, mode, 0);
- },
- mkdir: function mkdir(path, mode) {
- mode = mode !== undefined ? mode : 511;
- mode &= 511 | 512;
- mode |= 16384;
- return FS.mknod(path, mode, 0);
- },
- mkdirTree: function mkdirTree(path, mode) {
- var dirs = path.split("/");
- var d = "";
- for (var i = 0; i < dirs.length; ++i) {
- if (!dirs[i]) continue;
- d += "/" + dirs[i];
- try {
- FS.mkdir(d, mode);
- } catch (e) {
- if (e.errno != ERRNO_CODES.EEXIST) throw e;
- }
- }
- },
- mkdev: function mkdev(path, mode, dev) {
- if (typeof dev === "undefined") {
- dev = mode;
- mode = 438;
- }
- mode |= 8192;
- return FS.mknod(path, mode, dev);
- },
- symlink: function symlink(oldpath, newpath) {
- if (!PATH.resolve(oldpath)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- var lookup = FS.lookupPath(newpath, { parent: true });
- var parent = lookup.node;
- if (!parent) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- var newname = PATH.basename(newpath);
- var err = FS.mayCreate(parent, newname);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!parent.node_ops.symlink) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- return parent.node_ops.symlink(parent, newname, oldpath);
- },
- rename: function rename(old_path, new_path) {
- var old_dirname = PATH.dirname(old_path);
- var new_dirname = PATH.dirname(new_path);
- var old_name = PATH.basename(old_path);
- var new_name = PATH.basename(new_path);
- var lookup, old_dir, new_dir;
- try {
- lookup = FS.lookupPath(old_path, { parent: true });
- old_dir = lookup.node;
- lookup = FS.lookupPath(new_path, { parent: true });
- new_dir = lookup.node;
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- if (!old_dir || !new_dir)
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- if (old_dir.mount !== new_dir.mount) {
- throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
- }
- var old_node = FS.lookupNode(old_dir, old_name);
- var relative = PATH.relative(old_path, new_dirname);
- if (relative.charAt(0) !== ".") {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- relative = PATH.relative(new_path, old_dirname);
- if (relative.charAt(0) !== ".") {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
- }
- var new_node;
- try {
- new_node = FS.lookupNode(new_dir, new_name);
- } catch (e) {}
- if (old_node === new_node) {
- return;
- }
- var isdir = FS.isDir(old_node.mode);
- var err = FS.mayDelete(old_dir, old_name, isdir);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- err = new_node
- ? FS.mayDelete(new_dir, new_name, isdir)
- : FS.mayCreate(new_dir, new_name);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!old_dir.node_ops.rename) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (
- FS.isMountpoint(old_node) ||
- (new_node && FS.isMountpoint(new_node))
- ) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- if (new_dir !== old_dir) {
- err = FS.nodePermissions(old_dir, "w");
- if (err) {
- throw new FS.ErrnoError(err);
- }
- }
- try {
- if (FS.trackingDelegate["willMovePath"]) {
- FS.trackingDelegate["willMovePath"](old_path, new_path);
- }
- } catch (e) {
- console.log(
- "FS.trackingDelegate['willMovePath']('" +
- old_path +
- "', '" +
- new_path +
- "') threw an exception: " +
- e.message
- );
- }
- FS.hashRemoveNode(old_node);
- try {
- old_dir.node_ops.rename(old_node, new_dir, new_name);
- } catch (e) {
- throw e;
- } finally {
- FS.hashAddNode(old_node);
- }
- try {
- if (FS.trackingDelegate["onMovePath"])
- FS.trackingDelegate["onMovePath"](old_path, new_path);
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onMovePath']('" +
- old_path +
- "', '" +
- new_path +
- "') threw an exception: " +
- e.message
- );
- }
- },
- rmdir: function rmdir(path) {
- var lookup = FS.lookupPath(path, { parent: true });
- var parent = lookup.node;
- var name = PATH.basename(path);
- var node = FS.lookupNode(parent, name);
- var err = FS.mayDelete(parent, name, true);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!parent.node_ops.rmdir) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (FS.isMountpoint(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- try {
- if (FS.trackingDelegate["willDeletePath"]) {
- FS.trackingDelegate["willDeletePath"](path);
- }
- } catch (e) {
- console.log(
- "FS.trackingDelegate['willDeletePath']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- parent.node_ops.rmdir(parent, name);
- FS.destroyNode(node);
- try {
- if (FS.trackingDelegate["onDeletePath"])
- FS.trackingDelegate["onDeletePath"](path);
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onDeletePath']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- },
- readdir: function readdir(path) {
- var lookup = FS.lookupPath(path, { follow: true });
- var node = lookup.node;
- if (!node.node_ops.readdir) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
- }
- return node.node_ops.readdir(node);
- },
- unlink: function unlink(path) {
- var lookup = FS.lookupPath(path, { parent: true });
- var parent = lookup.node;
- var name = PATH.basename(path);
- var node = FS.lookupNode(parent, name);
- var err = FS.mayDelete(parent, name, false);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- if (!parent.node_ops.unlink) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (FS.isMountpoint(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
- }
- try {
- if (FS.trackingDelegate["willDeletePath"]) {
- FS.trackingDelegate["willDeletePath"](path);
- }
- } catch (e) {
- console.log(
- "FS.trackingDelegate['willDeletePath']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- parent.node_ops.unlink(parent, name);
- FS.destroyNode(node);
- try {
- if (FS.trackingDelegate["onDeletePath"])
- FS.trackingDelegate["onDeletePath"](path);
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onDeletePath']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- },
- readlink: function readlink(path) {
- var lookup = FS.lookupPath(path);
- var link = lookup.node;
- if (!link) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- if (!link.node_ops.readlink) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- return PATH.resolve(
- FS.getPath(link.parent),
- link.node_ops.readlink(link)
- );
- },
- stat: function stat(path, dontFollow) {
- var lookup = FS.lookupPath(path, { follow: !dontFollow });
- var node = lookup.node;
- if (!node) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- if (!node.node_ops.getattr) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- return node.node_ops.getattr(node);
- },
- lstat: function lstat(path) {
- return FS.stat(path, true);
- },
- chmod: function chmod(path, mode, dontFollow) {
- var node;
- if (typeof path === "string") {
- var lookup = FS.lookupPath(path, { follow: !dontFollow });
- node = lookup.node;
- } else {
- node = path;
- }
- if (!node.node_ops.setattr) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- node.node_ops.setattr(node, {
- mode: (mode & 4095) | (node.mode & ~4095),
- timestamp: Date.now(),
- });
- },
- lchmod: function lchmod(path, mode) {
- FS.chmod(path, mode, true);
- },
- fchmod: function fchmod(fd, mode) {
- var stream = FS.getStream(fd);
- if (!stream) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- FS.chmod(stream.node, mode);
- },
- chown: function chown(path, uid, gid, dontFollow) {
- var node;
- if (typeof path === "string") {
- var lookup = FS.lookupPath(path, { follow: !dontFollow });
- node = lookup.node;
- } else {
- node = path;
- }
- if (!node.node_ops.setattr) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- node.node_ops.setattr(node, { timestamp: Date.now() });
- },
- lchown: function lchown(path, uid, gid) {
- FS.chown(path, uid, gid, true);
- },
- fchown: function fchown(fd, uid, gid) {
- var stream = FS.getStream(fd);
- if (!stream) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- FS.chown(stream.node, uid, gid);
- },
- truncate: function truncate(path, len) {
- if (len < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var node;
- if (typeof path === "string") {
- var lookup = FS.lookupPath(path, { follow: true });
- node = lookup.node;
- } else {
- node = path;
- }
- if (!node.node_ops.setattr) {
- throw new FS.ErrnoError(ERRNO_CODES.EPERM);
- }
- if (FS.isDir(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
- }
- if (!FS.isFile(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var err = FS.nodePermissions(node, "w");
- if (err) {
- throw new FS.ErrnoError(err);
- }
- node.node_ops.setattr(node, {
- size: len,
- timestamp: Date.now(),
- });
- },
- ftruncate: function ftruncate(fd, len) {
- var stream = FS.getStream(fd);
- if (!stream) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if ((stream.flags & 2097155) === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- FS.truncate(stream.node, len);
- },
- utime: function utime(path, atime, mtime) {
- var lookup = FS.lookupPath(path, { follow: true });
- var node = lookup.node;
- node.node_ops.setattr(node, {
- timestamp: Math.max(atime, mtime),
- });
- },
- open: function open(path, flags, mode, fd_start, fd_end) {
- if (path === "") {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- flags =
- typeof flags === "string"
- ? FS.modeStringToFlags(flags)
- : flags;
- mode = typeof mode === "undefined" ? 438 : mode;
- if (flags & 64) {
- mode = (mode & 4095) | 32768;
- } else {
- mode = 0;
- }
- var node;
- if (
- (typeof path === "undefined"
- ? "undefined"
- : _typeof(path)) === "object"
- ) {
- node = path;
- } else {
- path = PATH.normalize(path);
- try {
- var lookup = FS.lookupPath(path, {
- follow: !(flags & 131072),
- });
- node = lookup.node;
- } catch (e) {}
- }
- var created = false;
- if (flags & 64) {
- if (node) {
- if (flags & 128) {
- throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
- }
- } else {
- node = FS.mknod(path, mode, 0);
- created = true;
- }
- }
- if (!node) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- if (FS.isChrdev(node.mode)) {
- flags &= ~512;
- }
- if (flags & 65536 && !FS.isDir(node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
- }
- if (!created) {
- var err = FS.mayOpen(node, flags);
- if (err) {
- throw new FS.ErrnoError(err);
- }
- }
- if (flags & 512) {
- FS.truncate(node, 0);
- }
- flags &= ~(128 | 512);
- var stream = FS.createStream(
- {
- node: node,
- path: FS.getPath(node),
- flags: flags,
- seekable: true,
- position: 0,
- stream_ops: node.stream_ops,
- ungotten: [],
- error: false,
- },
- fd_start,
- fd_end
- );
- if (stream.stream_ops.open) {
- stream.stream_ops.open(stream);
- }
- if (Module["logReadFiles"] && !(flags & 1)) {
- if (!FS.readFiles) FS.readFiles = {};
- if (!(path in FS.readFiles)) {
- FS.readFiles[path] = 1;
- err("read file: " + path);
- }
- }
- try {
- if (FS.trackingDelegate["onOpenFile"]) {
- var trackingFlags = 0;
- if ((flags & 2097155) !== 1) {
- trackingFlags |= FS.tracking.openFlags.READ;
- }
- if ((flags & 2097155) !== 0) {
- trackingFlags |= FS.tracking.openFlags.WRITE;
- }
- FS.trackingDelegate["onOpenFile"](path, trackingFlags);
- }
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onOpenFile']('" +
- path +
- "', flags) threw an exception: " +
- e.message
- );
- }
- return stream;
- },
- close: function close(stream) {
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (stream.getdents) stream.getdents = null;
- try {
- if (stream.stream_ops.close) {
- stream.stream_ops.close(stream);
- }
- } catch (e) {
- throw e;
- } finally {
- FS.closeStream(stream.fd);
- }
- stream.fd = null;
- },
- isClosed: function isClosed(stream) {
- return stream.fd === null;
- },
- llseek: function llseek(stream, offset, whence) {
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (!stream.seekable || !stream.stream_ops.llseek) {
- throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
- }
- stream.position = stream.stream_ops.llseek(
- stream,
- offset,
- whence
- );
- stream.ungotten = [];
- return stream.position;
- },
- read: function read(stream, buffer, offset, length, position) {
- if (length < 0 || position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if ((stream.flags & 2097155) === 1) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (FS.isDir(stream.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
- }
- if (!stream.stream_ops.read) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- var seeking = typeof position !== "undefined";
- if (!seeking) {
- position = stream.position;
- } else if (!stream.seekable) {
- throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
- }
- var bytesRead = stream.stream_ops.read(
- stream,
- buffer,
- offset,
- length,
- position
- );
- if (!seeking) stream.position += bytesRead;
- return bytesRead;
- },
- write: function write(
- stream,
- buffer,
- offset,
- length,
- position,
- canOwn
- ) {
- if (length < 0 || position < 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if ((stream.flags & 2097155) === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (FS.isDir(stream.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
- }
- if (!stream.stream_ops.write) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- if (stream.flags & 1024) {
- FS.llseek(stream, 0, 2);
- }
- var seeking = typeof position !== "undefined";
- if (!seeking) {
- position = stream.position;
- } else if (!stream.seekable) {
- throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
- }
- var bytesWritten = stream.stream_ops.write(
- stream,
- buffer,
- offset,
- length,
- position,
- canOwn
- );
- if (!seeking) stream.position += bytesWritten;
- try {
- if (stream.path && FS.trackingDelegate["onWriteToFile"])
- FS.trackingDelegate["onWriteToFile"](stream.path);
- } catch (e) {
- console.log(
- "FS.trackingDelegate['onWriteToFile']('" +
- path +
- "') threw an exception: " +
- e.message
- );
- }
- return bytesWritten;
- },
- allocate: function allocate(stream, offset, length) {
- if (FS.isClosed(stream)) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (offset < 0 || length <= 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
- }
- if ((stream.flags & 2097155) === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- }
- if (
- !FS.isFile(stream.node.mode) &&
- !FS.isDir(stream.node.mode)
- ) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- if (!stream.stream_ops.allocate) {
- throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
- }
- stream.stream_ops.allocate(stream, offset, length);
- },
- mmap: function mmap(
- stream,
- buffer,
- offset,
- length,
- position,
- prot,
- flags
- ) {
- if ((stream.flags & 2097155) === 1) {
- throw new FS.ErrnoError(ERRNO_CODES.EACCES);
- }
- if (!stream.stream_ops.mmap) {
- throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
- }
- return stream.stream_ops.mmap(
- stream,
- buffer,
- offset,
- length,
- position,
- prot,
- flags
- );
- },
- msync: function msync(
- stream,
- buffer,
- offset,
- length,
- mmapFlags
- ) {
- if (!stream || !stream.stream_ops.msync) {
- return 0;
- }
- return stream.stream_ops.msync(
- stream,
- buffer,
- offset,
- length,
- mmapFlags
- );
- },
- munmap: function munmap(stream) {
- return 0;
- },
- ioctl: function ioctl(stream, cmd, arg) {
- if (!stream.stream_ops.ioctl) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
- }
- return stream.stream_ops.ioctl(stream, cmd, arg);
- },
- readFile: function readFile(path, opts) {
- opts = opts || {};
- opts.flags = opts.flags || "r";
- opts.encoding = opts.encoding || "binary";
- if (opts.encoding !== "utf8" && opts.encoding !== "binary") {
- throw new Error(
- 'Invalid encoding type "' + opts.encoding + '"'
- );
- }
- var ret;
- var stream = FS.open(path, opts.flags);
- var stat = FS.stat(path);
- var length = stat.size;
- var buf = new Uint8Array(length);
- FS.read(stream, buf, 0, length, 0);
- if (opts.encoding === "utf8") {
- ret = UTF8ArrayToString(buf, 0);
- } else if (opts.encoding === "binary") {
- ret = buf;
- }
- FS.close(stream);
- return ret;
- },
- writeFile: function writeFile(path, data, opts) {
- opts = opts || {};
- opts.flags = opts.flags || "w";
- var stream = FS.open(path, opts.flags, opts.mode);
- if (typeof data === "string") {
- var buf = new Uint8Array(lengthBytesUTF8(data) + 1);
- var actualNumBytes = stringToUTF8Array(
- data,
- buf,
- 0,
- buf.length
- );
- FS.write(
- stream,
- buf,
- 0,
- actualNumBytes,
- undefined,
- opts.canOwn
- );
- } else if (ArrayBuffer.isView(data)) {
- FS.write(
- stream,
- data,
- 0,
- data.byteLength,
- undefined,
- opts.canOwn
- );
- } else {
- throw new Error("Unsupported data type");
- }
- FS.close(stream);
- },
- cwd: function cwd() {
- return FS.currentPath;
- },
- chdir: function chdir(path) {
- var lookup = FS.lookupPath(path, { follow: true });
- if (lookup.node === null) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
- }
- if (!FS.isDir(lookup.node.mode)) {
- throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
- }
- var err = FS.nodePermissions(lookup.node, "x");
- if (err) {
- throw new FS.ErrnoError(err);
- }
- FS.currentPath = lookup.path;
- },
- createDefaultDirectories: function createDefaultDirectories() {
- FS.mkdir("/tmp");
- FS.mkdir("/home");
- FS.mkdir("/home/web_user");
- },
- createDefaultDevices: function createDefaultDevices() {
- FS.mkdir("/dev");
- FS.registerDevice(FS.makedev(1, 3), {
- read: function read() {
- return 0;
- },
- write: function write(stream, buffer, offset, length, pos) {
- return length;
- },
- });
- FS.mkdev("/dev/null", FS.makedev(1, 3));
- TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
- TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
- FS.mkdev("/dev/tty", FS.makedev(5, 0));
- FS.mkdev("/dev/tty1", FS.makedev(6, 0));
- var random_device;
- if (typeof crypto !== "undefined") {
- var randomBuffer = new Uint8Array(1);
- random_device = function random_device() {
- crypto.getRandomValues(randomBuffer);
- return randomBuffer[0];
- };
- } else if (ENVIRONMENT_IS_NODE) {
- random_device = function random_device() {
- return require("crypto")["randomBytes"](1)[0];
- };
- } else {
- random_device = function random_device() {
- return (Math.random() * 256) | 0;
- };
- }
- FS.createDevice("/dev", "random", random_device);
- FS.createDevice("/dev", "urandom", random_device);
- FS.mkdir("/dev/shm");
- FS.mkdir("/dev/shm/tmp");
- },
- createSpecialDirectories: function createSpecialDirectories() {
- FS.mkdir("/proc");
- FS.mkdir("/proc/self");
- FS.mkdir("/proc/self/fd");
- FS.mount(
- {
- mount: function mount() {
- var node = FS.createNode(
- "/proc/self",
- "fd",
- 16384 | 511,
- 73
- );
- node.node_ops = {
- lookup: function lookup(parent, name) {
- var fd = +name;
- var stream = FS.getStream(fd);
- if (!stream)
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- var ret = {
- parent: null,
- mount: { mountpoint: "fake" },
- node_ops: {
- readlink: function readlink() {
- return stream.path;
- },
- },
- };
- ret.parent = ret;
- return ret;
- },
- };
- return node;
- },
- },
- {},
- "/proc/self/fd"
- );
- },
- createStandardStreams: function createStandardStreams() {
- if (Module["stdin"]) {
- FS.createDevice("/dev", "stdin", Module["stdin"]);
- } else {
- FS.symlink("/dev/tty", "/dev/stdin");
- }
- if (Module["stdout"]) {
- FS.createDevice("/dev", "stdout", null, Module["stdout"]);
- } else {
- FS.symlink("/dev/tty", "/dev/stdout");
- }
- if (Module["stderr"]) {
- FS.createDevice("/dev", "stderr", null, Module["stderr"]);
- } else {
- FS.symlink("/dev/tty1", "/dev/stderr");
- }
- var stdin = FS.open("/dev/stdin", "r");
- assert(
- stdin.fd === 0,
- "invalid handle for stdin (" + stdin.fd + ")"
- );
- var stdout = FS.open("/dev/stdout", "w");
- assert(
- stdout.fd === 1,
- "invalid handle for stdout (" + stdout.fd + ")"
- );
- var stderr = FS.open("/dev/stderr", "w");
- assert(
- stderr.fd === 2,
- "invalid handle for stderr (" + stderr.fd + ")"
- );
- },
- ensureErrnoError: function ensureErrnoError() {
- if (FS.ErrnoError) return;
- FS.ErrnoError = function ErrnoError(errno, node) {
- this.node = node;
- this.setErrno = function (errno) {
- this.errno = errno;
- for (var key in ERRNO_CODES) {
- if (ERRNO_CODES[key] === errno) {
- this.code = key;
- break;
- }
- }
- };
- this.setErrno(errno);
- this.message = ERRNO_MESSAGES[errno];
- if (this.stack)
- Object.defineProperty(this, "stack", {
- value: new Error().stack,
- writable: true,
- });
- };
- FS.ErrnoError.prototype = new Error();
- FS.ErrnoError.prototype.constructor = FS.ErrnoError;
- [ERRNO_CODES.ENOENT].forEach(function (code) {
- FS.genericErrors[code] = new FS.ErrnoError(code);
- FS.genericErrors[code].stack = "<generic error, no stack>";
- });
- },
- staticInit: function staticInit() {
- FS.ensureErrnoError();
- FS.nameTable = new Array(4096);
- FS.mount(MEMFS, {}, "/");
- FS.createDefaultDirectories();
- FS.createDefaultDevices();
- FS.createSpecialDirectories();
- FS.filesystems = {
- MEMFS: MEMFS,
- IDBFS: IDBFS,
- NODEFS: NODEFS,
- WORKERFS: WORKERFS,
- };
- },
- init: function init(input, output, error) {
- assert(
- !FS.init.initialized,
- "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"
- );
- FS.init.initialized = true;
- FS.ensureErrnoError();
- Module["stdin"] = input || Module["stdin"];
- Module["stdout"] = output || Module["stdout"];
- Module["stderr"] = error || Module["stderr"];
- FS.createStandardStreams();
- },
- quit: function quit() {
- FS.init.initialized = false;
- var fflush = Module["_fflush"];
- if (fflush) fflush(0);
- for (var i = 0; i < FS.streams.length; i++) {
- var stream = FS.streams[i];
- if (!stream) {
- continue;
- }
- FS.close(stream);
- }
- },
- getMode: function getMode(canRead, canWrite) {
- var mode = 0;
- if (canRead) mode |= 292 | 73;
- if (canWrite) mode |= 146;
- return mode;
- },
- joinPath: function joinPath(parts, forceRelative) {
- var path = PATH.join.apply(null, parts);
- if (forceRelative && path[0] == "/") path = path.substr(1);
- return path;
- },
- absolutePath: function absolutePath(relative, base) {
- return PATH.resolve(base, relative);
- },
- standardizePath: function standardizePath(path) {
- return PATH.normalize(path);
- },
- findObject: function findObject(path, dontResolveLastLink) {
- var ret = FS.analyzePath(path, dontResolveLastLink);
- if (ret.exists) {
- return ret.object;
- } else {
- ___setErrNo(ret.error);
- return null;
- }
- },
- analyzePath: function analyzePath(path, dontResolveLastLink) {
- try {
- var lookup = FS.lookupPath(path, {
- follow: !dontResolveLastLink,
- });
- path = lookup.path;
- } catch (e) {}
- var ret = {
- isRoot: false,
- exists: false,
- error: 0,
- name: null,
- path: null,
- object: null,
- parentExists: false,
- parentPath: null,
- parentObject: null,
- };
- try {
- var lookup = FS.lookupPath(path, { parent: true });
- ret.parentExists = true;
- ret.parentPath = lookup.path;
- ret.parentObject = lookup.node;
- ret.name = PATH.basename(path);
- lookup = FS.lookupPath(path, {
- follow: !dontResolveLastLink,
- });
- ret.exists = true;
- ret.path = lookup.path;
- ret.object = lookup.node;
- ret.name = lookup.node.name;
- ret.isRoot = lookup.path === "/";
- } catch (e) {
- ret.error = e.errno;
- }
- return ret;
- },
- createFolder: function createFolder(
- parent,
- name,
- canRead,
- canWrite
- ) {
- var path = PATH.join2(
- typeof parent === "string" ? parent : FS.getPath(parent),
- name
- );
- var mode = FS.getMode(canRead, canWrite);
- return FS.mkdir(path, mode);
- },
- createPath: function createPath(
- parent,
- path,
- canRead,
- canWrite
- ) {
- parent =
- typeof parent === "string" ? parent : FS.getPath(parent);
- var parts = path.split("/").reverse();
- while (parts.length) {
- var part = parts.pop();
- if (!part) continue;
- var current = PATH.join2(parent, part);
- try {
- FS.mkdir(current);
- } catch (e) {}
- parent = current;
- }
- return current;
- },
- createFile: function createFile(
- parent,
- name,
- properties,
- canRead,
- canWrite
- ) {
- var path = PATH.join2(
- typeof parent === "string" ? parent : FS.getPath(parent),
- name
- );
- var mode = FS.getMode(canRead, canWrite);
- return FS.create(path, mode);
- },
- createDataFile: function createDataFile(
- parent,
- name,
- data,
- canRead,
- canWrite,
- canOwn
- ) {
- var path = name
- ? PATH.join2(
- typeof parent === "string"
- ? parent
- : FS.getPath(parent),
- name
- )
- : parent;
- var mode = FS.getMode(canRead, canWrite);
- var node = FS.create(path, mode);
- if (data) {
- if (typeof data === "string") {
- var arr = new Array(data.length);
- for (var i = 0, len = data.length; i < len; ++i) {
- arr[i] = data.charCodeAt(i);
- }
- data = arr;
- }
- FS.chmod(node, mode | 146);
- var stream = FS.open(node, "w");
- FS.write(stream, data, 0, data.length, 0, canOwn);
- FS.close(stream);
- FS.chmod(node, mode);
- }
- return node;
- },
- createDevice: function createDevice(
- parent,
- name,
- input,
- output
- ) {
- var path = PATH.join2(
- typeof parent === "string" ? parent : FS.getPath(parent),
- name
- );
- var mode = FS.getMode(!!input, !!output);
- if (!FS.createDevice.major) FS.createDevice.major = 64;
- var dev = FS.makedev(FS.createDevice.major++, 0);
- FS.registerDevice(dev, {
- open: function open(stream) {
- stream.seekable = false;
- },
- close: function close(stream) {
- if (output && output.buffer && output.buffer.length) {
- output(10);
- }
- },
- read: function read(stream, buffer, offset, length, pos) {
- var bytesRead = 0;
- for (var i = 0; i < length; i++) {
- var result;
- try {
- result = input();
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- if (result === undefined && bytesRead === 0) {
- throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
- }
- if (result === null || result === undefined) break;
- bytesRead++;
- buffer[offset + i] = result;
- }
- if (bytesRead) {
- stream.node.timestamp = Date.now();
- }
- return bytesRead;
- },
- write: function write(stream, buffer, offset, length, pos) {
- for (var i = 0; i < length; i++) {
- try {
- output(buffer[offset + i]);
- } catch (e) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- }
- if (length) {
- stream.node.timestamp = Date.now();
- }
- return i;
- },
- });
- return FS.mkdev(path, mode, dev);
- },
- createLink: function createLink(
- parent,
- name,
- target,
- canRead,
- canWrite
- ) {
- var path = PATH.join2(
- typeof parent === "string" ? parent : FS.getPath(parent),
- name
- );
- return FS.symlink(target, path);
- },
- forceLoadFile: function forceLoadFile(obj) {
- if (obj.isDevice || obj.isFolder || obj.link || obj.contents)
- return true;
- var success = true;
- if (typeof XMLHttpRequest !== "undefined") {
- throw new Error(
- "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."
- );
- } else if (Module["read"]) {
- try {
- obj.contents = intArrayFromString(
- Module["read"](obj.url),
- true
- );
- obj.usedBytes = obj.contents.length;
- } catch (e) {
- success = false;
- }
- } else {
- throw new Error(
- "Cannot load without read() or XMLHttpRequest."
- );
- }
- if (!success) ___setErrNo(ERRNO_CODES.EIO);
- return success;
- },
- createLazyFile: function createLazyFile(
- parent,
- name,
- url,
- canRead,
- canWrite
- ) {
- function LazyUint8Array() {
- this.lengthKnown = false;
- this.chunks = [];
- }
- LazyUint8Array.prototype.get = function LazyUint8Array_get(
- idx
- ) {
- if (idx > this.length - 1 || idx < 0) {
- return undefined;
- }
- var chunkOffset = idx % this.chunkSize;
- var chunkNum = (idx / this.chunkSize) | 0;
- return this.getter(chunkNum)[chunkOffset];
- };
- LazyUint8Array.prototype.setDataGetter =
- function LazyUint8Array_setDataGetter(getter) {
- this.getter = getter;
- };
- LazyUint8Array.prototype.cacheLength =
- function LazyUint8Array_cacheLength() {
- var xhr = new XMLHttpRequest();
- xhr.open("HEAD", url, false);
- xhr.send(null);
- if (
- !(
- (xhr.status >= 200 && xhr.status < 300) ||
- xhr.status === 304
- )
- )
- throw new Error(
- "Couldn't load " + url + ". Status: " + xhr.status
- );
- var datalength = Number(
- xhr.getResponseHeader("Content-length")
- );
- var header;
- var hasByteServing =
- (header = xhr.getResponseHeader("Accept-Ranges")) &&
- header === "bytes";
- var usesGzip =
- (header = xhr.getResponseHeader("Content-Encoding")) &&
- header === "gzip";
- var chunkSize = 1024 * 1024;
- if (!hasByteServing) chunkSize = datalength;
- var doXHR = function doXHR(from, to) {
- if (from > to)
- throw new Error(
- "invalid range (" +
- from +
- ", " +
- to +
- ") or no bytes requested!"
- );
- if (to > datalength - 1)
- throw new Error(
- "only " +
- datalength +
- " bytes available! programmer error!"
- );
- var xhr = new XMLHttpRequest();
- xhr.open("GET", url, false);
- if (datalength !== chunkSize)
- xhr.setRequestHeader(
- "Range",
- "bytes=" + from + "-" + to
- );
- if (typeof Uint8Array != "undefined")
- xhr.responseType = "arraybuffer";
- if (xhr.overrideMimeType) {
- xhr.overrideMimeType(
- "text/plain; charset=x-user-defined"
- );
- }
- xhr.send(null);
- if (
- !(
- (xhr.status >= 200 && xhr.status < 300) ||
- xhr.status === 304
- )
- )
- throw new Error(
- "Couldn't load " + url + ". Status: " + xhr.status
- );
- if (xhr.response !== undefined) {
- return new Uint8Array(xhr.response || []);
- } else {
- return intArrayFromString(
- xhr.responseText || "",
- true
- );
- }
- };
- var lazyArray = this;
- lazyArray.setDataGetter(function (chunkNum) {
- var start = chunkNum * chunkSize;
- var end = (chunkNum + 1) * chunkSize - 1;
- end = Math.min(end, datalength - 1);
- if (typeof lazyArray.chunks[chunkNum] === "undefined") {
- lazyArray.chunks[chunkNum] = doXHR(start, end);
- }
- if (typeof lazyArray.chunks[chunkNum] === "undefined")
- throw new Error("doXHR failed!");
- return lazyArray.chunks[chunkNum];
- });
- if (usesGzip || !datalength) {
- chunkSize = datalength = 1;
- datalength = this.getter(0).length;
- chunkSize = datalength;
- console.log(
- "LazyFiles on gzip forces download of the whole file when length is accessed"
- );
- }
- this._length = datalength;
- this._chunkSize = chunkSize;
- this.lengthKnown = true;
- };
- if (typeof XMLHttpRequest !== "undefined") {
- if (!ENVIRONMENT_IS_WORKER)
- throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
- var lazyArray = new LazyUint8Array();
- Object.defineProperties(lazyArray, {
- length: {
- get: function get() {
- if (!this.lengthKnown) {
- this.cacheLength();
- }
- return this._length;
- },
- },
- chunkSize: {
- get: function get() {
- if (!this.lengthKnown) {
- this.cacheLength();
- }
- return this._chunkSize;
- },
- },
- });
- var properties = { isDevice: false, contents: lazyArray };
- } else {
- var properties = { isDevice: false, url: url };
- }
- var node = FS.createFile(
- parent,
- name,
- properties,
- canRead,
- canWrite
- );
- if (properties.contents) {
- node.contents = properties.contents;
- } else if (properties.url) {
- node.contents = null;
- node.url = properties.url;
- }
- Object.defineProperties(node, {
- usedBytes: {
- get: function get() {
- return this.contents.length;
- },
- },
- });
- var stream_ops = {};
- var keys = Object.keys(node.stream_ops);
- keys.forEach(function (key) {
- var fn = node.stream_ops[key];
- stream_ops[key] = function forceLoadLazyFile() {
- if (!FS.forceLoadFile(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- return fn.apply(null, arguments);
- };
- });
- stream_ops.read = function stream_ops_read(
- stream,
- buffer,
- offset,
- length,
- position
- ) {
- if (!FS.forceLoadFile(node)) {
- throw new FS.ErrnoError(ERRNO_CODES.EIO);
- }
- var contents = stream.node.contents;
- if (position >= contents.length) return 0;
- var size = Math.min(contents.length - position, length);
- assert(size >= 0);
- if (contents.slice) {
- for (var i = 0; i < size; i++) {
- buffer[offset + i] = contents[position + i];
- }
- } else {
- for (var i = 0; i < size; i++) {
- buffer[offset + i] = contents.get(position + i);
- }
- }
- return size;
- };
- node.stream_ops = stream_ops;
- return node;
- },
- createPreloadedFile: function createPreloadedFile(
- parent,
- name,
- url,
- canRead,
- canWrite,
- onload,
- onerror,
- dontCreateFile,
- canOwn,
- preFinish
- ) {
- Browser.init();
- var fullname = name
- ? PATH.resolve(PATH.join2(parent, name))
- : parent;
- var dep = getUniqueRunDependency("cp " + fullname);
- function processData(byteArray) {
- function finish(byteArray) {
- if (preFinish) preFinish();
- if (!dontCreateFile) {
- FS.createDataFile(
- parent,
- name,
- byteArray,
- canRead,
- canWrite,
- canOwn
- );
- }
- if (onload) onload();
- removeRunDependency(dep);
- }
- var handled = false;
- Module["preloadPlugins"].forEach(function (plugin) {
- if (handled) return;
- if (plugin["canHandle"](fullname)) {
- plugin["handle"](
- byteArray,
- fullname,
- finish,
- function () {
- if (onerror) onerror();
- removeRunDependency(dep);
- }
- );
- handled = true;
- }
- });
- if (!handled) finish(byteArray);
- }
- addRunDependency(dep);
- if (typeof url == "string") {
- Browser.asyncLoad(
- url,
- function (byteArray) {
- processData(byteArray);
- },
- onerror
- );
- } else {
- processData(url);
- }
- },
- indexedDB: function indexedDB() {
- return (
- window.indexedDB ||
- window.mozIndexedDB ||
- window.webkitIndexedDB ||
- window.msIndexedDB
- );
- },
- DB_NAME: function DB_NAME() {
- return "EM_FS_" + window.location.pathname;
- },
- DB_VERSION: 20,
- DB_STORE_NAME: "FILE_DATA",
- saveFilesToDB: function saveFilesToDB(paths, onload, onerror) {
- onload = onload || function () {};
- onerror = onerror || function () {};
- var indexedDB = FS.indexedDB();
- try {
- var openRequest = indexedDB.open(
- FS.DB_NAME(),
- FS.DB_VERSION
- );
- } catch (e) {
- return onerror(e);
- }
- openRequest.onupgradeneeded =
- function openRequest_onupgradeneeded() {
- console.log("creating db");
- var db = openRequest.result;
- db.createObjectStore(FS.DB_STORE_NAME);
- };
- openRequest.onsuccess = function openRequest_onsuccess() {
- var db = openRequest.result;
- var transaction = db.transaction(
- [FS.DB_STORE_NAME],
- "readwrite"
- );
- var files = transaction.objectStore(FS.DB_STORE_NAME);
- var ok = 0,
- fail = 0,
- total = paths.length;
- function finish() {
- if (fail == 0) onload();
- else onerror();
- }
- paths.forEach(function (path) {
- var putRequest = files.put(
- FS.analyzePath(path).object.contents,
- path
- );
- putRequest.onsuccess = function putRequest_onsuccess() {
- ok++;
- if (ok + fail == total) finish();
- };
- putRequest.onerror = function putRequest_onerror() {
- fail++;
- if (ok + fail == total) finish();
- };
- });
- transaction.onerror = onerror;
- };
- openRequest.onerror = onerror;
- },
- loadFilesFromDB: function loadFilesFromDB(
- paths,
- onload,
- onerror
- ) {
- onload = onload || function () {};
- onerror = onerror || function () {};
- var indexedDB = FS.indexedDB();
- try {
- var openRequest = indexedDB.open(
- FS.DB_NAME(),
- FS.DB_VERSION
- );
- } catch (e) {
- return onerror(e);
- }
- openRequest.onupgradeneeded = onerror;
- openRequest.onsuccess = function openRequest_onsuccess() {
- var db = openRequest.result;
- try {
- var transaction = db.transaction(
- [FS.DB_STORE_NAME],
- "readonly"
- );
- } catch (e) {
- onerror(e);
- return;
- }
- var files = transaction.objectStore(FS.DB_STORE_NAME);
- var ok = 0,
- fail = 0,
- total = paths.length;
- function finish() {
- if (fail == 0) onload();
- else onerror();
- }
- paths.forEach(function (path) {
- var getRequest = files.get(path);
- getRequest.onsuccess = function getRequest_onsuccess() {
- if (FS.analyzePath(path).exists) {
- FS.unlink(path);
- }
- FS.createDataFile(
- PATH.dirname(path),
- PATH.basename(path),
- getRequest.result,
- true,
- true,
- true
- );
- ok++;
- if (ok + fail == total) finish();
- };
- getRequest.onerror = function getRequest_onerror() {
- fail++;
- if (ok + fail == total) finish();
- };
- });
- transaction.onerror = onerror;
- };
- openRequest.onerror = onerror;
- },
- };
- var SYSCALLS = {
- DEFAULT_POLLMASK: 5,
- mappings: {},
- umask: 511,
- calculateAt: function calculateAt(dirfd, path) {
- if (path[0] !== "/") {
- var dir;
- if (dirfd === -100) {
- dir = FS.cwd();
- } else {
- var dirstream = FS.getStream(dirfd);
- if (!dirstream)
- throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- dir = dirstream.path;
- }
- path = PATH.join2(dir, path);
- }
- return path;
- },
- doStat: function doStat(func, path, buf) {
- try {
- var stat = func(path);
- } catch (e) {
- if (
- e &&
- e.node &&
- PATH.normalize(path) !==
- PATH.normalize(FS.getPath(e.node))
- ) {
- return -ERRNO_CODES.ENOTDIR;
- }
- throw e;
- }
- HEAP32[buf >> 2] = stat.dev;
- HEAP32[(buf + 4) >> 2] = 0;
- HEAP32[(buf + 8) >> 2] = stat.ino;
- HEAP32[(buf + 12) >> 2] = stat.mode;
- HEAP32[(buf + 16) >> 2] = stat.nlink;
- HEAP32[(buf + 20) >> 2] = stat.uid;
- HEAP32[(buf + 24) >> 2] = stat.gid;
- HEAP32[(buf + 28) >> 2] = stat.rdev;
- HEAP32[(buf + 32) >> 2] = 0;
- HEAP32[(buf + 36) >> 2] = stat.size;
- HEAP32[(buf + 40) >> 2] = 4096;
- HEAP32[(buf + 44) >> 2] = stat.blocks;
- HEAP32[(buf + 48) >> 2] = (stat.atime.getTime() / 1e3) | 0;
- HEAP32[(buf + 52) >> 2] = 0;
- HEAP32[(buf + 56) >> 2] = (stat.mtime.getTime() / 1e3) | 0;
- HEAP32[(buf + 60) >> 2] = 0;
- HEAP32[(buf + 64) >> 2] = (stat.ctime.getTime() / 1e3) | 0;
- HEAP32[(buf + 68) >> 2] = 0;
- HEAP32[(buf + 72) >> 2] = stat.ino;
- return 0;
- },
- doMsync: function doMsync(addr, stream, len, flags) {
- var buffer = new Uint8Array(
- HEAPU8.subarray(addr, addr + len)
- );
- FS.msync(stream, buffer, 0, len, flags);
- },
- doMkdir: function doMkdir(path, mode) {
- path = PATH.normalize(path);
- if (path[path.length - 1] === "/")
- path = path.substr(0, path.length - 1);
- FS.mkdir(path, mode, 0);
- return 0;
- },
- doMknod: function doMknod(path, mode, dev) {
- switch (mode & 61440) {
- case 32768:
- case 8192:
- case 24576:
- case 4096:
- case 49152:
- break;
- default:
- return -ERRNO_CODES.EINVAL;
- }
- FS.mknod(path, mode, dev);
- return 0;
- },
- doReadlink: function doReadlink(path, buf, bufsize) {
- if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
- var ret = FS.readlink(path);
- var len = Math.min(bufsize, lengthBytesUTF8(ret));
- var endChar = HEAP8[buf + len];
- stringToUTF8(ret, buf, bufsize + 1);
- HEAP8[buf + len] = endChar;
- return len;
- },
- doAccess: function doAccess(path, amode) {
- if (amode & ~7) {
- return -ERRNO_CODES.EINVAL;
- }
- var node;
- var lookup = FS.lookupPath(path, { follow: true });
- node = lookup.node;
- var perms = "";
- if (amode & 4) perms += "r";
- if (amode & 2) perms += "w";
- if (amode & 1) perms += "x";
- if (perms && FS.nodePermissions(node, perms)) {
- return -ERRNO_CODES.EACCES;
- }
- return 0;
- },
- doDup: function doDup(path, flags, suggestFD) {
- var suggest = FS.getStream(suggestFD);
- if (suggest) FS.close(suggest);
- return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
- },
- doReadv: function doReadv(stream, iov, iovcnt, offset) {
- var ret = 0;
- for (var i = 0; i < iovcnt; i++) {
- var ptr = HEAP32[(iov + i * 8) >> 2];
- var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
- var curr = FS.read(stream, HEAP8, ptr, len, offset);
- if (curr < 0) return -1;
- ret += curr;
- if (curr < len) break;
- }
- return ret;
- },
- doWritev: function doWritev(stream, iov, iovcnt, offset) {
- var ret = 0;
- for (var i = 0; i < iovcnt; i++) {
- var ptr = HEAP32[(iov + i * 8) >> 2];
- var len = HEAP32[(iov + (i * 8 + 4)) >> 2];
- var curr = FS.write(stream, HEAP8, ptr, len, offset);
- if (curr < 0) return -1;
- ret += curr;
- }
- return ret;
- },
- varargs: 0,
- get: function get(varargs) {
- SYSCALLS.varargs += 4;
- var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2];
- return ret;
- },
- getStr: function getStr() {
- var ret = Pointer_stringify(SYSCALLS.get());
- return ret;
- },
- getStreamFromFD: function getStreamFromFD() {
- var stream = FS.getStream(SYSCALLS.get());
- if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- return stream;
- },
- getSocketFromFD: function getSocketFromFD() {
- var socket = SOCKFS.getSocket(SYSCALLS.get());
- if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
- return socket;
- },
- getSocketAddress: function getSocketAddress(allowNull) {
- var addrp = SYSCALLS.get(),
- addrlen = SYSCALLS.get();
- if (allowNull && addrp === 0) return null;
- var info = __read_sockaddr(addrp, addrlen);
- if (info.errno) throw new FS.ErrnoError(info.errno);
- info.addr = DNS.lookup_addr(info.addr) || info.addr;
- return info;
- },
- get64: function get64() {
- var low = SYSCALLS.get(),
- high = SYSCALLS.get();
- if (low >= 0) assert(high === 0);
- else assert(high === -1);
- return low;
- },
- getZero: function getZero() {
- assert(SYSCALLS.get() === 0);
- },
- };
- function ___syscall140(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- offset_high = SYSCALLS.get(),
- offset_low = SYSCALLS.get(),
- result = SYSCALLS.get(),
- whence = SYSCALLS.get();
- var offset = offset_low;
- FS.llseek(stream, offset, whence);
- HEAP32[result >> 2] = stream.position;
- if (stream.getdents && offset === 0 && whence === 0)
- stream.getdents = null;
- return 0;
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall145(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- iov = SYSCALLS.get(),
- iovcnt = SYSCALLS.get();
- return SYSCALLS.doReadv(stream, iov, iovcnt);
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall146(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- iov = SYSCALLS.get(),
- iovcnt = SYSCALLS.get();
- return SYSCALLS.doWritev(stream, iov, iovcnt);
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall221(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- cmd = SYSCALLS.get();
- switch (cmd) {
- case 0: {
- var arg = SYSCALLS.get();
- if (arg < 0) {
- return -ERRNO_CODES.EINVAL;
- }
- var newStream;
- newStream = FS.open(stream.path, stream.flags, 0, arg);
- return newStream.fd;
- }
- case 1:
- case 2:
- return 0;
- case 3:
- return stream.flags;
- case 4: {
- var arg = SYSCALLS.get();
- stream.flags |= arg;
- return 0;
- }
- case 12:
- case 12: {
- var arg = SYSCALLS.get();
- var offset = 0;
- HEAP16[(arg + offset) >> 1] = 2;
- return 0;
- }
- case 13:
- case 14:
- case 13:
- case 14:
- return 0;
- case 16:
- case 8:
- return -ERRNO_CODES.EINVAL;
- case 9:
- ___setErrNo(ERRNO_CODES.EINVAL);
- return -1;
- default: {
- return -ERRNO_CODES.EINVAL;
- }
- }
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall5(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var pathname = SYSCALLS.getStr(),
- flags = SYSCALLS.get(),
- mode = SYSCALLS.get();
- var stream = FS.open(pathname, flags, mode);
- return stream.fd;
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall54(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD(),
- op = SYSCALLS.get();
- switch (op) {
- case 21509:
- case 21505: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return 0;
- }
- case 21510:
- case 21511:
- case 21512:
- case 21506:
- case 21507:
- case 21508: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return 0;
- }
- case 21519: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- var argp = SYSCALLS.get();
- HEAP32[argp >> 2] = 0;
- return 0;
- }
- case 21520: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return -ERRNO_CODES.EINVAL;
- }
- case 21531: {
- var argp = SYSCALLS.get();
- return FS.ioctl(stream, op, argp);
- }
- case 21523: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return 0;
- }
- case 21524: {
- if (!stream.tty) return -ERRNO_CODES.ENOTTY;
- return 0;
- }
- default:
- abort("bad ioctl syscall " + op);
- }
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___syscall6(which, varargs) {
- SYSCALLS.varargs = varargs;
- try {
- var stream = SYSCALLS.getStreamFromFD();
- FS.close(stream);
- return 0;
- } catch (e) {
- if (
- typeof FS === "undefined" ||
- !(e instanceof FS.ErrnoError)
- )
- abort(e);
- return -e.errno;
- }
- }
- function ___unlock() {}
- function getShiftFromSize(size) {
- switch (size) {
- case 1:
- return 0;
- case 2:
- return 1;
- case 4:
- return 2;
- case 8:
- return 3;
- default:
- throw new TypeError("Unknown type size: " + size);
- }
- }
- function embind_init_charCodes() {
- var codes = new Array(256);
- for (var i = 0; i < 256; ++i) {
- codes[i] = String.fromCharCode(i);
- }
- embind_charCodes = codes;
- }
- var embind_charCodes = undefined;
- function readLatin1String(ptr) {
- var ret = "";
- var c = ptr;
- while (HEAPU8[c]) {
- ret += embind_charCodes[HEAPU8[c++]];
- }
- return ret;
- }
- var awaitingDependencies = {};
- var registeredTypes = {};
- var typeDependencies = {};
- var char_0 = 48;
- var char_9 = 57;
- function makeLegalFunctionName(name) {
- if (undefined === name) {
- return "_unknown";
- }
- name = name.replace(/[^a-zA-Z0-9_]/g, "$");
- var f = name.charCodeAt(0);
- if (f >= char_0 && f <= char_9) {
- return "_" + name;
- } else {
- return name;
- }
- }
- function createNamedFunction(name, body) {
- name = makeLegalFunctionName(name);
- return new Function(
- "body",
- "return function " +
- name +
- "() {\n" +
- ' "use strict";' +
- " return body.apply(this, arguments);\n" +
- "};\n"
- )(body);
- }
- function extendError(baseErrorType, errorName) {
- var errorClass = createNamedFunction(
- errorName,
- function (message) {
- this.name = errorName;
- this.message = message;
- var stack = new Error(message).stack;
- if (stack !== undefined) {
- this.stack =
- this.toString() +
- "\n" +
- stack.replace(/^Error(:[^\n]*)?\n/, "");
- }
- }
- );
- errorClass.prototype = Object.create(baseErrorType.prototype);
- errorClass.prototype.constructor = errorClass;
- errorClass.prototype.toString = function () {
- if (this.message === undefined) {
- return this.name;
- } else {
- return this.name + ": " + this.message;
- }
- };
- return errorClass;
- }
- var BindingError = undefined;
- function throwBindingError(message) {
- throw new BindingError(message);
- }
- var InternalError = undefined;
- function throwInternalError(message) {
- throw new InternalError(message);
- }
- function whenDependentTypesAreResolved(
- myTypes,
- dependentTypes,
- getTypeConverters
- ) {
- myTypes.forEach(function (type) {
- typeDependencies[type] = dependentTypes;
- });
- function onComplete(typeConverters) {
- var myTypeConverters = getTypeConverters(typeConverters);
- if (myTypeConverters.length !== myTypes.length) {
- throwInternalError("Mismatched type converter count");
- }
- for (var i = 0; i < myTypes.length; ++i) {
- registerType(myTypes[i], myTypeConverters[i]);
- }
- }
- var typeConverters = new Array(dependentTypes.length);
- var unregisteredTypes = [];
- var registered = 0;
- dependentTypes.forEach(function (dt, i) {
- if (registeredTypes.hasOwnProperty(dt)) {
- typeConverters[i] = registeredTypes[dt];
- } else {
- unregisteredTypes.push(dt);
- if (!awaitingDependencies.hasOwnProperty(dt)) {
- awaitingDependencies[dt] = [];
- }
- awaitingDependencies[dt].push(function () {
- typeConverters[i] = registeredTypes[dt];
- ++registered;
- if (registered === unregisteredTypes.length) {
- onComplete(typeConverters);
- }
- });
- }
- });
- if (0 === unregisteredTypes.length) {
- onComplete(typeConverters);
- }
- }
- function registerType(rawType, registeredInstance, options) {
- options = options || {};
- if (!("argPackAdvance" in registeredInstance)) {
- throw new TypeError(
- "registerType registeredInstance requires argPackAdvance"
- );
- }
- var name = registeredInstance.name;
- if (!rawType) {
- throwBindingError(
- 'type "' +
- name +
- '" must have a positive integer typeid pointer'
- );
- }
- if (registeredTypes.hasOwnProperty(rawType)) {
- if (options.ignoreDuplicateRegistrations) {
- return;
- } else {
- throwBindingError(
- "Cannot register type '" + name + "' twice"
- );
- }
- }
- registeredTypes[rawType] = registeredInstance;
- delete typeDependencies[rawType];
- if (awaitingDependencies.hasOwnProperty(rawType)) {
- var callbacks = awaitingDependencies[rawType];
- delete awaitingDependencies[rawType];
- callbacks.forEach(function (cb) {
- cb();
- });
- }
- }
- function __embind_register_bool(
- rawType,
- name,
- size,
- trueValue,
- falseValue
- ) {
- var shift = getShiftFromSize(size);
- name = readLatin1String(name);
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(wt) {
- return !!wt;
- },
- toWireType: function toWireType(destructors, o) {
- return o ? trueValue : falseValue;
- },
- argPackAdvance: 8,
- readValueFromPointer: function readValueFromPointer(pointer) {
- var heap;
- if (size === 1) {
- heap = HEAP8;
- } else if (size === 2) {
- heap = HEAP16;
- } else if (size === 4) {
- heap = HEAP32;
- } else {
- throw new TypeError("Unknown boolean type size: " + name);
- }
- return this["fromWireType"](heap[pointer >> shift]);
- },
- destructorFunction: null,
- });
- }
- function ClassHandle_isAliasOf(other) {
- if (!(this instanceof ClassHandle)) {
- return false;
- }
- if (!(other instanceof ClassHandle)) {
- return false;
- }
- var leftClass = this.$$.ptrType.registeredClass;
- var left = this.$$.ptr;
- var rightClass = other.$$.ptrType.registeredClass;
- var right = other.$$.ptr;
- while (leftClass.baseClass) {
- left = leftClass.upcast(left);
- leftClass = leftClass.baseClass;
- }
- while (rightClass.baseClass) {
- right = rightClass.upcast(right);
- rightClass = rightClass.baseClass;
- }
- return leftClass === rightClass && left === right;
- }
- function shallowCopyInternalPointer(o) {
- return {
- count: o.count,
- deleteScheduled: o.deleteScheduled,
- preservePointerOnDelete: o.preservePointerOnDelete,
- ptr: o.ptr,
- ptrType: o.ptrType,
- smartPtr: o.smartPtr,
- smartPtrType: o.smartPtrType,
- };
- }
- function throwInstanceAlreadyDeleted(obj) {
- function getInstanceTypeName(handle) {
- return handle.$$.ptrType.registeredClass.name;
- }
- throwBindingError(
- getInstanceTypeName(obj) + " instance already deleted"
- );
- }
- function ClassHandle_clone() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (this.$$.preservePointerOnDelete) {
- this.$$.count.value += 1;
- return this;
- } else {
- var clone = Object.create(Object.getPrototypeOf(this), {
- $$: { value: shallowCopyInternalPointer(this.$$) },
- });
- clone.$$.count.value += 1;
- clone.$$.deleteScheduled = false;
- return clone;
- }
- }
- function runDestructor(handle) {
- var $$ = handle.$$;
- if ($$.smartPtr) {
- $$.smartPtrType.rawDestructor($$.smartPtr);
- } else {
- $$.ptrType.registeredClass.rawDestructor($$.ptr);
- }
- }
- function ClassHandle_delete() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (
- this.$$.deleteScheduled &&
- !this.$$.preservePointerOnDelete
- ) {
- throwBindingError("Object already scheduled for deletion");
- }
- this.$$.count.value -= 1;
- var toDelete = 0 === this.$$.count.value;
- if (toDelete) {
- runDestructor(this);
- }
- if (!this.$$.preservePointerOnDelete) {
- this.$$.smartPtr = undefined;
- this.$$.ptr = undefined;
- }
- }
- function ClassHandle_isDeleted() {
- return !this.$$.ptr;
- }
- var delayFunction = undefined;
- var deletionQueue = [];
- function flushPendingDeletes() {
- while (deletionQueue.length) {
- var obj = deletionQueue.pop();
- obj.$$.deleteScheduled = false;
- obj["delete"]();
- }
- }
- function ClassHandle_deleteLater() {
- if (!this.$$.ptr) {
- throwInstanceAlreadyDeleted(this);
- }
- if (
- this.$$.deleteScheduled &&
- !this.$$.preservePointerOnDelete
- ) {
- throwBindingError("Object already scheduled for deletion");
- }
- deletionQueue.push(this);
- if (deletionQueue.length === 1 && delayFunction) {
- delayFunction(flushPendingDeletes);
- }
- this.$$.deleteScheduled = true;
- return this;
- }
- function init_ClassHandle() {
- ClassHandle.prototype["isAliasOf"] = ClassHandle_isAliasOf;
- ClassHandle.prototype["clone"] = ClassHandle_clone;
- ClassHandle.prototype["delete"] = ClassHandle_delete;
- ClassHandle.prototype["isDeleted"] = ClassHandle_isDeleted;
- ClassHandle.prototype["deleteLater"] = ClassHandle_deleteLater;
- }
- function ClassHandle() {}
- var registeredPointers = {};
- function ensureOverloadTable(proto, methodName, humanName) {
- if (undefined === proto[methodName].overloadTable) {
- var prevFunc = proto[methodName];
- proto[methodName] = function () {
- if (
- !proto[methodName].overloadTable.hasOwnProperty(
- arguments.length
- )
- ) {
- throwBindingError(
- "Function '" +
- humanName +
- "' called with an invalid number of arguments (" +
- arguments.length +
- ") - expects one of (" +
- proto[methodName].overloadTable +
- ")!"
- );
- }
- return proto[methodName].overloadTable[
- arguments.length
- ].apply(this, arguments);
- };
- proto[methodName].overloadTable = [];
- proto[methodName].overloadTable[prevFunc.argCount] = prevFunc;
- }
- }
- function exposePublicSymbol(name, value, numArguments) {
- if (Module.hasOwnProperty(name)) {
- if (
- undefined === numArguments ||
- (undefined !== Module[name].overloadTable &&
- undefined !== Module[name].overloadTable[numArguments])
- ) {
- throwBindingError(
- "Cannot register public name '" + name + "' twice"
- );
- }
- ensureOverloadTable(Module, name, name);
- if (Module.hasOwnProperty(numArguments)) {
- throwBindingError(
- "Cannot register multiple overloads of a function with the same number of arguments (" +
- numArguments +
- ")!"
- );
- }
- Module[name].overloadTable[numArguments] = value;
- } else {
- Module[name] = value;
- if (undefined !== numArguments) {
- Module[name].numArguments = numArguments;
- }
- }
- }
- function RegisteredClass(
- name,
- constructor,
- instancePrototype,
- rawDestructor,
- baseClass,
- getActualType,
- upcast,
- downcast
- ) {
- this.name = name;
- this.constructor = constructor;
- this.instancePrototype = instancePrototype;
- this.rawDestructor = rawDestructor;
- this.baseClass = baseClass;
- this.getActualType = getActualType;
- this.upcast = upcast;
- this.downcast = downcast;
- this.pureVirtualFunctions = [];
- }
- function upcastPointer(ptr, ptrClass, desiredClass) {
- while (ptrClass !== desiredClass) {
- if (!ptrClass.upcast) {
- throwBindingError(
- "Expected null or instance of " +
- desiredClass.name +
- ", got an instance of " +
- ptrClass.name
- );
- }
- ptr = ptrClass.upcast(ptr);
- ptrClass = ptrClass.baseClass;
- }
- return ptr;
- }
- function constNoSmartPtrRawPointerToWireType(
- destructors,
- handle
- ) {
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- return 0;
- }
- if (!handle.$$) {
- throwBindingError(
- 'Cannot pass "' +
- _embind_repr(handle) +
- '" as a ' +
- this.name
- );
- }
- if (!handle.$$.ptr) {
- throwBindingError(
- "Cannot pass deleted object as a pointer of type " +
- this.name
- );
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- var ptr = upcastPointer(
- handle.$$.ptr,
- handleClass,
- this.registeredClass
- );
- return ptr;
- }
- function genericPointerToWireType(destructors, handle) {
- var ptr;
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- if (this.isSmartPointer) {
- ptr = this.rawConstructor();
- if (destructors !== null) {
- destructors.push(this.rawDestructor, ptr);
- }
- return ptr;
- } else {
- return 0;
- }
- }
- if (!handle.$$) {
- throwBindingError(
- 'Cannot pass "' +
- _embind_repr(handle) +
- '" as a ' +
- this.name
- );
- }
- if (!handle.$$.ptr) {
- throwBindingError(
- "Cannot pass deleted object as a pointer of type " +
- this.name
- );
- }
- if (!this.isConst && handle.$$.ptrType.isConst) {
- throwBindingError(
- "Cannot convert argument of type " +
- (handle.$$.smartPtrType
- ? handle.$$.smartPtrType.name
- : handle.$$.ptrType.name) +
- " to parameter type " +
- this.name
- );
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- ptr = upcastPointer(
- handle.$$.ptr,
- handleClass,
- this.registeredClass
- );
- if (this.isSmartPointer) {
- if (undefined === handle.$$.smartPtr) {
- throwBindingError(
- "Passing raw pointer to smart pointer is illegal"
- );
- }
- switch (this.sharingPolicy) {
- case 0:
- if (handle.$$.smartPtrType === this) {
- ptr = handle.$$.smartPtr;
- } else {
- throwBindingError(
- "Cannot convert argument of type " +
- (handle.$$.smartPtrType
- ? handle.$$.smartPtrType.name
- : handle.$$.ptrType.name) +
- " to parameter type " +
- this.name
- );
- }
- break;
- case 1:
- ptr = handle.$$.smartPtr;
- break;
- case 2:
- if (handle.$$.smartPtrType === this) {
- ptr = handle.$$.smartPtr;
- } else {
- var clonedHandle = handle["clone"]();
- ptr = this.rawShare(
- ptr,
- __emval_register(function () {
- clonedHandle["delete"]();
- })
- );
- if (destructors !== null) {
- destructors.push(this.rawDestructor, ptr);
- }
- }
- break;
- default:
- throwBindingError("Unsupporting sharing policy");
- }
- }
- return ptr;
- }
- function nonConstNoSmartPtrRawPointerToWireType(
- destructors,
- handle
- ) {
- if (handle === null) {
- if (this.isReference) {
- throwBindingError("null is not a valid " + this.name);
- }
- return 0;
- }
- if (!handle.$$) {
- throwBindingError(
- 'Cannot pass "' +
- _embind_repr(handle) +
- '" as a ' +
- this.name
- );
- }
- if (!handle.$$.ptr) {
- throwBindingError(
- "Cannot pass deleted object as a pointer of type " +
- this.name
- );
- }
- if (handle.$$.ptrType.isConst) {
- throwBindingError(
- "Cannot convert argument of type " +
- handle.$$.ptrType.name +
- " to parameter type " +
- this.name
- );
- }
- var handleClass = handle.$$.ptrType.registeredClass;
- var ptr = upcastPointer(
- handle.$$.ptr,
- handleClass,
- this.registeredClass
- );
- return ptr;
- }
- function simpleReadValueFromPointer(pointer) {
- return this["fromWireType"](HEAPU32[pointer >> 2]);
- }
- function RegisteredPointer_getPointee(ptr) {
- if (this.rawGetPointee) {
- ptr = this.rawGetPointee(ptr);
- }
- return ptr;
- }
- function RegisteredPointer_destructor(ptr) {
- if (this.rawDestructor) {
- this.rawDestructor(ptr);
- }
- }
- function RegisteredPointer_deleteObject(handle) {
- if (handle !== null) {
- handle["delete"]();
- }
- }
- function downcastPointer(ptr, ptrClass, desiredClass) {
- if (ptrClass === desiredClass) {
- return ptr;
- }
- if (undefined === desiredClass.baseClass) {
- return null;
- }
- var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass);
- if (rv === null) {
- return null;
- }
- return desiredClass.downcast(rv);
- }
- function getInheritedInstanceCount() {
- return Object.keys(registeredInstances).length;
- }
- function getLiveInheritedInstances() {
- var rv = [];
- for (var k in registeredInstances) {
- if (registeredInstances.hasOwnProperty(k)) {
- rv.push(registeredInstances[k]);
- }
- }
- return rv;
- }
- function setDelayFunction(fn) {
- delayFunction = fn;
- if (deletionQueue.length && delayFunction) {
- delayFunction(flushPendingDeletes);
- }
- }
- function init_embind() {
- Module["getInheritedInstanceCount"] = getInheritedInstanceCount;
- Module["getLiveInheritedInstances"] = getLiveInheritedInstances;
- Module["flushPendingDeletes"] = flushPendingDeletes;
- Module["setDelayFunction"] = setDelayFunction;
- }
- var registeredInstances = {};
- function getBasestPointer(class_, ptr) {
- if (ptr === undefined) {
- throwBindingError("ptr should not be undefined");
- }
- while (class_.baseClass) {
- ptr = class_.upcast(ptr);
- class_ = class_.baseClass;
- }
- return ptr;
- }
- function getInheritedInstance(class_, ptr) {
- ptr = getBasestPointer(class_, ptr);
- return registeredInstances[ptr];
- }
- function makeClassHandle(prototype, record) {
- if (!record.ptrType || !record.ptr) {
- throwInternalError(
- "makeClassHandle requires ptr and ptrType"
- );
- }
- var hasSmartPtrType = !!record.smartPtrType;
- var hasSmartPtr = !!record.smartPtr;
- if (hasSmartPtrType !== hasSmartPtr) {
- throwInternalError(
- "Both smartPtrType and smartPtr must be specified"
- );
- }
- record.count = { value: 1 };
- return Object.create(prototype, { $$: { value: record } });
- }
- function RegisteredPointer_fromWireType(ptr) {
- var rawPointer = this.getPointee(ptr);
- if (!rawPointer) {
- this.destructor(ptr);
- return null;
- }
- var registeredInstance = getInheritedInstance(
- this.registeredClass,
- rawPointer
- );
- if (undefined !== registeredInstance) {
- if (0 === registeredInstance.$$.count.value) {
- registeredInstance.$$.ptr = rawPointer;
- registeredInstance.$$.smartPtr = ptr;
- return registeredInstance["clone"]();
- } else {
- var rv = registeredInstance["clone"]();
- this.destructor(ptr);
- return rv;
- }
- }
- function makeDefaultHandle() {
- if (this.isSmartPointer) {
- return makeClassHandle(
- this.registeredClass.instancePrototype,
- {
- ptrType: this.pointeeType,
- ptr: rawPointer,
- smartPtrType: this,
- smartPtr: ptr,
- }
- );
- } else {
- return makeClassHandle(
- this.registeredClass.instancePrototype,
- { ptrType: this, ptr: ptr }
- );
- }
- }
- var actualType = this.registeredClass.getActualType(rawPointer);
- var registeredPointerRecord = registeredPointers[actualType];
- if (!registeredPointerRecord) {
- return makeDefaultHandle.call(this);
- }
- var toType;
- if (this.isConst) {
- toType = registeredPointerRecord.constPointerType;
- } else {
- toType = registeredPointerRecord.pointerType;
- }
- var dp = downcastPointer(
- rawPointer,
- this.registeredClass,
- toType.registeredClass
- );
- if (dp === null) {
- return makeDefaultHandle.call(this);
- }
- if (this.isSmartPointer) {
- return makeClassHandle(
- toType.registeredClass.instancePrototype,
- {
- ptrType: toType,
- ptr: dp,
- smartPtrType: this,
- smartPtr: ptr,
- }
- );
- } else {
- return makeClassHandle(
- toType.registeredClass.instancePrototype,
- { ptrType: toType, ptr: dp }
- );
- }
- }
- function init_RegisteredPointer() {
- RegisteredPointer.prototype.getPointee =
- RegisteredPointer_getPointee;
- RegisteredPointer.prototype.destructor =
- RegisteredPointer_destructor;
- RegisteredPointer.prototype["argPackAdvance"] = 8;
- RegisteredPointer.prototype["readValueFromPointer"] =
- simpleReadValueFromPointer;
- RegisteredPointer.prototype["deleteObject"] =
- RegisteredPointer_deleteObject;
- RegisteredPointer.prototype["fromWireType"] =
- RegisteredPointer_fromWireType;
- }
- function RegisteredPointer(
- name,
- registeredClass,
- isReference,
- isConst,
- isSmartPointer,
- pointeeType,
- sharingPolicy,
- rawGetPointee,
- rawConstructor,
- rawShare,
- rawDestructor
- ) {
- this.name = name;
- this.registeredClass = registeredClass;
- this.isReference = isReference;
- this.isConst = isConst;
- this.isSmartPointer = isSmartPointer;
- this.pointeeType = pointeeType;
- this.sharingPolicy = sharingPolicy;
- this.rawGetPointee = rawGetPointee;
- this.rawConstructor = rawConstructor;
- this.rawShare = rawShare;
- this.rawDestructor = rawDestructor;
- if (
- !isSmartPointer &&
- registeredClass.baseClass === undefined
- ) {
- if (isConst) {
- this["toWireType"] = constNoSmartPtrRawPointerToWireType;
- this.destructorFunction = null;
- } else {
- this["toWireType"] = nonConstNoSmartPtrRawPointerToWireType;
- this.destructorFunction = null;
- }
- } else {
- this["toWireType"] = genericPointerToWireType;
- }
- }
- function replacePublicSymbol(name, value, numArguments) {
- if (!Module.hasOwnProperty(name)) {
- throwInternalError("Replacing nonexistant public symbol");
- }
- if (
- undefined !== Module[name].overloadTable &&
- undefined !== numArguments
- ) {
- Module[name].overloadTable[numArguments] = value;
- } else {
- Module[name] = value;
- Module[name].argCount = numArguments;
- }
- }
- function embind__requireFunction(signature, rawFunction) {
- signature = readLatin1String(signature);
- function makeDynCaller(dynCall) {
- var args = [];
- for (var i = 1; i < signature.length; ++i) {
- args.push("a" + i);
- }
- var name = "dynCall_" + signature + "_" + rawFunction;
- var body =
- "return function " + name + "(" + args.join(", ") + ") {\n";
- body +=
- " return dynCall(rawFunction" +
- (args.length ? ", " : "") +
- args.join(", ") +
- ");\n";
- body += "};\n";
- return new Function("dynCall", "rawFunction", body)(
- dynCall,
- rawFunction
- );
- }
- var fp;
- if (Module["FUNCTION_TABLE_" + signature] !== undefined) {
- fp = Module["FUNCTION_TABLE_" + signature][rawFunction];
- } else if (typeof FUNCTION_TABLE !== "undefined") {
- fp = FUNCTION_TABLE[rawFunction];
- } else {
- var dc = Module["asm"]["dynCall_" + signature];
- if (dc === undefined) {
- dc =
- Module["asm"]["dynCall_" + signature.replace(/f/g, "d")];
- if (dc === undefined) {
- throwBindingError(
- "No dynCall invoker for signature: " + signature
- );
- }
- }
- fp = makeDynCaller(dc);
- }
- if (typeof fp !== "function") {
- throwBindingError(
- "unknown function pointer with signature " +
- signature +
- ": " +
- rawFunction
- );
- }
- return fp;
- }
- var UnboundTypeError = undefined;
- function getTypeName(type) {
- var ptr = ___getTypeName(type);
- var rv = readLatin1String(ptr);
- _free(ptr);
- return rv;
- }
- function throwUnboundTypeError(message, types) {
- var unboundTypes = [];
- var seen = {};
- function visit(type) {
- if (seen[type]) {
- return;
- }
- if (registeredTypes[type]) {
- return;
- }
- if (typeDependencies[type]) {
- typeDependencies[type].forEach(visit);
- return;
- }
- unboundTypes.push(type);
- seen[type] = true;
- }
- types.forEach(visit);
- throw new UnboundTypeError(
- message + ": " + unboundTypes.map(getTypeName).join([", "])
- );
- }
- function __embind_register_class(
- rawType,
- rawPointerType,
- rawConstPointerType,
- baseClassRawType,
- getActualTypeSignature,
- getActualType,
- upcastSignature,
- upcast,
- downcastSignature,
- downcast,
- name,
- destructorSignature,
- rawDestructor
- ) {
- name = readLatin1String(name);
- getActualType = embind__requireFunction(
- getActualTypeSignature,
- getActualType
- );
- if (upcast) {
- upcast = embind__requireFunction(upcastSignature, upcast);
- }
- if (downcast) {
- downcast = embind__requireFunction(
- downcastSignature,
- downcast
- );
- }
- rawDestructor = embind__requireFunction(
- destructorSignature,
- rawDestructor
- );
- var legalFunctionName = makeLegalFunctionName(name);
- exposePublicSymbol(legalFunctionName, function () {
- throwUnboundTypeError(
- "Cannot construct " + name + " due to unbound types",
- [baseClassRawType]
- );
- });
- whenDependentTypesAreResolved(
- [rawType, rawPointerType, rawConstPointerType],
- baseClassRawType ? [baseClassRawType] : [],
- function (base) {
- base = base[0];
- var baseClass;
- var basePrototype;
- if (baseClassRawType) {
- baseClass = base.registeredClass;
- basePrototype = baseClass.instancePrototype;
- } else {
- basePrototype = ClassHandle.prototype;
- }
- var constructor = createNamedFunction(
- legalFunctionName,
- function () {
- if (Object.getPrototypeOf(this) !== instancePrototype) {
- throw new BindingError(
- "Use 'new' to construct " + name
- );
- }
- if (undefined === registeredClass.constructor_body) {
- throw new BindingError(
- name + " has no accessible constructor"
- );
- }
- var body =
- registeredClass.constructor_body[arguments.length];
- if (undefined === body) {
- throw new BindingError(
- "Tried to invoke ctor of " +
- name +
- " with invalid number of parameters (" +
- arguments.length +
- ") - expected (" +
- Object.keys(
- registeredClass.constructor_body
- ).toString() +
- ") parameters instead!"
- );
- }
- return body.apply(this, arguments);
- }
- );
- var instancePrototype = Object.create(basePrototype, {
- constructor: { value: constructor },
- });
- constructor.prototype = instancePrototype;
- var registeredClass = new RegisteredClass(
- name,
- constructor,
- instancePrototype,
- rawDestructor,
- baseClass,
- getActualType,
- upcast,
- downcast
- );
- var referenceConverter = new RegisteredPointer(
- name,
- registeredClass,
- true,
- false,
- false
- );
- var pointerConverter = new RegisteredPointer(
- name + "*",
- registeredClass,
- false,
- false,
- false
- );
- var constPointerConverter = new RegisteredPointer(
- name + " const*",
- registeredClass,
- false,
- true,
- false
- );
- registeredPointers[rawType] = {
- pointerType: pointerConverter,
- constPointerType: constPointerConverter,
- };
- replacePublicSymbol(legalFunctionName, constructor);
- return [
- referenceConverter,
- pointerConverter,
- constPointerConverter,
- ];
- }
- );
- }
- function heap32VectorToArray(count, firstElement) {
- var array = [];
- for (var i = 0; i < count; i++) {
- array.push(HEAP32[(firstElement >> 2) + i]);
- }
- return array;
- }
- function runDestructors(destructors) {
- while (destructors.length) {
- var ptr = destructors.pop();
- var del = destructors.pop();
- del(ptr);
- }
- }
- function __embind_register_class_constructor(
- rawClassType,
- argCount,
- rawArgTypesAddr,
- invokerSignature,
- invoker,
- rawConstructor
- ) {
- var rawArgTypes = heap32VectorToArray(
- argCount,
- rawArgTypesAddr
- );
- invoker = embind__requireFunction(invokerSignature, invoker);
- whenDependentTypesAreResolved(
- [],
- [rawClassType],
- function (classType) {
- classType = classType[0];
- var humanName = "constructor " + classType.name;
- if (
- undefined === classType.registeredClass.constructor_body
- ) {
- classType.registeredClass.constructor_body = [];
- }
- if (
- undefined !==
- classType.registeredClass.constructor_body[argCount - 1]
- ) {
- throw new BindingError(
- "Cannot register multiple constructors with identical number of parameters (" +
- (argCount - 1) +
- ") for class '" +
- classType.name +
- "'! Overload resolution is currently only performed using the parameter count, not actual type info!"
- );
- }
- classType.registeredClass.constructor_body[argCount - 1] =
- function unboundTypeHandler() {
- throwUnboundTypeError(
- "Cannot construct " +
- classType.name +
- " due to unbound types",
- rawArgTypes
- );
- };
- whenDependentTypesAreResolved(
- [],
- rawArgTypes,
- function (argTypes) {
- classType.registeredClass.constructor_body[
- argCount - 1
- ] = function constructor_body() {
- if (arguments.length !== argCount - 1) {
- throwBindingError(
- humanName +
- " called with " +
- arguments.length +
- " arguments, expected " +
- (argCount - 1)
- );
- }
- var destructors = [];
- var args = new Array(argCount);
- args[0] = rawConstructor;
- for (var i = 1; i < argCount; ++i) {
- args[i] = argTypes[i]["toWireType"](
- destructors,
- arguments[i - 1]
- );
- }
- var ptr = invoker.apply(null, args);
- runDestructors(destructors);
- return argTypes[0]["fromWireType"](ptr);
- };
- return [];
- }
- );
- return [];
- }
- );
- }
- function new_(constructor, argumentList) {
- if (!(constructor instanceof Function)) {
- throw new TypeError(
- "new_ called with constructor type " +
- (typeof constructor === "undefined"
- ? "undefined"
- : _typeof(constructor)) +
- " which is not a function"
- );
- }
- var dummy = createNamedFunction(
- constructor.name || "unknownFunctionName",
- function () {}
- );
- dummy.prototype = constructor.prototype;
- var obj = new dummy();
- var r = constructor.apply(obj, argumentList);
- return r instanceof Object ? r : obj;
- }
- function craftInvokerFunction(
- humanName,
- argTypes,
- classType,
- cppInvokerFunc,
- cppTargetFunc
- ) {
- var argCount = argTypes.length;
- if (argCount < 2) {
- throwBindingError(
- "argTypes array size mismatch! Must at least get return value and 'this' types!"
- );
- }
- var isClassMethodFunc =
- argTypes[1] !== null && classType !== null;
- var needsDestructorStack = false;
- for (var i = 1; i < argTypes.length; ++i) {
- if (
- argTypes[i] !== null &&
- argTypes[i].destructorFunction === undefined
- ) {
- needsDestructorStack = true;
- break;
- }
- }
- var returns = argTypes[0].name !== "void";
- var argsList = "";
- var argsListWired = "";
- for (var i = 0; i < argCount - 2; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- argsListWired += (i !== 0 ? ", " : "") + "arg" + i + "Wired";
- }
- var invokerFnBody =
- "return function " +
- makeLegalFunctionName(humanName) +
- "(" +
- argsList +
- ") {\n" +
- "if (arguments.length !== " +
- (argCount - 2) +
- ") {\n" +
- "throwBindingError('function " +
- humanName +
- " called with ' + arguments.length + ' arguments, expected " +
- (argCount - 2) +
- " args!');\n" +
- "}\n";
- if (needsDestructorStack) {
- invokerFnBody += "var destructors = [];\n";
- }
- var dtorStack = needsDestructorStack ? "destructors" : "null";
- var args1 = [
- "throwBindingError",
- "invoker",
- "fn",
- "runDestructors",
- "retType",
- "classParam",
- ];
- var args2 = [
- throwBindingError,
- cppInvokerFunc,
- cppTargetFunc,
- runDestructors,
- argTypes[0],
- argTypes[1],
- ];
- if (isClassMethodFunc) {
- invokerFnBody +=
- "var thisWired = classParam.toWireType(" +
- dtorStack +
- ", this);\n";
- }
- for (var i = 0; i < argCount - 2; ++i) {
- invokerFnBody +=
- "var arg" +
- i +
- "Wired = argType" +
- i +
- ".toWireType(" +
- dtorStack +
- ", arg" +
- i +
- "); // " +
- argTypes[i + 2].name +
- "\n";
- args1.push("argType" + i);
- args2.push(argTypes[i + 2]);
- }
- if (isClassMethodFunc) {
- argsListWired =
- "thisWired" +
- (argsListWired.length > 0 ? ", " : "") +
- argsListWired;
- }
- invokerFnBody +=
- (returns ? "var rv = " : "") +
- "invoker(fn" +
- (argsListWired.length > 0 ? ", " : "") +
- argsListWired +
- ");\n";
- if (needsDestructorStack) {
- invokerFnBody += "runDestructors(destructors);\n";
- } else {
- for (
- var i = isClassMethodFunc ? 1 : 2;
- i < argTypes.length;
- ++i
- ) {
- var paramName =
- i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired";
- if (argTypes[i].destructorFunction !== null) {
- invokerFnBody +=
- paramName +
- "_dtor(" +
- paramName +
- "); // " +
- argTypes[i].name +
- "\n";
- args1.push(paramName + "_dtor");
- args2.push(argTypes[i].destructorFunction);
- }
- }
- }
- if (returns) {
- invokerFnBody +=
- "var ret = retType.fromWireType(rv);\n" + "return ret;\n";
- } else {
- }
- invokerFnBody += "}\n";
- args1.push(invokerFnBody);
- var invokerFunction = new_(Function, args1).apply(null, args2);
- return invokerFunction;
- }
- function __embind_register_class_function(
- rawClassType,
- methodName,
- argCount,
- rawArgTypesAddr,
- invokerSignature,
- rawInvoker,
- context,
- isPureVirtual
- ) {
- var rawArgTypes = heap32VectorToArray(
- argCount,
- rawArgTypesAddr
- );
- methodName = readLatin1String(methodName);
- rawInvoker = embind__requireFunction(
- invokerSignature,
- rawInvoker
- );
- whenDependentTypesAreResolved(
- [],
- [rawClassType],
- function (classType) {
- classType = classType[0];
- var humanName = classType.name + "." + methodName;
- if (isPureVirtual) {
- classType.registeredClass.pureVirtualFunctions.push(
- methodName
- );
- }
- function unboundTypesHandler() {
- throwUnboundTypeError(
- "Cannot call " + humanName + " due to unbound types",
- rawArgTypes
- );
- }
- var proto = classType.registeredClass.instancePrototype;
- var method = proto[methodName];
- if (
- undefined === method ||
- (undefined === method.overloadTable &&
- method.className !== classType.name &&
- method.argCount === argCount - 2)
- ) {
- unboundTypesHandler.argCount = argCount - 2;
- unboundTypesHandler.className = classType.name;
- proto[methodName] = unboundTypesHandler;
- } else {
- ensureOverloadTable(proto, methodName, humanName);
- proto[methodName].overloadTable[argCount - 2] =
- unboundTypesHandler;
- }
- whenDependentTypesAreResolved(
- [],
- rawArgTypes,
- function (argTypes) {
- var memberFunction = craftInvokerFunction(
- humanName,
- argTypes,
- classType,
- rawInvoker,
- context
- );
- if (undefined === proto[methodName].overloadTable) {
- memberFunction.argCount = argCount - 2;
- proto[methodName] = memberFunction;
- } else {
- proto[methodName].overloadTable[argCount - 2] =
- memberFunction;
- }
- return [];
- }
- );
- return [];
- }
- );
- }
- var emval_free_list = [];
- var emval_handle_array = [
- {},
- { value: undefined },
- { value: null },
- { value: true },
- { value: false },
- ];
- function __emval_decref(handle) {
- if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
- emval_handle_array[handle] = undefined;
- emval_free_list.push(handle);
- }
- }
- function count_emval_handles() {
- var count = 0;
- for (var i = 5; i < emval_handle_array.length; ++i) {
- if (emval_handle_array[i] !== undefined) {
- ++count;
- }
- }
- return count;
- }
- function get_first_emval() {
- for (var i = 5; i < emval_handle_array.length; ++i) {
- if (emval_handle_array[i] !== undefined) {
- return emval_handle_array[i];
- }
- }
- return null;
- }
- function init_emval() {
- Module["count_emval_handles"] = count_emval_handles;
- Module["get_first_emval"] = get_first_emval;
- }
- function __emval_register(value) {
- switch (value) {
- case undefined: {
- return 1;
- }
- case null: {
- return 2;
- }
- case true: {
- return 3;
- }
- case false: {
- return 4;
- }
- default: {
- var handle = emval_free_list.length
- ? emval_free_list.pop()
- : emval_handle_array.length;
- emval_handle_array[handle] = { refcount: 1, value: value };
- return handle;
- }
- }
- }
- function __embind_register_emval(rawType, name) {
- name = readLatin1String(name);
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(handle) {
- var rv = emval_handle_array[handle].value;
- __emval_decref(handle);
- return rv;
- },
- toWireType: function toWireType(destructors, value) {
- return __emval_register(value);
- },
- argPackAdvance: 8,
- readValueFromPointer: simpleReadValueFromPointer,
- destructorFunction: null,
- });
- }
- function _embind_repr(v) {
- if (v === null) {
- return "null";
- }
- var t = typeof v === "undefined" ? "undefined" : _typeof(v);
- if (t === "object" || t === "array" || t === "function") {
- return v.toString();
- } else {
- return "" + v;
- }
- }
- function floatReadValueFromPointer(name, shift) {
- switch (shift) {
- case 2:
- return function (pointer) {
- return this["fromWireType"](HEAPF32[pointer >> 2]);
- };
- case 3:
- return function (pointer) {
- return this["fromWireType"](HEAPF64[pointer >> 3]);
- };
- default:
- throw new TypeError("Unknown float type: " + name);
- }
- }
- function __embind_register_float(rawType, name, size) {
- var shift = getShiftFromSize(size);
- name = readLatin1String(name);
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(value) {
- return value;
- },
- toWireType: function toWireType(destructors, value) {
- if (
- typeof value !== "number" &&
- typeof value !== "boolean"
- ) {
- throw new TypeError(
- 'Cannot convert "' +
- _embind_repr(value) +
- '" to ' +
- this.name
- );
- }
- return value;
- },
- argPackAdvance: 8,
- readValueFromPointer: floatReadValueFromPointer(name, shift),
- destructorFunction: null,
- });
- }
- function __embind_register_function(
- name,
- argCount,
- rawArgTypesAddr,
- signature,
- rawInvoker,
- fn
- ) {
- var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr);
- name = readLatin1String(name);
- rawInvoker = embind__requireFunction(signature, rawInvoker);
- exposePublicSymbol(
- name,
- function () {
- throwUnboundTypeError(
- "Cannot call " + name + " due to unbound types",
- argTypes
- );
- },
- argCount - 1
- );
- whenDependentTypesAreResolved(
- [],
- argTypes,
- function (argTypes) {
- var invokerArgsArray = [argTypes[0], null].concat(
- argTypes.slice(1)
- );
- replacePublicSymbol(
- name,
- craftInvokerFunction(
- name,
- invokerArgsArray,
- null,
- rawInvoker,
- fn
- ),
- argCount - 1
- );
- return [];
- }
- );
- }
- function integerReadValueFromPointer(name, shift, signed) {
- switch (shift) {
- case 0:
- return signed
- ? function readS8FromPointer(pointer) {
- return HEAP8[pointer];
- }
- : function readU8FromPointer(pointer) {
- return HEAPU8[pointer];
- };
- case 1:
- return signed
- ? function readS16FromPointer(pointer) {
- return HEAP16[pointer >> 1];
- }
- : function readU16FromPointer(pointer) {
- return HEAPU16[pointer >> 1];
- };
- case 2:
- return signed
- ? function readS32FromPointer(pointer) {
- return HEAP32[pointer >> 2];
- }
- : function readU32FromPointer(pointer) {
- return HEAPU32[pointer >> 2];
- };
- default:
- throw new TypeError("Unknown integer type: " + name);
- }
- }
- function __embind_register_integer(
- primitiveType,
- name,
- size,
- minRange,
- maxRange
- ) {
- name = readLatin1String(name);
- if (maxRange === -1) {
- maxRange = 4294967295;
- }
- var shift = getShiftFromSize(size);
- var fromWireType = function fromWireType(value) {
- return value;
- };
- if (minRange === 0) {
- var bitshift = 32 - 8 * size;
- fromWireType = function fromWireType(value) {
- return (value << bitshift) >>> bitshift;
- };
- }
- var isUnsignedType = name.indexOf("unsigned") != -1;
- registerType(primitiveType, {
- name: name,
- fromWireType: fromWireType,
- toWireType: function toWireType(destructors, value) {
- if (
- typeof value !== "number" &&
- typeof value !== "boolean"
- ) {
- throw new TypeError(
- 'Cannot convert "' +
- _embind_repr(value) +
- '" to ' +
- this.name
- );
- }
- if (value < minRange || value > maxRange) {
- 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 +
- "]!"
- );
- }
- return isUnsignedType ? value >>> 0 : value | 0;
- },
- argPackAdvance: 8,
- readValueFromPointer: integerReadValueFromPointer(
- name,
- shift,
- minRange !== 0
- ),
- destructorFunction: null,
- });
- }
- function __embind_register_memory_view(
- rawType,
- dataTypeIndex,
- name
- ) {
- var typeMapping = [
- Int8Array,
- Uint8Array,
- Int16Array,
- Uint16Array,
- Int32Array,
- Uint32Array,
- Float32Array,
- Float64Array,
- ];
- var TA = typeMapping[dataTypeIndex];
- function decodeMemoryView(handle) {
- handle = handle >> 2;
- var heap = HEAPU32;
- var size = heap[handle];
- var data = heap[handle + 1];
- return new TA(heap["buffer"], data, size);
- }
- name = readLatin1String(name);
- registerType(
- rawType,
- {
- name: name,
- fromWireType: decodeMemoryView,
- argPackAdvance: 8,
- readValueFromPointer: decodeMemoryView,
- },
- { ignoreDuplicateRegistrations: true }
- );
- }
- function __embind_register_std_string(rawType, name) {
- name = readLatin1String(name);
- var stdStringIsUTF8 = name === "std::string";
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(value) {
- var length = HEAPU32[value >> 2];
- var str;
- if (stdStringIsUTF8) {
- var endChar = HEAPU8[value + 4 + length];
- var endCharSwap = 0;
- if (endChar != 0) {
- endCharSwap = endChar;
- HEAPU8[value + 4 + length] = 0;
- }
- var decodeStartPtr = value + 4;
- for (var i = 0; i <= length; ++i) {
- var currentBytePtr = value + 4 + i;
- if (HEAPU8[currentBytePtr] == 0) {
- var stringSegment = UTF8ToString(decodeStartPtr);
- if (str === undefined) str = stringSegment;
- else {
- str += String.fromCharCode(0);
- str += stringSegment;
- }
- decodeStartPtr = currentBytePtr + 1;
- }
- }
- if (endCharSwap != 0)
- HEAPU8[value + 4 + length] = endCharSwap;
- } else {
- var a = new Array(length);
- for (var i = 0; i < length; ++i) {
- a[i] = String.fromCharCode(HEAPU8[value + 4 + i]);
- }
- str = a.join("");
- }
- _free(value);
- return str;
- },
- toWireType: function toWireType(destructors, value) {
- if (value instanceof ArrayBuffer) {
- value = new Uint8Array(value);
- }
- var getLength;
- var valueIsOfTypeString = typeof value === "string";
- if (
- !(
- valueIsOfTypeString ||
- value instanceof Uint8Array ||
- value instanceof Uint8ClampedArray ||
- value instanceof Int8Array
- )
- ) {
- throwBindingError(
- "Cannot pass non-string to std::string"
- );
- }
- if (stdStringIsUTF8 && valueIsOfTypeString) {
- getLength = function getLength() {
- return lengthBytesUTF8(value);
- };
- } else {
- getLength = function getLength() {
- return value.length;
- };
- }
- var length = getLength();
- var ptr = _malloc(4 + length + 1);
- HEAPU32[ptr >> 2] = length;
- if (stdStringIsUTF8 && valueIsOfTypeString) {
- stringToUTF8(value, ptr + 4, length + 1);
- } else {
- if (valueIsOfTypeString) {
- for (var i = 0; i < length; ++i) {
- var charCode = value.charCodeAt(i);
- if (charCode > 255) {
- _free(ptr);
- throwBindingError(
- "String has UTF-16 code units that do not fit in 8 bits"
- );
- }
- HEAPU8[ptr + 4 + i] = charCode;
- }
- } else {
- for (var i = 0; i < length; ++i) {
- HEAPU8[ptr + 4 + i] = value[i];
- }
- }
- }
- if (destructors !== null) {
- destructors.push(_free, ptr);
- }
- return ptr;
- },
- argPackAdvance: 8,
- readValueFromPointer: simpleReadValueFromPointer,
- destructorFunction: function destructorFunction(ptr) {
- _free(ptr);
- },
- });
- }
- function __embind_register_std_wstring(rawType, charSize, name) {
- name = readLatin1String(name);
- var getHeap, shift;
- if (charSize === 2) {
- getHeap = function getHeap() {
- return HEAPU16;
- };
- shift = 1;
- } else if (charSize === 4) {
- getHeap = function getHeap() {
- return HEAPU32;
- };
- shift = 2;
- }
- registerType(rawType, {
- name: name,
- fromWireType: function fromWireType(value) {
- var HEAP = getHeap();
- var length = HEAPU32[value >> 2];
- var a = new Array(length);
- var start = (value + 4) >> shift;
- for (var i = 0; i < length; ++i) {
- a[i] = String.fromCharCode(HEAP[start + i]);
- }
- _free(value);
- return a.join("");
- },
- toWireType: function toWireType(destructors, value) {
- var HEAP = getHeap();
- var length = value.length;
- var ptr = _malloc(4 + length * charSize);
- HEAPU32[ptr >> 2] = length;
- var start = (ptr + 4) >> shift;
- for (var i = 0; i < length; ++i) {
- HEAP[start + i] = value.charCodeAt(i);
- }
- if (destructors !== null) {
- destructors.push(_free, ptr);
- }
- return ptr;
- },
- argPackAdvance: 8,
- readValueFromPointer: simpleReadValueFromPointer,
- destructorFunction: function destructorFunction(ptr) {
- _free(ptr);
- },
- });
- }
- function __embind_register_void(rawType, name) {
- name = readLatin1String(name);
- registerType(rawType, {
- isVoid: true,
- name: name,
- argPackAdvance: 0,
- fromWireType: function fromWireType() {
- return undefined;
- },
- toWireType: function toWireType(destructors, o) {
- return undefined;
- },
- });
- }
- function requireHandle(handle) {
- if (!handle) {
- throwBindingError(
- "Cannot use deleted val. handle = " + handle
- );
- }
- return emval_handle_array[handle].value;
- }
- function requireRegisteredType(rawType, humanName) {
- var impl = registeredTypes[rawType];
- if (undefined === impl) {
- throwBindingError(
- humanName + " has unknown type " + getTypeName(rawType)
- );
- }
- return impl;
- }
- function __emval_as(handle, returnType, destructorsRef) {
- handle = requireHandle(handle);
- returnType = requireRegisteredType(returnType, "emval::as");
- var destructors = [];
- var rd = __emval_register(destructors);
- HEAP32[destructorsRef >> 2] = rd;
- return returnType["toWireType"](destructors, handle);
- }
- function __emval_lookupTypes(argCount, argTypes, argWireTypes) {
- var a = new Array(argCount);
- for (var i = 0; i < argCount; ++i) {
- a[i] = requireRegisteredType(
- HEAP32[(argTypes >> 2) + i],
- "parameter " + i
- );
- }
- return a;
- }
- function __emval_call(handle, argCount, argTypes, argv) {
- handle = requireHandle(handle);
- var types = __emval_lookupTypes(argCount, argTypes);
- var args = new Array(argCount);
- for (var i = 0; i < argCount; ++i) {
- var type = types[i];
- args[i] = type["readValueFromPointer"](argv);
- argv += type["argPackAdvance"];
- }
- var rv = handle.apply(undefined, args);
- return __emval_register(rv);
- }
- function __emval_allocateDestructors(destructorsRef) {
- var destructors = [];
- HEAP32[destructorsRef >> 2] = __emval_register(destructors);
- return destructors;
- }
- var emval_symbols = {};
- function getStringOrSymbol(address) {
- var symbol = emval_symbols[address];
- if (symbol === undefined) {
- return readLatin1String(address);
- } else {
- return symbol;
- }
- }
- var emval_methodCallers = [];
- function __emval_call_void_method(
- caller,
- handle,
- methodName,
- args
- ) {
- caller = emval_methodCallers[caller];
- handle = requireHandle(handle);
- methodName = getStringOrSymbol(methodName);
- caller(handle, methodName, null, args);
- }
- function __emval_addMethodCaller(caller) {
- var id = emval_methodCallers.length;
- emval_methodCallers.push(caller);
- return id;
- }
- function __emval_get_method_caller(argCount, argTypes) {
- var types = __emval_lookupTypes(argCount, argTypes);
- var retType = types[0];
- var signatureName =
- retType.name +
- "_$" +
- types
- .slice(1)
- .map(function (t) {
- return t.name;
- })
- .join("_") +
- "$";
- var params = ["retType"];
- var args = [retType];
- var argsList = "";
- for (var i = 0; i < argCount - 1; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- params.push("argType" + i);
- args.push(types[1 + i]);
- }
- var functionName = makeLegalFunctionName(
- "methodCaller_" + signatureName
- );
- var functionBody =
- "return function " +
- functionName +
- "(handle, name, destructors, args) {\n";
- var offset = 0;
- for (var i = 0; i < argCount - 1; ++i) {
- functionBody +=
- " var arg" +
- i +
- " = argType" +
- i +
- ".readValueFromPointer(args" +
- (offset ? "+" + offset : "") +
- ");\n";
- offset += types[i + 1]["argPackAdvance"];
- }
- functionBody +=
- " var rv = handle[name](" + argsList + ");\n";
- for (var i = 0; i < argCount - 1; ++i) {
- if (types[i + 1]["deleteObject"]) {
- functionBody +=
- " argType" + i + ".deleteObject(arg" + i + ");\n";
- }
- }
- if (!retType.isVoid) {
- functionBody +=
- " return retType.toWireType(destructors, rv);\n";
- }
- functionBody += "};\n";
- params.push(functionBody);
- var invokerFunction = new_(Function, params).apply(null, args);
- return __emval_addMethodCaller(invokerFunction);
- }
- function __emval_get_module_property(name) {
- name = getStringOrSymbol(name);
- return __emval_register(Module[name]);
- }
- function __emval_get_property(handle, key) {
- handle = requireHandle(handle);
- key = requireHandle(key);
- return __emval_register(handle[key]);
- }
- function __emval_incref(handle) {
- if (handle > 4) {
- emval_handle_array[handle].refcount += 1;
- }
- }
- function craftEmvalAllocator(argCount) {
- var argsList = "";
- for (var i = 0; i < argCount; ++i) {
- argsList += (i !== 0 ? ", " : "") + "arg" + i;
- }
- var functionBody =
- "return function emval_allocator_" +
- argCount +
- "(constructor, argTypes, args) {\n";
- for (var i = 0; i < argCount; ++i) {
- functionBody +=
- "var argType" +
- i +
- " = requireRegisteredType(HEAP32[(argTypes >> 2) + " +
- i +
- '], "parameter ' +
- i +
- '");\n' +
- "var arg" +
- i +
- " = argType" +
- i +
- ".readValueFromPointer(args);\n" +
- "args += argType" +
- i +
- "['argPackAdvance'];\n";
- }
- functionBody +=
- "var obj = new constructor(" +
- argsList +
- ");\n" +
- "return __emval_register(obj);\n" +
- "}\n";
- return new Function(
- "requireRegisteredType",
- "HEAP32",
- "__emval_register",
- functionBody
- )(requireRegisteredType, HEAP32, __emval_register);
- }
- var emval_newers = {};
- function __emval_new(handle, argCount, argTypes, args) {
- handle = requireHandle(handle);
- var newer = emval_newers[argCount];
- if (!newer) {
- newer = craftEmvalAllocator(argCount);
- emval_newers[argCount] = newer;
- }
- return newer(handle, argTypes, args);
- }
- function __emval_new_cstring(v) {
- return __emval_register(getStringOrSymbol(v));
- }
- function __emval_run_destructors(handle) {
- var destructors = emval_handle_array[handle].value;
- runDestructors(destructors);
- __emval_decref(handle);
- }
- function __emval_take_value(type, argv) {
- type = requireRegisteredType(type, "_emval_take_value");
- var v = type["readValueFromPointer"](argv);
- return __emval_register(v);
- }
- function _abort() {
- Module["abort"]();
- }
- function _llvm_cttz_i64(l, h) {
- var ret = _llvm_cttz_i32(l);
- if (ret == 32) ret += _llvm_cttz_i32(h);
- return (setTempRet0(0), ret) | 0;
- }
- function _emscripten_memcpy_big(dest, src, num) {
- HEAPU8.set(HEAPU8.subarray(src, src + num), dest);
- return dest;
- }
- var PTHREAD_SPECIFIC = {};
- function _pthread_getspecific(key) {
- return PTHREAD_SPECIFIC[key] || 0;
- }
- var PTHREAD_SPECIFIC_NEXT_KEY = 1;
- function _pthread_key_create(key, destructor) {
- if (key == 0) {
- return ERRNO_CODES.EINVAL;
- }
- HEAP32[key >> 2] = PTHREAD_SPECIFIC_NEXT_KEY;
- PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY] = 0;
- PTHREAD_SPECIFIC_NEXT_KEY++;
- return 0;
- }
- function _pthread_once(ptr, func) {
- if (!_pthread_once.seen) _pthread_once.seen = {};
- if (ptr in _pthread_once.seen) return;
- Module["dynCall_v"](func);
- _pthread_once.seen[ptr] = 1;
- }
- function _pthread_setspecific(key, value) {
- if (!(key in PTHREAD_SPECIFIC)) {
- return ERRNO_CODES.EINVAL;
- }
- PTHREAD_SPECIFIC[key] = value;
- return 0;
- }
- FS.staticInit();
- __ATINIT__.unshift(function () {
- if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
- });
- __ATMAIN__.push(function () {
- FS.ignorePermissions = false;
- });
- __ATEXIT__.push(function () {
- FS.quit();
- });
- __ATINIT__.unshift(function () {
- TTY.init();
- });
- __ATEXIT__.push(function () {
- TTY.shutdown();
- });
- if (ENVIRONMENT_IS_NODE) {
- var fs = require("fs");
- var NODEJS_PATH = require("path");
- NODEFS.staticInit();
- }
- embind_init_charCodes();
- BindingError = Module["BindingError"] = extendError(
- Error,
- "BindingError"
- );
- InternalError = Module["InternalError"] = extendError(
- Error,
- "InternalError"
- );
- init_ClassHandle();
- init_RegisteredPointer();
- init_embind();
- UnboundTypeError = Module["UnboundTypeError"] = extendError(
- Error,
- "UnboundTypeError"
- );
- init_emval();
- DYNAMICTOP_PTR = staticAlloc(4);
- STACK_BASE = STACKTOP = alignMemory(STATICTOP);
- STACK_MAX = STACK_BASE + TOTAL_STACK;
- DYNAMIC_BASE = alignMemory(STACK_MAX);
- HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
- staticSealed = true;
- var ASSERTIONS = false;
- function intArrayFromString(stringy, dontAddNull, length) {
- var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
- var u8array = new Array(len);
- var numBytesWritten = stringToUTF8Array(
- stringy,
- u8array,
- 0,
- u8array.length
- );
- if (dontAddNull) u8array.length = numBytesWritten;
- return u8array;
- }
- function intArrayToString(array) {
- var ret = [];
- for (var i = 0; i < array.length; i++) {
- var chr = array[i];
- if (chr > 255) {
- if (ASSERTIONS) {
- assert(
- false,
- "Character code " +
- chr +
- " (" +
- String.fromCharCode(chr) +
- ") at offset " +
- i +
- " not in 0x00-0xFF."
- );
- }
- chr &= 255;
- }
- ret.push(String.fromCharCode(chr));
- }
- return ret.join("");
- }
- var decodeBase64 =
- typeof atob === "function"
- ? atob
- : function (input) {
- var keyStr =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
- var output = "";
- var chr1, chr2, chr3;
- var enc1, enc2, enc3, enc4;
- var i = 0;
- input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
- do {
- enc1 = keyStr.indexOf(input.charAt(i++));
- enc2 = keyStr.indexOf(input.charAt(i++));
- enc3 = keyStr.indexOf(input.charAt(i++));
- enc4 = keyStr.indexOf(input.charAt(i++));
- chr1 = (enc1 << 2) | (enc2 >> 4);
- chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
- chr3 = ((enc3 & 3) << 6) | enc4;
- output = output + String.fromCharCode(chr1);
- if (enc3 !== 64) {
- output = output + String.fromCharCode(chr2);
- }
- if (enc4 !== 64) {
- output = output + String.fromCharCode(chr3);
- }
- } while (i < input.length);
- return output;
- };
- function intArrayFromBase64(s) {
- if (
- typeof ENVIRONMENT_IS_NODE === "boolean" &&
- ENVIRONMENT_IS_NODE
- ) {
- var buf;
- try {
- buf = Buffer.from(s, "base64");
- } catch (_) {
- buf = new Buffer(s, "base64");
- }
- return new Uint8Array(
- buf.buffer,
- buf.byteOffset,
- buf.byteLength
- );
- }
- try {
- var decoded = decodeBase64(s);
- var bytes = new Uint8Array(decoded.length);
- for (var i = 0; i < decoded.length; ++i) {
- bytes[i] = decoded.charCodeAt(i);
- }
- return bytes;
- } catch (_) {
- throw new Error("Converting base64 string to bytes failed.");
- }
- }
- function tryParseAsDataURI(filename) {
- if (!isDataURI(filename)) {
- return;
- }
- return intArrayFromBase64(filename.slice(dataURIPrefix.length));
- }
- function invoke_i(index) {
- var sp = _stackSave();
- try {
- return Module["dynCall_i"](index);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_ii(index, a1) {
- var sp = _stackSave();
- try {
- return Module["dynCall_ii"](index, a1);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iii(index, a1, a2) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iii"](index, a1, a2);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iiii(index, a1, a2, a3) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iiii"](index, a1, a2, a3);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iiiii(index, a1, a2, a3, a4) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iiiii"](index, a1, a2, a3, a4);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iiiiii(index, a1, a2, a3, a4, a5) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iiiiii"](index, a1, a2, a3, a4, a5);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
- var sp = _stackSave();
- try {
- return Module["dynCall_iiiiiii"](
- index,
- a1,
- a2,
- a3,
- a4,
- a5,
- a6
- );
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_v(index) {
- var sp = _stackSave();
- try {
- Module["dynCall_v"](index);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_vi(index, a1) {
- var sp = _stackSave();
- try {
- Module["dynCall_vi"](index, a1);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_vii(index, a1, a2) {
- var sp = _stackSave();
- try {
- Module["dynCall_vii"](index, a1, a2);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_viii(index, a1, a2, a3) {
- var sp = _stackSave();
- try {
- Module["dynCall_viii"](index, a1, a2, a3);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_viiii(index, a1, a2, a3, a4) {
- var sp = _stackSave();
- try {
- Module["dynCall_viiii"](index, a1, a2, a3, a4);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_viiiii(index, a1, a2, a3, a4, a5) {
- var sp = _stackSave();
- try {
- Module["dynCall_viiiii"](index, a1, a2, a3, a4, a5);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) {
- var sp = _stackSave();
- try {
- Module["dynCall_viiiiii"](index, a1, a2, a3, a4, a5, a6);
- } catch (e) {
- _stackRestore(sp);
- if (typeof e !== "number" && e !== "longjmp") throw e;
- Module["setThrew"](1, 0);
- }
- }
- Module.asmGlobalArg = {
- Math: Math,
- Int8Array: Int8Array,
- Int16Array: Int16Array,
- Int32Array: Int32Array,
- Uint8Array: Uint8Array,
- Uint16Array: Uint16Array,
- Uint32Array: Uint32Array,
- Float32Array: Float32Array,
- Float64Array: Float64Array,
- NaN: NaN,
- Infinity: Infinity,
- };
- Module.asmLibraryArg = {
- abort: abort,
- assert: assert,
- enlargeMemory: enlargeMemory,
- getTotalMemory: getTotalMemory,
- abortOnCannotGrowMemory: abortOnCannotGrowMemory,
- invoke_i: invoke_i,
- invoke_ii: invoke_ii,
- invoke_iii: invoke_iii,
- invoke_iiii: invoke_iiii,
- invoke_iiiii: invoke_iiiii,
- invoke_iiiiii: invoke_iiiiii,
- invoke_iiiiiii: invoke_iiiiiii,
- invoke_v: invoke_v,
- invoke_vi: invoke_vi,
- invoke_vii: invoke_vii,
- invoke_viii: invoke_viii,
- invoke_viiii: invoke_viiii,
- invoke_viiiii: invoke_viiiii,
- invoke_viiiiii: invoke_viiiiii,
- ClassHandle: ClassHandle,
- ClassHandle_clone: ClassHandle_clone,
- ClassHandle_delete: ClassHandle_delete,
- ClassHandle_deleteLater: ClassHandle_deleteLater,
- ClassHandle_isAliasOf: ClassHandle_isAliasOf,
- ClassHandle_isDeleted: ClassHandle_isDeleted,
- RegisteredClass: RegisteredClass,
- RegisteredPointer: RegisteredPointer,
- RegisteredPointer_deleteObject: RegisteredPointer_deleteObject,
- RegisteredPointer_destructor: RegisteredPointer_destructor,
- RegisteredPointer_fromWireType: RegisteredPointer_fromWireType,
- RegisteredPointer_getPointee: RegisteredPointer_getPointee,
- __ZSt18uncaught_exceptionv: __ZSt18uncaught_exceptionv,
- ___cxa_allocate_exception: ___cxa_allocate_exception,
- ___cxa_begin_catch: ___cxa_begin_catch,
- ___cxa_find_matching_catch: ___cxa_find_matching_catch,
- ___cxa_throw: ___cxa_throw,
- ___gxx_personality_v0: ___gxx_personality_v0,
- ___lock: ___lock,
- ___resumeException: ___resumeException,
- ___setErrNo: ___setErrNo,
- ___syscall140: ___syscall140,
- ___syscall145: ___syscall145,
- ___syscall146: ___syscall146,
- ___syscall221: ___syscall221,
- ___syscall5: ___syscall5,
- ___syscall54: ___syscall54,
- ___syscall6: ___syscall6,
- ___unlock: ___unlock,
- __embind_register_bool: __embind_register_bool,
- __embind_register_class: __embind_register_class,
- __embind_register_class_constructor:
- __embind_register_class_constructor,
- __embind_register_class_function:
- __embind_register_class_function,
- __embind_register_emval: __embind_register_emval,
- __embind_register_float: __embind_register_float,
- __embind_register_function: __embind_register_function,
- __embind_register_integer: __embind_register_integer,
- __embind_register_memory_view: __embind_register_memory_view,
- __embind_register_std_string: __embind_register_std_string,
- __embind_register_std_wstring: __embind_register_std_wstring,
- __embind_register_void: __embind_register_void,
- __emval_addMethodCaller: __emval_addMethodCaller,
- __emval_allocateDestructors: __emval_allocateDestructors,
- __emval_as: __emval_as,
- __emval_call: __emval_call,
- __emval_call_void_method: __emval_call_void_method,
- __emval_decref: __emval_decref,
- __emval_get_method_caller: __emval_get_method_caller,
- __emval_get_module_property: __emval_get_module_property,
- __emval_get_property: __emval_get_property,
- __emval_incref: __emval_incref,
- __emval_lookupTypes: __emval_lookupTypes,
- __emval_new: __emval_new,
- __emval_new_cstring: __emval_new_cstring,
- __emval_register: __emval_register,
- __emval_run_destructors: __emval_run_destructors,
- __emval_take_value: __emval_take_value,
- _abort: _abort,
- _embind_repr: _embind_repr,
- _emscripten_memcpy_big: _emscripten_memcpy_big,
- _llvm_cttz_i64: _llvm_cttz_i64,
- _pthread_getspecific: _pthread_getspecific,
- _pthread_key_create: _pthread_key_create,
- _pthread_once: _pthread_once,
- _pthread_setspecific: _pthread_setspecific,
- constNoSmartPtrRawPointerToWireType:
- constNoSmartPtrRawPointerToWireType,
- count_emval_handles: count_emval_handles,
- craftEmvalAllocator: craftEmvalAllocator,
- craftInvokerFunction: craftInvokerFunction,
- createNamedFunction: createNamedFunction,
- downcastPointer: downcastPointer,
- embind__requireFunction: embind__requireFunction,
- embind_init_charCodes: embind_init_charCodes,
- ensureOverloadTable: ensureOverloadTable,
- exposePublicSymbol: exposePublicSymbol,
- extendError: extendError,
- floatReadValueFromPointer: floatReadValueFromPointer,
- flushPendingDeletes: flushPendingDeletes,
- genericPointerToWireType: genericPointerToWireType,
- getBasestPointer: getBasestPointer,
- getInheritedInstance: getInheritedInstance,
- getInheritedInstanceCount: getInheritedInstanceCount,
- getLiveInheritedInstances: getLiveInheritedInstances,
- getShiftFromSize: getShiftFromSize,
- getStringOrSymbol: getStringOrSymbol,
- getTypeName: getTypeName,
- get_first_emval: get_first_emval,
- heap32VectorToArray: heap32VectorToArray,
- init_ClassHandle: init_ClassHandle,
- init_RegisteredPointer: init_RegisteredPointer,
- init_embind: init_embind,
- init_emval: init_emval,
- integerReadValueFromPointer: integerReadValueFromPointer,
- makeClassHandle: makeClassHandle,
- makeLegalFunctionName: makeLegalFunctionName,
- new_: new_,
- nonConstNoSmartPtrRawPointerToWireType:
- nonConstNoSmartPtrRawPointerToWireType,
- readLatin1String: readLatin1String,
- registerType: registerType,
- replacePublicSymbol: replacePublicSymbol,
- requireHandle: requireHandle,
- requireRegisteredType: requireRegisteredType,
- runDestructor: runDestructor,
- runDestructors: runDestructors,
- setDelayFunction: setDelayFunction,
- shallowCopyInternalPointer: shallowCopyInternalPointer,
- simpleReadValueFromPointer: simpleReadValueFromPointer,
- throwBindingError: throwBindingError,
- throwInstanceAlreadyDeleted: throwInstanceAlreadyDeleted,
- throwInternalError: throwInternalError,
- throwUnboundTypeError: throwUnboundTypeError,
- upcastPointer: upcastPointer,
- whenDependentTypesAreResolved: whenDependentTypesAreResolved,
- DYNAMICTOP_PTR: DYNAMICTOP_PTR,
- tempDoublePtr: tempDoublePtr,
- ABORT: ABORT,
- STACKTOP: STACKTOP,
- STACK_MAX: STACK_MAX,
- }; // EMSCRIPTEN_START_ASM
- var asm = /** @suppress {uselessCode} */ (function (
- global,
- env,
- buffer
- ) {
- "use asm";
- var a = new global.Int8Array(buffer);
- var b = new global.Int16Array(buffer);
- var c = new global.Int32Array(buffer);
- var d = new global.Uint8Array(buffer);
- var e = new global.Uint16Array(buffer);
- var f = new global.Uint32Array(buffer);
- var g = new global.Float32Array(buffer);
- var h = new global.Float64Array(buffer);
- var i = env.DYNAMICTOP_PTR | 0;
- var j = env.tempDoublePtr | 0;
- var k = env.ABORT | 0;
- var l = env.STACKTOP | 0;
- var m = env.STACK_MAX | 0;
- var n = 0;
- var o = 0;
- var p = 0;
- var q = 0;
- var r = global.NaN,
- s = global.Infinity;
- var t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0.0;
- var y = 0;
- var z = global.Math.floor;
- var A = global.Math.abs;
- var B = global.Math.sqrt;
- var C = global.Math.pow;
- var D = global.Math.cos;
- var E = global.Math.sin;
- var F = global.Math.tan;
- var G = global.Math.acos;
- var H = global.Math.asin;
- var I = global.Math.atan;
- var J = global.Math.atan2;
- var K = global.Math.exp;
- var L = global.Math.log;
- var M = global.Math.ceil;
- var N = global.Math.imul;
- var O = global.Math.min;
- var P = global.Math.max;
- var Q = global.Math.clz32;
- var R = env.abort;
- var S = env.assert;
- var T = env.enlargeMemory;
- var U = env.getTotalMemory;
- var V = env.abortOnCannotGrowMemory;
- var W = env.invoke_i;
- var X = env.invoke_ii;
- var Y = env.invoke_iii;
- var Z = env.invoke_iiii;
- var _ = env.invoke_iiiii;
- var $ = env.invoke_iiiiii;
- var aa = env.invoke_iiiiiii;
- var ba = env.invoke_v;
- var ca = env.invoke_vi;
- var da = env.invoke_vii;
- var ea = env.invoke_viii;
- var fa = env.invoke_viiii;
- var ga = env.invoke_viiiii;
- var ha = env.invoke_viiiiii;
- var ia = env.ClassHandle;
- var ja = env.ClassHandle_clone;
- var ka = env.ClassHandle_delete;
- var la = env.ClassHandle_deleteLater;
- var ma = env.ClassHandle_isAliasOf;
- var na = env.ClassHandle_isDeleted;
- var oa = env.RegisteredClass;
- var pa = env.RegisteredPointer;
- var qa = env.RegisteredPointer_deleteObject;
- var ra = env.RegisteredPointer_destructor;
- var sa = env.RegisteredPointer_fromWireType;
- var ta = env.RegisteredPointer_getPointee;
- var ua = env.__ZSt18uncaught_exceptionv;
- var va = env.___cxa_allocate_exception;
- var wa = env.___cxa_begin_catch;
- var xa = env.___cxa_find_matching_catch;
- var ya = env.___cxa_throw;
- var za = env.___gxx_personality_v0;
- var Aa = env.___lock;
- var Ba = env.___resumeException;
- var Ca = env.___setErrNo;
- var Da = env.___syscall140;
- var Ea = env.___syscall145;
- var Fa = env.___syscall146;
- var Ga = env.___syscall221;
- var Ha = env.___syscall5;
- var Ia = env.___syscall54;
- var Ja = env.___syscall6;
- var Ka = env.___unlock;
- var La = env.__embind_register_bool;
- var Ma = env.__embind_register_class;
- var Na = env.__embind_register_class_constructor;
- var Oa = env.__embind_register_class_function;
- var Pa = env.__embind_register_emval;
- var Qa = env.__embind_register_float;
- var Ra = env.__embind_register_function;
- var Sa = env.__embind_register_integer;
- var Ta = env.__embind_register_memory_view;
- var Ua = env.__embind_register_std_string;
- var Va = env.__embind_register_std_wstring;
- var Wa = env.__embind_register_void;
- var Xa = env.__emval_addMethodCaller;
- var Ya = env.__emval_allocateDestructors;
- var Za = env.__emval_as;
- var _a = env.__emval_call;
- var $a = env.__emval_call_void_method;
- var ab = env.__emval_decref;
- var bb = env.__emval_get_method_caller;
- var cb = env.__emval_get_module_property;
- var db = env.__emval_get_property;
- var eb = env.__emval_incref;
- var fb = env.__emval_lookupTypes;
- var gb = env.__emval_new;
- var hb = env.__emval_new_cstring;
- var ib = env.__emval_register;
- var jb = env.__emval_run_destructors;
- var kb = env.__emval_take_value;
- var lb = env._abort;
- var mb = env._embind_repr;
- var nb = env._emscripten_memcpy_big;
- var ob = env._llvm_cttz_i64;
- var pb = env._pthread_getspecific;
- var qb = env._pthread_key_create;
- var rb = env._pthread_once;
- var sb = env._pthread_setspecific;
- var tb = env.constNoSmartPtrRawPointerToWireType;
- var ub = env.count_emval_handles;
- var vb = env.craftEmvalAllocator;
- var wb = env.craftInvokerFunction;
- var xb = env.createNamedFunction;
- var yb = env.downcastPointer;
- var zb = env.embind__requireFunction;
- var Ab = env.embind_init_charCodes;
- var Bb = env.ensureOverloadTable;
- var Cb = env.exposePublicSymbol;
- var Db = env.extendError;
- var Eb = env.floatReadValueFromPointer;
- var Fb = env.flushPendingDeletes;
- var Gb = env.genericPointerToWireType;
- var Hb = env.getBasestPointer;
- var Ib = env.getInheritedInstance;
- var Jb = env.getInheritedInstanceCount;
- var Kb = env.getLiveInheritedInstances;
- var Lb = env.getShiftFromSize;
- var Mb = env.getStringOrSymbol;
- var Nb = env.getTypeName;
- var Ob = env.get_first_emval;
- var Pb = env.heap32VectorToArray;
- var Qb = env.init_ClassHandle;
- var Rb = env.init_RegisteredPointer;
- var Sb = env.init_embind;
- var Tb = env.init_emval;
- var Ub = env.integerReadValueFromPointer;
- var Vb = env.makeClassHandle;
- var Wb = env.makeLegalFunctionName;
- var Xb = env.new_;
- var Yb = env.nonConstNoSmartPtrRawPointerToWireType;
- var Zb = env.readLatin1String;
- var _b = env.registerType;
- var $b = env.replacePublicSymbol;
- var ac = env.requireHandle;
- var bc = env.requireRegisteredType;
- var cc = env.runDestructor;
- var dc = env.runDestructors;
- var ec = env.setDelayFunction;
- var fc = env.shallowCopyInternalPointer;
- var gc = env.simpleReadValueFromPointer;
- var hc = env.throwBindingError;
- var ic = env.throwInstanceAlreadyDeleted;
- var jc = env.throwInternalError;
- var kc = env.throwUnboundTypeError;
- var lc = env.upcastPointer;
- var mc = env.whenDependentTypesAreResolved;
- var nc = 0.0; // EMSCRIPTEN_START_FUNCS
- function Ds(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 17) | 0;
- n = (g + 16) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- if ((c[k >> 2] | 0) >>> 0 < 1) {
- f = c[i >> 2] | 0;
- c[f >> 2] = 0;
- c[(f + 4) >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- c[(f + 12) >> 2] = 0;
- c[h >> 2] = -72;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- f = (c[k >> 2] | 0) >>> 0 >= 4;
- c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
- do {
- if (f) {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
- e = Qs(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = e;
- a[m >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[m >> 0] | 0 | 0)
- p = (8 - (Rs(d[m >> 0] | 0) | 0)) | 0;
- else p = 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = p;
- if (!(d[m >> 0] | 0)) {
- c[h >> 2] = -1;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } else {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- c[((c[i >> 2] | 0) + 12) >> 2];
- c[c[i >> 2] >> 2] =
- d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
- switch (c[k >> 2] | 0) {
- case 7: {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
- q = 10;
- break;
- }
- case 6: {
- q = 10;
- break;
- }
- case 5: {
- q = 11;
- break;
- }
- case 4: {
- q = 12;
- break;
- }
- case 3: {
- q = 13;
- break;
- }
- case 2: {
- q = 14;
- break;
- }
- default: {
- }
- }
- if ((q | 0) == 10) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
- q = 11;
- }
- if ((q | 0) == 11) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
- q = 12;
- }
- if ((q | 0) == 12) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
- q = 13;
- }
- if ((q | 0) == 13) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
- q = 14;
- }
- if ((q | 0) == 14) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
- }
- a[n >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[n >> 0] | 0 | 0)
- r = (8 - (Rs(d[n >> 0] | 0) | 0)) | 0;
- else r = 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = r;
- if (d[n >> 0] | 0 | 0) {
- e = ((c[i >> 2] | 0) + 4) | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
- break;
- }
- c[h >> 2] = -1;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } while (0);
- c[h >> 2] = c[k >> 2];
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- function Es(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = c[i >> 2];
- c[k >> 2] = c[j >> 2];
- j = Ms(c[h >> 2] | 0, e[c[k >> 2] >> 1] | 0) | 0;
- c[c[g >> 2] >> 2] = j;
- Fs(c[h >> 2] | 0) | 0;
- c[((c[g >> 2] | 0) + 4) >> 2] = (c[i >> 2] | 0) + 4;
- l = f;
- return;
- }
- function Fs(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 12) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[e >> 2] = a;
- if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
- c[d >> 2] = 3;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- a = c[e >> 2] | 0;
- if (
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (((c[((c[e >> 2] | 0) + 12) >> 2] | 0) + 4) | 0) >>> 0
- ) {
- i = ((c[e >> 2] | 0) + 8) | 0;
- c[i >> 2] =
- (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
- i = ((c[e >> 2] | 0) + 4) | 0;
- c[i >> 2] = c[i >> 2] & 7;
- i = Qs(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = i;
- c[d >> 2] = 0;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
- if (
- (c[(a + 8) >> 2] | 0) !=
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
- ) {
- c[f >> 2] = i >>> 3;
- c[g >> 2] = 0;
- if (
- (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (0 - (c[f >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] =
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
- c[g >> 2] = 1;
- }
- a = ((c[e >> 2] | 0) + 8) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
- a = ((c[e >> 2] | 0) + 4) | 0;
- c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
- f = Qs(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = f;
- c[d >> 2] = c[g >> 2];
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- if (i >>> 0 < 32) {
- c[d >> 2] = 1;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- c[d >> 2] = 2;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function Gs(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- d = l;
- l = (l + 64) | 0;
- e = (d + 48) | 0;
- f = (d + 36) | 0;
- g = (d + 32) | 0;
- h = (d + 28) | 0;
- i = (d + 24) | 0;
- j = (d + 20) | 0;
- k = (d + 16) | 0;
- m = (d + 12) | 0;
- n = (d + 8) | 0;
- o = (d + 4) | 0;
- p = d;
- c[e >> 2] = b;
- c[g >> 2] = (Ls(((c[e >> 2] | 0) + 16) | 0) | 0) & 255;
- c[h >> 2] = (Ls(((c[e >> 2] | 0) + 32) | 0) | 0) & 255;
- c[i >> 2] = (Ls(((c[e >> 2] | 0) + 24) | 0) | 0) & 255;
- c[j >> 2] = c[(5696 + (c[g >> 2] << 2)) >> 2];
- c[k >> 2] = c[(5840 + (c[h >> 2] << 2)) >> 2];
- c[m >> 2] = c[i >> 2];
- c[n >> 2] =
- (c[j >> 2] | 0) + (c[k >> 2] | 0) + (c[m >> 2] | 0);
- if (c[i >> 2] | 0) {
- b = c[(5088 + (c[i >> 2] << 2)) >> 2] | 0;
- c[o >> 2] = b + (Ms(c[e >> 2] | 0, c[m >> 2] | 0) | 0);
- if (Dq() | 0) Fs(c[e >> 2] | 0) | 0;
- } else c[o >> 2] = 0;
- do {
- if ((c[i >> 2] | 0) >>> 0 <= 1) {
- if (
- (((c[g >> 2] | 0) == 0) &
- ((c[o >> 2] | 0) >>> 0 <= 1)) |
- 0
- )
- c[o >> 2] = 1 - (c[o >> 2] | 0);
- m = ((c[e >> 2] | 0) + 40) | 0;
- if (!(c[o >> 2] | 0)) {
- c[o >> 2] = c[m >> 2];
- break;
- }
- c[p >> 2] = c[(m + (c[o >> 2] << 2)) >> 2];
- if ((c[o >> 2] | 0) != 1)
- c[((c[e >> 2] | 0) + 40 + 8) >> 2] =
- c[((c[e >> 2] | 0) + 40 + 4) >> 2];
- c[((c[e >> 2] | 0) + 40 + 4) >> 2] =
- c[((c[e >> 2] | 0) + 40) >> 2];
- m = c[p >> 2] | 0;
- c[o >> 2] = m;
- c[((c[e >> 2] | 0) + 40) >> 2] = m;
- } else {
- c[((c[e >> 2] | 0) + 40 + 8) >> 2] =
- c[((c[e >> 2] | 0) + 40 + 4) >> 2];
- c[((c[e >> 2] | 0) + 40 + 4) >> 2] =
- c[((c[e >> 2] | 0) + 40) >> 2];
- c[((c[e >> 2] | 0) + 40) >> 2] = c[o >> 2];
- }
- } while (0);
- c[(f + 8) >> 2] = c[o >> 2];
- o = c[(5216 + (c[h >> 2] << 2)) >> 2] | 0;
- if ((c[h >> 2] | 0) >>> 0 > 31)
- q = Ms(c[e >> 2] | 0, c[k >> 2] | 0) | 0;
- else q = 0;
- c[(f + 4) >> 2] = o + q;
- if (
- Dq() | 0
- ? (((c[k >> 2] | 0) + (c[j >> 2] | 0)) | 0) >>> 0 > 24
- : 0
- )
- Fs(c[e >> 2] | 0) | 0;
- k = c[(6416 + (c[g >> 2] << 2)) >> 2] | 0;
- if ((c[g >> 2] | 0) >>> 0 > 15)
- r = Ms(c[e >> 2] | 0, c[j >> 2] | 0) | 0;
- else r = 0;
- c[f >> 2] = k + r;
- r = (Dq() | 0) != 0;
- if (r | ((c[n >> 2] | 0) >>> 0 > 31)) Fs(c[e >> 2] | 0) | 0;
- Ns(((c[e >> 2] | 0) + 16) | 0, c[e >> 2] | 0);
- Ns(((c[e >> 2] | 0) + 32) | 0, c[e >> 2] | 0);
- if (!(Dq() | 0)) {
- s = c[e >> 2] | 0;
- t = (s + 24) | 0;
- u = c[e >> 2] | 0;
- Ns(t, u);
- c[a >> 2] = c[f >> 2];
- c[(a + 4) >> 2] = c[(f + 4) >> 2];
- c[(a + 8) >> 2] = c[(f + 8) >> 2];
- l = d;
- return;
- }
- Fs(c[e >> 2] | 0) | 0;
- s = c[e >> 2] | 0;
- t = (s + 24) | 0;
- u = c[e >> 2] | 0;
- Ns(t, u);
- c[a >> 2] = c[f >> 2];
- c[(a + 4) >> 2] = c[(f + 4) >> 2];
- c[(a + 8) >> 2] = c[(f + 8) >> 2];
- l = d;
- return;
- }
- function Hs(b, d, e, f, g, h, i, j) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- k = l;
- l = (l + 64) | 0;
- m = (k + 60) | 0;
- n = (k + 56) | 0;
- o = (k + 52) | 0;
- p = (k + 48) | 0;
- q = (k + 44) | 0;
- r = (k + 40) | 0;
- s = (k + 36) | 0;
- t = (k + 32) | 0;
- u = (k + 28) | 0;
- v = (k + 24) | 0;
- w = (k + 20) | 0;
- x = (k + 16) | 0;
- y = (k + 12) | 0;
- z = (k + 8) | 0;
- A = (k + 4) | 0;
- B = k;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
- c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0);
- c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
- c[x >> 2] = (c[o >> 2] | 0) + -8;
- c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
- c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 8) >> 2] | 0));
- if (
- ((c[u >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0
- ? 1
- : (c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) | 0
- ) {
- c[m >> 2] = -70;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- Is(c[n >> 2] | 0, c[c[p >> 2] >> 2] | 0, c[e >> 2] | 0);
- c[n >> 2] = c[u >> 2];
- c[c[p >> 2] >> 2] = c[y >> 2];
- do {
- if (
- (c[(e + 8) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(e + 8) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
- ) {
- c[m >> 2] = -20;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- c[z >> 2] =
- (c[t >> 2] | 0) +
- (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
- if (
- (((c[z >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 <=
- (c[t >> 2] | 0) >>> 0
- ) {
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 4) >> 2] | 0) |
- 0;
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
- c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
- y = (e + 4) | 0;
- c[y >> 2] = (c[y >> 2] | 0) - (c[A >> 2] | 0);
- c[z >> 2] = c[r >> 2];
- if (
- (c[n >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0
- ? (c[(e + 4) >> 2] | 0) >>> 0 >= 3
- : 0
- )
- break;
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break;
- y = c[z >> 2] | 0;
- c[z >> 2] = y + 1;
- p = a[y >> 0] | 0;
- y = c[n >> 2] | 0;
- c[n >> 2] = y + 1;
- a[y >> 0] = p;
- }
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- } while (0);
- if ((c[(e + 8) >> 2] | 0) >>> 0 < 8) {
- c[B >> 2] = c[(6816 + (c[(e + 8) >> 2] << 2)) >> 2];
- a[c[n >> 2] >> 0] = a[c[z >> 2] >> 0] | 0;
- a[((c[n >> 2] | 0) + 1) >> 0] =
- a[((c[z >> 2] | 0) + 1) >> 0] | 0;
- a[((c[n >> 2] | 0) + 2) >> 0] =
- a[((c[z >> 2] | 0) + 2) >> 0] | 0;
- a[((c[n >> 2] | 0) + 3) >> 0] =
- a[((c[z >> 2] | 0) + 3) >> 0] | 0;
- c[z >> 2] =
- (c[z >> 2] | 0) +
- (c[(6848 + (c[(e + 8) >> 2] << 2)) >> 2] | 0);
- Js(((c[n >> 2] | 0) + 4) | 0, c[z >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + (0 - (c[B >> 2] | 0));
- } else Ks(c[n >> 2] | 0, c[z >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) + 8;
- c[z >> 2] = (c[z >> 2] | 0) + 8;
- B = c[n >> 2] | 0;
- a: do {
- if (
- (c[w >> 2] | 0) >>> 0 >
- (((c[o >> 2] | 0) + -13) | 0) >>> 0
- ) {
- if (B >>> 0 < (c[x >> 2] | 0) >>> 0) {
- Is(
- c[n >> 2] | 0,
- c[z >> 2] | 0,
- ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
- );
- c[z >> 2] =
- (c[z >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
- c[n >> 2] = c[x >> 2];
- }
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- r = c[z >> 2] | 0;
- c[z >> 2] = r + 1;
- A = a[r >> 0] | 0;
- r = c[n >> 2] | 0;
- c[n >> 2] = r + 1;
- a[r >> 0] = A;
- }
- } else
- Is(B, c[z >> 2] | 0, ((c[(e + 4) >> 2] | 0) - 8) | 0);
- } while (0);
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- function Is(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- Ks(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function Js(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- l = e;
- return;
- }
- function Ks(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function Ls(d) {
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 4) | 0;
- c[f >> 2] = d;
- d =
- ((c[((c[f >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[f >> 2] >> 2] << 2)) |
- 0;
- b[g >> 1] = b[d >> 1] | 0;
- b[(g + 2) >> 1] = b[(d + 2) >> 1] | 0;
- l = e;
- return a[(g + 2) >> 0] | 0;
- }
- function Ms(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = Os(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- Ps(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function Ns(a, f) {
- a = a | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 16) | 0;
- k = (g + 4) | 0;
- m = g;
- c[h >> 2] = a;
- c[i >> 2] = f;
- f =
- ((c[((c[h >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[h >> 2] >> 2] << 2)) |
- 0;
- b[j >> 1] = b[f >> 1] | 0;
- b[(j + 2) >> 1] = b[(f + 2) >> 1] | 0;
- c[k >> 2] = d[(j + 3) >> 0];
- c[m >> 2] = Ms(c[i >> 2] | 0, c[k >> 2] | 0) | 0;
- c[c[h >> 2] >> 2] = (e[j >> 1] | 0) + (c[m >> 2] | 0);
- l = g;
- return;
- }
- function Os(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- (((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- 1) >>>
- ((31 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function Ps(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ((c[e >> 2] | 0) + 4) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
- l = d;
- return;
- }
- function Qs(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (Dq() | 0) != 0;
- f = c[e >> 2] | 0;
- if (a) {
- c[d >> 2] = Bq(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- a = Fq(f) | 0;
- c[d >> 2] = a;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Rs(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function Ss(b, e, f, g, h, i, j, k, m) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- n = l;
- l = (l + 160) | 0;
- o = (n + 152) | 0;
- p = (n + 148) | 0;
- q = (n + 144) | 0;
- r = (n + 140) | 0;
- s = (n + 136) | 0;
- t = (n + 132) | 0;
- u = (n + 128) | 0;
- v = (n + 124) | 0;
- w = (n + 120) | 0;
- x = (n + 116) | 0;
- y = (n + 112) | 0;
- z = n;
- A = (n + 108) | 0;
- c[p >> 2] = b;
- c[q >> 2] = e;
- c[r >> 2] = f;
- c[s >> 2] = g;
- c[t >> 2] = h;
- c[u >> 2] = i;
- c[v >> 2] = j;
- c[w >> 2] = k;
- c[x >> 2] = m;
- a: do {
- switch (c[q >> 2] | 0) {
- case 1: {
- if (!(c[u >> 2] | 0)) {
- c[o >> 2] = -72;
- break a;
- }
- if (
- (d[c[t >> 2] >> 0] | 0) >>> 0 >
- (c[r >> 2] | 0) >>> 0
- ) {
- c[o >> 2] = -20;
- break a;
- } else {
- Ts(c[p >> 2] | 0, a[c[t >> 2] >> 0] | 0) | 0;
- c[o >> 2] = 1;
- break a;
- }
- break;
- }
- case 0: {
- Us(
- c[p >> 2] | 0,
- c[v >> 2] | 0,
- c[r >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- c[o >> 2] = 0;
- break;
- }
- case 2: {
- if (c[x >> 2] | 0) {
- c[o >> 2] = 0;
- break a;
- } else {
- c[o >> 2] = -20;
- break a;
- }
- break;
- }
- default: {
- c[A >> 2] =
- Vs(z, r, y, c[t >> 2] | 0, c[u >> 2] | 0) | 0;
- if (hr(c[A >> 2] | 0) | 0) {
- c[o >> 2] = -20;
- break a;
- }
- if ((c[y >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
- c[o >> 2] = -20;
- break a;
- } else {
- Us(c[p >> 2] | 0, z, c[r >> 2] | 0, c[y >> 2] | 0) |
- 0;
- c[o >> 2] = c[A >> 2];
- break a;
- }
- }
- }
- } while (0);
- l = n;
- return c[o >> 2] | 0;
- }
- function Ts(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 20) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = d;
- a[h >> 0] = e;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[i >> 2];
- c[k >> 2] = (c[g >> 2] | 0) + 4;
- c[m >> 2] = c[k >> 2];
- b[c[j >> 2] >> 1] = 0;
- b[((c[j >> 2] | 0) + 2) >> 1] = 0;
- b[c[m >> 2] >> 1] = 0;
- a[((c[m >> 2] | 0) + 2) >> 0] = a[h >> 0] | 0;
- a[((c[m >> 2] | 0) + 3) >> 0] = 0;
- l = f;
- return 0;
- }
- function Us(f, g, h, i) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0;
- j = l;
- l = (l + 592) | 0;
- k = (j + 576) | 0;
- m = (j + 572) | 0;
- n = (j + 568) | 0;
- o = (j + 564) | 0;
- p = (j + 560) | 0;
- q = (j + 556) | 0;
- r = (j + 552) | 0;
- s = j;
- t = (j + 548) | 0;
- u = (j + 544) | 0;
- v = (j + 540) | 0;
- w = (j + 584) | 0;
- x = (j + 582) | 0;
- y = (j + 536) | 0;
- z = (j + 532) | 0;
- A = (j + 528) | 0;
- B = (j + 524) | 0;
- C = (j + 520) | 0;
- D = (j + 516) | 0;
- E = (j + 512) | 0;
- F = (j + 588) | 0;
- G = (j + 580) | 0;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = h;
- c[p >> 2] = i;
- c[q >> 2] = (c[m >> 2] | 0) + 4;
- c[r >> 2] = c[q >> 2];
- c[t >> 2] = (c[o >> 2] | 0) + 1;
- c[u >> 2] = 1 << c[p >> 2];
- c[v >> 2] = (c[u >> 2] | 0) - 1;
- if ((c[o >> 2] | 0) >>> 0 > 255) {
- c[k >> 2] = -46;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- if ((c[p >> 2] | 0) >>> 0 > 12) {
- c[k >> 2] = -44;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- b[w >> 1] = c[p >> 2];
- b[(w + 2) >> 1] = 1;
- b[x >> 1] = 1 << ((c[p >> 2] | 0) - 1);
- c[y >> 2] = 0;
- while (1) {
- if ((c[y >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- if (
- (b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0) ==
- -1
- ) {
- o = c[y >> 2] & 255;
- q = c[r >> 2] | 0;
- i = c[v >> 2] | 0;
- c[v >> 2] = i + -1;
- a[(q + (i << 2) + 2) >> 0] = o;
- b[(s + (c[y >> 2] << 1)) >> 1] = 1;
- } else {
- if (
- (b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0) >=
- (b[x >> 1] | 0)
- )
- b[(w + 2) >> 1] = 0;
- b[(s + (c[y >> 2] << 1)) >> 1] =
- b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0;
- }
- c[y >> 2] = (c[y >> 2] | 0) + 1;
- }
- y = c[m >> 2] | 0;
- b[y >> 1] = b[w >> 1] | 0;
- b[(y + 2) >> 1] = b[(w + 2) >> 1] | 0;
- c[z >> 2] = (c[u >> 2] | 0) - 1;
- c[A >> 2] =
- ((c[u >> 2] | 0) >>> 1) + ((c[u >> 2] | 0) >>> 3) + 3;
- c[C >> 2] = 0;
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- c[D >> 2] = 0;
- while (1) {
- I = c[B >> 2] | 0;
- if (
- (c[D >> 2] | 0) >=
- (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0)
- )
- break;
- a[((c[r >> 2] | 0) + (c[C >> 2] << 2) + 2) >> 0] = I;
- c[C >> 2] =
- ((c[C >> 2] | 0) + (c[A >> 2] | 0)) & c[z >> 2];
- while (1) {
- if ((c[C >> 2] | 0) >>> 0 <= (c[v >> 2] | 0) >>> 0)
- break;
- c[C >> 2] =
- ((c[C >> 2] | 0) + (c[A >> 2] | 0)) & c[z >> 2];
- }
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[B >> 2] = I + 1;
- }
- if (c[C >> 2] | 0) {
- c[k >> 2] = -1;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- c[E >> 2] = 0;
- while (1) {
- if ((c[E >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
- a[F >> 0] =
- a[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 2) >> 0] | 0;
- C = (s + (d[F >> 0] << 1)) | 0;
- I = b[C >> 1] | 0;
- b[C >> 1] = ((I + 1) << 16) >> 16;
- b[G >> 1] = I;
- I = c[p >> 2] | 0;
- C = (I - (Rs(e[G >> 1] | 0) | 0)) & 255;
- a[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 3) >> 0] = C;
- b[((c[r >> 2] | 0) + (c[E >> 2] << 2)) >> 1] =
- (e[G >> 1] <<
- d[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 3) >> 0]) -
- (c[u >> 2] | 0);
- c[E >> 2] = (c[E >> 2] | 0) + 1;
- }
- c[k >> 2] = 0;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- function Vs(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 64) | 0;
- j = (h + 60) | 0;
- k = (h + 56) | 0;
- m = (h + 52) | 0;
- n = (h + 48) | 0;
- o = (h + 44) | 0;
- p = (h + 40) | 0;
- q = (h + 36) | 0;
- r = (h + 32) | 0;
- s = (h + 28) | 0;
- t = (h + 24) | 0;
- u = (h + 20) | 0;
- v = (h + 16) | 0;
- w = (h + 12) | 0;
- x = (h + 8) | 0;
- y = (h + 4) | 0;
- z = h;
- A = (h + 70) | 0;
- B = (h + 68) | 0;
- c[j >> 2] = a;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[p >> 2];
- c[x >> 2] = 0;
- c[y >> 2] = 0;
- if ((c[o >> 2] | 0) >>> 0 < 4) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = Bq(c[r >> 2] | 0) | 0;
- c[s >> 2] = (c[v >> 2] & 15) + 5;
- if ((c[s >> 2] | 0) > 15) {
- c[i >> 2] = -44;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) >>> 4;
- c[w >> 2] = 4;
- c[c[m >> 2] >> 2] = c[s >> 2];
- c[t >> 2] = (1 << c[s >> 2]) + 1;
- c[u >> 2] = 1 << c[s >> 2];
- c[s >> 2] = (c[s >> 2] | 0) + 1;
- a: while (1) {
- if ((c[t >> 2] | 0) <= 1) break;
- if ((c[x >> 2] | 0) >>> 0 > (c[c[k >> 2] >> 2] | 0) >>> 0)
- break;
- do {
- if (c[y >> 2] | 0) {
- c[z >> 2] = c[x >> 2];
- while (1) {
- if (((c[v >> 2] & 65535) | 0) != 65535) break;
- c[z >> 2] = (c[z >> 2] | 0) + 24;
- if (
- (c[r >> 2] | 0) >>> 0 <
- (((c[q >> 2] | 0) + -5) | 0) >>> 0
- ) {
- c[r >> 2] = (c[r >> 2] | 0) + 2;
- m = Bq(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] | 0);
- } else {
- c[v >> 2] = (c[v >> 2] | 0) >>> 16;
- c[w >> 2] = (c[w >> 2] | 0) + 16;
- }
- }
- while (1) {
- if (((c[v >> 2] & 3) | 0) != 3) break;
- c[z >> 2] = (c[z >> 2] | 0) + 3;
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- }
- c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- if (
- (c[z >> 2] | 0) >>> 0 >
- (c[c[k >> 2] >> 2] | 0) >>> 0
- ) {
- D = 19;
- break a;
- }
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
- break;
- m = c[j >> 2] | 0;
- n = c[x >> 2] | 0;
- c[x >> 2] = n + 1;
- b[(m + (n << 1)) >> 1] = 0;
- }
- if (
- (c[r >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- break;
- }
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- n = Bq(c[r >> 2] | 0) | 0;
- c[v >> 2] = n >>> (c[w >> 2] | 0);
- }
- } while (0);
- b[A >> 1] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
- n = c[v >> 2] | 0;
- m = c[u >> 2] | 0;
- if (
- (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
- (b[A >> 1] | 0) >>> 0
- ) {
- b[B >> 1] = n & (m - 1);
- c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
- } else {
- b[B >> 1] = n & ((m << 1) - 1);
- if ((b[B >> 1] | 0) >= (c[u >> 2] | 0))
- b[B >> 1] = (b[B >> 1] | 0) - (b[A >> 1] | 0);
- c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
- }
- b[B >> 1] = (((b[B >> 1] | 0) + -1) << 16) >> 16;
- m = ((Ws(b[B >> 1] | 0) | 0) << 16) >> 16;
- c[t >> 2] = (c[t >> 2] | 0) - m;
- m = b[B >> 1] | 0;
- n = c[j >> 2] | 0;
- g = c[x >> 2] | 0;
- c[x >> 2] = g + 1;
- b[(n + (g << 1)) >> 1] = m;
- c[y >> 2] = (((b[B >> 1] | 0) != 0) ^ 1) & 1;
- while (1) {
- if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
- c[s >> 2] = (c[s >> 2] | 0) + -1;
- c[u >> 2] = c[u >> 2] >> 1;
- }
- if (
- (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[w >> 2] =
- (c[w >> 2] | 0) -
- (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
- c[r >> 2] = (c[q >> 2] | 0) + -4;
- } else {
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- }
- m = Bq(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] & 31);
- }
- if ((D | 0) == 19) {
- c[i >> 2] = -48;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- if ((c[t >> 2] | 0) != 1) {
- c[i >> 2] = -1;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
- c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
- if (
- (((c[r >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 >
- (c[o >> 2] | 0) >>> 0
- ) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- } else {
- c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- return 0;
- }
- function Ws(a) {
- a = a | 0;
- var c = 0,
- d = 0;
- c = l;
- l = (l + 16) | 0;
- d = c;
- b[d >> 1] = a;
- a = b[d >> 1] | 0;
- l = c;
- return (((b[d >> 1] | 0) < 0 ? (0 - a) | 0 : a) & 65535) | 0;
- }
- function Xs(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] =
- kt(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- m = (at(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (m) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (f >>> 0 >= (c[n >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- Bt(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0,
- c[n >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function Ys(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 24) | 0;
- i = (g + 20) | 0;
- j = (g + 16) | 0;
- k = (g + 12) | 0;
- m = (g + 8) | 0;
- n = (g + 4) | 0;
- o = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if (!(c[k >> 2] | 0)) {
- c[h >> 2] = -70;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- if (
- (c[n >> 2] | 0) >>> 0 <= 1
- ? 1
- : (c[n >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- c[o >> 2] = ht(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- i = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- if (c[o >> 2] | 0) q = it(f, i, j, k, m) | 0;
- else q = jt(f, i, j, k, m) | 0;
- c[h >> 2] = q;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- function Zs(a, b, e, f, g) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 20) | 0;
- j = (h + 16) | 0;
- k = (h + 12) | 0;
- m = (h + 8) | 0;
- n = (h + 4) | 0;
- o = h;
- p = (h + 24) | 0;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- _s(p, c[o >> 2] | 0);
- if ((d[(p + 1) >> 0] | 0 | 0) != 1) {
- c[i >> 2] = -1;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- } else {
- c[i >> 2] =
- $s(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- }
- return 0;
- }
- function _s(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 4) | 0;
- c[f >> 2] = d;
- d = c[f >> 2] | 0;
- a[g >> 0] = a[d >> 0] | 0;
- a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
- a[(g + 2) >> 0] = a[(d + 2) >> 0] | 0;
- a[(g + 3) >> 0] = a[(d + 3) >> 0] | 0;
- a[b >> 0] = a[g >> 0] | 0;
- a[(b + 1) >> 0] = a[(g + 1) >> 0] | 0;
- a[(b + 2) >> 0] = a[(g + 2) >> 0] | 0;
- a[(b + 3) >> 0] = a[(g + 3) >> 0] | 0;
- l = e;
- return;
- }
- function $s(a, b, e, f, g) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 60) | 0;
- j = (h + 56) | 0;
- k = (h + 52) | 0;
- m = (h + 48) | 0;
- n = (h + 44) | 0;
- o = (h + 40) | 0;
- p = (h + 24) | 0;
- q = (h + 16) | 0;
- r = (h + 12) | 0;
- s = (h + 8) | 0;
- t = (h + 4) | 0;
- u = h;
- v = (h + 64) | 0;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[q >> 2] = Ds(p, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- if (at(c[q >> 2] | 0) | 0) {
- c[i >> 2] = c[q >> 2];
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- }
- c[r >> 2] = c[j >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[k >> 2] | 0);
- c[t >> 2] = (c[o >> 2] | 0) + 4;
- c[u >> 2] = c[t >> 2];
- _s(v, c[o >> 2] | 0);
- bt(
- c[r >> 2] | 0,
- p,
- c[s >> 2] | 0,
- c[u >> 2] | 0,
- d[(v + 2) >> 0] | 0
- ) | 0;
- if (ct(p) | 0) {
- c[i >> 2] = c[k >> 2];
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- } else {
- c[i >> 2] = -20;
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- }
- return 0;
- }
- function at(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = hr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function bt(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = c[h >> 2];
- while (1) {
- if (Fs(c[i >> 2] | 0) | 0) break;
- if (
- (c[h >> 2] | 0) >>> 0 >=
- (((c[j >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (dt() | 0) {
- f =
- et(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- dt() | 0;
- f =
- et(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- if (dt() | 0) {
- f =
- et(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- f =
- et(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- while (1) {
- if (Fs(c[i >> 2] | 0) | 0) break;
- if (
- (c[h >> 2] | 0) >>> 0 >
- (((c[j >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- f =
- et(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- while (1) {
- o = c[h >> 2] | 0;
- if (
- (c[h >> 2] | 0) >>> 0 >
- (((c[j >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- f = et(o, c[i >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- if (o >>> 0 >= (c[j >> 2] | 0) >>> 0) {
- p = c[h >> 2] | 0;
- q = c[n >> 2] | 0;
- r = p;
- s = q;
- t = (r - s) | 0;
- l = g;
- return t | 0;
- }
- j =
- ft(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + j;
- p = c[h >> 2] | 0;
- q = c[n >> 2] | 0;
- r = p;
- s = q;
- t = (r - s) | 0;
- l = g;
- return t | 0;
- }
- function ct(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- if (
- (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
- ) {
- e = 0;
- f = e & 1;
- l = b;
- return f | 0;
- }
- e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
- f = e & 1;
- l = b;
- return f | 0;
- }
- function dt() {
- return 0;
- }
- function et(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = gt(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- m = c[i >> 2] | 0;
- i = ((c[k >> 2] | 0) + (c[n >> 2] << 2)) | 0;
- a[m >> 0] = a[i >> 0] | 0;
- a[(m + 1) >> 0] = a[(i + 1) >> 0] | 0;
- Ps(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
- );
- l = h;
- return (
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] | 0 | 0
- );
- }
- function ft(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = gt(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- a[c[i >> 2] >> 0] =
- a[((c[k >> 2] | 0) + (c[n >> 2] << 2)) >> 0] | 0;
- i = c[j >> 2] | 0;
- if (
- (d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) ==
- 1
- ) {
- Ps(i, d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0);
- l = h;
- return 1;
- }
- if ((c[(i + 4) >> 2] | 0) >>> 0 >= 32) {
- l = h;
- return 1;
- }
- Ps(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
- );
- if ((c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0 <= 32) {
- l = h;
- return 1;
- }
- c[((c[j >> 2] | 0) + 4) >> 2] = 32;
- l = h;
- return 1;
- }
- function gt(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- ((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- ((32 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function ht(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 20) | 0;
- f = (d + 16) | 0;
- g = (d + 12) | 0;
- h = (d + 8) | 0;
- i = (d + 4) | 0;
- j = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] =
- (((c[f >> 2] << 4) >>> 0) / ((c[e >> 2] | 0) >>> 0)) | 0;
- c[h >> 2] = (c[e >> 2] | 0) >>> 8;
- c[i >> 2] =
- (c[(7008 + (((c[g >> 2] | 0) * 24) | 0)) >> 2] | 0) +
- (N(
- c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 4) >> 2] | 0,
- c[h >> 2] | 0
- ) |
- 0);
- c[j >> 2] =
- (c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 8) >> 2] | 0) +
- (N(
- c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 8 + 4) >> 2] | 0,
- c[h >> 2] | 0
- ) |
- 0);
- c[j >> 2] = (c[j >> 2] | 0) + ((c[j >> 2] | 0) >>> 3);
- l = d;
- return ((c[j >> 2] | 0) >>> 0 < (c[i >> 2] | 0) >>> 0) | 0;
- }
- function it(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] =
- vt(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- m = (at(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (m) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (f >>> 0 >= (c[n >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- wt(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0,
- c[n >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function jt(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] =
- kt(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- m = (at(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (m) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (f >>> 0 >= (c[n >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- lt(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0,
- c[n >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function kt(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- g = l;
- l = (l + 416) | 0;
- h = (g + 396) | 0;
- i = (g + 392) | 0;
- j = (g + 388) | 0;
- k = (g + 384) | 0;
- m = (g + 80) | 0;
- n = g;
- o = (g + 380) | 0;
- p = (g + 376) | 0;
- q = (g + 372) | 0;
- r = (g + 368) | 0;
- s = (g + 364) | 0;
- t = (g + 404) | 0;
- u = (g + 360) | 0;
- v = (g + 356) | 0;
- w = (g + 352) | 0;
- x = (g + 348) | 0;
- y = (g + 344) | 0;
- z = (g + 340) | 0;
- A = (g + 336) | 0;
- B = (g + 400) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[o >> 2] = 0;
- c[p >> 2] = 0;
- c[r >> 2] = (c[i >> 2] | 0) + 4;
- c[s >> 2] = c[r >> 2];
- c[q >> 2] =
- ot(m, 256, n, p, o, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- if (at(c[q >> 2] | 0) | 0) {
- c[h >> 2] = c[q >> 2];
- C = c[h >> 2] | 0;
- l = g;
- return C | 0;
- }
- _s(t, c[i >> 2] | 0);
- if (
- (c[o >> 2] | 0) >>> 0 >
- (((d[t >> 0] | 0) + 1) | 0) >>> 0
- ) {
- c[h >> 2] = -44;
- C = c[h >> 2] | 0;
- l = g;
- return C | 0;
- }
- a[(t + 1) >> 0] = 0;
- a[(t + 2) >> 0] = c[o >> 2];
- k = c[i >> 2] | 0;
- a[k >> 0] = a[t >> 0] | 0;
- a[(k + 1) >> 0] = a[(t + 1) >> 0] | 0;
- a[(k + 2) >> 0] = a[(t + 2) >> 0] | 0;
- a[(k + 3) >> 0] = a[(t + 3) >> 0] | 0;
- c[v >> 2] = 0;
- c[u >> 2] = 1;
- while (1) {
- if (
- (c[u >> 2] | 0) >>> 0 >=
- (((c[o >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[w >> 2] = c[v >> 2];
- c[v >> 2] =
- (c[v >> 2] | 0) +
- (c[(n + (c[u >> 2] << 2)) >> 2] << ((c[u >> 2] | 0) - 1));
- c[(n + (c[u >> 2] << 2)) >> 2] = c[w >> 2];
- c[u >> 2] = (c[u >> 2] | 0) + 1;
- }
- c[x >> 2] = 0;
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 >= (c[p >> 2] | 0) >>> 0) break;
- c[y >> 2] = d[(m + (c[x >> 2] | 0)) >> 0];
- c[z >> 2] = (1 << c[y >> 2]) >> 1;
- a[B >> 0] = c[x >> 2];
- a[(B + 1) >> 0] = (c[o >> 2] | 0) + 1 - (c[y >> 2] | 0);
- c[A >> 2] = c[(n + (c[y >> 2] << 2)) >> 2];
- while (1) {
- if (
- (c[A >> 2] | 0) >>> 0 >=
- (((c[(n + (c[y >> 2] << 2)) >> 2] | 0) +
- (c[z >> 2] | 0)) |
- 0) >>>
- 0
- )
- break;
- u = ((c[s >> 2] | 0) + (c[A >> 2] << 1)) | 0;
- a[u >> 0] = a[B >> 0] | 0;
- a[(u + 1) >> 0] = a[(B + 1) >> 0] | 0;
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- }
- u = (n + (c[y >> 2] << 2)) | 0;
- c[u >> 2] = (c[u >> 2] | 0) + (c[z >> 2] | 0);
- c[x >> 2] = (c[x >> 2] | 0) + 1;
- }
- c[h >> 2] = c[q >> 2];
- C = c[h >> 2] | 0;
- l = g;
- return C | 0;
- }
- function lt(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0;
- i = l;
- l = (l + 208) | 0;
- j = (i + 192) | 0;
- k = (i + 188) | 0;
- m = (i + 184) | 0;
- n = (i + 180) | 0;
- o = (i + 176) | 0;
- p = (i + 172) | 0;
- q = (i + 168) | 0;
- r = (i + 164) | 0;
- s = (i + 160) | 0;
- t = (i + 156) | 0;
- u = (i + 152) | 0;
- v = (i + 136) | 0;
- w = (i + 120) | 0;
- x = (i + 104) | 0;
- y = (i + 88) | 0;
- z = (i + 84) | 0;
- A = (i + 80) | 0;
- B = (i + 76) | 0;
- C = (i + 72) | 0;
- D = (i + 68) | 0;
- E = (i + 64) | 0;
- F = (i + 60) | 0;
- G = (i + 56) | 0;
- H = (i + 52) | 0;
- I = (i + 48) | 0;
- J = (i + 44) | 0;
- K = (i + 40) | 0;
- L = (i + 36) | 0;
- M = (i + 32) | 0;
- N = (i + 28) | 0;
- O = (i + 24) | 0;
- P = (i + 20) | 0;
- Q = (i + 196) | 0;
- R = (i + 16) | 0;
- S = (i + 12) | 0;
- T = (i + 8) | 0;
- U = (i + 4) | 0;
- V = i;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- if ((c[o >> 2] | 0) >>> 0 < 10) {
- c[j >> 2] = -20;
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- c[q >> 2] = c[n >> 2];
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[t >> 2] = (c[p >> 2] | 0) + 4;
- c[u >> 2] = c[t >> 2];
- c[z >> 2] = (Eq(c[q >> 2] | 0) | 0) & 65535;
- c[A >> 2] = (Eq(((c[q >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[B >> 2] = (Eq(((c[q >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[C >> 2] =
- (c[o >> 2] | 0) -
- ((c[z >> 2] | 0) + (c[A >> 2] | 0) + (c[B >> 2] | 0) + 6);
- c[D >> 2] = (c[q >> 2] | 0) + 6;
- c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
- c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
- c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
- c[H >> 2] = (((((c[m >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[I >> 2] = (c[r >> 2] | 0) + (c[H >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- c[K >> 2] = (c[J >> 2] | 0) + (c[H >> 2] | 0);
- c[L >> 2] = c[r >> 2];
- c[M >> 2] = c[I >> 2];
- c[N >> 2] = c[J >> 2];
- c[O >> 2] = c[K >> 2];
- _s(Q, c[p >> 2] | 0);
- c[R >> 2] = d[(Q + 2) >> 0];
- if ((c[C >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- c[S >> 2] = Ds(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
- if (at(c[S >> 2] | 0) | 0) {
- c[j >> 2] = c[S >> 2];
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- c[T >> 2] = Ds(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
- if (at(c[T >> 2] | 0) | 0) {
- c[j >> 2] = c[T >> 2];
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- c[U >> 2] = Ds(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
- if (at(c[U >> 2] | 0) | 0) {
- c[j >> 2] = c[U >> 2];
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- c[V >> 2] = Ds(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
- if (at(c[V >> 2] | 0) | 0) {
- c[j >> 2] = c[V >> 2];
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- V = Fs(v) | 0;
- C = V | (Fs(w) | 0);
- V = C | (Fs(x) | 0);
- c[P >> 2] = V | (Fs(y) | 0);
- while (1) {
- if (c[P >> 2] | 0) break;
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (((c[s >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (dt() | 0) {
- V = mt(v, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[L >> 2] | 0;
- c[L >> 2] = C + 1;
- a[C >> 0] = V;
- }
- if (dt() | 0) {
- V = mt(w, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[M >> 2] | 0;
- c[M >> 2] = C + 1;
- a[C >> 0] = V;
- }
- if (dt() | 0) {
- V = mt(x, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[N >> 2] | 0;
- c[N >> 2] = C + 1;
- a[C >> 0] = V;
- }
- if (dt() | 0) {
- V = mt(y, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[O >> 2] | 0;
- c[O >> 2] = C + 1;
- a[C >> 0] = V;
- }
- dt() | 0;
- V = mt(v, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[L >> 2] | 0;
- c[L >> 2] = C + 1;
- a[C >> 0] = V;
- dt() | 0;
- V = mt(w, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[M >> 2] | 0;
- c[M >> 2] = C + 1;
- a[C >> 0] = V;
- dt() | 0;
- V = mt(x, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[N >> 2] | 0;
- c[N >> 2] = C + 1;
- a[C >> 0] = V;
- dt() | 0;
- V = mt(y, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[O >> 2] | 0;
- c[O >> 2] = C + 1;
- a[C >> 0] = V;
- if (dt() | 0) {
- V = mt(v, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[L >> 2] | 0;
- c[L >> 2] = C + 1;
- a[C >> 0] = V;
- }
- if (dt() | 0) {
- V = mt(w, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[M >> 2] | 0;
- c[M >> 2] = C + 1;
- a[C >> 0] = V;
- }
- if (dt() | 0) {
- V = mt(x, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[N >> 2] | 0;
- c[N >> 2] = C + 1;
- a[C >> 0] = V;
- }
- if (dt() | 0) {
- V = mt(y, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[O >> 2] | 0;
- c[O >> 2] = C + 1;
- a[C >> 0] = V;
- }
- V = mt(v, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[L >> 2] | 0;
- c[L >> 2] = C + 1;
- a[C >> 0] = V;
- V = mt(w, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[M >> 2] | 0;
- c[M >> 2] = C + 1;
- a[C >> 0] = V;
- V = mt(x, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[N >> 2] | 0;
- c[N >> 2] = C + 1;
- a[C >> 0] = V;
- V = mt(y, c[u >> 2] | 0, c[R >> 2] | 0) | 0;
- C = c[O >> 2] | 0;
- c[O >> 2] = C + 1;
- a[C >> 0] = V;
- V = Fs(v) | 0;
- C = V | (Fs(w) | 0);
- V = C | (Fs(x) | 0);
- c[P >> 2] = V | (Fs(y) | 0);
- }
- if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- nt(
- c[L >> 2] | 0,
- v,
- c[I >> 2] | 0,
- c[u >> 2] | 0,
- c[R >> 2] | 0
- ) | 0;
- nt(
- c[M >> 2] | 0,
- w,
- c[J >> 2] | 0,
- c[u >> 2] | 0,
- c[R >> 2] | 0
- ) | 0;
- nt(
- c[N >> 2] | 0,
- x,
- c[K >> 2] | 0,
- c[u >> 2] | 0,
- c[R >> 2] | 0
- ) | 0;
- nt(
- c[O >> 2] | 0,
- y,
- c[s >> 2] | 0,
- c[u >> 2] | 0,
- c[R >> 2] | 0
- ) | 0;
- R = ct(v) | 0;
- v = R & (ct(w) | 0);
- w = v & (ct(x) | 0);
- c[P >> 2] = w & (ct(y) | 0);
- if (c[P >> 2] | 0) {
- c[j >> 2] = c[m >> 2];
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- } else {
- c[j >> 2] = -20;
- W = c[j >> 2] | 0;
- l = i;
- return W | 0;
- }
- return 0;
- }
- function mt(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 16) | 0;
- c[h >> 2] = b;
- c[i >> 2] = e;
- c[j >> 2] = f;
- c[k >> 2] = gt(c[h >> 2] | 0, c[j >> 2] | 0) | 0;
- a[m >> 0] = a[((c[i >> 2] | 0) + (c[k >> 2] << 1)) >> 0] | 0;
- Ps(
- c[h >> 2] | 0,
- d[((c[i >> 2] | 0) + (c[k >> 2] << 1) + 1) >> 0] | 0
- );
- l = g;
- return a[m >> 0] | 0;
- }
- function nt(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 20) | 0;
- j = (h + 16) | 0;
- k = (h + 12) | 0;
- m = (h + 8) | 0;
- n = (h + 4) | 0;
- o = h;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = c[i >> 2];
- while (1) {
- if (Fs(c[j >> 2] | 0) | 0) break;
- if (
- (c[i >> 2] | 0) >>> 0 >
- (((c[k >> 2] | 0) + -4) | 0) >>> 0
- )
- break;
- if (dt() | 0) {
- g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- dt() | 0;
- g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- if (dt() | 0) {
- g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- while (1) {
- if (Fs(c[j >> 2] | 0) | 0) break;
- if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- while (1) {
- if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- g = mt(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- l = h;
- return ((c[k >> 2] | 0) - (c[o >> 2] | 0)) | 0;
- }
- function ot(b, e, f, g, h, i, j) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0;
- k = l;
- l = (l + 80) | 0;
- m = (k + 72) | 0;
- n = (k + 68) | 0;
- o = (k + 64) | 0;
- p = (k + 60) | 0;
- q = (k + 56) | 0;
- r = (k + 52) | 0;
- s = (k + 48) | 0;
- t = (k + 44) | 0;
- u = (k + 40) | 0;
- v = (k + 36) | 0;
- w = (k + 32) | 0;
- x = (k + 28) | 0;
- y = (k + 24) | 0;
- z = (k + 20) | 0;
- A = (k + 16) | 0;
- B = (k + 12) | 0;
- C = (k + 8) | 0;
- D = (k + 4) | 0;
- E = k;
- c[n >> 2] = b;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[v >> 2] = c[s >> 2];
- if (!(c[t >> 2] | 0)) {
- c[m >> 2] = -72;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[w >> 2] = d[c[v >> 2] >> 0];
- s = c[w >> 2] | 0;
- a: do {
- if ((c[w >> 2] | 0) >>> 0 < 128) {
- if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
- c[m >> 2] = -72;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[x >> 2] =
- pt(
- c[n >> 2] | 0,
- ((c[o >> 2] | 0) - 1) | 0,
- ((c[v >> 2] | 0) + 1) | 0,
- c[w >> 2] | 0
- ) | 0;
- if (qt(c[x >> 2] | 0) | 0) {
- c[m >> 2] = c[x >> 2];
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- } else {
- j = c[w >> 2] | 0;
- if (s >>> 0 >= 242) {
- c[x >> 2] = c[(7392 + ((j - 242) << 2)) >> 2];
- oE(c[n >> 2] | 0, 1, c[o >> 2] | 0) | 0;
- c[w >> 2] = 0;
- break;
- }
- c[x >> 2] = j - 127;
- c[w >> 2] = (((((c[x >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
- if (
- (((c[w >> 2] | 0) + 1) | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[m >> 2] = -72;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- if ((c[x >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) + 1;
- c[y >> 2] = 0;
- while (1) {
- if ((c[y >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0)
- break a;
- a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] =
- (d[
- ((c[v >> 2] | 0) +
- ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) >>
- 4;
- a[((c[n >> 2] | 0) + ((c[y >> 2] | 0) + 1)) >> 0] =
- (d[
- ((c[v >> 2] | 0) +
- ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) &
- 15;
- c[y >> 2] = (c[y >> 2] | 0) + 2;
- }
- }
- } while (0);
- y = c[p >> 2] | 0;
- v = (y + 68) | 0;
- do {
- c[y >> 2] = 0;
- y = (y + 4) | 0;
- } while ((y | 0) < (v | 0));
- c[u >> 2] = 0;
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) break;
- if (
- (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0 | 0) >=
- 16
- ) {
- G = 20;
- break;
- }
- y =
- ((c[p >> 2] | 0) +
- ((d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) <<
- 2)) |
- 0;
- c[y >> 2] = (c[y >> 2] | 0) + 1;
- c[u >> 2] =
- (c[u >> 2] | 0) +
- ((1 <<
- (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0)) >>
- 1);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- if ((G | 0) == 20) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- if (!(c[u >> 2] | 0)) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[A >> 2] = (Rs(c[u >> 2] | 0) | 0) + 1;
- if ((c[A >> 2] | 0) >>> 0 > 16) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[c[r >> 2] >> 2] = c[A >> 2];
- c[B >> 2] = 1 << c[A >> 2];
- c[C >> 2] = (c[B >> 2] | 0) - (c[u >> 2] | 0);
- c[D >> 2] = 1 << (Rs(c[C >> 2] | 0) | 0);
- c[E >> 2] = (Rs(c[C >> 2] | 0) | 0) + 1;
- if ((c[D >> 2] | 0) != (c[C >> 2] | 0)) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- a[((c[n >> 2] | 0) + (c[x >> 2] | 0)) >> 0] = c[E >> 2];
- n = ((c[p >> 2] | 0) + (c[E >> 2] << 2)) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- if (
- (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
- ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
- : 0
- ) {
- c[c[q >> 2] >> 2] = (c[x >> 2] | 0) + 1;
- c[m >> 2] = (c[w >> 2] | 0) + 1;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- function pt(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- f = l;
- l = (l + 16960) | 0;
- g = (f + 16952) | 0;
- h = (f + 16948) | 0;
- i = (f + 16944) | 0;
- j = (f + 16940) | 0;
- k = (f + 16936) | 0;
- m = (f + 16932) | 0;
- n = (f + 16928) | 0;
- o = (f + 16400) | 0;
- p = f;
- q = (f + 16924) | 0;
- r = (f + 16920) | 0;
- s = (f + 16916) | 0;
- t = (f + 16912) | 0;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = c[j >> 2];
- c[n >> 2] = c[m >> 2];
- c[r >> 2] = 255;
- if ((c[k >> 2] | 0) >>> 0 < 2) {
- c[g >> 2] = -72;
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- }
- c[s >> 2] = Vs(o, r, q, c[m >> 2] | 0, c[k >> 2] | 0) | 0;
- m = (hr(c[s >> 2] | 0) | 0) != 0;
- j = c[s >> 2] | 0;
- if (m) {
- c[g >> 2] = j;
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- }
- if (j >>> 0 >= (c[k >> 2] | 0) >>> 0) {
- c[g >> 2] = -72;
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- }
- c[n >> 2] = (c[n >> 2] | 0) + (c[s >> 2] | 0);
- c[k >> 2] = (c[k >> 2] | 0) - (c[s >> 2] | 0);
- c[t >> 2] = Us(p, o, c[r >> 2] | 0, c[q >> 2] | 0) | 0;
- if (hr(c[t >> 2] | 0) | 0) {
- c[g >> 2] = c[t >> 2];
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- } else {
- c[g >> 2] =
- rt(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0,
- p
- ) | 0;
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- }
- return 0;
- }
- function qt(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = hr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function rt(b, d, f, g, h) {
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0;
- i = l;
- l = (l + 208) | 0;
- j = (i + 192) | 0;
- k = (i + 188) | 0;
- m = (i + 184) | 0;
- n = (i + 180) | 0;
- o = (i + 176) | 0;
- p = (i + 172) | 0;
- q = (i + 168) | 0;
- r = (i + 164) | 0;
- s = (i + 160) | 0;
- t = (i + 156) | 0;
- u = (i + 152) | 0;
- v = (i + 136) | 0;
- w = (i + 128) | 0;
- x = (i + 120) | 0;
- y = (i + 116) | 0;
- z = (i + 112) | 0;
- A = (i + 108) | 0;
- B = (i + 104) | 0;
- C = (i + 100) | 0;
- D = (i + 96) | 0;
- E = (i + 92) | 0;
- F = (i + 88) | 0;
- G = (i + 84) | 0;
- H = (i + 80) | 0;
- I = (i + 76) | 0;
- J = (i + 72) | 0;
- K = (i + 56) | 0;
- L = (i + 48) | 0;
- M = (i + 40) | 0;
- N = (i + 36) | 0;
- O = (i + 32) | 0;
- P = (i + 28) | 0;
- Q = (i + 24) | 0;
- R = (i + 20) | 0;
- S = (i + 16) | 0;
- T = (i + 12) | 0;
- U = (i + 8) | 0;
- V = (i + 4) | 0;
- W = i;
- c[P >> 2] = b;
- c[Q >> 2] = d;
- c[R >> 2] = f;
- c[S >> 2] = g;
- c[T >> 2] = h;
- c[U >> 2] = c[T >> 2];
- c[V >> 2] = c[U >> 2];
- c[W >> 2] = e[((c[V >> 2] | 0) + 2) >> 1];
- V = c[P >> 2] | 0;
- P = c[Q >> 2] | 0;
- Q = c[R >> 2] | 0;
- R = c[S >> 2] | 0;
- S = c[T >> 2] | 0;
- if (c[W >> 2] | 0) {
- c[A >> 2] = V;
- c[B >> 2] = P;
- c[C >> 2] = Q;
- c[D >> 2] = R;
- c[E >> 2] = S;
- c[F >> 2] = 1;
- c[G >> 2] = c[A >> 2];
- c[H >> 2] = c[G >> 2];
- c[I >> 2] = (c[H >> 2] | 0) + (c[B >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + -3;
- c[N >> 2] = Ds(K, c[C >> 2] | 0, c[D >> 2] | 0) | 0;
- do {
- if (hr(c[N >> 2] | 0) | 0) c[z >> 2] = c[N >> 2];
- else {
- Es(L, K, c[E >> 2] | 0);
- Es(M, K, c[E >> 2] | 0);
- while (1) {
- if (Fs(K) | 0) break;
- if ((c[H >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
- break;
- if (c[F >> 2] | 0) X = (st(L, K) | 0) & 255;
- else X = (tt(L, K) | 0) & 255;
- a[c[H >> 2] >> 0] = X;
- if (c[F >> 2] | 0) Y = (st(M, K) | 0) & 255;
- else Y = (tt(M, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 1) >> 0] = Y;
- if ((Fs(K) | 0) >>> 0 > 0) {
- Z = 14;
- break;
- }
- if (c[F >> 2] | 0) _ = (st(L, K) | 0) & 255;
- else _ = (tt(L, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 2) >> 0] = _;
- if (c[F >> 2] | 0) $ = (st(M, K) | 0) & 255;
- else $ = (tt(M, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 3) >> 0] = $;
- c[H >> 2] = (c[H >> 2] | 0) + 4;
- }
- if ((Z | 0) == 14) c[H >> 2] = (c[H >> 2] | 0) + 2;
- while (1) {
- if (
- (c[H >> 2] | 0) >>> 0 >
- (((c[I >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 24;
- break;
- }
- if (c[F >> 2] | 0) aa = (st(L, K) | 0) & 255;
- else aa = (tt(L, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = aa;
- if ((Fs(K) | 0) == 3) {
- Z = 29;
- break;
- }
- if (
- (c[H >> 2] | 0) >>> 0 >
- (((c[I >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 34;
- break;
- }
- if (c[F >> 2] | 0) ba = (st(M, K) | 0) & 255;
- else ba = (tt(M, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = ba;
- if ((Fs(K) | 0) == 3) {
- Z = 39;
- break;
- }
- }
- if ((Z | 0) == 24) {
- c[z >> 2] = -70;
- break;
- } else if ((Z | 0) == 29) {
- if (c[F >> 2] | 0) ca = (st(M, K) | 0) & 255;
- else ca = (tt(M, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = ca;
- } else if ((Z | 0) == 34) {
- c[z >> 2] = -70;
- break;
- } else if ((Z | 0) == 39) {
- if (c[F >> 2] | 0) da = (st(L, K) | 0) & 255;
- else da = (tt(L, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = da;
- }
- c[z >> 2] = (c[H >> 2] | 0) - (c[G >> 2] | 0);
- }
- } while (0);
- c[O >> 2] = c[z >> 2];
- ea = c[O >> 2] | 0;
- l = i;
- return ea | 0;
- } else {
- c[k >> 2] = V;
- c[m >> 2] = P;
- c[n >> 2] = Q;
- c[o >> 2] = R;
- c[p >> 2] = S;
- c[q >> 2] = 0;
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + (c[m >> 2] | 0);
- c[u >> 2] = (c[t >> 2] | 0) + -3;
- c[y >> 2] = Ds(v, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
- do {
- if (hr(c[y >> 2] | 0) | 0) c[j >> 2] = c[y >> 2];
- else {
- Es(w, v, c[p >> 2] | 0);
- Es(x, v, c[p >> 2] | 0);
- while (1) {
- if (Fs(v) | 0) break;
- if ((c[s >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0)
- break;
- if (c[q >> 2] | 0) fa = (st(w, v) | 0) & 255;
- else fa = (tt(w, v) | 0) & 255;
- a[c[s >> 2] >> 0] = fa;
- if (c[q >> 2] | 0) ga = (st(x, v) | 0) & 255;
- else ga = (tt(x, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 1) >> 0] = ga;
- if ((Fs(v) | 0) >>> 0 > 0) {
- Z = 58;
- break;
- }
- if (c[q >> 2] | 0) ha = (st(w, v) | 0) & 255;
- else ha = (tt(w, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 2) >> 0] = ha;
- if (c[q >> 2] | 0) ia = (st(x, v) | 0) & 255;
- else ia = (tt(x, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 3) >> 0] = ia;
- c[s >> 2] = (c[s >> 2] | 0) + 4;
- }
- if ((Z | 0) == 58) c[s >> 2] = (c[s >> 2] | 0) + 2;
- while (1) {
- if (
- (c[s >> 2] | 0) >>> 0 >
- (((c[t >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 68;
- break;
- }
- if (c[q >> 2] | 0) ja = (st(w, v) | 0) & 255;
- else ja = (tt(w, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ja;
- if ((Fs(v) | 0) == 3) {
- Z = 73;
- break;
- }
- if (
- (c[s >> 2] | 0) >>> 0 >
- (((c[t >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 78;
- break;
- }
- if (c[q >> 2] | 0) ka = (st(x, v) | 0) & 255;
- else ka = (tt(x, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ka;
- if ((Fs(v) | 0) == 3) {
- Z = 83;
- break;
- }
- }
- if ((Z | 0) == 68) {
- c[j >> 2] = -70;
- break;
- } else if ((Z | 0) == 73) {
- if (c[q >> 2] | 0) la = (st(x, v) | 0) & 255;
- else la = (tt(x, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = la;
- } else if ((Z | 0) == 78) {
- c[j >> 2] = -70;
- break;
- } else if ((Z | 0) == 83) {
- if (c[q >> 2] | 0) ma = (st(w, v) | 0) & 255;
- else ma = (tt(w, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ma;
- }
- c[j >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- }
- } while (0);
- c[O >> 2] = c[j >> 2];
- ea = c[O >> 2] | 0;
- l = i;
- return ea | 0;
- }
- return 0;
- }
- function st(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = ut(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function tt(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = Ms(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function ut(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = gt(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- Ps(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function vt(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0;
- g = l;
- l = (l + 2144) | 0;
- h = (g + 2124) | 0;
- i = (g + 2120) | 0;
- j = (g + 2116) | 0;
- k = (g + 2112) | 0;
- m = (g + 1760) | 0;
- n = (g + 1248) | 0;
- o = (g + 1168) | 0;
- p = (g + 1088) | 0;
- q = (g + 2108) | 0;
- r = g;
- s = (g + 2104) | 0;
- t = (g + 2100) | 0;
- u = (g + 2096) | 0;
- v = (g + 2092) | 0;
- w = (g + 2128) | 0;
- x = (g + 2088) | 0;
- y = (g + 2084) | 0;
- z = (g + 2080) | 0;
- A = (g + 2076) | 0;
- B = (g + 2072) | 0;
- C = (g + 2068) | 0;
- D = (g + 2064) | 0;
- E = (g + 2060) | 0;
- F = (g + 2056) | 0;
- G = (g + 2052) | 0;
- H = (g + 2048) | 0;
- I = (g + 2044) | 0;
- J = (g + 2040) | 0;
- K = (g + 2036) | 0;
- L = (g + 2032) | 0;
- M = (g + 2028) | 0;
- N = (g + 2024) | 0;
- O = (g + 2020) | 0;
- P = (g + 2016) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- f = o;
- e = (f + 68) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (e | 0));
- f = p;
- e = (f + 72) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (e | 0));
- c[q >> 2] = p + 4;
- _s(w, c[i >> 2] | 0);
- c[x >> 2] = d[w >> 0];
- c[z >> 2] = (c[i >> 2] | 0) + 4;
- c[A >> 2] = c[z >> 2];
- if ((c[x >> 2] | 0) >>> 0 > 16) {
- c[h >> 2] = -44;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[y >> 2] =
- ot(m, 256, o, v, s, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- if (at(c[y >> 2] | 0) | 0) {
- c[h >> 2] = c[y >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- if ((c[s >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
- c[h >> 2] = -44;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[t >> 2] = c[s >> 2];
- while (1) {
- if (c[(o + (c[t >> 2] << 2)) >> 2] | 0) break;
- c[t >> 2] = (c[t >> 2] | 0) + -1;
- }
- c[C >> 2] = 0;
- c[B >> 2] = 1;
- while (1) {
- R = c[C >> 2] | 0;
- if (
- (c[B >> 2] | 0) >>> 0 >=
- (((c[t >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[D >> 2] = R;
- c[C >> 2] =
- (c[C >> 2] | 0) + (c[(o + (c[B >> 2] << 2)) >> 2] | 0);
- c[((c[q >> 2] | 0) + (c[B >> 2] << 2)) >> 2] = c[D >> 2];
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- c[c[q >> 2] >> 2] = R;
- c[u >> 2] = c[C >> 2];
- c[E >> 2] = 0;
- while (1) {
- if ((c[E >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
- c[F >> 2] = d[(m + (c[E >> 2] | 0)) >> 0];
- C = ((c[q >> 2] | 0) + (c[F >> 2] << 2)) | 0;
- R = c[C >> 2] | 0;
- c[C >> 2] = R + 1;
- c[G >> 2] = R;
- a[(n + (c[G >> 2] << 1)) >> 0] = c[E >> 2];
- a[(n + (c[G >> 2] << 1) + 1) >> 0] = c[F >> 2];
- c[E >> 2] = (c[E >> 2] | 0) + 1;
- }
- c[c[q >> 2] >> 2] = 0;
- c[H >> 2] = r;
- c[I >> 2] = (c[x >> 2] | 0) - (c[s >> 2] | 0) - 1;
- c[J >> 2] = 0;
- c[K >> 2] = 1;
- while (1) {
- if (
- (c[K >> 2] | 0) >>> 0 >=
- (((c[t >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[L >> 2] = c[J >> 2];
- c[J >> 2] =
- (c[J >> 2] | 0) +
- (c[(o + (c[K >> 2] << 2)) >> 2] <<
- ((c[K >> 2] | 0) + (c[I >> 2] | 0)));
- c[((c[H >> 2] | 0) + (c[K >> 2] << 2)) >> 2] = c[L >> 2];
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- }
- c[M >> 2] = (c[s >> 2] | 0) + 1 - (c[t >> 2] | 0);
- c[N >> 2] = c[M >> 2];
- while (1) {
- if (
- (c[N >> 2] | 0) >>> 0 >=
- (((c[x >> 2] | 0) - (c[M >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[O >> 2] = r + (((c[N >> 2] | 0) * 68) | 0);
- c[P >> 2] = 1;
- while (1) {
- if (
- (c[P >> 2] | 0) >>> 0 >=
- (((c[t >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[((c[O >> 2] | 0) + (c[P >> 2] << 2)) >> 2] =
- (c[((c[H >> 2] | 0) + (c[P >> 2] << 2)) >> 2] | 0) >>>
- (c[N >> 2] | 0);
- c[P >> 2] = (c[P >> 2] | 0) + 1;
- }
- c[N >> 2] = (c[N >> 2] | 0) + 1;
- }
- xt(
- c[A >> 2] | 0,
- c[x >> 2] | 0,
- n,
- c[u >> 2] | 0,
- p,
- r,
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) + 1) | 0
- );
- a[(w + 2) >> 0] = c[x >> 2];
- a[(w + 1) >> 0] = 1;
- x = c[i >> 2] | 0;
- a[x >> 0] = a[w >> 0] | 0;
- a[(x + 1) >> 0] = a[(w + 1) >> 0] | 0;
- a[(x + 2) >> 0] = a[(w + 2) >> 0] | 0;
- a[(x + 3) >> 0] = a[(w + 3) >> 0] | 0;
- c[h >> 2] = c[y >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- function wt(a, b, e, f, g) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0;
- h = l;
- l = (l + 208) | 0;
- i = (h + 200) | 0;
- j = (h + 196) | 0;
- k = (h + 192) | 0;
- m = (h + 188) | 0;
- n = (h + 184) | 0;
- o = (h + 180) | 0;
- p = (h + 176) | 0;
- q = (h + 172) | 0;
- r = (h + 168) | 0;
- s = (h + 164) | 0;
- t = (h + 160) | 0;
- u = (h + 144) | 0;
- v = (h + 128) | 0;
- w = (h + 112) | 0;
- x = (h + 96) | 0;
- y = (h + 88) | 0;
- z = (h + 84) | 0;
- A = (h + 80) | 0;
- B = (h + 76) | 0;
- C = (h + 72) | 0;
- D = (h + 68) | 0;
- E = (h + 64) | 0;
- F = (h + 60) | 0;
- G = (h + 56) | 0;
- H = (h + 52) | 0;
- I = (h + 48) | 0;
- J = (h + 44) | 0;
- K = (h + 40) | 0;
- L = (h + 36) | 0;
- M = (h + 32) | 0;
- N = (h + 28) | 0;
- O = (h + 24) | 0;
- P = (h + 204) | 0;
- Q = (h + 20) | 0;
- R = (h + 16) | 0;
- S = (h + 12) | 0;
- T = (h + 8) | 0;
- U = (h + 4) | 0;
- V = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- if ((c[n >> 2] | 0) >>> 0 < 10) {
- c[i >> 2] = -20;
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- c[p >> 2] = c[m >> 2];
- c[q >> 2] = c[j >> 2];
- c[r >> 2] = (c[q >> 2] | 0) + (c[k >> 2] | 0);
- c[s >> 2] = (c[o >> 2] | 0) + 4;
- c[t >> 2] = c[s >> 2];
- c[y >> 2] = (Eq(c[p >> 2] | 0) | 0) & 65535;
- c[z >> 2] = (Eq(((c[p >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[A >> 2] = (Eq(((c[p >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[B >> 2] =
- (c[n >> 2] | 0) -
- ((c[y >> 2] | 0) + (c[z >> 2] | 0) + (c[A >> 2] | 0) + 6);
- c[C >> 2] = (c[p >> 2] | 0) + 6;
- c[D >> 2] = (c[C >> 2] | 0) + (c[y >> 2] | 0);
- c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
- c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
- c[G >> 2] = (((((c[k >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[H >> 2] = (c[q >> 2] | 0) + (c[G >> 2] | 0);
- c[I >> 2] = (c[H >> 2] | 0) + (c[G >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + (c[G >> 2] | 0);
- c[K >> 2] = c[q >> 2];
- c[L >> 2] = c[H >> 2];
- c[M >> 2] = c[I >> 2];
- c[N >> 2] = c[J >> 2];
- _s(P, c[o >> 2] | 0);
- c[Q >> 2] = d[(P + 2) >> 0];
- if ((c[B >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0) {
- c[i >> 2] = -20;
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- c[R >> 2] = Ds(u, c[C >> 2] | 0, c[y >> 2] | 0) | 0;
- if (at(c[R >> 2] | 0) | 0) {
- c[i >> 2] = c[R >> 2];
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- c[S >> 2] = Ds(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
- if (at(c[S >> 2] | 0) | 0) {
- c[i >> 2] = c[S >> 2];
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- c[T >> 2] = Ds(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
- if (at(c[T >> 2] | 0) | 0) {
- c[i >> 2] = c[T >> 2];
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- c[U >> 2] = Ds(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
- if (at(c[U >> 2] | 0) | 0) {
- c[i >> 2] = c[U >> 2];
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- U = Fs(u) | 0;
- B = U | (Fs(v) | 0);
- U = B | (Fs(w) | 0);
- c[O >> 2] = U | (Fs(x) | 0);
- while (1) {
- if (c[O >> 2] | 0) break;
- if (
- (c[N >> 2] | 0) >>> 0 >=
- (((c[r >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (dt() | 0) {
- U =
- et(c[K >> 2] | 0, u, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[K >> 2] = (c[K >> 2] | 0) + U;
- }
- if (dt() | 0) {
- U =
- et(c[L >> 2] | 0, v, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + U;
- }
- if (dt() | 0) {
- U =
- et(c[M >> 2] | 0, w, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + U;
- }
- if (dt() | 0) {
- U =
- et(c[N >> 2] | 0, x, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + U;
- }
- dt() | 0;
- U = et(c[K >> 2] | 0, u, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[K >> 2] = (c[K >> 2] | 0) + U;
- dt() | 0;
- U = et(c[L >> 2] | 0, v, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + U;
- dt() | 0;
- U = et(c[M >> 2] | 0, w, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + U;
- dt() | 0;
- U = et(c[N >> 2] | 0, x, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + U;
- if (dt() | 0) {
- U =
- et(c[K >> 2] | 0, u, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[K >> 2] = (c[K >> 2] | 0) + U;
- }
- if (dt() | 0) {
- U =
- et(c[L >> 2] | 0, v, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + U;
- }
- if (dt() | 0) {
- U =
- et(c[M >> 2] | 0, w, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + U;
- }
- if (dt() | 0) {
- U =
- et(c[N >> 2] | 0, x, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + U;
- }
- U = et(c[K >> 2] | 0, u, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[K >> 2] = (c[K >> 2] | 0) + U;
- U = et(c[L >> 2] | 0, v, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + U;
- U = et(c[M >> 2] | 0, w, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + U;
- U = et(c[N >> 2] | 0, x, c[t >> 2] | 0, c[Q >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + U;
- U = Fs(u) | 0;
- B = U | (Fs(v) | 0);
- U = B | (Fs(w) | 0);
- c[O >> 2] = U | (Fs(x) | 0);
- }
- if ((c[K >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
- c[i >> 2] = -20;
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
- c[i >> 2] = -20;
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
- c[i >> 2] = -20;
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- bt(
- c[K >> 2] | 0,
- u,
- c[H >> 2] | 0,
- c[t >> 2] | 0,
- c[Q >> 2] | 0
- ) | 0;
- bt(
- c[L >> 2] | 0,
- v,
- c[I >> 2] | 0,
- c[t >> 2] | 0,
- c[Q >> 2] | 0
- ) | 0;
- bt(
- c[M >> 2] | 0,
- w,
- c[J >> 2] | 0,
- c[t >> 2] | 0,
- c[Q >> 2] | 0
- ) | 0;
- bt(
- c[N >> 2] | 0,
- x,
- c[r >> 2] | 0,
- c[t >> 2] | 0,
- c[Q >> 2] | 0
- ) | 0;
- Q = ct(u) | 0;
- u = Q & (ct(v) | 0);
- v = u & (ct(w) | 0);
- c[V >> 2] = v & (ct(x) | 0);
- if (c[V >> 2] | 0) {
- c[i >> 2] = c[k >> 2];
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- } else {
- c[i >> 2] = -20;
- W = c[i >> 2] | 0;
- l = h;
- return W | 0;
- }
- return 0;
- }
- function xt(e, f, g, h, i, j, k, m) {
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0;
- n = l;
- l = (l + 160) | 0;
- o = (n + 140) | 0;
- p = (n + 136) | 0;
- q = (n + 132) | 0;
- r = (n + 128) | 0;
- s = (n + 124) | 0;
- t = (n + 120) | 0;
- u = (n + 116) | 0;
- v = (n + 112) | 0;
- w = n;
- x = (n + 108) | 0;
- y = (n + 104) | 0;
- z = (n + 100) | 0;
- A = (n + 148) | 0;
- B = (n + 96) | 0;
- C = (n + 92) | 0;
- D = (n + 88) | 0;
- E = (n + 84) | 0;
- F = (n + 80) | 0;
- G = (n + 76) | 0;
- H = (n + 144) | 0;
- I = (n + 72) | 0;
- J = (n + 68) | 0;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = k;
- c[v >> 2] = m;
- c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
- c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- u = w;
- m = c[t >> 2] | 0;
- k = (u + 68) | 0;
- do {
- c[u >> 2] = c[m >> 2];
- u = (u + 4) | 0;
- m = (m + 4) | 0;
- } while ((u | 0) < (k | 0));
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
- b[A >> 1] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
- c[B >> 2] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
- c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
- a: do {
- if (
- (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- ) {
- m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
- c[G >> 2] = m;
- c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
- c[F >> 2] =
- c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
- yt(
- ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
- ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
- c[C >> 2] | 0,
- ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 68) | 0)) | 0,
- c[G >> 2] | 0,
- ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
- ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
- c[v >> 2] | 0,
- b[A >> 1] | 0
- );
- } else {
- zt(H, b[A >> 1] | 0);
- a[(H + 2) >> 0] = c[C >> 2];
- a[(H + 3) >> 0] = 1;
- c[J >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
- c[I >> 2] = c[D >> 2];
- while (1) {
- if ((c[I >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
- break a;
- m = ((c[o >> 2] | 0) + (c[I >> 2] << 2)) | 0;
- b[m >> 1] = b[H >> 1] | 0;
- b[(m + 2) >> 1] = b[(H + 2) >> 1] | 0;
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- }
- } while (0);
- m = (w + (c[B >> 2] << 2)) | 0;
- c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- l = n;
- return;
- }
- function yt(f, g, h, i, j, k, m, n, o) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- var p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0;
- p = l;
- l = (l + 160) | 0;
- q = (p + 136) | 0;
- r = (p + 132) | 0;
- s = (p + 128) | 0;
- t = (p + 124) | 0;
- u = (p + 120) | 0;
- v = (p + 116) | 0;
- w = (p + 112) | 0;
- x = (p + 108) | 0;
- y = (p + 144) | 0;
- z = (p + 140) | 0;
- A = p;
- B = (p + 104) | 0;
- C = (p + 100) | 0;
- D = (p + 96) | 0;
- E = (p + 92) | 0;
- F = (p + 88) | 0;
- G = (p + 84) | 0;
- H = (p + 80) | 0;
- I = (p + 76) | 0;
- J = (p + 72) | 0;
- K = (p + 68) | 0;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = j;
- c[v >> 2] = k;
- c[w >> 2] = m;
- c[x >> 2] = n;
- b[y >> 1] = o;
- o = A;
- n = c[t >> 2] | 0;
- t = (o + 68) | 0;
- do {
- c[o >> 2] = c[n >> 2];
- o = (o + 4) | 0;
- n = (n + 4) | 0;
- } while ((o | 0) < (t | 0));
- a: do {
- if ((c[u >> 2] | 0) > 1) {
- c[C >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
- zt(z, b[y >> 1] | 0);
- a[(z + 2) >> 0] = c[s >> 2];
- a[(z + 3) >> 0] = 1;
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 >= (c[C >> 2] | 0) >>> 0)
- break a;
- n = ((c[q >> 2] | 0) + (c[B >> 2] << 2)) | 0;
- b[n >> 1] = b[z >> 1] | 0;
- b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[E >> 2] = d[((c[v >> 2] | 0) + (c[D >> 2] << 1)) >> 0];
- c[F >> 2] =
- d[((c[v >> 2] | 0) + (c[D >> 2] << 1) + 1) >> 0];
- c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
- c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
- c[J >> 2] = c[I >> 2];
- c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- zt(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
- a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
- a[(z + 3) >> 0] = 2;
- do {
- B = c[q >> 2] | 0;
- C = c[J >> 2] | 0;
- c[J >> 2] = C + 1;
- u = (B + (C << 2)) | 0;
- b[u >> 1] = b[z >> 1] | 0;
- b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
- } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
- u = (A + (c[F >> 2] << 2)) | 0;
- c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- l = p;
- return;
- }
- function zt(d, f) {
- d = d | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- g = l;
- l = (l + 16) | 0;
- h = (g + 4) | 0;
- i = (g + 8) | 0;
- j = g;
- c[h >> 2] = d;
- b[i >> 1] = f;
- f = (Gq() | 0) != 0;
- d = c[h >> 2] | 0;
- if (f) {
- At(d, b[i >> 1] | 0);
- l = g;
- return;
- } else {
- c[j >> 2] = d;
- a[c[j >> 2] >> 0] = b[i >> 1];
- a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
- l = g;
- return;
- }
- }
- function At(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (f + 4) | 0;
- c[g >> 2] = d;
- b[h >> 1] = e;
- e = c[g >> 2] | 0;
- a[e >> 0] = a[h >> 0] | 0;
- a[(e + 1) >> 0] = a[(h + 1) >> 0] | 0;
- l = f;
- return;
- }
- function Bt(a, b, e, f, g) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 60) | 0;
- j = (h + 56) | 0;
- k = (h + 52) | 0;
- m = (h + 48) | 0;
- n = (h + 44) | 0;
- o = (h + 40) | 0;
- p = (h + 36) | 0;
- q = (h + 32) | 0;
- r = (h + 28) | 0;
- s = (h + 24) | 0;
- t = (h + 8) | 0;
- u = (h + 64) | 0;
- v = (h + 4) | 0;
- w = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[j >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[k >> 2] | 0);
- c[r >> 2] = (c[o >> 2] | 0) + 4;
- c[s >> 2] = c[r >> 2];
- _s(u, c[o >> 2] | 0);
- c[v >> 2] = d[(u + 2) >> 0];
- c[w >> 2] = Ds(t, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- if (at(c[w >> 2] | 0) | 0) {
- c[i >> 2] = c[w >> 2];
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- nt(
- c[p >> 2] | 0,
- t,
- c[q >> 2] | 0,
- c[s >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- if (ct(t) | 0) {
- c[i >> 2] = c[k >> 2];
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- } else {
- c[i >> 2] = -20;
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- return 0;
- }
- function Ct(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[d >> 2] = a;
- c[((c[d >> 2] | 0) + 21536) >> 2] = 5;
- c[((c[d >> 2] | 0) + 21580) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21520) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21524) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21528) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21532) >> 2] = 0;
- c[((c[d >> 2] | 0) + 5132) >> 2] = 201326604;
- c[((c[d >> 2] | 0) + 21588) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21584) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21684) >> 2] = 0;
- c[e >> 2] = 0;
- while (1) {
- if ((c[e >> 2] | 0) >= 3) break;
- c[((c[d >> 2] | 0) + 21540 + (c[e >> 2] << 2)) >> 2] =
- c[(11940 + (c[e >> 2] << 2)) >> 2];
- c[e >> 2] = (c[e >> 2] | 0) + 1;
- }
- l = b;
- return 0;
- }
- function Dt(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if ((c[i >> 2] | 0) >>> 0 < 8) {
- c[f >> 2] =
- Et(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- c[j >> 2] = Bq(c[h >> 2] | 0) | 0;
- if ((c[j >> 2] | 0) != -332356553) {
- c[f >> 2] =
- Et(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- j = Bq(((c[h >> 2] | 0) + 4) | 0) | 0;
- c[((c[g >> 2] | 0) + 21684) >> 2] = j;
- c[h >> 2] = (c[h >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) - 8;
- c[k >> 2] =
- Ft(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (hr(c[k >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- } else {
- c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
- c[f >> 2] =
- Et(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- return 0;
- }
- function Et(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 21532) >> 2] =
- c[((c[f >> 2] | 0) + 21520) >> 2];
- c[((c[f >> 2] | 0) + 21528) >> 2] =
- (c[g >> 2] | 0) +
- (0 -
- ((c[((c[f >> 2] | 0) + 21520) >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 21524) >> 2] | 0)));
- c[((c[f >> 2] | 0) + 21524) >> 2] = c[g >> 2];
- c[((c[f >> 2] | 0) + 21520) >> 2] =
- (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return 0;
- }
- function Ft(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- e = l;
- l = (l + 336) | 0;
- f = (e + 324) | 0;
- g = (e + 320) | 0;
- h = (e + 316) | 0;
- i = (e + 312) | 0;
- j = (e + 308) | 0;
- k = (e + 304) | 0;
- m = (e + 300) | 0;
- n = (e + 192) | 0;
- o = (e + 296) | 0;
- p = (e + 292) | 0;
- q = (e + 288) | 0;
- r = (e + 284) | 0;
- s = (e + 80) | 0;
- t = (e + 280) | 0;
- u = (e + 276) | 0;
- v = (e + 272) | 0;
- w = (e + 268) | 0;
- x = e;
- y = (e + 264) | 0;
- z = (e + 260) | 0;
- A = (e + 256) | 0;
- B = (e + 252) | 0;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = c[h >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[i >> 2] | 0);
- c[m >> 2] =
- vt(
- ((c[g >> 2] | 0) + 5132) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- if (hr(c[m >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[j >> 2] = (c[j >> 2] | 0) + (c[m >> 2] | 0);
- c[o >> 2] = 28;
- c[q >> 2] =
- Vs(
- n,
- o,
- p,
- c[j >> 2] | 0,
- ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
- ) | 0;
- if (hr(c[q >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[p >> 2] | 0) >>> 0 > 8) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[r >> 2] =
- Us(
- ((c[g >> 2] | 0) + 2052) | 0,
- n,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- if (hr(c[r >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[j >> 2] = (c[j >> 2] | 0) + (c[q >> 2] | 0);
- c[t >> 2] = 52;
- c[v >> 2] =
- Vs(
- s,
- t,
- u,
- c[j >> 2] | 0,
- ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
- ) | 0;
- if (hr(c[v >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[u >> 2] | 0) >>> 0 > 9) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[w >> 2] =
- Us(
- ((c[g >> 2] | 0) + 3080) | 0,
- s,
- c[t >> 2] | 0,
- c[u >> 2] | 0
- ) | 0;
- if (hr(c[w >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[j >> 2] = (c[j >> 2] | 0) + (c[v >> 2] | 0);
- c[y >> 2] = 35;
- c[A >> 2] =
- Vs(
- x,
- y,
- z,
- c[j >> 2] | 0,
- ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
- ) | 0;
- if (hr(c[A >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[z >> 2] | 0) >>> 0 > 9) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[B >> 2] =
- Us(c[g >> 2] | 0, x, c[y >> 2] | 0, c[z >> 2] | 0) | 0;
- if (hr(c[B >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[j >> 2] = (c[j >> 2] | 0) + (c[A >> 2] | 0);
- if (
- (((c[j >> 2] | 0) + 12) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- k = Bq(c[j >> 2] | 0) | 0;
- c[((c[g >> 2] | 0) + 21540) >> 2] = k;
- if (
- c[((c[g >> 2] | 0) + 21540) >> 2] | 0
- ? (c[((c[g >> 2] | 0) + 21540) >> 2] | 0) >>> 0 <
- (c[i >> 2] | 0) >>> 0
- : 0
- ) {
- k = Bq(((c[j >> 2] | 0) + 4) | 0) | 0;
- c[((c[g >> 2] | 0) + 21540 + 4) >> 2] = k;
- if (
- c[((c[g >> 2] | 0) + 21540 + 4) >> 2] | 0
- ? (c[((c[g >> 2] | 0) + 21540 + 4) >> 2] | 0) >>> 0 <
- (c[i >> 2] | 0) >>> 0
- : 0
- ) {
- k = Bq(((c[j >> 2] | 0) + 8) | 0) | 0;
- c[((c[g >> 2] | 0) + 21540 + 8) >> 2] = k;
- if (
- c[((c[g >> 2] | 0) + 21540 + 8) >> 2] | 0
- ? (c[((c[g >> 2] | 0) + 21540 + 8) >> 2] | 0) >>> 0 <
- (c[i >> 2] | 0) >>> 0
- : 0
- ) {
- c[j >> 2] = (c[j >> 2] | 0) + 12;
- c[((c[g >> 2] | 0) + 21588) >> 2] = 1;
- c[((c[g >> 2] | 0) + 21584) >> 2] = 1;
- c[f >> 2] = (c[j >> 2] | 0) - (c[h >> 2] | 0);
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- function Gt(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- if ((c[a >> 2] | 0) == 0 ? (c[(a + 4) >> 2] | 0) == 0 : 0) {
- c[a >> 2] = c[2988];
- c[(a + 4) >> 2] = c[2989];
- c[(a + 8) >> 2] = c[2990];
- }
- if (c[a >> 2] | 0 ? c[(a + 4) >> 2] | 0 : 0) {
- c[e >> 2] =
- qc[c[a >> 2] & 63](c[(a + 8) >> 2] | 0, 152808) | 0;
- if (c[e >> 2] | 0) {
- f = ((c[e >> 2] | 0) + 21692) | 0;
- c[f >> 2] = c[a >> 2];
- c[(f + 4) >> 2] = c[(a + 4) >> 2];
- c[(f + 8) >> 2] = c[(a + 8) >> 2];
- Ct(c[e >> 2] | 0) | 0;
- c[d >> 2] = c[e >> 2];
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- }
- c[d >> 2] = 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- function Ht(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[(d + 8) >> 2] = a;
- c[e >> 2] = b;
- c[f >> 2] = Cy(c[e >> 2] | 0) | 0;
- l = d;
- return c[f >> 2] | 0;
- }
- function It(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- c[(d + 4) >> 2] = a;
- c[e >> 2] = b;
- Dy(c[e >> 2] | 0);
- l = d;
- return;
- }
- function Jt(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = Ou(c[g >> 2] | 0) | 0;
- if (jr(c[j >> 2] | 0) | 0) {
- c[f >> 2] = c[j >> 2];
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- if (
- ((c[h >> 2] | 0) != 0) & ((c[i >> 2] | 0) != 0)
- ? ((c[k >> 2] =
- Pu(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0),
- jr(c[k >> 2] | 0) | 0)
- : 0
- ) {
- c[f >> 2] = -30;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- c[f >> 2] = 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- function Kt(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- if (
- (c[f >> 2] | 0) ==
- (c[((c[e >> 2] | 0) + 21520) >> 2] | 0)
- ) {
- l = d;
- return;
- }
- c[((c[e >> 2] | 0) + 21532) >> 2] =
- c[((c[e >> 2] | 0) + 21520) >> 2];
- c[((c[e >> 2] | 0) + 21528) >> 2] =
- (c[f >> 2] | 0) +
- (0 -
- ((c[((c[e >> 2] | 0) + 21520) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 21524) >> 2] | 0)));
- c[((c[e >> 2] | 0) + 21524) >> 2] = c[f >> 2];
- c[((c[e >> 2] | 0) + 21520) >> 2] = c[f >> 2];
- l = d;
- return;
- }
- function Lt(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 68) | 0;
- i = (g + 64) | 0;
- j = (g + 60) | 0;
- k = (g + 56) | 0;
- m = (g + 52) | 0;
- n = (g + 48) | 0;
- o = (g + 44) | 0;
- p = (g + 40) | 0;
- q = (g + 36) | 0;
- r = (g + 32) | 0;
- s = (g + 28) | 0;
- t = (g + 24) | 0;
- u = (g + 16) | 0;
- v = (g + 8) | 0;
- w = (g + 4) | 0;
- x = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] = (c[o >> 2] | 0) + (c[n >> 2] | 0);
- c[q >> 2] = c[j >> 2];
- c[r >> 2] = c[q >> 2];
- c[s >> 2] = (c[q >> 2] | 0) + (c[k >> 2] | 0);
- c[t >> 2] = c[n >> 2];
- c[u >> 2] = 0;
- c[(u + 4) >> 2] = 0;
- if ((c[n >> 2] | 0) >>> 0 < 8) {
- c[h >> 2] = -72;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- c[v >> 2] = Nq(c[m >> 2] | 0, 5) | 0;
- if (jr(c[v >> 2] | 0) | 0) {
- c[h >> 2] = c[v >> 2];
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- if (
- (c[n >> 2] | 0) >>> 0 <
- (((c[v >> 2] | 0) + 3) | 0) >>> 0
- ) {
- c[h >> 2] = -72;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- if (Mt(c[i >> 2] | 0, c[m >> 2] | 0, c[v >> 2] | 0) | 0) {
- c[h >> 2] = -20;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- c[o >> 2] = (c[o >> 2] | 0) + (c[v >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) - (c[v >> 2] | 0);
- a: while (1) {
- c[w >> 2] = 0;
- c[x >> 2] =
- kr(
- c[o >> 2] | 0,
- ((c[p >> 2] | 0) - (c[o >> 2] | 0)) | 0,
- u
- ) | 0;
- if (jr(c[x >> 2] | 0) | 0) {
- z = 11;
- break;
- }
- c[o >> 2] = (c[o >> 2] | 0) + 3;
- c[t >> 2] = (c[t >> 2] | 0) - 3;
- if ((c[x >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
- z = 13;
- break;
- }
- switch (c[u >> 2] | 0) {
- case 2: {
- z = 17;
- break a;
- break;
- }
- case 0: {
- c[w >> 2] =
- Nt(
- c[i >> 2] | 0,
- c[r >> 2] | 0,
- ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
- c[o >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[w >> 2] =
- Ot(
- c[r >> 2] | 0,
- ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
- c[o >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- break;
- }
- case 3: {
- if (c[t >> 2] | 0) {
- z = 19;
- break a;
- }
- break;
- }
- default: {
- z = 20;
- break a;
- }
- }
- if (!(c[x >> 2] | 0)) {
- z = 25;
- break;
- }
- v = (jr(c[w >> 2] | 0) | 0) != 0;
- A = c[w >> 2] | 0;
- if (v) {
- z = 23;
- break;
- }
- c[r >> 2] = (c[r >> 2] | 0) + A;
- c[o >> 2] = (c[o >> 2] | 0) + (c[x >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- }
- if ((z | 0) == 11) {
- c[h >> 2] = c[x >> 2];
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 13) {
- c[h >> 2] = -72;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 17) {
- c[h >> 2] = -1;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 19) {
- c[h >> 2] = -72;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 20) {
- c[h >> 2] = -1;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 23) {
- c[h >> 2] = A;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 25) {
- c[h >> 2] = (c[r >> 2] | 0) - (c[q >> 2] | 0);
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- return 0;
- }
- function Mt(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] =
- zq(
- ((c[g >> 2] | 0) + 21544) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- if (
- au() | 0
- ? (c[((c[g >> 2] | 0) + 21544 + 8) >> 2] | 0) >>> 0 > 25
- : 0
- ) {
- c[f >> 2] = -14;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- c[f >> 2] = c[j >> 2];
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- function Nt(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- if ((c[n >> 2] | 0) >>> 0 >= 131072) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- c[p >> 2] =
- Pt(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- m = (jr(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (m) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + f;
- c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- Qt(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function Ot(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- c[g >> 2] = -70;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else {
- mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- c[g >> 2] = c[k >> 2];
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function Pt(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 64) | 0;
- i = (g + 60) | 0;
- j = (g + 56) | 0;
- k = (g + 52) | 0;
- m = (g + 48) | 0;
- n = (g + 44) | 0;
- o = (g + 40) | 0;
- p = (g + 36) | 0;
- q = (g + 32) | 0;
- r = (g + 28) | 0;
- s = (g + 24) | 0;
- t = (g + 20) | 0;
- u = (g + 16) | 0;
- v = (g + 12) | 0;
- w = (g + 8) | 0;
- x = (g + 4) | 0;
- y = g;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[j >> 2];
- if ((c[k >> 2] | 0) >>> 0 < 3) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- switch (((d[c[m >> 2] >> 0] | 0) >> 6) | 0) {
- case 0: {
- c[p >> 2] = 0;
- c[q >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- if ((c[k >> 2] | 0) >>> 0 < 5) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- switch (c[q >> 2] | 0) {
- case 3: {
- c[q >> 2] = 5;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 14) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 6) +
- ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 2);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 3) << 16) +
- ((d[((c[m >> 2] | 0) + 3) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 4) >> 0] | 0);
- break;
- }
- case 2: {
- c[q >> 2] = 4;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 10) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 2) +
- ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 6);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 63) << 8) +
- (d[((c[m >> 2] | 0) + 3) >> 0] | 0);
- break;
- }
- default: {
- c[q >> 2] = 3;
- c[p >> 2] = (d[c[m >> 2] >> 0] | 0) & 16;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- }
- }
- if ((c[n >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (
- (((c[o >> 2] | 0) + (c[q >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- j = ((c[i >> 2] | 0) + 21580) | 0;
- f = c[n >> 2] | 0;
- e = ((c[m >> 2] | 0) + (c[q >> 2] | 0)) | 0;
- b = c[o >> 2] | 0;
- if (c[p >> 2] | 0) A = lu(j, f, e, b) | 0;
- else A = mu(j, f, e, b) | 0;
- if (jr(A) | 0) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- c[((c[i >> 2] | 0) + 21572) >> 2] =
- (c[i >> 2] | 0) + 21580;
- c[((c[i >> 2] | 0) + 21576) >> 2] = c[n >> 2];
- n =
- ((c[i >> 2] | 0) +
- 21580 +
- (c[((c[i >> 2] | 0) + 21576) >> 2] | 0)) |
- 0;
- a[n >> 0] = 0;
- a[(n + 1) >> 0] = 0;
- a[(n + 2) >> 0] = 0;
- a[(n + 3) >> 0] = 0;
- a[(n + 4) >> 0] = 0;
- a[(n + 5) >> 0] = 0;
- a[(n + 6) >> 0] = 0;
- a[(n + 7) >> 0] = 0;
- c[h >> 2] = (c[o >> 2] | 0) + (c[q >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 1: {
- c[t >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- if ((c[t >> 2] | 0) != 1) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (!(c[((c[i >> 2] | 0) + 21568) >> 2] | 0)) {
- c[h >> 2] = -30;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- c[t >> 2] = 3;
- c[r >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
- c[s >> 2] =
- (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- if (
- (((c[s >> 2] | 0) + (c[t >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- c[u >> 2] =
- nu(
- ((c[i >> 2] | 0) + 21580) | 0,
- c[r >> 2] | 0,
- ((c[m >> 2] | 0) + (c[t >> 2] | 0)) | 0,
- c[s >> 2] | 0,
- ((c[i >> 2] | 0) + 5132) | 0
- ) | 0;
- if (jr(c[u >> 2] | 0) | 0) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- c[((c[i >> 2] | 0) + 21572) >> 2] =
- (c[i >> 2] | 0) + 21580;
- c[((c[i >> 2] | 0) + 21576) >> 2] = c[r >> 2];
- r =
- ((c[i >> 2] | 0) +
- 21580 +
- (c[((c[i >> 2] | 0) + 21576) >> 2] | 0)) |
- 0;
- a[r >> 0] = 0;
- a[(r + 1) >> 0] = 0;
- a[(r + 2) >> 0] = 0;
- a[(r + 3) >> 0] = 0;
- a[(r + 4) >> 0] = 0;
- a[(r + 5) >> 0] = 0;
- a[(r + 6) >> 0] = 0;
- a[(r + 7) >> 0] = 0;
- c[h >> 2] = (c[s >> 2] | 0) + (c[t >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 2: {
- c[w >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- switch (c[w >> 2] | 0) {
- case 3: {
- c[v >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- break;
- }
- case 2: {
- c[v >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
- (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
- break;
- }
- default: {
- c[w >> 2] = 1;
- c[v >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
- }
- }
- if (
- (((c[w >> 2] | 0) + (c[v >> 2] | 0) + 8) | 0) >>> 0 <=
- (c[k >> 2] | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 21572) >> 2] =
- (c[m >> 2] | 0) + (c[w >> 2] | 0);
- c[((c[i >> 2] | 0) + 21576) >> 2] = c[v >> 2];
- c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (
- (((c[v >> 2] | 0) + (c[w >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- mE(
- ((c[i >> 2] | 0) + 21580) | 0,
- ((c[m >> 2] | 0) + (c[w >> 2] | 0)) | 0,
- c[v >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 21572) >> 2] =
- (c[i >> 2] | 0) + 21580;
- c[((c[i >> 2] | 0) + 21576) >> 2] = c[v >> 2];
- t =
- ((c[i >> 2] | 0) +
- 21580 +
- (c[((c[i >> 2] | 0) + 21576) >> 2] | 0)) |
- 0;
- a[t >> 0] = 0;
- a[(t + 1) >> 0] = 0;
- a[(t + 2) >> 0] = 0;
- a[(t + 3) >> 0] = 0;
- a[(t + 4) >> 0] = 0;
- a[(t + 5) >> 0] = 0;
- a[(t + 6) >> 0] = 0;
- a[(t + 7) >> 0] = 0;
- c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 3: {
- c[y >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- switch (c[y >> 2] | 0) {
- case 3: {
- c[x >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- if ((c[k >> 2] | 0) >>> 0 < 4) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 2: {
- c[x >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
- (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
- break;
- }
- default: {
- c[y >> 2] = 1;
- c[x >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
- }
- }
- if ((c[x >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- oE(
- ((c[i >> 2] | 0) + 21580) | 0,
- ((d[((c[m >> 2] | 0) + (c[y >> 2] | 0)) >> 0] | 0) &
- 255) |
- 0,
- ((c[x >> 2] | 0) + 8) | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 21572) >> 2] =
- (c[i >> 2] | 0) + 21580;
- c[((c[i >> 2] | 0) + 21576) >> 2] = c[x >> 2];
- c[h >> 2] = (c[y >> 2] | 0) + 1;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- default: {
- }
- }
- return 0;
- }
- function Qt(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0;
- g = l;
- l = (l + 176) | 0;
- h = (g + 164) | 0;
- i = (g + 160) | 0;
- j = (g + 156) | 0;
- k = (g + 152) | 0;
- m = (g + 148) | 0;
- n = (g + 144) | 0;
- o = (g + 140) | 0;
- p = (g + 136) | 0;
- q = (g + 132) | 0;
- r = (g + 128) | 0;
- s = (g + 124) | 0;
- t = (g + 120) | 0;
- u = (g + 116) | 0;
- v = (g + 112) | 0;
- w = (g + 108) | 0;
- x = (g + 104) | 0;
- y = (g + 100) | 0;
- z = (g + 96) | 0;
- A = (g + 92) | 0;
- B = (g + 88) | 0;
- C = (g + 84) | 0;
- D = (g + 80) | 0;
- E = (g + 68) | 0;
- F = (g + 16) | 0;
- G = (g + 12) | 0;
- H = (g + 8) | 0;
- I = (g + 4) | 0;
- J = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[t >> 2] = c[r >> 2];
- c[u >> 2] = c[((c[j >> 2] | 0) + 21572) >> 2];
- c[v >> 2] =
- (c[u >> 2] | 0) + (c[((c[j >> 2] | 0) + 21576) >> 2] | 0);
- c[w >> 2] = c[j >> 2];
- c[x >> 2] = (c[j >> 2] | 0) + 3080;
- c[y >> 2] = (c[j >> 2] | 0) + 2052;
- c[z >> 2] = c[((c[j >> 2] | 0) + 21524) >> 2];
- c[A >> 2] = c[((c[j >> 2] | 0) + 21528) >> 2];
- c[B >> 2] = c[((c[j >> 2] | 0) + 21532) >> 2];
- c[D >> 2] =
- Rt(
- C,
- c[w >> 2] | 0,
- c[x >> 2] | 0,
- c[y >> 2] | 0,
- c[((c[j >> 2] | 0) + 21568) >> 2] | 0,
- c[p >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- o = (jr(c[D >> 2] | 0) | 0) != 0;
- m = c[D >> 2] | 0;
- if (o) {
- c[i >> 2] = m;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- c[p >> 2] = (c[p >> 2] | 0) + m;
- c[((c[j >> 2] | 0) + 21568) >> 2] = 0;
- if (c[C >> 2] | 0) {
- c[E >> 2] = 0;
- c[(E + 4) >> 2] = 0;
- c[(E + 8) >> 2] = 0;
- c[(E + 8) >> 2] = 1;
- c[G >> 2] = 0;
- while (1) {
- if ((c[G >> 2] | 0) >>> 0 >= 3) break;
- c[(F + 40 + (c[G >> 2] << 2)) >> 2] = 1;
- c[G >> 2] = (c[G >> 2] | 0) + 1;
- }
- c[H >> 2] =
- St(
- F,
- c[p >> 2] | 0,
- ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
- ) | 0;
- if (jr(c[H >> 2] | 0) | 0) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- Tt((F + 16) | 0, F, c[w >> 2] | 0);
- Tt((F + 24) | 0, F, c[y >> 2] | 0);
- Tt((F + 32) | 0, F, c[x >> 2] | 0);
- while (1) {
- x = (Ut(F) | 0) >>> 0 <= 2;
- L = c[C >> 2] | 0;
- if (!(x ? (c[C >> 2] | 0) != 0 : 0)) break;
- c[C >> 2] = L + -1;
- Vt(E, F);
- x = c[t >> 2] | 0;
- y = c[s >> 2] | 0;
- w = c[v >> 2] | 0;
- H = c[z >> 2] | 0;
- p = c[A >> 2] | 0;
- q = c[B >> 2] | 0;
- c[h >> 2] = c[E >> 2];
- c[(h + 4) >> 2] = c[(E + 4) >> 2];
- c[(h + 8) >> 2] = c[(E + 8) >> 2];
- c[I >> 2] = Wt(x, y, h, u, w, H, p, q) | 0;
- q = (jr(c[I >> 2] | 0) | 0) != 0;
- M = c[I >> 2] | 0;
- if (q) {
- N = 12;
- break;
- }
- c[t >> 2] = (c[t >> 2] | 0) + M;
- }
- if ((N | 0) == 12) {
- c[i >> 2] = M;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- if (L | 0) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- }
- c[J >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- if ((c[u >> 2] | 0) >>> 0 > (c[v >> 2] | 0) >>> 0) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- if (
- (((c[t >> 2] | 0) + (c[J >> 2] | 0)) | 0) >>> 0 >
- (c[s >> 2] | 0) >>> 0
- ) {
- c[i >> 2] = -70;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- } else {
- mE(c[t >> 2] | 0, c[u >> 2] | 0, c[J >> 2] | 0) | 0;
- c[t >> 2] = (c[t >> 2] | 0) + (c[J >> 2] | 0);
- c[i >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- return 0;
- }
- function Rt(a, b, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- j = l;
- l = (l + 80) | 0;
- k = (j + 68) | 0;
- m = (j + 64) | 0;
- n = (j + 60) | 0;
- o = (j + 56) | 0;
- p = (j + 52) | 0;
- q = (j + 48) | 0;
- r = (j + 44) | 0;
- s = (j + 40) | 0;
- t = (j + 36) | 0;
- u = (j + 32) | 0;
- v = (j + 28) | 0;
- w = (j + 24) | 0;
- x = (j + 20) | 0;
- y = (j + 16) | 0;
- z = (j + 12) | 0;
- A = (j + 8) | 0;
- B = (j + 4) | 0;
- C = j;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = c[r >> 2];
- c[u >> 2] = (c[t >> 2] | 0) + (c[s >> 2] | 0);
- c[v >> 2] = c[t >> 2];
- if ((c[s >> 2] | 0) >>> 0 < 1) {
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- s = c[v >> 2] | 0;
- c[v >> 2] = s + 1;
- c[w >> 2] = d[s >> 0];
- if (!(c[w >> 2] | 0)) {
- c[c[m >> 2] >> 2] = 0;
- c[k >> 2] = 1;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- do {
- if ((c[w >> 2] | 0) > 127) {
- s = c[v >> 2] | 0;
- if ((c[w >> 2] | 0) == 255) {
- if (((s + 2) | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0) {
- c[w >> 2] = ((Oq(c[v >> 2] | 0) | 0) & 65535) + 32512;
- c[v >> 2] = (c[v >> 2] | 0) + 2;
- break;
- }
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else {
- if (s >>> 0 < (c[u >> 2] | 0) >>> 0) {
- s = ((c[w >> 2] | 0) - 128) << 8;
- r = c[v >> 2] | 0;
- c[v >> 2] = r + 1;
- c[w >> 2] = s + (d[r >> 0] | 0);
- break;
- }
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- }
- } while (0);
- c[c[m >> 2] >> 2] = c[w >> 2];
- c[x >> 2] = (d[c[v >> 2] >> 0] | 0) >> 6;
- c[y >> 2] = ((d[c[v >> 2] >> 0] | 0) >> 4) & 3;
- c[z >> 2] = ((d[c[v >> 2] >> 0] | 0) >> 2) & 3;
- c[v >> 2] = (c[v >> 2] | 0) + 1;
- if (
- (c[v >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) + -3) | 0) >>> 0
- ) {
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- c[A >> 2] =
- gu(
- c[n >> 2] | 0,
- c[x >> 2] | 0,
- 35,
- 9,
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- 6560,
- 6,
- c[q >> 2] | 0
- ) | 0;
- if (jr(c[A >> 2] | 0) | 0) {
- c[k >> 2] = -20;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) + (c[A >> 2] | 0);
- c[B >> 2] =
- gu(
- c[p >> 2] | 0,
- c[y >> 2] | 0,
- 28,
- 8,
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- 6640,
- 5,
- c[q >> 2] | 0
- ) | 0;
- if (jr(c[B >> 2] | 0) | 0) {
- c[k >> 2] = -20;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) + (c[B >> 2] | 0);
- c[C >> 2] =
- gu(
- c[o >> 2] | 0,
- c[z >> 2] | 0,
- 52,
- 9,
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- 6704,
- 6,
- c[q >> 2] | 0
- ) | 0;
- if (jr(c[C >> 2] | 0) | 0) {
- c[k >> 2] = -20;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else {
- c[v >> 2] = (c[v >> 2] | 0) + (c[C >> 2] | 0);
- c[k >> 2] = (c[v >> 2] | 0) - (c[t >> 2] | 0);
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- return 0;
- }
- function St(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 17) | 0;
- n = (g + 16) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- if ((c[k >> 2] | 0) >>> 0 < 1) {
- f = c[i >> 2] | 0;
- c[f >> 2] = 0;
- c[(f + 4) >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- c[(f + 12) >> 2] = 0;
- c[h >> 2] = -72;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- f = (c[k >> 2] | 0) >>> 0 >= 4;
- c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
- do {
- if (f) {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
- e = eu(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = e;
- a[m >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[m >> 0] | 0 | 0) {
- e = (8 - (fu(d[m >> 0] | 0) | 0)) | 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = e;
- break;
- }
- c[h >> 2] = -1;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- } else {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- c[((c[i >> 2] | 0) + 12) >> 2];
- c[c[i >> 2] >> 2] =
- d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
- switch (c[k >> 2] | 0) {
- case 7: {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
- p = 9;
- break;
- }
- case 6: {
- p = 9;
- break;
- }
- case 5: {
- p = 10;
- break;
- }
- case 4: {
- p = 11;
- break;
- }
- case 3: {
- p = 12;
- break;
- }
- case 2: {
- p = 13;
- break;
- }
- default: {
- }
- }
- if ((p | 0) == 9) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
- p = 10;
- }
- if ((p | 0) == 10) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
- p = 11;
- }
- if ((p | 0) == 11) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
- p = 12;
- }
- if ((p | 0) == 12) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
- p = 13;
- }
- if ((p | 0) == 13) {
- e = c[i >> 2] | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
- }
- a[n >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[n >> 0] | 0 | 0) {
- e = (8 - (fu(d[n >> 0] | 0) | 0)) | 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = e;
- e = ((c[i >> 2] | 0) + 4) | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
- break;
- }
- c[h >> 2] = -1;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } while (0);
- c[h >> 2] = c[k >> 2];
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- function Tt(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = c[i >> 2];
- c[k >> 2] = c[j >> 2];
- j = $t(c[h >> 2] | 0, e[c[k >> 2] >> 1] | 0) | 0;
- c[c[g >> 2] >> 2] = j;
- Ut(c[h >> 2] | 0) | 0;
- c[((c[g >> 2] | 0) + 4) >> 2] = (c[i >> 2] | 0) + 4;
- l = f;
- return;
- }
- function Ut(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 12) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[e >> 2] = a;
- if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
- c[d >> 2] = 3;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- a = c[e >> 2] | 0;
- if (
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (((c[((c[e >> 2] | 0) + 12) >> 2] | 0) + 4) | 0) >>> 0
- ) {
- i = ((c[e >> 2] | 0) + 8) | 0;
- c[i >> 2] =
- (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
- i = ((c[e >> 2] | 0) + 4) | 0;
- c[i >> 2] = c[i >> 2] & 7;
- i = eu(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = i;
- c[d >> 2] = 0;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
- if (
- (c[(a + 8) >> 2] | 0) !=
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
- ) {
- c[f >> 2] = i >>> 3;
- c[g >> 2] = 0;
- if (
- (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (0 - (c[f >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] =
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
- c[g >> 2] = 1;
- }
- a = ((c[e >> 2] | 0) + 8) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
- a = ((c[e >> 2] | 0) + 4) | 0;
- c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
- f = eu(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = f;
- c[d >> 2] = c[g >> 2];
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- if (i >>> 0 < 32) {
- c[d >> 2] = 1;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- c[d >> 2] = 2;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function Vt(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- d = l;
- l = (l + 48) | 0;
- e = (d + 40) | 0;
- f = (d + 36) | 0;
- g = (d + 32) | 0;
- h = (d + 28) | 0;
- i = (d + 24) | 0;
- j = (d + 20) | 0;
- k = (d + 16) | 0;
- m = (d + 12) | 0;
- n = (d + 8) | 0;
- o = (d + 4) | 0;
- p = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = (_t(((c[f >> 2] | 0) + 16) | 0) | 0) & 255;
- c[h >> 2] = (_t(((c[f >> 2] | 0) + 32) | 0) | 0) & 255;
- c[i >> 2] = (_t(((c[f >> 2] | 0) + 24) | 0) | 0) & 255;
- c[j >> 2] = c[(5696 + (c[g >> 2] << 2)) >> 2];
- c[k >> 2] = c[(5840 + (c[h >> 2] << 2)) >> 2];
- c[m >> 2] = c[i >> 2];
- c[n >> 2] =
- (c[j >> 2] | 0) + (c[k >> 2] | 0) + (c[m >> 2] | 0);
- if (c[i >> 2] | 0) {
- b = c[(6064 + (c[i >> 2] << 2)) >> 2] | 0;
- c[o >> 2] = b + ($t(c[f >> 2] | 0, c[m >> 2] | 0) | 0);
- if (au() | 0) Ut(c[f >> 2] | 0) | 0;
- } else c[o >> 2] = 0;
- do {
- if ((c[o >> 2] | 0) >>> 0 < 3) {
- if (((c[g >> 2] | 0) == 0) & ((c[o >> 2] | 0) >>> 0 <= 1))
- c[o >> 2] = 1 - (c[o >> 2] | 0);
- m = ((c[f >> 2] | 0) + 40) | 0;
- if (!(c[o >> 2] | 0)) {
- c[o >> 2] = c[m >> 2];
- break;
- }
- c[p >> 2] = c[(m + (c[o >> 2] << 2)) >> 2];
- if ((c[o >> 2] | 0) != 1)
- c[((c[f >> 2] | 0) + 40 + 8) >> 2] =
- c[((c[f >> 2] | 0) + 40 + 4) >> 2];
- c[((c[f >> 2] | 0) + 40 + 4) >> 2] =
- c[((c[f >> 2] | 0) + 40) >> 2];
- m = c[p >> 2] | 0;
- c[o >> 2] = m;
- c[((c[f >> 2] | 0) + 40) >> 2] = m;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) - 2;
- c[((c[f >> 2] | 0) + 40 + 8) >> 2] =
- c[((c[f >> 2] | 0) + 40 + 4) >> 2];
- c[((c[f >> 2] | 0) + 40 + 4) >> 2] =
- c[((c[f >> 2] | 0) + 40) >> 2];
- c[((c[f >> 2] | 0) + 40) >> 2] = c[o >> 2];
- }
- } while (0);
- c[((c[e >> 2] | 0) + 8) >> 2] = c[o >> 2];
- o = ((c[(6192 + (c[h >> 2] << 2)) >> 2] | 0) + 3) | 0;
- if ((c[h >> 2] | 0) >>> 0 > 31)
- q = $t(c[f >> 2] | 0, c[k >> 2] | 0) | 0;
- else q = 0;
- c[((c[e >> 2] | 0) + 4) >> 2] = o + q;
- if (
- au() | 0
- ? (((c[k >> 2] | 0) + (c[j >> 2] | 0)) | 0) >>> 0 > 24
- : 0
- )
- Ut(c[f >> 2] | 0) | 0;
- k = c[(6416 + (c[g >> 2] << 2)) >> 2] | 0;
- if ((c[g >> 2] | 0) >>> 0 > 15)
- r = $t(c[f >> 2] | 0, c[j >> 2] | 0) | 0;
- else r = 0;
- c[c[e >> 2] >> 2] = k + r;
- r = (au() | 0) != 0;
- if (r | ((c[n >> 2] | 0) >>> 0 > 31)) Ut(c[f >> 2] | 0) | 0;
- bu(((c[f >> 2] | 0) + 16) | 0, c[f >> 2] | 0);
- bu(((c[f >> 2] | 0) + 32) | 0, c[f >> 2] | 0);
- if (!(au() | 0)) {
- s = c[f >> 2] | 0;
- t = (s + 24) | 0;
- u = c[f >> 2] | 0;
- bu(t, u);
- l = d;
- return;
- }
- Ut(c[f >> 2] | 0) | 0;
- s = c[f >> 2] | 0;
- t = (s + 24) | 0;
- u = c[f >> 2] | 0;
- bu(t, u);
- l = d;
- return;
- }
- function Wt(b, d, e, f, g, h, i, j) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- k = l;
- l = (l + 64) | 0;
- m = (k + 60) | 0;
- n = (k + 56) | 0;
- o = (k + 52) | 0;
- p = (k + 48) | 0;
- q = (k + 44) | 0;
- r = (k + 40) | 0;
- s = (k + 36) | 0;
- t = (k + 32) | 0;
- u = (k + 28) | 0;
- v = (k + 24) | 0;
- w = (k + 20) | 0;
- x = (k + 16) | 0;
- y = (k + 12) | 0;
- z = (k + 8) | 0;
- A = (k + 4) | 0;
- B = k;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
- c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0);
- c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
- c[x >> 2] = (c[o >> 2] | 0) + -8;
- c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
- c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 8) >> 2] | 0));
- if ((c[u >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
- c[m >> 2] = -70;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- if ((c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -70;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- Xt(c[n >> 2] | 0, c[c[p >> 2] >> 2] | 0, c[e >> 2] | 0);
- c[n >> 2] = c[u >> 2];
- c[c[p >> 2] >> 2] = c[y >> 2];
- do {
- if (
- (c[(e + 8) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(e + 8) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
- ) {
- c[m >> 2] = -20;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- c[z >> 2] =
- (c[t >> 2] | 0) +
- (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
- if (
- (((c[z >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 <=
- (c[t >> 2] | 0) >>> 0
- ) {
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 4) >> 2] | 0) |
- 0;
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
- c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
- y = (e + 4) | 0;
- c[y >> 2] = (c[y >> 2] | 0) - (c[A >> 2] | 0);
- c[z >> 2] = c[r >> 2];
- if (
- (c[n >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0
- ? (c[(e + 4) >> 2] | 0) >>> 0 >= 3
- : 0
- )
- break;
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break;
- y = c[z >> 2] | 0;
- c[z >> 2] = y + 1;
- p = a[y >> 0] | 0;
- y = c[n >> 2] | 0;
- c[n >> 2] = y + 1;
- a[y >> 0] = p;
- }
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- } while (0);
- if ((c[(e + 8) >> 2] | 0) >>> 0 < 8) {
- c[B >> 2] = c[(6816 + (c[(e + 8) >> 2] << 2)) >> 2];
- a[c[n >> 2] >> 0] = a[c[z >> 2] >> 0] | 0;
- a[((c[n >> 2] | 0) + 1) >> 0] =
- a[((c[z >> 2] | 0) + 1) >> 0] | 0;
- a[((c[n >> 2] | 0) + 2) >> 0] =
- a[((c[z >> 2] | 0) + 2) >> 0] | 0;
- a[((c[n >> 2] | 0) + 3) >> 0] =
- a[((c[z >> 2] | 0) + 3) >> 0] | 0;
- c[z >> 2] =
- (c[z >> 2] | 0) +
- (c[(6848 + (c[(e + 8) >> 2] << 2)) >> 2] | 0);
- Yt(((c[n >> 2] | 0) + 4) | 0, c[z >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + (0 - (c[B >> 2] | 0));
- } else Zt(c[n >> 2] | 0, c[z >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) + 8;
- c[z >> 2] = (c[z >> 2] | 0) + 8;
- B = c[n >> 2] | 0;
- a: do {
- if (
- (c[w >> 2] | 0) >>> 0 >
- (((c[o >> 2] | 0) + -13) | 0) >>> 0
- ) {
- if (B >>> 0 < (c[x >> 2] | 0) >>> 0) {
- Xt(
- c[n >> 2] | 0,
- c[z >> 2] | 0,
- ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
- );
- c[z >> 2] =
- (c[z >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
- c[n >> 2] = c[x >> 2];
- }
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- r = c[z >> 2] | 0;
- c[z >> 2] = r + 1;
- A = a[r >> 0] | 0;
- r = c[n >> 2] | 0;
- c[n >> 2] = r + 1;
- a[r >> 0] = A;
- }
- } else
- Xt(B, c[z >> 2] | 0, ((c[(e + 4) >> 2] | 0) - 8) | 0);
- } while (0);
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- function Xt(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- Zt(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function Yt(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- l = e;
- return;
- }
- function Zt(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function _t(d) {
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 4) | 0;
- c[f >> 2] = d;
- d =
- ((c[((c[f >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[f >> 2] >> 2] << 2)) |
- 0;
- b[g >> 1] = b[d >> 1] | 0;
- b[(g + 2) >> 1] = b[(d + 2) >> 1] | 0;
- l = e;
- return a[(g + 2) >> 0] | 0;
- }
- function $t(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = cu(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- du(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function au() {
- return 1;
- }
- function bu(a, f) {
- a = a | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 16) | 0;
- k = (g + 4) | 0;
- m = g;
- c[h >> 2] = a;
- c[i >> 2] = f;
- f =
- ((c[((c[h >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[h >> 2] >> 2] << 2)) |
- 0;
- b[j >> 1] = b[f >> 1] | 0;
- b[(j + 2) >> 1] = b[(f + 2) >> 1] | 0;
- c[k >> 2] = d[(j + 3) >> 0];
- c[m >> 2] = $t(c[i >> 2] | 0, c[k >> 2] | 0) | 0;
- c[c[h >> 2] >> 2] = (e[j >> 1] | 0) + (c[m >> 2] | 0);
- l = g;
- return;
- }
- function cu(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- (((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- 1) >>>
- ((31 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function du(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ((c[e >> 2] | 0) + 4) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
- l = d;
- return;
- }
- function eu(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (au() | 0) != 0;
- f = c[e >> 2] | 0;
- if (a) {
- c[d >> 2] = Mq(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- a = Pq(f) | 0;
- c[d >> 2] = a;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function fu(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function gu(b, e, f, g, h, i, j, k, m) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- n = l;
- l = (l + 160) | 0;
- o = (n + 152) | 0;
- p = (n + 148) | 0;
- q = (n + 144) | 0;
- r = (n + 140) | 0;
- s = (n + 136) | 0;
- t = (n + 132) | 0;
- u = (n + 128) | 0;
- v = (n + 124) | 0;
- w = (n + 120) | 0;
- x = (n + 116) | 0;
- y = (n + 112) | 0;
- z = n;
- A = (n + 108) | 0;
- c[p >> 2] = b;
- c[q >> 2] = e;
- c[r >> 2] = f;
- c[s >> 2] = g;
- c[t >> 2] = h;
- c[u >> 2] = i;
- c[v >> 2] = j;
- c[w >> 2] = k;
- c[x >> 2] = m;
- a: do {
- switch (c[q >> 2] | 0) {
- case 1: {
- if (!(c[u >> 2] | 0)) {
- c[o >> 2] = -72;
- break a;
- }
- if (
- (d[c[t >> 2] >> 0] | 0) >>> 0 >
- (c[r >> 2] | 0) >>> 0
- ) {
- c[o >> 2] = -20;
- break a;
- } else {
- hu(c[p >> 2] | 0, a[c[t >> 2] >> 0] | 0) | 0;
- c[o >> 2] = 1;
- break a;
- }
- break;
- }
- case 0: {
- iu(
- c[p >> 2] | 0,
- c[v >> 2] | 0,
- c[r >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- c[o >> 2] = 0;
- break;
- }
- case 2: {
- if (c[x >> 2] | 0) {
- c[o >> 2] = 0;
- break a;
- } else {
- c[o >> 2] = -20;
- break a;
- }
- break;
- }
- default: {
- c[A >> 2] =
- ju(z, r, y, c[t >> 2] | 0, c[u >> 2] | 0) | 0;
- if (jr(c[A >> 2] | 0) | 0) {
- c[o >> 2] = -20;
- break a;
- }
- if ((c[y >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
- c[o >> 2] = -20;
- break a;
- } else {
- iu(c[p >> 2] | 0, z, c[r >> 2] | 0, c[y >> 2] | 0) |
- 0;
- c[o >> 2] = c[A >> 2];
- break a;
- }
- }
- }
- } while (0);
- l = n;
- return c[o >> 2] | 0;
- }
- function hu(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 20) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = d;
- a[h >> 0] = e;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[i >> 2];
- c[k >> 2] = (c[g >> 2] | 0) + 4;
- c[m >> 2] = c[k >> 2];
- b[c[j >> 2] >> 1] = 0;
- b[((c[j >> 2] | 0) + 2) >> 1] = 0;
- b[c[m >> 2] >> 1] = 0;
- a[((c[m >> 2] | 0) + 2) >> 0] = a[h >> 0] | 0;
- a[((c[m >> 2] | 0) + 3) >> 0] = 0;
- l = f;
- return 0;
- }
- function iu(f, g, h, i) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0;
- j = l;
- l = (l + 592) | 0;
- k = (j + 576) | 0;
- m = (j + 572) | 0;
- n = (j + 568) | 0;
- o = (j + 564) | 0;
- p = (j + 560) | 0;
- q = (j + 556) | 0;
- r = (j + 552) | 0;
- s = j;
- t = (j + 548) | 0;
- u = (j + 544) | 0;
- v = (j + 540) | 0;
- w = (j + 584) | 0;
- x = (j + 582) | 0;
- y = (j + 536) | 0;
- z = (j + 532) | 0;
- A = (j + 528) | 0;
- B = (j + 524) | 0;
- C = (j + 520) | 0;
- D = (j + 516) | 0;
- E = (j + 512) | 0;
- F = (j + 588) | 0;
- G = (j + 580) | 0;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = h;
- c[p >> 2] = i;
- c[q >> 2] = (c[m >> 2] | 0) + 4;
- c[r >> 2] = c[q >> 2];
- c[t >> 2] = (c[o >> 2] | 0) + 1;
- c[u >> 2] = 1 << c[p >> 2];
- c[v >> 2] = (c[u >> 2] | 0) - 1;
- if ((c[o >> 2] | 0) >>> 0 > 255) {
- c[k >> 2] = -46;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- if ((c[p >> 2] | 0) >>> 0 > 12) {
- c[k >> 2] = -44;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- b[w >> 1] = c[p >> 2];
- b[(w + 2) >> 1] = 1;
- b[x >> 1] = 1 << ((c[p >> 2] | 0) - 1);
- c[y >> 2] = 0;
- while (1) {
- if ((c[y >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- if (
- (b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0) ==
- -1
- ) {
- o = c[y >> 2] & 255;
- q = c[r >> 2] | 0;
- i = c[v >> 2] | 0;
- c[v >> 2] = i + -1;
- a[(q + (i << 2) + 2) >> 0] = o;
- b[(s + (c[y >> 2] << 1)) >> 1] = 1;
- } else {
- if (
- (b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0) >=
- (b[x >> 1] | 0)
- )
- b[(w + 2) >> 1] = 0;
- b[(s + (c[y >> 2] << 1)) >> 1] =
- b[((c[n >> 2] | 0) + (c[y >> 2] << 1)) >> 1] | 0;
- }
- c[y >> 2] = (c[y >> 2] | 0) + 1;
- }
- y = c[m >> 2] | 0;
- b[y >> 1] = b[w >> 1] | 0;
- b[(y + 2) >> 1] = b[(w + 2) >> 1] | 0;
- c[z >> 2] = (c[u >> 2] | 0) - 1;
- c[A >> 2] =
- ((c[u >> 2] | 0) >>> 1) + ((c[u >> 2] | 0) >>> 3) + 3;
- c[C >> 2] = 0;
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- c[D >> 2] = 0;
- while (1) {
- I = c[B >> 2] | 0;
- if (
- (c[D >> 2] | 0) >=
- (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0)
- )
- break;
- a[((c[r >> 2] | 0) + (c[C >> 2] << 2) + 2) >> 0] = I;
- c[C >> 2] =
- ((c[C >> 2] | 0) + (c[A >> 2] | 0)) & c[z >> 2];
- while (1) {
- if ((c[C >> 2] | 0) >>> 0 <= (c[v >> 2] | 0) >>> 0)
- break;
- c[C >> 2] =
- ((c[C >> 2] | 0) + (c[A >> 2] | 0)) & c[z >> 2];
- }
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[B >> 2] = I + 1;
- }
- if (c[C >> 2] | 0) {
- c[k >> 2] = -1;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- c[E >> 2] = 0;
- while (1) {
- if ((c[E >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
- a[F >> 0] =
- a[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 2) >> 0] | 0;
- C = (s + (d[F >> 0] << 1)) | 0;
- I = b[C >> 1] | 0;
- b[C >> 1] = ((I + 1) << 16) >> 16;
- b[G >> 1] = I;
- I = c[p >> 2] | 0;
- C = (I - (fu(e[G >> 1] | 0) | 0)) & 255;
- a[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 3) >> 0] = C;
- b[((c[r >> 2] | 0) + (c[E >> 2] << 2)) >> 1] =
- (e[G >> 1] <<
- d[((c[r >> 2] | 0) + (c[E >> 2] << 2) + 3) >> 0]) -
- (c[u >> 2] | 0);
- c[E >> 2] = (c[E >> 2] | 0) + 1;
- }
- c[k >> 2] = 0;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- function ju(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 64) | 0;
- j = (h + 60) | 0;
- k = (h + 56) | 0;
- m = (h + 52) | 0;
- n = (h + 48) | 0;
- o = (h + 44) | 0;
- p = (h + 40) | 0;
- q = (h + 36) | 0;
- r = (h + 32) | 0;
- s = (h + 28) | 0;
- t = (h + 24) | 0;
- u = (h + 20) | 0;
- v = (h + 16) | 0;
- w = (h + 12) | 0;
- x = (h + 8) | 0;
- y = (h + 4) | 0;
- z = h;
- A = (h + 70) | 0;
- B = (h + 68) | 0;
- c[j >> 2] = a;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[p >> 2];
- c[x >> 2] = 0;
- c[y >> 2] = 0;
- if ((c[o >> 2] | 0) >>> 0 < 4) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = Mq(c[r >> 2] | 0) | 0;
- c[s >> 2] = (c[v >> 2] & 15) + 5;
- if ((c[s >> 2] | 0) > 15) {
- c[i >> 2] = -44;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) >>> 4;
- c[w >> 2] = 4;
- c[c[m >> 2] >> 2] = c[s >> 2];
- c[t >> 2] = (1 << c[s >> 2]) + 1;
- c[u >> 2] = 1 << c[s >> 2];
- c[s >> 2] = (c[s >> 2] | 0) + 1;
- a: while (1) {
- if ((c[t >> 2] | 0) <= 1) break;
- if ((c[x >> 2] | 0) >>> 0 > (c[c[k >> 2] >> 2] | 0) >>> 0)
- break;
- do {
- if (c[y >> 2] | 0) {
- c[z >> 2] = c[x >> 2];
- while (1) {
- if (((c[v >> 2] & 65535) | 0) != 65535) break;
- c[z >> 2] = (c[z >> 2] | 0) + 24;
- if (
- (c[r >> 2] | 0) >>> 0 <
- (((c[q >> 2] | 0) + -5) | 0) >>> 0
- ) {
- c[r >> 2] = (c[r >> 2] | 0) + 2;
- m = Mq(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] | 0);
- } else {
- c[v >> 2] = (c[v >> 2] | 0) >>> 16;
- c[w >> 2] = (c[w >> 2] | 0) + 16;
- }
- }
- while (1) {
- if (((c[v >> 2] & 3) | 0) != 3) break;
- c[z >> 2] = (c[z >> 2] | 0) + 3;
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- }
- c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- if (
- (c[z >> 2] | 0) >>> 0 >
- (c[c[k >> 2] >> 2] | 0) >>> 0
- ) {
- D = 19;
- break a;
- }
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
- break;
- m = c[j >> 2] | 0;
- n = c[x >> 2] | 0;
- c[x >> 2] = n + 1;
- b[(m + (n << 1)) >> 1] = 0;
- }
- if (
- (c[r >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- break;
- }
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- n = Mq(c[r >> 2] | 0) | 0;
- c[v >> 2] = n >>> (c[w >> 2] | 0);
- }
- } while (0);
- b[A >> 1] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
- n = c[v >> 2] | 0;
- m = c[u >> 2] | 0;
- if (
- (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
- (b[A >> 1] | 0) >>> 0
- ) {
- b[B >> 1] = n & (m - 1);
- c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
- } else {
- b[B >> 1] = n & ((m << 1) - 1);
- if ((b[B >> 1] | 0) >= (c[u >> 2] | 0))
- b[B >> 1] = (b[B >> 1] | 0) - (b[A >> 1] | 0);
- c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
- }
- b[B >> 1] = (((b[B >> 1] | 0) + -1) << 16) >> 16;
- m = ((ku(b[B >> 1] | 0) | 0) << 16) >> 16;
- c[t >> 2] = (c[t >> 2] | 0) - m;
- m = b[B >> 1] | 0;
- n = c[j >> 2] | 0;
- g = c[x >> 2] | 0;
- c[x >> 2] = g + 1;
- b[(n + (g << 1)) >> 1] = m;
- c[y >> 2] = (((b[B >> 1] | 0) != 0) ^ 1) & 1;
- while (1) {
- if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
- c[s >> 2] = (c[s >> 2] | 0) + -1;
- c[u >> 2] = c[u >> 2] >> 1;
- }
- if (
- (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[w >> 2] =
- (c[w >> 2] | 0) -
- (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
- c[r >> 2] = (c[q >> 2] | 0) + -4;
- } else {
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- }
- m = Mq(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] & 31);
- }
- if ((D | 0) == 19) {
- c[i >> 2] = -48;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- if ((c[t >> 2] | 0) != 1) {
- c[i >> 2] = -1;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
- c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
- if (
- (((c[r >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 >
- (c[o >> 2] | 0) >>> 0
- ) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- } else {
- c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- return 0;
- }
- function ku(a) {
- a = a | 0;
- var c = 0,
- d = 0;
- c = l;
- l = (l + 16) | 0;
- d = c;
- b[d >> 1] = a;
- a = b[d >> 1] | 0;
- l = c;
- return (((b[d >> 1] | 0) < 0 ? (0 - a) | 0 : a) & 65535) | 0;
- }
- function lu(a, d, e, f) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 8224) | 0;
- h = (g + 8220) | 0;
- i = (g + 8216) | 0;
- j = (g + 8212) | 0;
- k = (g + 8208) | 0;
- m = (g + 8204) | 0;
- n = g;
- o = (g + 8200) | 0;
- p = (g + 8196) | 0;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- oE(n | 0, 0, 8194) | 0;
- b[n >> 1] = 12;
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = Ju(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- k = (ou(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (k) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
- c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- Nu(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[o >> 2] | 0,
- c[m >> 2] | 0,
- n
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function mu(a, b, e, f) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 44) | 0;
- i = (g + 40) | 0;
- j = (g + 36) | 0;
- k = (g + 32) | 0;
- m = (g + 28) | 0;
- n = (g + 16) | 0;
- o = (g + 12) | 0;
- p = (g + 8) | 0;
- q = (g + 4) | 0;
- r = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = e;
- c[m >> 2] = f;
- if (!(c[j >> 2] | 0)) {
- c[h >> 2] = -70;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- if ((c[m >> 2] | 0) >>> 0 > (c[j >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- if ((c[m >> 2] | 0) == (c[j >> 2] | 0)) {
- mE(c[i >> 2] | 0, c[k >> 2] | 0, c[j >> 2] | 0) | 0;
- c[h >> 2] = c[j >> 2];
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- if ((c[m >> 2] | 0) == 1) {
- oE(
- c[i >> 2] | 0,
- ((d[c[k >> 2] >> 0] | 0) & 255) | 0,
- c[j >> 2] | 0
- ) | 0;
- c[h >> 2] = c[j >> 2];
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- c[o >> 2] =
- (((c[m >> 2] << 4) >>> 0) / ((c[j >> 2] | 0) >>> 0)) | 0;
- c[p >> 2] = (c[j >> 2] | 0) >>> 8;
- c[q >> 2] = 0;
- while (1) {
- if ((c[q >> 2] | 0) >>> 0 >= 3) break;
- f =
- ((c[
- (7008 +
- (((c[o >> 2] | 0) * 24) | 0) +
- (c[q >> 2] << 3)) >>
- 2
- ] |
- 0) +
- (N(
- c[
- (7008 +
- (((c[o >> 2] | 0) * 24) | 0) +
- (c[q >> 2] << 3) +
- 4) >>
- 2
- ] | 0,
- c[p >> 2] | 0
- ) |
- 0)) |
- 0;
- c[(n + (c[q >> 2] << 2)) >> 2] = f;
- c[q >> 2] = (c[q >> 2] | 0) + 1;
- }
- q = (n + 4) | 0;
- c[q >> 2] = (c[q >> 2] | 0) + ((c[(n + 4) >> 2] | 0) >>> 4);
- q = (n + 8) | 0;
- c[q >> 2] = (c[q >> 2] | 0) + ((c[(n + 8) >> 2] | 0) >>> 3);
- c[r >> 2] = 0;
- c[r >> 2] =
- (c[(n + 4) >> 2] | 0) >>> 0 < (c[n >> 2] | 0) >>> 0 ? 1 : 0;
- c[h >> 2] =
- sc[c[(11964 + (c[r >> 2] << 2)) >> 2] & 15](
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- function nu(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 68) | 0;
- i = (g + 64) | 0;
- j = (g + 60) | 0;
- k = (g + 56) | 0;
- m = (g + 52) | 0;
- n = (g + 48) | 0;
- o = (g + 44) | 0;
- p = (g + 40) | 0;
- q = (g + 36) | 0;
- r = (g + 32) | 0;
- s = (g + 28) | 0;
- t = (g + 24) | 0;
- u = (g + 8) | 0;
- v = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = c[i >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
- c[r >> 2] = c[c[n >> 2] >> 2];
- c[s >> 2] = c[n >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + 4;
- c[v >> 2] = St(u, c[o >> 2] | 0, c[m >> 2] | 0) | 0;
- if (ou(c[v >> 2] | 0) | 0) {
- c[h >> 2] = c[v >> 2];
- w = c[h >> 2] | 0;
- l = g;
- return w | 0;
- }
- pu(
- c[p >> 2] | 0,
- u,
- c[q >> 2] | 0,
- c[t >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- if (qu(u) | 0) {
- c[h >> 2] = c[j >> 2];
- w = c[h >> 2] | 0;
- l = g;
- return w | 0;
- } else {
- c[h >> 2] = -20;
- w = c[h >> 2] | 0;
- l = g;
- return w | 0;
- }
- return 0;
- }
- function ou(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = jr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function pu(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = c[h >> 2];
- while (1) {
- if (Ut(c[i >> 2] | 0) | 0) break;
- if (
- (c[h >> 2] | 0) >>> 0 >=
- (((c[j >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (ru() | 0) {
- f =
- su(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- ru() | 0;
- f =
- su(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- if (ru() | 0) {
- f =
- su(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- f =
- su(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- while (1) {
- if (Ut(c[i >> 2] | 0) | 0) break;
- if (
- (c[h >> 2] | 0) >>> 0 >
- (((c[j >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- f =
- su(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- while (1) {
- o = c[h >> 2] | 0;
- if (
- (c[h >> 2] | 0) >>> 0 >
- (((c[j >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- f = su(o, c[i >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- if (o >>> 0 >= (c[j >> 2] | 0) >>> 0) {
- p = c[h >> 2] | 0;
- q = c[n >> 2] | 0;
- r = p;
- s = q;
- t = (r - s) | 0;
- l = g;
- return t | 0;
- }
- j =
- tu(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + j;
- p = c[h >> 2] | 0;
- q = c[n >> 2] | 0;
- r = p;
- s = q;
- t = (r - s) | 0;
- l = g;
- return t | 0;
- }
- function qu(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- if (
- (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
- ) {
- e = 0;
- f = e & 1;
- l = b;
- return f | 0;
- }
- e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
- f = e & 1;
- l = b;
- return f | 0;
- }
- function ru() {
- return 0;
- }
- function su(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = uu(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- m = c[i >> 2] | 0;
- i = ((c[k >> 2] | 0) + (c[n >> 2] << 2)) | 0;
- a[m >> 0] = a[i >> 0] | 0;
- a[(m + 1) >> 0] = a[(i + 1) >> 0] | 0;
- du(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
- );
- l = h;
- return (
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] | 0 | 0
- );
- }
- function tu(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = uu(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- a[c[i >> 2] >> 0] =
- a[((c[k >> 2] | 0) + (c[n >> 2] << 2)) >> 0] | 0;
- i = c[j >> 2] | 0;
- if (
- (d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) ==
- 1
- ) {
- du(i, d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0);
- l = h;
- return 1;
- }
- if ((c[(i + 4) >> 2] | 0) >>> 0 >= 32) {
- l = h;
- return 1;
- }
- du(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
- );
- if ((c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0 <= 32) {
- l = h;
- return 1;
- }
- c[((c[j >> 2] | 0) + 4) >> 2] = 32;
- l = h;
- return 1;
- }
- function uu(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- ((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- ((32 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function vu(a, d, e, f) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 8224) | 0;
- h = (g + 8220) | 0;
- i = (g + 8216) | 0;
- j = (g + 8212) | 0;
- k = (g + 8208) | 0;
- m = (g + 8204) | 0;
- n = g;
- o = (g + 8200) | 0;
- p = (g + 8196) | 0;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- oE(n | 0, 0, 8194) | 0;
- b[n >> 1] = 12;
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = Ju(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- k = (ou(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (k) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
- c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- Ku(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[o >> 2] | 0,
- c[m >> 2] | 0,
- n
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function wu(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 16416) | 0;
- g = (f + 16412) | 0;
- h = (f + 16408) | 0;
- i = (f + 16404) | 0;
- j = (f + 16400) | 0;
- k = (f + 16396) | 0;
- m = f;
- n = (f + 16392) | 0;
- o = (f + 16388) | 0;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- oE(m | 0, 0, 16388) | 0;
- c[m >> 2] = 12;
- c[n >> 2] = c[j >> 2];
- c[o >> 2] = xu(m, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- j = (ou(c[o >> 2] | 0) | 0) != 0;
- e = c[o >> 2] | 0;
- if (j) {
- c[g >> 2] = e;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) {
- c[g >> 2] = -72;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- } else {
- c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
- c[k >> 2] = (c[k >> 2] | 0) - (c[o >> 2] | 0);
- c[g >> 2] =
- yu(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0,
- m
- ) | 0;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- return 0;
- }
- function xu(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0;
- g = l;
- l = (l + 2128) | 0;
- h = (g + 2124) | 0;
- i = (g + 2120) | 0;
- j = (g + 2116) | 0;
- k = (g + 2112) | 0;
- m = (g + 1760) | 0;
- n = (g + 1248) | 0;
- o = (g + 1168) | 0;
- p = (g + 1088) | 0;
- q = (g + 2108) | 0;
- r = g;
- s = (g + 2104) | 0;
- t = (g + 2100) | 0;
- u = (g + 2096) | 0;
- v = (g + 2092) | 0;
- w = (g + 2088) | 0;
- x = (g + 2084) | 0;
- y = (g + 2080) | 0;
- z = (g + 2076) | 0;
- A = (g + 2072) | 0;
- B = (g + 2068) | 0;
- C = (g + 2064) | 0;
- D = (g + 2060) | 0;
- E = (g + 2056) | 0;
- F = (g + 2052) | 0;
- G = (g + 2048) | 0;
- H = (g + 2044) | 0;
- I = (g + 2040) | 0;
- J = (g + 2036) | 0;
- K = (g + 2032) | 0;
- L = (g + 2028) | 0;
- M = (g + 2024) | 0;
- N = (g + 2020) | 0;
- O = (g + 2016) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- f = o;
- e = (f + 68) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (e | 0));
- f = p;
- e = (f + 72) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (e | 0));
- c[q >> 2] = p + 4;
- c[w >> 2] = c[c[i >> 2] >> 2];
- c[y >> 2] = c[i >> 2];
- c[z >> 2] = (c[y >> 2] | 0) + 4;
- if ((c[w >> 2] | 0) >>> 0 > 16) {
- c[h >> 2] = -44;
- P = c[h >> 2] | 0;
- l = g;
- return P | 0;
- }
- c[x >> 2] =
- zu(m, 256, o, v, s, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- if (ou(c[x >> 2] | 0) | 0) {
- c[h >> 2] = c[x >> 2];
- P = c[h >> 2] | 0;
- l = g;
- return P | 0;
- }
- if ((c[s >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) {
- c[h >> 2] = -44;
- P = c[h >> 2] | 0;
- l = g;
- return P | 0;
- }
- c[t >> 2] = c[s >> 2];
- while (1) {
- if (c[(o + (c[t >> 2] << 2)) >> 2] | 0) break;
- c[t >> 2] = (c[t >> 2] | 0) + -1;
- }
- c[B >> 2] = 0;
- c[A >> 2] = 1;
- while (1) {
- Q = c[B >> 2] | 0;
- if (
- (c[A >> 2] | 0) >>> 0 >=
- (((c[t >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[C >> 2] = Q;
- c[B >> 2] =
- (c[B >> 2] | 0) + (c[(o + (c[A >> 2] << 2)) >> 2] | 0);
- c[((c[q >> 2] | 0) + (c[A >> 2] << 2)) >> 2] = c[C >> 2];
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- }
- c[c[q >> 2] >> 2] = Q;
- c[u >> 2] = c[B >> 2];
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
- c[E >> 2] = d[(m + (c[D >> 2] | 0)) >> 0];
- B = ((c[q >> 2] | 0) + (c[E >> 2] << 2)) | 0;
- Q = c[B >> 2] | 0;
- c[B >> 2] = Q + 1;
- c[F >> 2] = Q;
- a[(n + (c[F >> 2] << 1)) >> 0] = c[D >> 2];
- a[(n + (c[F >> 2] << 1) + 1) >> 0] = c[E >> 2];
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[c[q >> 2] >> 2] = 0;
- c[G >> 2] = r;
- c[H >> 2] = (c[w >> 2] | 0) - (c[s >> 2] | 0) - 1;
- c[I >> 2] = 0;
- c[J >> 2] = 1;
- while (1) {
- if (
- (c[J >> 2] | 0) >>> 0 >=
- (((c[t >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[K >> 2] = c[I >> 2];
- c[I >> 2] =
- (c[I >> 2] | 0) +
- (c[(o + (c[J >> 2] << 2)) >> 2] <<
- ((c[J >> 2] | 0) + (c[H >> 2] | 0)));
- c[((c[G >> 2] | 0) + (c[J >> 2] << 2)) >> 2] = c[K >> 2];
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- }
- c[L >> 2] = (c[s >> 2] | 0) + 1 - (c[t >> 2] | 0);
- c[M >> 2] = c[L >> 2];
- while (1) {
- if (
- (c[M >> 2] | 0) >>> 0 >=
- (((c[w >> 2] | 0) - (c[L >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[N >> 2] = r + (((c[M >> 2] | 0) * 68) | 0);
- c[O >> 2] = 1;
- while (1) {
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (((c[t >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[((c[N >> 2] | 0) + (c[O >> 2] << 2)) >> 2] =
- (c[((c[G >> 2] | 0) + (c[O >> 2] << 2)) >> 2] | 0) >>>
- (c[M >> 2] | 0);
- c[O >> 2] = (c[O >> 2] | 0) + 1;
- }
- c[M >> 2] = (c[M >> 2] | 0) + 1;
- }
- Au(
- c[z >> 2] | 0,
- c[w >> 2] | 0,
- n,
- c[u >> 2] | 0,
- p,
- r,
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) + 1) | 0
- );
- c[h >> 2] = c[x >> 2];
- P = c[h >> 2] | 0;
- l = g;
- return P | 0;
- }
- function yu(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0;
- g = l;
- l = (l + 192) | 0;
- h = (g + 184) | 0;
- i = (g + 180) | 0;
- j = (g + 176) | 0;
- k = (g + 172) | 0;
- m = (g + 168) | 0;
- n = (g + 164) | 0;
- o = (g + 160) | 0;
- p = (g + 156) | 0;
- q = (g + 152) | 0;
- r = (g + 148) | 0;
- s = (g + 144) | 0;
- t = (g + 140) | 0;
- u = (g + 136) | 0;
- v = (g + 120) | 0;
- w = (g + 104) | 0;
- x = (g + 88) | 0;
- y = (g + 72) | 0;
- z = (g + 64) | 0;
- A = (g + 60) | 0;
- B = (g + 56) | 0;
- C = (g + 52) | 0;
- D = (g + 48) | 0;
- E = (g + 44) | 0;
- F = (g + 40) | 0;
- G = (g + 36) | 0;
- H = (g + 32) | 0;
- I = (g + 28) | 0;
- J = (g + 24) | 0;
- K = (g + 20) | 0;
- L = (g + 16) | 0;
- M = (g + 12) | 0;
- N = (g + 8) | 0;
- O = (g + 4) | 0;
- P = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if ((c[m >> 2] | 0) >>> 0 < 10) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = c[i >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
- c[r >> 2] = c[n >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + 4;
- c[t >> 2] = c[c[n >> 2] >> 2];
- c[z >> 2] = (Oq(c[o >> 2] | 0) | 0) & 65535;
- c[A >> 2] = (Oq(((c[o >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[B >> 2] = (Oq(((c[o >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[D >> 2] = (c[o >> 2] | 0) + 6;
- c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
- c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
- c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
- c[H >> 2] = (((((c[j >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[I >> 2] = (c[p >> 2] | 0) + (c[H >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- c[K >> 2] = (c[J >> 2] | 0) + (c[H >> 2] | 0);
- c[L >> 2] = c[p >> 2];
- c[M >> 2] = c[I >> 2];
- c[N >> 2] = c[J >> 2];
- c[O >> 2] = c[K >> 2];
- c[C >> 2] =
- (c[m >> 2] | 0) -
- ((c[z >> 2] | 0) + (c[A >> 2] | 0) + (c[B >> 2] | 0) + 6);
- if ((c[C >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = St(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
- if (ou(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = St(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
- if (ou(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = St(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
- if (ou(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = St(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
- if (ou(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- u = Ut(v) | 0;
- C = u | (Ut(w) | 0);
- u = C | (Ut(x) | 0);
- c[P >> 2] = u | (Ut(y) | 0);
- while (1) {
- if (c[P >> 2] | 0) break;
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (((c[q >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (ru() | 0) {
- u =
- su(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- }
- if (ru() | 0) {
- u =
- su(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- }
- if (ru() | 0) {
- u =
- su(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- }
- if (ru() | 0) {
- u =
- su(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- }
- ru() | 0;
- u = su(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- ru() | 0;
- u = su(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- ru() | 0;
- u = su(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- ru() | 0;
- u = su(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- if (ru() | 0) {
- u =
- su(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- }
- if (ru() | 0) {
- u =
- su(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- }
- if (ru() | 0) {
- u =
- su(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- }
- if (ru() | 0) {
- u =
- su(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- }
- u = su(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- u = su(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- u = su(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- u = su(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- u = Ut(v) | 0;
- C = u | (Ut(w) | 0);
- u = C | (Ut(x) | 0);
- c[P >> 2] = u | (Ut(y) | 0);
- }
- if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- pu(
- c[L >> 2] | 0,
- v,
- c[I >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- pu(
- c[M >> 2] | 0,
- w,
- c[J >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- pu(
- c[N >> 2] | 0,
- x,
- c[K >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- pu(
- c[O >> 2] | 0,
- y,
- c[q >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- t = qu(v) | 0;
- v = t & (qu(w) | 0);
- w = v & (qu(x) | 0);
- c[P >> 2] = w & (qu(y) | 0);
- if (c[P >> 2] | 0) {
- c[h >> 2] = c[j >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- } else {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- return 0;
- }
- function zu(b, e, f, g, h, i, j) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0;
- k = l;
- l = (l + 80) | 0;
- m = (k + 72) | 0;
- n = (k + 68) | 0;
- o = (k + 64) | 0;
- p = (k + 60) | 0;
- q = (k + 56) | 0;
- r = (k + 52) | 0;
- s = (k + 48) | 0;
- t = (k + 44) | 0;
- u = (k + 40) | 0;
- v = (k + 36) | 0;
- w = (k + 32) | 0;
- x = (k + 28) | 0;
- y = (k + 24) | 0;
- z = (k + 20) | 0;
- A = (k + 16) | 0;
- B = (k + 12) | 0;
- C = (k + 8) | 0;
- D = (k + 4) | 0;
- E = k;
- c[n >> 2] = b;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[v >> 2] = c[s >> 2];
- if (!(c[t >> 2] | 0)) {
- c[m >> 2] = -72;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[w >> 2] = d[c[v >> 2] >> 0];
- s = c[w >> 2] | 0;
- a: do {
- if ((c[w >> 2] | 0) >>> 0 < 128) {
- if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
- c[m >> 2] = -72;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[x >> 2] =
- Eu(
- c[n >> 2] | 0,
- ((c[o >> 2] | 0) - 1) | 0,
- ((c[v >> 2] | 0) + 1) | 0,
- c[w >> 2] | 0
- ) | 0;
- if (jr(c[x >> 2] | 0) | 0) {
- c[m >> 2] = c[x >> 2];
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- } else {
- j = c[w >> 2] | 0;
- if (s >>> 0 >= 242) {
- c[x >> 2] = c[(7392 + ((j - 242) << 2)) >> 2];
- oE(c[n >> 2] | 0, 1, c[o >> 2] | 0) | 0;
- c[w >> 2] = 0;
- break;
- }
- c[x >> 2] = j - 127;
- c[w >> 2] = (((((c[x >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
- if (
- (((c[w >> 2] | 0) + 1) | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[m >> 2] = -72;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- if ((c[x >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) + 1;
- c[y >> 2] = 0;
- while (1) {
- if ((c[y >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0)
- break a;
- a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] =
- (d[
- ((c[v >> 2] | 0) +
- ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) >>
- 4;
- a[((c[n >> 2] | 0) + ((c[y >> 2] | 0) + 1)) >> 0] =
- (d[
- ((c[v >> 2] | 0) +
- ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) &
- 15;
- c[y >> 2] = (c[y >> 2] | 0) + 2;
- }
- }
- } while (0);
- y = c[p >> 2] | 0;
- v = (y + 68) | 0;
- do {
- c[y >> 2] = 0;
- y = (y + 4) | 0;
- } while ((y | 0) < (v | 0));
- c[u >> 2] = 0;
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) break;
- if (
- (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0 | 0) >=
- 16
- ) {
- G = 20;
- break;
- }
- y =
- ((c[p >> 2] | 0) +
- ((d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) <<
- 2)) |
- 0;
- c[y >> 2] = (c[y >> 2] | 0) + 1;
- c[u >> 2] =
- (c[u >> 2] | 0) +
- ((1 <<
- (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0)) >>
- 1);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- if ((G | 0) == 20) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- if (!(c[u >> 2] | 0)) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[A >> 2] = (fu(c[u >> 2] | 0) | 0) + 1;
- if ((c[A >> 2] | 0) >>> 0 > 16) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[c[r >> 2] >> 2] = c[A >> 2];
- c[B >> 2] = 1 << c[A >> 2];
- c[C >> 2] = (c[B >> 2] | 0) - (c[u >> 2] | 0);
- c[D >> 2] = 1 << (fu(c[C >> 2] | 0) | 0);
- c[E >> 2] = (fu(c[C >> 2] | 0) | 0) + 1;
- if ((c[D >> 2] | 0) != (c[C >> 2] | 0)) {
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- a[((c[n >> 2] | 0) + (c[x >> 2] | 0)) >> 0] = c[E >> 2];
- n = ((c[p >> 2] | 0) + (c[E >> 2] << 2)) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- if (
- (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
- ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
- : 0
- ) {
- c[c[q >> 2] >> 2] = (c[x >> 2] | 0) + 1;
- c[m >> 2] = (c[w >> 2] | 0) + 1;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- c[m >> 2] = -20;
- F = c[m >> 2] | 0;
- l = k;
- return F | 0;
- }
- function Au(e, f, g, h, i, j, k, m) {
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0;
- n = l;
- l = (l + 160) | 0;
- o = (n + 140) | 0;
- p = (n + 136) | 0;
- q = (n + 132) | 0;
- r = (n + 128) | 0;
- s = (n + 124) | 0;
- t = (n + 120) | 0;
- u = (n + 116) | 0;
- v = (n + 112) | 0;
- w = n;
- x = (n + 108) | 0;
- y = (n + 104) | 0;
- z = (n + 100) | 0;
- A = (n + 148) | 0;
- B = (n + 96) | 0;
- C = (n + 92) | 0;
- D = (n + 88) | 0;
- E = (n + 84) | 0;
- F = (n + 80) | 0;
- G = (n + 76) | 0;
- H = (n + 144) | 0;
- I = (n + 72) | 0;
- J = (n + 68) | 0;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = k;
- c[v >> 2] = m;
- c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
- c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- u = w;
- m = c[t >> 2] | 0;
- k = (u + 68) | 0;
- do {
- c[u >> 2] = c[m >> 2];
- u = (u + 4) | 0;
- m = (m + 4) | 0;
- } while ((u | 0) < (k | 0));
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
- b[A >> 1] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
- c[B >> 2] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
- c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
- a: do {
- if (
- (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- ) {
- m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
- c[G >> 2] = m;
- c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
- c[F >> 2] =
- c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
- Bu(
- ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
- ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
- c[C >> 2] | 0,
- ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 68) | 0)) | 0,
- c[G >> 2] | 0,
- ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
- ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
- c[v >> 2] | 0,
- b[A >> 1] | 0
- );
- } else {
- Cu(H, b[A >> 1] | 0);
- a[(H + 2) >> 0] = c[C >> 2];
- a[(H + 3) >> 0] = 1;
- c[J >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
- c[I >> 2] = c[D >> 2];
- while (1) {
- if ((c[I >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
- break a;
- m = ((c[o >> 2] | 0) + (c[I >> 2] << 2)) | 0;
- b[m >> 1] = b[H >> 1] | 0;
- b[(m + 2) >> 1] = b[(H + 2) >> 1] | 0;
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- }
- } while (0);
- m = (w + (c[B >> 2] << 2)) | 0;
- c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- l = n;
- return;
- }
- function Bu(f, g, h, i, j, k, m, n, o) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- var p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0;
- p = l;
- l = (l + 160) | 0;
- q = (p + 136) | 0;
- r = (p + 132) | 0;
- s = (p + 128) | 0;
- t = (p + 124) | 0;
- u = (p + 120) | 0;
- v = (p + 116) | 0;
- w = (p + 112) | 0;
- x = (p + 108) | 0;
- y = (p + 144) | 0;
- z = (p + 140) | 0;
- A = p;
- B = (p + 104) | 0;
- C = (p + 100) | 0;
- D = (p + 96) | 0;
- E = (p + 92) | 0;
- F = (p + 88) | 0;
- G = (p + 84) | 0;
- H = (p + 80) | 0;
- I = (p + 76) | 0;
- J = (p + 72) | 0;
- K = (p + 68) | 0;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = j;
- c[v >> 2] = k;
- c[w >> 2] = m;
- c[x >> 2] = n;
- b[y >> 1] = o;
- o = A;
- n = c[t >> 2] | 0;
- t = (o + 68) | 0;
- do {
- c[o >> 2] = c[n >> 2];
- o = (o + 4) | 0;
- n = (n + 4) | 0;
- } while ((o | 0) < (t | 0));
- a: do {
- if ((c[u >> 2] | 0) > 1) {
- c[C >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
- Cu(z, b[y >> 1] | 0);
- a[(z + 2) >> 0] = c[s >> 2];
- a[(z + 3) >> 0] = 1;
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 >= (c[C >> 2] | 0) >>> 0)
- break a;
- n = ((c[q >> 2] | 0) + (c[B >> 2] << 2)) | 0;
- b[n >> 1] = b[z >> 1] | 0;
- b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[E >> 2] = d[((c[v >> 2] | 0) + (c[D >> 2] << 1)) >> 0];
- c[F >> 2] =
- d[((c[v >> 2] | 0) + (c[D >> 2] << 1) + 1) >> 0];
- c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
- c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
- c[J >> 2] = c[I >> 2];
- c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- Cu(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
- a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
- a[(z + 3) >> 0] = 2;
- do {
- B = c[q >> 2] | 0;
- C = c[J >> 2] | 0;
- c[J >> 2] = C + 1;
- u = (B + (C << 2)) | 0;
- b[u >> 1] = b[z >> 1] | 0;
- b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
- } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
- u = (A + (c[F >> 2] << 2)) | 0;
- c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- l = p;
- return;
- }
- function Cu(d, f) {
- d = d | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- g = l;
- l = (l + 16) | 0;
- h = (g + 4) | 0;
- i = (g + 8) | 0;
- j = g;
- c[h >> 2] = d;
- b[i >> 1] = f;
- f = (Qq() | 0) != 0;
- d = c[h >> 2] | 0;
- if (f) {
- Du(d, b[i >> 1] | 0);
- l = g;
- return;
- } else {
- c[j >> 2] = d;
- a[c[j >> 2] >> 0] = b[i >> 1];
- a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
- l = g;
- return;
- }
- }
- function Du(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (f + 4) | 0;
- c[g >> 2] = d;
- b[h >> 1] = e;
- e = c[g >> 2] | 0;
- a[e >> 0] = a[h >> 0] | 0;
- a[(e + 1) >> 0] = a[(h + 1) >> 0] | 0;
- l = f;
- return;
- }
- function Eu(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- f = l;
- l = (l + 16960) | 0;
- g = (f + 16952) | 0;
- h = (f + 16948) | 0;
- i = (f + 16944) | 0;
- j = (f + 16940) | 0;
- k = (f + 16936) | 0;
- m = (f + 16932) | 0;
- n = (f + 16928) | 0;
- o = (f + 16400) | 0;
- p = f;
- q = (f + 16924) | 0;
- r = (f + 16920) | 0;
- s = (f + 16916) | 0;
- t = (f + 16912) | 0;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = c[j >> 2];
- c[n >> 2] = c[m >> 2];
- c[r >> 2] = 255;
- if ((c[k >> 2] | 0) >>> 0 < 2) {
- c[g >> 2] = -72;
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- }
- c[s >> 2] = ju(o, r, q, c[m >> 2] | 0, c[k >> 2] | 0) | 0;
- m = (jr(c[s >> 2] | 0) | 0) != 0;
- j = c[s >> 2] | 0;
- if (m) {
- c[g >> 2] = j;
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- }
- if (j >>> 0 >= (c[k >> 2] | 0) >>> 0) {
- c[g >> 2] = -72;
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- }
- c[n >> 2] = (c[n >> 2] | 0) + (c[s >> 2] | 0);
- c[k >> 2] = (c[k >> 2] | 0) - (c[s >> 2] | 0);
- c[t >> 2] = iu(p, o, c[r >> 2] | 0, c[q >> 2] | 0) | 0;
- if (jr(c[t >> 2] | 0) | 0) {
- c[g >> 2] = c[t >> 2];
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- } else {
- c[g >> 2] =
- Fu(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0,
- p
- ) | 0;
- u = c[g >> 2] | 0;
- l = f;
- return u | 0;
- }
- return 0;
- }
- function Fu(b, d, f, g, h) {
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0;
- i = l;
- l = (l + 208) | 0;
- j = (i + 192) | 0;
- k = (i + 188) | 0;
- m = (i + 184) | 0;
- n = (i + 180) | 0;
- o = (i + 176) | 0;
- p = (i + 172) | 0;
- q = (i + 168) | 0;
- r = (i + 164) | 0;
- s = (i + 160) | 0;
- t = (i + 156) | 0;
- u = (i + 152) | 0;
- v = (i + 136) | 0;
- w = (i + 128) | 0;
- x = (i + 120) | 0;
- y = (i + 116) | 0;
- z = (i + 112) | 0;
- A = (i + 108) | 0;
- B = (i + 104) | 0;
- C = (i + 100) | 0;
- D = (i + 96) | 0;
- E = (i + 92) | 0;
- F = (i + 88) | 0;
- G = (i + 84) | 0;
- H = (i + 80) | 0;
- I = (i + 76) | 0;
- J = (i + 72) | 0;
- K = (i + 56) | 0;
- L = (i + 48) | 0;
- M = (i + 40) | 0;
- N = (i + 36) | 0;
- O = (i + 32) | 0;
- P = (i + 28) | 0;
- Q = (i + 24) | 0;
- R = (i + 20) | 0;
- S = (i + 16) | 0;
- T = (i + 12) | 0;
- U = (i + 8) | 0;
- V = (i + 4) | 0;
- W = i;
- c[P >> 2] = b;
- c[Q >> 2] = d;
- c[R >> 2] = f;
- c[S >> 2] = g;
- c[T >> 2] = h;
- c[U >> 2] = c[T >> 2];
- c[V >> 2] = c[U >> 2];
- c[W >> 2] = e[((c[V >> 2] | 0) + 2) >> 1];
- V = c[P >> 2] | 0;
- P = c[Q >> 2] | 0;
- Q = c[R >> 2] | 0;
- R = c[S >> 2] | 0;
- S = c[T >> 2] | 0;
- if (c[W >> 2] | 0) {
- c[A >> 2] = V;
- c[B >> 2] = P;
- c[C >> 2] = Q;
- c[D >> 2] = R;
- c[E >> 2] = S;
- c[F >> 2] = 1;
- c[G >> 2] = c[A >> 2];
- c[H >> 2] = c[G >> 2];
- c[I >> 2] = (c[H >> 2] | 0) + (c[B >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + -3;
- c[N >> 2] = St(K, c[C >> 2] | 0, c[D >> 2] | 0) | 0;
- do {
- if (jr(c[N >> 2] | 0) | 0) c[z >> 2] = c[N >> 2];
- else {
- Tt(L, K, c[E >> 2] | 0);
- Tt(M, K, c[E >> 2] | 0);
- while (1) {
- if (Ut(K) | 0) break;
- if ((c[H >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
- break;
- if (c[F >> 2] | 0) X = (Gu(L, K) | 0) & 255;
- else X = (Hu(L, K) | 0) & 255;
- a[c[H >> 2] >> 0] = X;
- if (c[F >> 2] | 0) Y = (Gu(M, K) | 0) & 255;
- else Y = (Hu(M, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 1) >> 0] = Y;
- if ((Ut(K) | 0) >>> 0 > 0) {
- Z = 14;
- break;
- }
- if (c[F >> 2] | 0) _ = (Gu(L, K) | 0) & 255;
- else _ = (Hu(L, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 2) >> 0] = _;
- if (c[F >> 2] | 0) $ = (Gu(M, K) | 0) & 255;
- else $ = (Hu(M, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 3) >> 0] = $;
- c[H >> 2] = (c[H >> 2] | 0) + 4;
- }
- if ((Z | 0) == 14) c[H >> 2] = (c[H >> 2] | 0) + 2;
- while (1) {
- if (
- (c[H >> 2] | 0) >>> 0 >
- (((c[I >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 24;
- break;
- }
- if (c[F >> 2] | 0) aa = (Gu(L, K) | 0) & 255;
- else aa = (Hu(L, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = aa;
- if ((Ut(K) | 0) == 3) {
- Z = 29;
- break;
- }
- if (
- (c[H >> 2] | 0) >>> 0 >
- (((c[I >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 34;
- break;
- }
- if (c[F >> 2] | 0) ba = (Gu(M, K) | 0) & 255;
- else ba = (Hu(M, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = ba;
- if ((Ut(K) | 0) == 3) {
- Z = 39;
- break;
- }
- }
- if ((Z | 0) == 24) {
- c[z >> 2] = -70;
- break;
- } else if ((Z | 0) == 29) {
- if (c[F >> 2] | 0) ca = (Gu(M, K) | 0) & 255;
- else ca = (Hu(M, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = ca;
- } else if ((Z | 0) == 34) {
- c[z >> 2] = -70;
- break;
- } else if ((Z | 0) == 39) {
- if (c[F >> 2] | 0) da = (Gu(L, K) | 0) & 255;
- else da = (Hu(L, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = da;
- }
- c[z >> 2] = (c[H >> 2] | 0) - (c[G >> 2] | 0);
- }
- } while (0);
- c[O >> 2] = c[z >> 2];
- ea = c[O >> 2] | 0;
- l = i;
- return ea | 0;
- } else {
- c[k >> 2] = V;
- c[m >> 2] = P;
- c[n >> 2] = Q;
- c[o >> 2] = R;
- c[p >> 2] = S;
- c[q >> 2] = 0;
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + (c[m >> 2] | 0);
- c[u >> 2] = (c[t >> 2] | 0) + -3;
- c[y >> 2] = St(v, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
- do {
- if (jr(c[y >> 2] | 0) | 0) c[j >> 2] = c[y >> 2];
- else {
- Tt(w, v, c[p >> 2] | 0);
- Tt(x, v, c[p >> 2] | 0);
- while (1) {
- if (Ut(v) | 0) break;
- if ((c[s >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0)
- break;
- if (c[q >> 2] | 0) fa = (Gu(w, v) | 0) & 255;
- else fa = (Hu(w, v) | 0) & 255;
- a[c[s >> 2] >> 0] = fa;
- if (c[q >> 2] | 0) ga = (Gu(x, v) | 0) & 255;
- else ga = (Hu(x, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 1) >> 0] = ga;
- if ((Ut(v) | 0) >>> 0 > 0) {
- Z = 58;
- break;
- }
- if (c[q >> 2] | 0) ha = (Gu(w, v) | 0) & 255;
- else ha = (Hu(w, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 2) >> 0] = ha;
- if (c[q >> 2] | 0) ia = (Gu(x, v) | 0) & 255;
- else ia = (Hu(x, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 3) >> 0] = ia;
- c[s >> 2] = (c[s >> 2] | 0) + 4;
- }
- if ((Z | 0) == 58) c[s >> 2] = (c[s >> 2] | 0) + 2;
- while (1) {
- if (
- (c[s >> 2] | 0) >>> 0 >
- (((c[t >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 68;
- break;
- }
- if (c[q >> 2] | 0) ja = (Gu(w, v) | 0) & 255;
- else ja = (Hu(w, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ja;
- if ((Ut(v) | 0) == 3) {
- Z = 73;
- break;
- }
- if (
- (c[s >> 2] | 0) >>> 0 >
- (((c[t >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 78;
- break;
- }
- if (c[q >> 2] | 0) ka = (Gu(x, v) | 0) & 255;
- else ka = (Hu(x, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ka;
- if ((Ut(v) | 0) == 3) {
- Z = 83;
- break;
- }
- }
- if ((Z | 0) == 68) {
- c[j >> 2] = -70;
- break;
- } else if ((Z | 0) == 73) {
- if (c[q >> 2] | 0) la = (Gu(x, v) | 0) & 255;
- else la = (Hu(x, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = la;
- } else if ((Z | 0) == 78) {
- c[j >> 2] = -70;
- break;
- } else if ((Z | 0) == 83) {
- if (c[q >> 2] | 0) ma = (Gu(w, v) | 0) & 255;
- else ma = (Hu(w, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ma;
- }
- c[j >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- }
- } while (0);
- c[O >> 2] = c[j >> 2];
- ea = c[O >> 2] | 0;
- l = i;
- return ea | 0;
- }
- return 0;
- }
- function Gu(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = Iu(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function Hu(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = $t(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function Iu(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = uu(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- du(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function Ju(f, g, h) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- i = l;
- l = (l + 400) | 0;
- j = (i + 392) | 0;
- k = (i + 388) | 0;
- m = (i + 384) | 0;
- n = (i + 380) | 0;
- o = (i + 80) | 0;
- p = i;
- q = (i + 376) | 0;
- r = (i + 372) | 0;
- s = (i + 368) | 0;
- t = (i + 364) | 0;
- u = (i + 360) | 0;
- v = (i + 356) | 0;
- w = (i + 352) | 0;
- x = (i + 348) | 0;
- y = (i + 344) | 0;
- z = (i + 340) | 0;
- A = (i + 336) | 0;
- B = (i + 396) | 0;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = h;
- c[q >> 2] = 0;
- c[s >> 2] = 0;
- c[v >> 2] = (c[k >> 2] | 0) + 2;
- c[w >> 2] = c[v >> 2];
- c[r >> 2] =
- zu(o, 256, p, s, q, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- if (ou(c[r >> 2] | 0) | 0) {
- c[j >> 2] = c[r >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- if ((c[q >> 2] | 0) >>> 0 > (e[c[k >> 2] >> 1] | 0) >>> 0) {
- c[j >> 2] = -44;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- b[c[k >> 2] >> 1] = c[q >> 2];
- c[u >> 2] = 0;
- c[t >> 2] = 1;
- while (1) {
- if (
- (c[t >> 2] | 0) >>> 0 >=
- (((c[q >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[x >> 2] = c[u >> 2];
- c[u >> 2] =
- (c[u >> 2] | 0) +
- (c[(p + (c[t >> 2] << 2)) >> 2] << ((c[t >> 2] | 0) - 1));
- c[(p + (c[t >> 2] << 2)) >> 2] = c[x >> 2];
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[t >> 2] = 0;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
- c[y >> 2] = d[(o + (c[t >> 2] | 0)) >> 0];
- c[z >> 2] = (1 << c[y >> 2]) >> 1;
- a[B >> 0] = c[t >> 2];
- a[(B + 1) >> 0] = (c[q >> 2] | 0) + 1 - (c[y >> 2] | 0);
- c[A >> 2] = c[(p + (c[y >> 2] << 2)) >> 2];
- while (1) {
- if (
- (c[A >> 2] | 0) >>> 0 >=
- (((c[(p + (c[y >> 2] << 2)) >> 2] | 0) +
- (c[z >> 2] | 0)) |
- 0) >>>
- 0
- )
- break;
- x = ((c[w >> 2] | 0) + (c[A >> 2] << 1)) | 0;
- a[x >> 0] = a[B >> 0] | 0;
- a[(x + 1) >> 0] = a[(B + 1) >> 0] | 0;
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- }
- x = (p + (c[y >> 2] << 2)) | 0;
- c[x >> 2] = (c[x >> 2] | 0) + (c[z >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[j >> 2] = c[r >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- function Ku(b, d, f, g, h) {
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0;
- i = l;
- l = (l + 192) | 0;
- j = (i + 184) | 0;
- k = (i + 180) | 0;
- m = (i + 176) | 0;
- n = (i + 172) | 0;
- o = (i + 168) | 0;
- p = (i + 164) | 0;
- q = (i + 160) | 0;
- r = (i + 156) | 0;
- s = (i + 152) | 0;
- t = (i + 148) | 0;
- u = (i + 144) | 0;
- v = (i + 140) | 0;
- w = (i + 136) | 0;
- x = (i + 120) | 0;
- y = (i + 104) | 0;
- z = (i + 88) | 0;
- A = (i + 72) | 0;
- B = (i + 64) | 0;
- C = (i + 60) | 0;
- D = (i + 56) | 0;
- E = (i + 52) | 0;
- F = (i + 48) | 0;
- G = (i + 44) | 0;
- H = (i + 40) | 0;
- I = (i + 36) | 0;
- J = (i + 32) | 0;
- K = (i + 28) | 0;
- L = (i + 24) | 0;
- M = (i + 20) | 0;
- N = (i + 16) | 0;
- O = (i + 12) | 0;
- P = (i + 8) | 0;
- Q = (i + 4) | 0;
- R = i;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- if ((c[o >> 2] | 0) >>> 0 < 10) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[q >> 2] = c[n >> 2];
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[t >> 2] = c[p >> 2];
- c[u >> 2] = (c[t >> 2] | 0) + 2;
- c[v >> 2] = e[c[p >> 2] >> 1];
- c[B >> 2] = (Oq(c[q >> 2] | 0) | 0) & 65535;
- c[C >> 2] = (Oq(((c[q >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[D >> 2] = (Oq(((c[q >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[F >> 2] = (c[q >> 2] | 0) + 6;
- c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
- c[H >> 2] = (c[G >> 2] | 0) + (c[C >> 2] | 0);
- c[I >> 2] = (c[H >> 2] | 0) + (c[D >> 2] | 0);
- c[J >> 2] = (((((c[m >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[K >> 2] = (c[r >> 2] | 0) + (c[J >> 2] | 0);
- c[L >> 2] = (c[K >> 2] | 0) + (c[J >> 2] | 0);
- c[M >> 2] = (c[L >> 2] | 0) + (c[J >> 2] | 0);
- c[N >> 2] = c[r >> 2];
- c[O >> 2] = c[K >> 2];
- c[P >> 2] = c[L >> 2];
- c[Q >> 2] = c[M >> 2];
- c[E >> 2] =
- (c[o >> 2] | 0) -
- ((c[B >> 2] | 0) + (c[C >> 2] | 0) + (c[D >> 2] | 0) + 6);
- if ((c[E >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = St(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
- if (ou(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = St(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
- if (ou(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = St(z, c[H >> 2] | 0, c[D >> 2] | 0) | 0;
- if (ou(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = St(A, c[I >> 2] | 0, c[E >> 2] | 0) | 0;
- if (ou(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- w = Ut(x) | 0;
- E = w | (Ut(y) | 0);
- w = E | (Ut(z) | 0);
- c[R >> 2] = w | (Ut(A) | 0);
- while (1) {
- if (c[R >> 2] | 0) break;
- if (
- (c[Q >> 2] | 0) >>> 0 >=
- (((c[s >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (ru() | 0) {
- w = Lu(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (ru() | 0) {
- w = Lu(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (ru() | 0) {
- w = Lu(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (ru() | 0) {
- w = Lu(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- }
- ru() | 0;
- w = Lu(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- ru() | 0;
- w = Lu(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- ru() | 0;
- w = Lu(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- ru() | 0;
- w = Lu(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- if (ru() | 0) {
- w = Lu(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (ru() | 0) {
- w = Lu(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (ru() | 0) {
- w = Lu(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (ru() | 0) {
- w = Lu(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- }
- w = Lu(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- w = Lu(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- w = Lu(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- w = Lu(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- w = Ut(x) | 0;
- E = w | (Ut(y) | 0);
- w = E | (Ut(z) | 0);
- c[R >> 2] = w | (Ut(A) | 0);
- }
- if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- if ((c[O >> 2] | 0) >>> 0 > (c[L >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- if ((c[P >> 2] | 0) >>> 0 > (c[M >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- Mu(
- c[N >> 2] | 0,
- x,
- c[K >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- Mu(
- c[O >> 2] | 0,
- y,
- c[L >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- Mu(
- c[P >> 2] | 0,
- z,
- c[M >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- Mu(
- c[Q >> 2] | 0,
- A,
- c[s >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- v = qu(x) | 0;
- x = v & (qu(y) | 0);
- y = x & (qu(z) | 0);
- c[R >> 2] = y & (qu(A) | 0);
- if (c[R >> 2] | 0) {
- c[j >> 2] = c[m >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- } else {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- return 0;
- }
- function Lu(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 16) | 0;
- c[h >> 2] = b;
- c[i >> 2] = e;
- c[j >> 2] = f;
- c[k >> 2] = uu(c[h >> 2] | 0, c[j >> 2] | 0) | 0;
- a[m >> 0] = a[((c[i >> 2] | 0) + (c[k >> 2] << 1)) >> 0] | 0;
- du(
- c[h >> 2] | 0,
- d[((c[i >> 2] | 0) + (c[k >> 2] << 1) + 1) >> 0] | 0
- );
- l = g;
- return a[m >> 0] | 0;
- }
- function Mu(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 20) | 0;
- j = (h + 16) | 0;
- k = (h + 12) | 0;
- m = (h + 8) | 0;
- n = (h + 4) | 0;
- o = h;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = c[i >> 2];
- while (1) {
- if (Ut(c[j >> 2] | 0) | 0) break;
- if (
- (c[i >> 2] | 0) >>> 0 >
- (((c[k >> 2] | 0) + -4) | 0) >>> 0
- )
- break;
- if (ru() | 0) {
- g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- ru() | 0;
- g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- if (ru() | 0) {
- g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- while (1) {
- if (Ut(c[j >> 2] | 0) | 0) break;
- if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- while (1) {
- if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- g = Lu(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- l = h;
- return ((c[k >> 2] | 0) - (c[o >> 2] | 0)) | 0;
- }
- function Nu(a, b, d, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 64) | 0;
- j = (h + 60) | 0;
- k = (h + 56) | 0;
- m = (h + 52) | 0;
- n = (h + 48) | 0;
- o = (h + 44) | 0;
- p = (h + 40) | 0;
- q = (h + 36) | 0;
- r = (h + 32) | 0;
- s = (h + 28) | 0;
- t = (h + 24) | 0;
- u = (h + 8) | 0;
- v = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[j >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[k >> 2] | 0);
- c[r >> 2] = e[c[o >> 2] >> 1];
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + 2;
- c[v >> 2] = St(u, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- if (ou(c[v >> 2] | 0) | 0) {
- c[i >> 2] = c[v >> 2];
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- }
- Mu(
- c[p >> 2] | 0,
- u,
- c[q >> 2] | 0,
- c[t >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- if (qu(u) | 0) {
- c[i >> 2] = c[k >> 2];
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- } else {
- c[i >> 2] = -20;
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- }
- return 0;
- }
- function Ou(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- c[((c[d >> 2] | 0) + 21536) >> 2] = 5;
- c[((c[d >> 2] | 0) + 21564) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21520) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21524) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21528) >> 2] = 0;
- c[((c[d >> 2] | 0) + 21532) >> 2] = 0;
- c[((c[d >> 2] | 0) + 5132) >> 2] = 12;
- c[((c[d >> 2] | 0) + 21568) >> 2] = 0;
- l = b;
- return 0;
- }
- function Pu(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[k >> 2] = Mq(c[h >> 2] | 0) | 0;
- if ((c[k >> 2] | 0) != -332356554) {
- Qu(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
- c[f >> 2] = 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) - 4;
- c[j >> 2] =
- Ru(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (jr(c[j >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- } else {
- c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
- Qu(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
- c[f >> 2] = 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- return 0;
- }
- function Qu(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 21532) >> 2] =
- c[((c[f >> 2] | 0) + 21520) >> 2];
- c[((c[f >> 2] | 0) + 21528) >> 2] =
- (c[g >> 2] | 0) +
- (0 -
- ((c[((c[f >> 2] | 0) + 21520) >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 21524) >> 2] | 0)));
- c[((c[f >> 2] | 0) + 21524) >> 2] = c[g >> 2];
- c[((c[f >> 2] | 0) + 21520) >> 2] =
- (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function Ru(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- e = l;
- l = (l + 320) | 0;
- f = (e + 316) | 0;
- g = (e + 312) | 0;
- h = (e + 308) | 0;
- i = (e + 304) | 0;
- j = (e + 300) | 0;
- k = (e + 296) | 0;
- m = (e + 292) | 0;
- n = (e + 288) | 0;
- o = (e + 192) | 0;
- p = (e + 284) | 0;
- q = (e + 280) | 0;
- r = (e + 276) | 0;
- s = (e + 80) | 0;
- t = (e + 272) | 0;
- u = (e + 268) | 0;
- v = (e + 264) | 0;
- w = e;
- x = (e + 260) | 0;
- y = (e + 256) | 0;
- z = (e + 252) | 0;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] =
- xu(
- ((c[g >> 2] | 0) + 5132) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- if (jr(c[j >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
- c[p >> 2] = 28;
- c[k >> 2] = ju(o, p, q, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (jr(c[k >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- if ((c[q >> 2] | 0) >>> 0 > 8) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- c[r >> 2] =
- iu(
- ((c[g >> 2] | 0) + 2052) | 0,
- o,
- c[p >> 2] | 0,
- c[q >> 2] | 0
- ) | 0;
- if (jr(c[r >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
- c[t >> 2] = 52;
- c[m >> 2] = ju(s, t, u, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (jr(c[m >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- if ((c[u >> 2] | 0) >>> 0 > 9) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- c[v >> 2] =
- iu(
- ((c[g >> 2] | 0) + 3080) | 0,
- s,
- c[t >> 2] | 0,
- c[u >> 2] | 0
- ) | 0;
- if (jr(c[v >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[m >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[m >> 2] | 0);
- c[x >> 2] = 35;
- c[n >> 2] = ju(w, x, y, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (jr(c[n >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- if ((c[y >> 2] | 0) >>> 0 > 9) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- c[z >> 2] =
- iu(c[g >> 2] | 0, w, c[x >> 2] | 0, c[y >> 2] | 0) | 0;
- if (jr(c[z >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- } else {
- c[((c[g >> 2] | 0) + 21568) >> 2] = 1;
- c[f >> 2] =
- (c[j >> 2] | 0) +
- (c[k >> 2] | 0) +
- (c[m >> 2] | 0) +
- (c[n >> 2] | 0);
- A = c[f >> 2] | 0;
- l = e;
- return A | 0;
- }
- return 0;
- }
- function Su(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = dw(c[g >> 2] | 0) | 0;
- if (mr(c[j >> 2] | 0) | 0) {
- c[f >> 2] = c[j >> 2];
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- if (
- ((c[h >> 2] | 0) != 0) & ((c[i >> 2] | 0) != 0)
- ? ((c[j >> 2] =
- ew(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0),
- mr(c[j >> 2] | 0) | 0)
- : 0
- ) {
- c[f >> 2] = -30;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- c[f >> 2] = 0;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- function Tu(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- if (
- (c[f >> 2] | 0) ==
- (c[((c[e >> 2] | 0) + 26640) >> 2] | 0)
- ) {
- l = d;
- return;
- }
- c[((c[e >> 2] | 0) + 26652) >> 2] =
- c[((c[e >> 2] | 0) + 26640) >> 2];
- c[((c[e >> 2] | 0) + 26648) >> 2] =
- (c[f >> 2] | 0) +
- (0 -
- ((c[((c[e >> 2] | 0) + 26640) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 26644) >> 2] | 0)));
- c[((c[e >> 2] | 0) + 26644) >> 2] = c[f >> 2];
- c[((c[e >> 2] | 0) + 26640) >> 2] = c[f >> 2];
- l = d;
- return;
- }
- function Uu(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 68) | 0;
- i = (g + 64) | 0;
- j = (g + 60) | 0;
- k = (g + 56) | 0;
- m = (g + 52) | 0;
- n = (g + 48) | 0;
- o = (g + 44) | 0;
- p = (g + 40) | 0;
- q = (g + 36) | 0;
- r = (g + 32) | 0;
- s = (g + 28) | 0;
- t = (g + 24) | 0;
- u = (g + 16) | 0;
- v = (g + 8) | 0;
- w = (g + 4) | 0;
- x = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] = (c[o >> 2] | 0) + (c[n >> 2] | 0);
- c[q >> 2] = c[j >> 2];
- c[r >> 2] = c[q >> 2];
- c[s >> 2] = (c[q >> 2] | 0) + (c[k >> 2] | 0);
- c[t >> 2] = c[n >> 2];
- if ((c[n >> 2] | 0) >>> 0 < 8) {
- c[h >> 2] = -72;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- c[v >> 2] = Vu(c[i >> 2] | 0, c[m >> 2] | 0, 5) | 0;
- if (mr(c[v >> 2] | 0) | 0) {
- c[h >> 2] = c[v >> 2];
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- if (
- (c[n >> 2] | 0) >>> 0 <
- (((c[v >> 2] | 0) + 3) | 0) >>> 0
- ) {
- c[h >> 2] = -72;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- c[o >> 2] = (c[o >> 2] | 0) + (c[v >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) - (c[v >> 2] | 0);
- c[v >> 2] =
- Wu(c[i >> 2] | 0, c[m >> 2] | 0, c[v >> 2] | 0) | 0;
- if (mr(c[v >> 2] | 0) | 0) {
- c[h >> 2] = c[v >> 2];
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- a: while (1) {
- c[w >> 2] = 0;
- c[x >> 2] =
- lr(
- c[o >> 2] | 0,
- ((c[p >> 2] | 0) - (c[o >> 2] | 0)) | 0,
- u
- ) | 0;
- if (mr(c[x >> 2] | 0) | 0) {
- z = 11;
- break;
- }
- c[o >> 2] = (c[o >> 2] | 0) + 3;
- c[t >> 2] = (c[t >> 2] | 0) - 3;
- if ((c[x >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
- z = 13;
- break;
- }
- switch (c[u >> 2] | 0) {
- case 2: {
- z = 17;
- break a;
- break;
- }
- case 0: {
- c[w >> 2] =
- Xu(
- c[i >> 2] | 0,
- c[r >> 2] | 0,
- ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
- c[o >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[w >> 2] =
- Yu(
- c[r >> 2] | 0,
- ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
- c[o >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- break;
- }
- case 3: {
- if (c[t >> 2] | 0) {
- z = 19;
- break a;
- }
- break;
- }
- default: {
- z = 20;
- break a;
- }
- }
- if (!(c[x >> 2] | 0)) {
- z = 25;
- break;
- }
- v = (mr(c[w >> 2] | 0) | 0) != 0;
- A = c[w >> 2] | 0;
- if (v) {
- z = 23;
- break;
- }
- c[r >> 2] = (c[r >> 2] | 0) + A;
- c[o >> 2] = (c[o >> 2] | 0) + (c[x >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- }
- if ((z | 0) == 11) {
- c[h >> 2] = c[x >> 2];
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 13) {
- c[h >> 2] = -72;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 17) {
- c[h >> 2] = -1;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 19) {
- c[h >> 2] = -72;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 20) {
- c[h >> 2] = -1;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 23) {
- c[h >> 2] = A;
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- } else if ((z | 0) == 25) {
- c[h >> 2] = (c[r >> 2] | 0) - (c[q >> 2] | 0);
- y = c[h >> 2] | 0;
- l = g;
- return y | 0;
- }
- return 0;
- }
- function Vu(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if ((c[i >> 2] | 0) != 5) {
- c[f >> 2] = -72;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- c[j >> 2] = Wq(c[h >> 2] | 0) | 0;
- if ((c[j >> 2] | 0) != -47205083) {
- c[f >> 2] = -10;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- } else {
- c[((c[g >> 2] | 0) + 26660) >> 2] = 5;
- c[f >> 2] = c[((c[g >> 2] | 0) + 26660) >> 2];
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- return 0;
- }
- function Wu(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if (
- (c[i >> 2] | 0) !=
- (c[((c[g >> 2] | 0) + 26660) >> 2] | 0)
- ) {
- c[f >> 2] = -72;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- c[j >> 2] =
- yq(
- ((c[g >> 2] | 0) + 26664) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- if (
- kv() | 0
- ? (c[((c[g >> 2] | 0) + 26664 + 8) >> 2] | 0) >>> 0 > 25
- : 0
- ) {
- c[f >> 2] = -14;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- c[f >> 2] = c[j >> 2];
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- function Xu(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- if ((c[n >> 2] | 0) >>> 0 >= 131072) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- c[p >> 2] =
- Zu(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- m = (mr(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (m) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + f;
- c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- _u(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function Yu(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- c[g >> 2] = -70;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else {
- mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- c[g >> 2] = c[k >> 2];
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function Zu(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 64) | 0;
- i = (g + 60) | 0;
- j = (g + 56) | 0;
- k = (g + 52) | 0;
- m = (g + 48) | 0;
- n = (g + 44) | 0;
- o = (g + 40) | 0;
- p = (g + 36) | 0;
- q = (g + 32) | 0;
- r = (g + 28) | 0;
- s = (g + 24) | 0;
- t = (g + 20) | 0;
- u = (g + 16) | 0;
- v = (g + 12) | 0;
- w = (g + 8) | 0;
- x = (g + 4) | 0;
- y = g;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[j >> 2];
- if ((c[k >> 2] | 0) >>> 0 < 3) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- switch (((d[c[m >> 2] >> 0] | 0) >> 6) | 0) {
- case 0: {
- c[p >> 2] = 0;
- c[q >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- if ((c[k >> 2] | 0) >>> 0 < 5) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- switch (c[q >> 2] | 0) {
- case 3: {
- c[q >> 2] = 5;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 14) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 6) +
- ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 2);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 3) << 16) +
- ((d[((c[m >> 2] | 0) + 3) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 4) >> 0] | 0);
- break;
- }
- case 2: {
- c[q >> 2] = 4;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 10) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 2) +
- ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 6);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 63) << 8) +
- (d[((c[m >> 2] | 0) + 3) >> 0] | 0);
- break;
- }
- default: {
- c[q >> 2] = 3;
- c[p >> 2] = (d[c[m >> 2] >> 0] | 0) & 16;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- }
- }
- if ((c[n >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (
- (((c[o >> 2] | 0) + (c[q >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- j = ((c[i >> 2] | 0) + 26724) | 0;
- f = c[n >> 2] | 0;
- e = ((c[m >> 2] | 0) + (c[q >> 2] | 0)) | 0;
- b = c[o >> 2] | 0;
- if (c[p >> 2] | 0) A = Av(j, f, e, b) | 0;
- else A = Bv(j, f, e, b) | 0;
- if (Cv(A) | 0) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- c[((c[i >> 2] | 0) + 26716) >> 2] =
- (c[i >> 2] | 0) + 26724;
- c[((c[i >> 2] | 0) + 26720) >> 2] = c[n >> 2];
- n =
- ((c[i >> 2] | 0) +
- 26724 +
- (c[((c[i >> 2] | 0) + 26720) >> 2] | 0)) |
- 0;
- a[n >> 0] = 0;
- a[(n + 1) >> 0] = 0;
- a[(n + 2) >> 0] = 0;
- a[(n + 3) >> 0] = 0;
- a[(n + 4) >> 0] = 0;
- a[(n + 5) >> 0] = 0;
- a[(n + 6) >> 0] = 0;
- a[(n + 7) >> 0] = 0;
- c[h >> 2] = (c[o >> 2] | 0) + (c[q >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 1: {
- c[u >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- if ((c[u >> 2] | 0) != 1) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (!(c[((c[i >> 2] | 0) + 26712) >> 2] | 0)) {
- c[h >> 2] = -30;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- c[u >> 2] = 3;
- c[s >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
- c[t >> 2] =
- (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- if (
- (((c[t >> 2] | 0) + (c[u >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- c[r >> 2] =
- Dv(
- ((c[i >> 2] | 0) + 26724) | 0,
- c[s >> 2] | 0,
- ((c[m >> 2] | 0) + (c[u >> 2] | 0)) | 0,
- c[t >> 2] | 0,
- ((c[i >> 2] | 0) + 10252) | 0
- ) | 0;
- if (Cv(c[r >> 2] | 0) | 0) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- c[((c[i >> 2] | 0) + 26716) >> 2] =
- (c[i >> 2] | 0) + 26724;
- c[((c[i >> 2] | 0) + 26720) >> 2] = c[s >> 2];
- s =
- ((c[i >> 2] | 0) +
- 26724 +
- (c[((c[i >> 2] | 0) + 26720) >> 2] | 0)) |
- 0;
- a[s >> 0] = 0;
- a[(s + 1) >> 0] = 0;
- a[(s + 2) >> 0] = 0;
- a[(s + 3) >> 0] = 0;
- a[(s + 4) >> 0] = 0;
- a[(s + 5) >> 0] = 0;
- a[(s + 6) >> 0] = 0;
- a[(s + 7) >> 0] = 0;
- c[h >> 2] = (c[t >> 2] | 0) + (c[u >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 2: {
- c[w >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- switch (c[w >> 2] | 0) {
- case 3: {
- c[v >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- break;
- }
- case 2: {
- c[v >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
- (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
- break;
- }
- default: {
- c[w >> 2] = 1;
- c[v >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
- }
- }
- if (
- (((c[w >> 2] | 0) + (c[v >> 2] | 0) + 8) | 0) >>> 0 <=
- (c[k >> 2] | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 26716) >> 2] =
- (c[m >> 2] | 0) + (c[w >> 2] | 0);
- c[((c[i >> 2] | 0) + 26720) >> 2] = c[v >> 2];
- c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (
- (((c[v >> 2] | 0) + (c[w >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- mE(
- ((c[i >> 2] | 0) + 26724) | 0,
- ((c[m >> 2] | 0) + (c[w >> 2] | 0)) | 0,
- c[v >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 26716) >> 2] =
- (c[i >> 2] | 0) + 26724;
- c[((c[i >> 2] | 0) + 26720) >> 2] = c[v >> 2];
- u =
- ((c[i >> 2] | 0) +
- 26724 +
- (c[((c[i >> 2] | 0) + 26720) >> 2] | 0)) |
- 0;
- a[u >> 0] = 0;
- a[(u + 1) >> 0] = 0;
- a[(u + 2) >> 0] = 0;
- a[(u + 3) >> 0] = 0;
- a[(u + 4) >> 0] = 0;
- a[(u + 5) >> 0] = 0;
- a[(u + 6) >> 0] = 0;
- a[(u + 7) >> 0] = 0;
- c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 3: {
- c[y >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- switch (c[y >> 2] | 0) {
- case 3: {
- c[x >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- if ((c[k >> 2] | 0) >>> 0 < 4) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 2: {
- c[x >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
- (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
- break;
- }
- default: {
- c[y >> 2] = 1;
- c[x >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
- }
- }
- if ((c[x >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- oE(
- ((c[i >> 2] | 0) + 26724) | 0,
- ((d[((c[m >> 2] | 0) + (c[y >> 2] | 0)) >> 0] | 0) &
- 255) |
- 0,
- ((c[x >> 2] | 0) + 8) | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 26716) >> 2] =
- (c[i >> 2] | 0) + 26724;
- c[((c[i >> 2] | 0) + 26720) >> 2] = c[x >> 2];
- c[h >> 2] = (c[y >> 2] | 0) + 1;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- default: {
- }
- }
- return 0;
- }
- function _u(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0;
- g = l;
- l = (l + 176) | 0;
- h = (g + 164) | 0;
- i = (g + 160) | 0;
- j = (g + 156) | 0;
- k = (g + 152) | 0;
- m = (g + 148) | 0;
- n = (g + 144) | 0;
- o = (g + 140) | 0;
- p = (g + 136) | 0;
- q = (g + 132) | 0;
- r = (g + 128) | 0;
- s = (g + 124) | 0;
- t = (g + 120) | 0;
- u = (g + 116) | 0;
- v = (g + 112) | 0;
- w = (g + 108) | 0;
- x = (g + 104) | 0;
- y = (g + 100) | 0;
- z = (g + 96) | 0;
- A = (g + 92) | 0;
- B = (g + 88) | 0;
- C = (g + 84) | 0;
- D = (g + 80) | 0;
- E = (g + 76) | 0;
- F = (g + 72) | 0;
- G = (g + 60) | 0;
- H = (g + 8) | 0;
- I = (g + 4) | 0;
- J = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[w >> 2] = c[((c[j >> 2] | 0) + 26716) >> 2];
- c[x >> 2] =
- (c[w >> 2] | 0) + (c[((c[j >> 2] | 0) + 26720) >> 2] | 0);
- c[A >> 2] = c[j >> 2];
- c[B >> 2] = (c[j >> 2] | 0) + 6152;
- c[C >> 2] = (c[j >> 2] | 0) + 4100;
- c[D >> 2] = c[((c[j >> 2] | 0) + 26644) >> 2];
- c[E >> 2] = c[((c[j >> 2] | 0) + 26648) >> 2];
- c[F >> 2] = c[((c[j >> 2] | 0) + 26652) >> 2];
- c[u >> 2] =
- $u(
- y,
- z,
- v,
- c[A >> 2] | 0,
- c[B >> 2] | 0,
- c[C >> 2] | 0,
- c[p >> 2] | 0,
- c[o >> 2] | 0,
- c[((c[j >> 2] | 0) + 26712) >> 2] | 0
- ) | 0;
- j = (mr(c[u >> 2] | 0) | 0) != 0;
- o = c[u >> 2] | 0;
- if (j) {
- c[i >> 2] = o;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- c[p >> 2] = (c[p >> 2] | 0) + o;
- if (c[y >> 2] | 0) {
- c[G >> 2] = 0;
- c[(G + 4) >> 2] = 0;
- c[(G + 8) >> 2] = 0;
- c[(G + 8) >> 2] = 1;
- c[(H + 44) >> 2] = c[z >> 2];
- c[(H + 48) >> 2] = (c[z >> 2] | 0) + (c[v >> 2] | 0);
- c[(H + 40) >> 2] = 1;
- c[u >> 2] =
- av(
- H,
- c[p >> 2] | 0,
- ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
- ) | 0;
- if (nr(c[u >> 2] | 0) | 0) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- bv((H + 16) | 0, H, c[A >> 2] | 0);
- bv((H + 24) | 0, H, c[C >> 2] | 0);
- bv((H + 32) | 0, H, c[B >> 2] | 0);
- while (1) {
- B = (cv(H) | 0) >>> 0 <= 2;
- L = c[y >> 2] | 0;
- if (!(B ? (c[y >> 2] | 0) != 0 : 0)) break;
- c[y >> 2] = L + -1;
- dv(G, H);
- B = c[s >> 2] | 0;
- C = c[t >> 2] | 0;
- A = c[x >> 2] | 0;
- u = c[D >> 2] | 0;
- p = c[E >> 2] | 0;
- q = c[F >> 2] | 0;
- c[h >> 2] = c[G >> 2];
- c[(h + 4) >> 2] = c[(G + 4) >> 2];
- c[(h + 8) >> 2] = c[(G + 8) >> 2];
- c[I >> 2] = ev(B, C, h, w, A, u, p, q) | 0;
- q = (mr(c[I >> 2] | 0) | 0) != 0;
- M = c[I >> 2] | 0;
- if (q) {
- N = 9;
- break;
- }
- c[s >> 2] = (c[s >> 2] | 0) + M;
- }
- if ((N | 0) == 9) {
- c[i >> 2] = M;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- if (L | 0) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- }
- c[J >> 2] = (c[x >> 2] | 0) - (c[w >> 2] | 0);
- if ((c[w >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- if (
- (((c[s >> 2] | 0) + (c[J >> 2] | 0)) | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[i >> 2] = -70;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- } else {
- mE(c[s >> 2] | 0, c[w >> 2] | 0, c[J >> 2] | 0) | 0;
- c[s >> 2] = (c[s >> 2] | 0) + (c[J >> 2] | 0);
- c[i >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- return 0;
- }
- function $u(b, e, f, g, h, i, j, k, m) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0;
- n = l;
- l = (l + 352) | 0;
- o = (n + 348) | 0;
- p = (n + 344) | 0;
- q = (n + 340) | 0;
- r = (n + 336) | 0;
- s = (n + 332) | 0;
- t = (n + 328) | 0;
- u = (n + 324) | 0;
- v = (n + 320) | 0;
- w = (n + 316) | 0;
- x = (n + 312) | 0;
- y = (n + 308) | 0;
- z = (n + 304) | 0;
- A = (n + 300) | 0;
- B = (n + 296) | 0;
- C = (n + 292) | 0;
- D = (n + 288) | 0;
- E = (n + 284) | 0;
- F = (n + 280) | 0;
- G = (n + 276) | 0;
- H = (n + 272) | 0;
- I = n;
- J = (n + 268) | 0;
- K = (n + 264) | 0;
- L = (n + 260) | 0;
- M = (n + 256) | 0;
- c[p >> 2] = b;
- c[q >> 2] = e;
- c[r >> 2] = f;
- c[s >> 2] = g;
- c[t >> 2] = h;
- c[u >> 2] = i;
- c[v >> 2] = j;
- c[w >> 2] = k;
- c[x >> 2] = m;
- c[y >> 2] = c[v >> 2];
- c[z >> 2] = c[y >> 2];
- c[A >> 2] = (c[y >> 2] | 0) + (c[w >> 2] | 0);
- if ((c[w >> 2] | 0) >>> 0 < 1) {
- c[o >> 2] = -72;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- w = c[z >> 2] | 0;
- c[z >> 2] = w + 1;
- c[c[p >> 2] >> 2] = d[w >> 0];
- if (!(c[c[p >> 2] >> 2] | 0)) {
- c[o >> 2] = 1;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- do {
- if ((c[c[p >> 2] >> 2] | 0) >= 128) {
- if ((c[z >> 2] | 0) >>> 0 < (c[A >> 2] | 0) >>> 0) {
- w = ((c[c[p >> 2] >> 2] | 0) - 128) << 8;
- v = c[z >> 2] | 0;
- c[z >> 2] = v + 1;
- c[c[p >> 2] >> 2] = w + (d[v >> 0] | 0);
- break;
- }
- c[o >> 2] = -72;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- } while (0);
- if ((c[z >> 2] | 0) >>> 0 >= (c[A >> 2] | 0) >>> 0) {
- c[o >> 2] = -72;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- c[B >> 2] = (d[c[z >> 2] >> 0] | 0) >> 6;
- c[C >> 2] = ((d[c[z >> 2] >> 0] | 0) >> 4) & 3;
- c[D >> 2] = ((d[c[z >> 2] >> 0] | 0) >> 2) & 3;
- p = c[z >> 2] | 0;
- do {
- if (((d[c[z >> 2] >> 0] | 0) & 2) | 0) {
- if (((p + 3) | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0) {
- c[H >> 2] = d[((c[z >> 2] | 0) + 2) >> 0];
- c[H >> 2] =
- (c[H >> 2] | 0) +
- ((d[((c[z >> 2] | 0) + 1) >> 0] | 0) << 8);
- c[z >> 2] = (c[z >> 2] | 0) + 3;
- break;
- }
- c[o >> 2] = -72;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- } else {
- if (((p + 2) | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0) {
- c[H >> 2] = d[((c[z >> 2] | 0) + 1) >> 0];
- c[H >> 2] =
- (c[H >> 2] | 0) +
- (((d[c[z >> 2] >> 0] | 0) & 1) << 8);
- c[z >> 2] = (c[z >> 2] | 0) + 2;
- break;
- }
- c[o >> 2] = -72;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- } while (0);
- c[c[q >> 2] >> 2] = c[z >> 2];
- c[z >> 2] = (c[z >> 2] | 0) + (c[H >> 2] | 0);
- c[c[r >> 2] >> 2] = c[H >> 2];
- if (
- (c[z >> 2] | 0) >>> 0 >
- (((c[A >> 2] | 0) + -3) | 0) >>> 0
- ) {
- c[o >> 2] = -72;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- a: do {
- switch (c[B >> 2] | 0) {
- case 1: {
- c[E >> 2] = 0;
- H = c[s >> 2] | 0;
- r = c[z >> 2] | 0;
- c[z >> 2] = r + 1;
- tv(H, a[r >> 0] | 0) | 0;
- break;
- }
- case 0: {
- c[E >> 2] = 6;
- uv(c[s >> 2] | 0, 6) | 0;
- break;
- }
- case 2: {
- if (!(c[x >> 2] | 0)) {
- c[o >> 2] = -20;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- break;
- }
- default: {
- c[K >> 2] = 63;
- c[J >> 2] =
- vv(
- I,
- K,
- E,
- c[z >> 2] | 0,
- ((c[A >> 2] | 0) - (c[z >> 2] | 0)) | 0
- ) | 0;
- if (wv(c[J >> 2] | 0) | 0) {
- c[o >> 2] = -1;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- if ((c[E >> 2] | 0) >>> 0 <= 10) {
- c[z >> 2] = (c[z >> 2] | 0) + (c[J >> 2] | 0);
- xv(c[s >> 2] | 0, I, c[K >> 2] | 0, c[E >> 2] | 0) |
- 0;
- break a;
- }
- c[o >> 2] = -20;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- }
- } while (0);
- b: do {
- switch (c[C >> 2] | 0) {
- case 1: {
- c[F >> 2] = 0;
- if (
- (c[z >> 2] | 0) >>> 0 <=
- (((c[A >> 2] | 0) + -2) | 0) >>> 0
- ) {
- E = c[u >> 2] | 0;
- K = c[z >> 2] | 0;
- c[z >> 2] = K + 1;
- tv(E, (d[K >> 0] | 0) & 31) | 0;
- break b;
- }
- c[o >> 2] = -72;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- case 0: {
- c[F >> 2] = 5;
- uv(c[u >> 2] | 0, 5) | 0;
- break;
- }
- case 2: {
- if (!(c[x >> 2] | 0)) {
- c[o >> 2] = -20;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- break;
- }
- default: {
- c[L >> 2] = 31;
- c[J >> 2] =
- vv(
- I,
- L,
- F,
- c[z >> 2] | 0,
- ((c[A >> 2] | 0) - (c[z >> 2] | 0)) | 0
- ) | 0;
- if (wv(c[J >> 2] | 0) | 0) {
- c[o >> 2] = -1;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- if ((c[F >> 2] | 0) >>> 0 <= 9) {
- c[z >> 2] = (c[z >> 2] | 0) + (c[J >> 2] | 0);
- xv(c[u >> 2] | 0, I, c[L >> 2] | 0, c[F >> 2] | 0) |
- 0;
- break b;
- }
- c[o >> 2] = -20;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- }
- } while (0);
- c: do {
- switch (c[D >> 2] | 0) {
- case 1: {
- c[G >> 2] = 0;
- if (
- (c[z >> 2] | 0) >>> 0 <=
- (((c[A >> 2] | 0) + -2) | 0) >>> 0
- ) {
- F = c[t >> 2] | 0;
- L = c[z >> 2] | 0;
- c[z >> 2] = L + 1;
- tv(F, a[L >> 0] | 0) | 0;
- break c;
- }
- c[o >> 2] = -72;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- case 0: {
- c[G >> 2] = 7;
- uv(c[t >> 2] | 0, 7) | 0;
- break;
- }
- case 2: {
- if (!(c[x >> 2] | 0)) {
- c[o >> 2] = -20;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- break;
- }
- default: {
- c[M >> 2] = 127;
- c[J >> 2] =
- vv(
- I,
- M,
- G,
- c[z >> 2] | 0,
- ((c[A >> 2] | 0) - (c[z >> 2] | 0)) | 0
- ) | 0;
- if (wv(c[J >> 2] | 0) | 0) {
- c[o >> 2] = -1;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- if ((c[G >> 2] | 0) >>> 0 <= 10) {
- c[z >> 2] = (c[z >> 2] | 0) + (c[J >> 2] | 0);
- xv(c[t >> 2] | 0, I, c[M >> 2] | 0, c[G >> 2] | 0) |
- 0;
- break c;
- }
- c[o >> 2] = -20;
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- }
- } while (0);
- c[o >> 2] = (c[z >> 2] | 0) - (c[y >> 2] | 0);
- N = c[o >> 2] | 0;
- l = n;
- return N | 0;
- }
- function av(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 20) | 0;
- h = (f + 16) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- if ((c[j >> 2] | 0) >>> 0 < 1) {
- e = c[h >> 2] | 0;
- c[e >> 2] = 0;
- c[(e + 4) >> 2] = 0;
- c[(e + 8) >> 2] = 0;
- c[(e + 12) >> 2] = 0;
- c[g >> 2] = -72;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- e = (c[j >> 2] | 0) >>> 0 >= 4;
- c[((c[h >> 2] | 0) + 12) >> 2] = c[i >> 2];
- do {
- if (e) {
- c[((c[h >> 2] | 0) + 8) >> 2] =
- (c[i >> 2] | 0) + (c[j >> 2] | 0) + -4;
- b = ov(c[((c[h >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[h >> 2] >> 2] = b;
- c[k >> 2] =
- d[((c[i >> 2] | 0) + ((c[j >> 2] | 0) - 1)) >> 0];
- if (c[k >> 2] | 0) {
- b = (8 - (sv(c[k >> 2] | 0) | 0)) | 0;
- c[((c[h >> 2] | 0) + 4) >> 2] = b;
- break;
- }
- c[g >> 2] = -1;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- } else {
- c[((c[h >> 2] | 0) + 8) >> 2] =
- c[((c[h >> 2] | 0) + 12) >> 2];
- c[c[h >> 2] >> 2] =
- d[c[((c[h >> 2] | 0) + 12) >> 2] >> 0];
- switch (c[j >> 2] | 0) {
- case 7: {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[
- ((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 6) >> 0
- ] |
- 0) <<
- 16);
- o = 9;
- break;
- }
- case 6: {
- o = 9;
- break;
- }
- case 5: {
- o = 10;
- break;
- }
- case 4: {
- o = 11;
- break;
- }
- case 3: {
- o = 12;
- break;
- }
- case 2: {
- o = 13;
- break;
- }
- default: {
- }
- }
- if ((o | 0) == 9) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 5) >> 0] |
- 0) <<
- 8);
- o = 10;
- }
- if ((o | 0) == 10) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 4) >> 0] |
- 0) <<
- 0);
- o = 11;
- }
- if ((o | 0) == 11) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 3) >> 0] |
- 0) <<
- 24);
- o = 12;
- }
- if ((o | 0) == 12) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 2) >> 0] |
- 0) <<
- 16);
- o = 13;
- }
- if ((o | 0) == 13) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 1) >> 0] |
- 0) <<
- 8);
- }
- c[m >> 2] =
- d[((c[i >> 2] | 0) + ((c[j >> 2] | 0) - 1)) >> 0];
- if (c[m >> 2] | 0) {
- b = (8 - (sv(c[m >> 2] | 0) | 0)) | 0;
- c[((c[h >> 2] | 0) + 4) >> 2] = b;
- b = ((c[h >> 2] | 0) + 4) | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) + ((4 - (c[j >> 2] | 0)) << 3);
- break;
- }
- c[g >> 2] = -1;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- } while (0);
- c[g >> 2] = c[j >> 2];
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- function bv(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = c[i >> 2];
- c[k >> 2] = c[j >> 2];
- j = jv(c[h >> 2] | 0, e[c[k >> 2] >> 1] | 0) | 0;
- c[c[g >> 2] >> 2] = j;
- cv(c[h >> 2] | 0) | 0;
- c[((c[g >> 2] | 0) + 4) >> 2] = (c[i >> 2] | 0) + 4;
- l = f;
- return;
- }
- function cv(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 12) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[e >> 2] = a;
- if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
- c[d >> 2] = 3;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- a = c[e >> 2] | 0;
- if (
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (((c[((c[e >> 2] | 0) + 12) >> 2] | 0) + 4) | 0) >>> 0
- ) {
- i = ((c[e >> 2] | 0) + 8) | 0;
- c[i >> 2] =
- (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
- i = ((c[e >> 2] | 0) + 4) | 0;
- c[i >> 2] = c[i >> 2] & 7;
- i = ov(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = i;
- c[d >> 2] = 0;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
- if (
- (c[(a + 8) >> 2] | 0) !=
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
- ) {
- c[f >> 2] = i >>> 3;
- c[g >> 2] = 0;
- if (
- (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (0 - (c[f >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] =
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
- c[g >> 2] = 1;
- }
- a = ((c[e >> 2] | 0) + 8) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
- a = ((c[e >> 2] | 0) + 4) | 0;
- c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
- f = ov(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = f;
- c[d >> 2] = c[g >> 2];
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- if (i >>> 0 < 32) {
- c[d >> 2] = 1;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- c[d >> 2] = 2;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function dv(a, b) {
- a = a | 0;
- b = b | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0;
- e = l;
- l = (l + 48) | 0;
- f = (e + 44) | 0;
- g = (e + 40) | 0;
- h = (e + 36) | 0;
- i = (e + 32) | 0;
- j = (e + 28) | 0;
- k = (e + 24) | 0;
- m = (e + 20) | 0;
- n = (e + 16) | 0;
- o = (e + 12) | 0;
- p = (e + 8) | 0;
- q = (e + 4) | 0;
- r = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[m >> 2] = c[((c[g >> 2] | 0) + 44) >> 2];
- c[n >> 2] = c[((c[g >> 2] | 0) + 48) >> 2];
- c[h >> 2] = (iv(((c[g >> 2] | 0) + 16) | 0) | 0) & 255;
- if (c[h >> 2] | 0) s = c[((c[f >> 2] | 0) + 8) >> 2] | 0;
- else s = c[((c[g >> 2] | 0) + 40) >> 2] | 0;
- c[i >> 2] = s;
- if ((c[h >> 2] | 0) == 63) {
- s = c[m >> 2] | 0;
- c[m >> 2] = s + 1;
- c[o >> 2] = d[s >> 0];
- do {
- if ((c[o >> 2] | 0) >>> 0 >= 255) {
- c[h >> 2] = (Wq(c[m >> 2] | 0) | 0) & 16777215;
- s = c[h >> 2] | 0;
- if ((c[h >> 2] & 1) | 0) {
- c[h >> 2] = s >>> 1;
- c[m >> 2] = (c[m >> 2] | 0) + 3;
- break;
- } else {
- c[h >> 2] = (s & 65535) >> 1;
- c[m >> 2] = (c[m >> 2] | 0) + 2;
- break;
- }
- } else c[h >> 2] = (c[h >> 2] | 0) + (c[o >> 2] | 0);
- } while (0);
- if ((c[m >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0)
- c[h >> 2] = 318;
- if ((c[m >> 2] | 0) >>> 0 >= (c[n >> 2] | 0) >>> 0)
- c[m >> 2] = (c[n >> 2] | 0) + -1;
- }
- c[p >> 2] = (iv(((c[g >> 2] | 0) + 24) | 0) | 0) & 255;
- o = ((c[p >> 2] | 0) - 1) | 0;
- c[q >> 2] = o;
- c[q >> 2] = (c[p >> 2] | 0) == 0 ? 0 : o;
- o = c[(6880 + (c[p >> 2] << 2)) >> 2] | 0;
- c[j >> 2] = o + (jv(c[g >> 2] | 0, c[q >> 2] | 0) | 0);
- if (kv() | 0) cv(c[g >> 2] | 0) | 0;
- if (!(c[p >> 2] | 0)) c[j >> 2] = c[i >> 2];
- if (c[p >> 2] | ((((c[h >> 2] | 0) != 0) ^ 1) & 1) | 0)
- c[((c[g >> 2] | 0) + 40) >> 2] =
- c[((c[f >> 2] | 0) + 8) >> 2];
- lv(((c[g >> 2] | 0) + 24) | 0, c[g >> 2] | 0) | 0;
- lv(((c[g >> 2] | 0) + 16) | 0, c[g >> 2] | 0) | 0;
- if (kv() | 0) cv(c[g >> 2] | 0) | 0;
- c[k >> 2] =
- (lv(((c[g >> 2] | 0) + 32) | 0, c[g >> 2] | 0) | 0) & 255;
- if ((c[k >> 2] | 0) != 127) {
- t = c[k >> 2] | 0;
- u = (t + 4) | 0;
- c[k >> 2] = u;
- v = c[h >> 2] | 0;
- w = c[f >> 2] | 0;
- c[w >> 2] = v;
- x = c[j >> 2] | 0;
- y = c[f >> 2] | 0;
- z = (y + 8) | 0;
- c[z >> 2] = x;
- A = c[k >> 2] | 0;
- B = c[f >> 2] | 0;
- C = (B + 4) | 0;
- c[C >> 2] = A;
- D = c[m >> 2] | 0;
- E = c[g >> 2] | 0;
- F = (E + 44) | 0;
- c[F >> 2] = D;
- l = e;
- return;
- }
- p = c[m >> 2] | 0;
- c[m >> 2] = p + 1;
- c[r >> 2] = d[p >> 0];
- do {
- if ((c[r >> 2] | 0) >>> 0 >= 255) {
- c[k >> 2] = (Wq(c[m >> 2] | 0) | 0) & 16777215;
- p = c[k >> 2] | 0;
- if ((c[k >> 2] & 1) | 0) {
- c[k >> 2] = p >>> 1;
- c[m >> 2] = (c[m >> 2] | 0) + 3;
- break;
- } else {
- c[k >> 2] = (p & 65535) >> 1;
- c[m >> 2] = (c[m >> 2] | 0) + 2;
- break;
- }
- } else c[k >> 2] = (c[k >> 2] | 0) + (c[r >> 2] | 0);
- } while (0);
- if ((c[m >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0)
- c[k >> 2] = 382;
- if ((c[m >> 2] | 0) >>> 0 < (c[n >> 2] | 0) >>> 0) {
- t = c[k >> 2] | 0;
- u = (t + 4) | 0;
- c[k >> 2] = u;
- v = c[h >> 2] | 0;
- w = c[f >> 2] | 0;
- c[w >> 2] = v;
- x = c[j >> 2] | 0;
- y = c[f >> 2] | 0;
- z = (y + 8) | 0;
- c[z >> 2] = x;
- A = c[k >> 2] | 0;
- B = c[f >> 2] | 0;
- C = (B + 4) | 0;
- c[C >> 2] = A;
- D = c[m >> 2] | 0;
- E = c[g >> 2] | 0;
- F = (E + 44) | 0;
- c[F >> 2] = D;
- l = e;
- return;
- }
- c[m >> 2] = (c[n >> 2] | 0) + -1;
- t = c[k >> 2] | 0;
- u = (t + 4) | 0;
- c[k >> 2] = u;
- v = c[h >> 2] | 0;
- w = c[f >> 2] | 0;
- c[w >> 2] = v;
- x = c[j >> 2] | 0;
- y = c[f >> 2] | 0;
- z = (y + 8) | 0;
- c[z >> 2] = x;
- A = c[k >> 2] | 0;
- B = c[f >> 2] | 0;
- C = (B + 4) | 0;
- c[C >> 2] = A;
- D = c[m >> 2] | 0;
- E = c[g >> 2] | 0;
- F = (E + 44) | 0;
- c[F >> 2] = D;
- l = e;
- return;
- }
- function ev(b, d, e, f, g, h, i, j) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- k = l;
- l = (l + 64) | 0;
- m = (k + 60) | 0;
- n = (k + 56) | 0;
- o = (k + 52) | 0;
- p = (k + 48) | 0;
- q = (k + 44) | 0;
- r = (k + 40) | 0;
- s = (k + 36) | 0;
- t = (k + 32) | 0;
- u = (k + 28) | 0;
- v = (k + 24) | 0;
- w = (k + 20) | 0;
- x = (k + 16) | 0;
- y = (k + 12) | 0;
- z = (k + 8) | 0;
- A = (k + 4) | 0;
- B = k;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
- c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0);
- c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
- c[x >> 2] = (c[o >> 2] | 0) + -8;
- c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
- c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 8) >> 2] | 0));
- if ((c[u >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
- c[m >> 2] = -70;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- if ((c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -70;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- fv(c[n >> 2] | 0, c[c[p >> 2] >> 2] | 0, c[e >> 2] | 0);
- c[n >> 2] = c[u >> 2];
- c[c[p >> 2] >> 2] = c[y >> 2];
- do {
- if (
- (c[(e + 8) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(e + 8) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
- ) {
- c[m >> 2] = -20;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- c[z >> 2] =
- (c[t >> 2] | 0) +
- (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
- if (
- (((c[z >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 <=
- (c[t >> 2] | 0) >>> 0
- ) {
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 4) >> 2] | 0) |
- 0;
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
- c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
- y = (e + 4) | 0;
- c[y >> 2] = (c[y >> 2] | 0) - (c[A >> 2] | 0);
- c[z >> 2] = c[r >> 2];
- if (
- (c[n >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0
- ? (c[(e + 4) >> 2] | 0) >>> 0 >= 4
- : 0
- )
- break;
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break;
- y = c[z >> 2] | 0;
- c[z >> 2] = y + 1;
- p = a[y >> 0] | 0;
- y = c[n >> 2] | 0;
- c[n >> 2] = y + 1;
- a[y >> 0] = p;
- }
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- } while (0);
- if ((c[(e + 8) >> 2] | 0) >>> 0 < 8) {
- c[B >> 2] = c[(6816 + (c[(e + 8) >> 2] << 2)) >> 2];
- a[c[n >> 2] >> 0] = a[c[z >> 2] >> 0] | 0;
- a[((c[n >> 2] | 0) + 1) >> 0] =
- a[((c[z >> 2] | 0) + 1) >> 0] | 0;
- a[((c[n >> 2] | 0) + 2) >> 0] =
- a[((c[z >> 2] | 0) + 2) >> 0] | 0;
- a[((c[n >> 2] | 0) + 3) >> 0] =
- a[((c[z >> 2] | 0) + 3) >> 0] | 0;
- c[z >> 2] =
- (c[z >> 2] | 0) +
- (c[(6848 + (c[(e + 8) >> 2] << 2)) >> 2] | 0);
- gv(((c[n >> 2] | 0) + 4) | 0, c[z >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + (0 - (c[B >> 2] | 0));
- } else hv(c[n >> 2] | 0, c[z >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) + 8;
- c[z >> 2] = (c[z >> 2] | 0) + 8;
- B = c[n >> 2] | 0;
- a: do {
- if (
- (c[w >> 2] | 0) >>> 0 >
- (((c[o >> 2] | 0) + -12) | 0) >>> 0
- ) {
- if (B >>> 0 < (c[x >> 2] | 0) >>> 0) {
- fv(
- c[n >> 2] | 0,
- c[z >> 2] | 0,
- ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
- );
- c[z >> 2] =
- (c[z >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
- c[n >> 2] = c[x >> 2];
- }
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- r = c[z >> 2] | 0;
- c[z >> 2] = r + 1;
- A = a[r >> 0] | 0;
- r = c[n >> 2] | 0;
- c[n >> 2] = r + 1;
- a[r >> 0] = A;
- }
- } else
- fv(B, c[z >> 2] | 0, ((c[(e + 4) >> 2] | 0) - 8) | 0);
- } while (0);
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- function fv(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- hv(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function gv(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- l = e;
- return;
- }
- function hv(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function iv(d) {
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 4) | 0;
- c[f >> 2] = d;
- d =
- ((c[((c[f >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[f >> 2] >> 2] << 2)) |
- 0;
- b[g >> 1] = b[d >> 1] | 0;
- b[(g + 2) >> 1] = b[(d + 2) >> 1] | 0;
- l = e;
- return a[(g + 2) >> 0] | 0;
- }
- function jv(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = mv(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- nv(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function kv() {
- return 1;
- }
- function lv(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = jv(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function mv(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- (((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- 1) >>>
- ((31 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function nv(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ((c[e >> 2] | 0) + 4) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
- l = d;
- return;
- }
- function ov(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (kv() | 0) != 0;
- f = c[e >> 2] | 0;
- if (a) {
- c[d >> 2] = Wq(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- a = pv(f) | 0;
- c[d >> 2] = a;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function pv(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (Xq() | 0) != 0;
- f = qv(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = rv(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function qv(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- e = a;
- f = (a + 4) | 0;
- y =
- d[f >> 0] |
- (d[(f + 1) >> 0] << 8) |
- (d[(f + 2) >> 0] << 16) |
- (d[(f + 3) >> 0] << 24);
- l = b;
- return (
- d[e >> 0] |
- (d[(e + 1) >> 0] << 8) |
- (d[(e + 2) >> 0] << 16) |
- (d[(e + 3) >> 0] << 24) |
- 0
- );
- }
- function rv(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function sv(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function tv(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 20) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = d;
- a[h >> 0] = e;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[i >> 2];
- c[k >> 2] = (c[g >> 2] | 0) + 4;
- c[m >> 2] = c[k >> 2];
- b[c[j >> 2] >> 1] = 0;
- b[((c[j >> 2] | 0) + 2) >> 1] = 0;
- b[c[m >> 2] >> 1] = 0;
- a[((c[m >> 2] | 0) + 2) >> 0] = a[h >> 0] | 0;
- a[((c[m >> 2] | 0) + 3) >> 0] = 0;
- l = f;
- return 0;
- }
- function uv(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 40) | 0;
- h = (f + 36) | 0;
- i = (f + 32) | 0;
- j = (f + 28) | 0;
- k = (f + 24) | 0;
- m = (f + 20) | 0;
- n = (f + 16) | 0;
- o = (f + 12) | 0;
- p = (f + 8) | 0;
- q = (f + 4) | 0;
- r = f;
- c[h >> 2] = d;
- c[i >> 2] = e;
- c[j >> 2] = c[h >> 2];
- c[k >> 2] = c[j >> 2];
- c[m >> 2] = (c[h >> 2] | 0) + 4;
- c[n >> 2] = c[m >> 2];
- c[o >> 2] = 1 << c[i >> 2];
- c[p >> 2] = (c[o >> 2] | 0) - 1;
- c[q >> 2] = c[p >> 2];
- if ((c[i >> 2] | 0) >>> 0 < 1) {
- c[g >> 2] = -1;
- s = c[g >> 2] | 0;
- l = f;
- return s | 0;
- }
- b[c[k >> 2] >> 1] = c[i >> 2];
- b[((c[k >> 2] | 0) + 2) >> 1] = 1;
- c[r >> 2] = 0;
- while (1) {
- if ((c[r >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
- b[((c[n >> 2] | 0) + (c[r >> 2] << 2)) >> 1] = 0;
- a[((c[n >> 2] | 0) + (c[r >> 2] << 2) + 2) >> 0] =
- c[r >> 2];
- a[((c[n >> 2] | 0) + (c[r >> 2] << 2) + 3) >> 0] =
- c[i >> 2];
- c[r >> 2] = (c[r >> 2] | 0) + 1;
- }
- c[g >> 2] = 0;
- s = c[g >> 2] | 0;
- l = f;
- return s | 0;
- }
- function vv(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 64) | 0;
- j = (h + 60) | 0;
- k = (h + 56) | 0;
- m = (h + 52) | 0;
- n = (h + 48) | 0;
- o = (h + 44) | 0;
- p = (h + 40) | 0;
- q = (h + 36) | 0;
- r = (h + 32) | 0;
- s = (h + 28) | 0;
- t = (h + 24) | 0;
- u = (h + 20) | 0;
- v = (h + 16) | 0;
- w = (h + 12) | 0;
- x = (h + 8) | 0;
- y = (h + 4) | 0;
- z = h;
- A = (h + 70) | 0;
- B = (h + 68) | 0;
- c[j >> 2] = a;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[p >> 2];
- c[x >> 2] = 0;
- c[y >> 2] = 0;
- if ((c[o >> 2] | 0) >>> 0 < 4) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = Wq(c[r >> 2] | 0) | 0;
- c[s >> 2] = (c[v >> 2] & 15) + 5;
- if ((c[s >> 2] | 0) > 15) {
- c[i >> 2] = -44;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) >>> 4;
- c[w >> 2] = 4;
- c[c[m >> 2] >> 2] = c[s >> 2];
- c[t >> 2] = (1 << c[s >> 2]) + 1;
- c[u >> 2] = 1 << c[s >> 2];
- c[s >> 2] = (c[s >> 2] | 0) + 1;
- a: while (1) {
- if ((c[t >> 2] | 0) <= 1) break;
- if ((c[x >> 2] | 0) >>> 0 > (c[c[k >> 2] >> 2] | 0) >>> 0)
- break;
- do {
- if (c[y >> 2] | 0) {
- c[z >> 2] = c[x >> 2];
- while (1) {
- if (((c[v >> 2] & 65535) | 0) != 65535) break;
- c[z >> 2] = (c[z >> 2] | 0) + 24;
- if (
- (c[r >> 2] | 0) >>> 0 <
- (((c[q >> 2] | 0) + -5) | 0) >>> 0
- ) {
- c[r >> 2] = (c[r >> 2] | 0) + 2;
- m = Wq(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] | 0);
- } else {
- c[v >> 2] = (c[v >> 2] | 0) >>> 16;
- c[w >> 2] = (c[w >> 2] | 0) + 16;
- }
- }
- while (1) {
- if (((c[v >> 2] & 3) | 0) != 3) break;
- c[z >> 2] = (c[z >> 2] | 0) + 3;
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- }
- c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- if (
- (c[z >> 2] | 0) >>> 0 >
- (c[c[k >> 2] >> 2] | 0) >>> 0
- ) {
- D = 19;
- break a;
- }
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
- break;
- m = c[j >> 2] | 0;
- n = c[x >> 2] | 0;
- c[x >> 2] = n + 1;
- b[(m + (n << 1)) >> 1] = 0;
- }
- if (
- (c[r >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- break;
- }
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- n = Wq(c[r >> 2] | 0) | 0;
- c[v >> 2] = n >>> (c[w >> 2] | 0);
- }
- } while (0);
- b[A >> 1] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
- n = c[v >> 2] | 0;
- m = c[u >> 2] | 0;
- if (
- (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
- (b[A >> 1] | 0) >>> 0
- ) {
- b[B >> 1] = n & (m - 1);
- c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
- } else {
- b[B >> 1] = n & ((m << 1) - 1);
- if ((b[B >> 1] | 0) >= (c[u >> 2] | 0))
- b[B >> 1] = (b[B >> 1] | 0) - (b[A >> 1] | 0);
- c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
- }
- b[B >> 1] = (((b[B >> 1] | 0) + -1) << 16) >> 16;
- m = ((zv(b[B >> 1] | 0) | 0) << 16) >> 16;
- c[t >> 2] = (c[t >> 2] | 0) - m;
- m = b[B >> 1] | 0;
- n = c[j >> 2] | 0;
- g = c[x >> 2] | 0;
- c[x >> 2] = g + 1;
- b[(n + (g << 1)) >> 1] = m;
- c[y >> 2] = (((b[B >> 1] | 0) != 0) ^ 1) & 1;
- while (1) {
- if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
- c[s >> 2] = (c[s >> 2] | 0) + -1;
- c[u >> 2] = c[u >> 2] >> 1;
- }
- if (
- (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[w >> 2] =
- (c[w >> 2] | 0) -
- (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
- c[r >> 2] = (c[q >> 2] | 0) + -4;
- } else {
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- }
- m = Wq(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] & 31);
- }
- if ((D | 0) == 19) {
- c[i >> 2] = -48;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- if ((c[t >> 2] | 0) != 1) {
- c[i >> 2] = -1;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
- c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
- if (
- (((c[r >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 >
- (c[o >> 2] | 0) >>> 0
- ) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- } else {
- c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- return 0;
- }
- function wv(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = nr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function xv(f, g, h, i) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0;
- j = l;
- l = (l + 592) | 0;
- k = (j + 572) | 0;
- m = (j + 568) | 0;
- n = (j + 564) | 0;
- o = (j + 560) | 0;
- p = (j + 556) | 0;
- q = (j + 580) | 0;
- r = (j + 552) | 0;
- s = (j + 548) | 0;
- t = (j + 544) | 0;
- u = (j + 540) | 0;
- v = (j + 536) | 0;
- w = j;
- x = (j + 532) | 0;
- y = (j + 528) | 0;
- z = (j + 578) | 0;
- A = (j + 524) | 0;
- B = (j + 520) | 0;
- C = (j + 516) | 0;
- D = (j + 512) | 0;
- E = (j + 584) | 0;
- F = (j + 576) | 0;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = h;
- c[p >> 2] = i;
- c[r >> 2] = (c[m >> 2] | 0) + 4;
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = 1 << c[p >> 2];
- c[u >> 2] = (c[t >> 2] | 0) - 1;
- c[v >> 2] = yv(c[t >> 2] | 0) | 0;
- c[x >> 2] = 0;
- c[y >> 2] = (c[t >> 2] | 0) - 1;
- b[z >> 1] = 1 << ((c[p >> 2] | 0) - 1);
- c[A >> 2] = 1;
- if ((c[o >> 2] | 0) >>> 0 > 255) {
- c[k >> 2] = -46;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- if ((c[p >> 2] | 0) >>> 0 > 12) {
- c[k >> 2] = -44;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- b[q >> 1] = c[p >> 2];
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
- if (
- (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0) ==
- -1
- ) {
- r = c[B >> 2] & 255;
- i = c[s >> 2] | 0;
- h = c[y >> 2] | 0;
- c[y >> 2] = h + -1;
- a[(i + (h << 2) + 2) >> 0] = r;
- b[(w + (c[B >> 2] << 1)) >> 1] = 1;
- } else {
- if (
- (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0) >=
- (b[z >> 1] | 0)
- )
- c[A >> 2] = 0;
- b[(w + (c[B >> 2] << 1)) >> 1] =
- b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0;
- }
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
- c[C >> 2] = 0;
- while (1) {
- H = c[B >> 2] | 0;
- if (
- (c[C >> 2] | 0) >=
- (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0)
- )
- break;
- a[((c[s >> 2] | 0) + (c[x >> 2] << 2) + 2) >> 0] = H;
- c[x >> 2] =
- ((c[x >> 2] | 0) + (c[v >> 2] | 0)) & c[u >> 2];
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 <= (c[y >> 2] | 0) >>> 0)
- break;
- c[x >> 2] =
- ((c[x >> 2] | 0) + (c[v >> 2] | 0)) & c[u >> 2];
- }
- c[C >> 2] = (c[C >> 2] | 0) + 1;
- }
- c[B >> 2] = H + 1;
- }
- if (c[x >> 2] | 0) {
- c[k >> 2] = -1;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- a[E >> 0] =
- a[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0;
- x = (w + (d[E >> 0] << 1)) | 0;
- H = b[x >> 1] | 0;
- b[x >> 1] = ((H + 1) << 16) >> 16;
- b[F >> 1] = H;
- H = c[p >> 2] | 0;
- x = (H - (sv(e[F >> 1] | 0) | 0)) & 255;
- a[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] = x;
- b[((c[s >> 2] | 0) + (c[D >> 2] << 2)) >> 1] =
- (e[F >> 1] <<
- d[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0]) -
- (c[t >> 2] | 0);
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- b[(q + 2) >> 1] = c[A >> 2];
- A = c[m >> 2] | 0;
- b[A >> 1] = b[q >> 1] | 0;
- b[(A + 2) >> 1] = b[(q + 2) >> 1] | 0;
- c[k >> 2] = 0;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- function yv(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- (((c[d >> 2] | 0) >>> 1) + ((c[d >> 2] | 0) >>> 3) + 3) | 0
- );
- }
- function zv(a) {
- a = a | 0;
- var c = 0,
- d = 0;
- c = l;
- l = (l + 16) | 0;
- d = c;
- b[d >> 1] = a;
- a = b[d >> 1] | 0;
- l = c;
- return (((b[d >> 1] | 0) < 0 ? (0 - a) | 0 : a) & 65535) | 0;
- }
- function Av(a, d, e, f) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 8224) | 0;
- h = (g + 8220) | 0;
- i = (g + 8216) | 0;
- j = (g + 8212) | 0;
- k = (g + 8208) | 0;
- m = (g + 8204) | 0;
- n = g;
- o = (g + 8200) | 0;
- p = (g + 8196) | 0;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- oE(n | 0, 0, 8194) | 0;
- b[n >> 1] = 12;
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = _v(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- k = (Cv(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (k) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
- c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- cw(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[o >> 2] | 0,
- c[m >> 2] | 0,
- n
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function Bv(a, b, e, f) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 44) | 0;
- i = (g + 40) | 0;
- j = (g + 36) | 0;
- k = (g + 32) | 0;
- m = (g + 28) | 0;
- n = (g + 24) | 0;
- o = (g + 20) | 0;
- p = (g + 8) | 0;
- q = (g + 4) | 0;
- r = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[o >> 2] = (c[j >> 2] | 0) >>> 8;
- c[q >> 2] = 0;
- if (!(c[j >> 2] | 0)) {
- c[h >> 2] = -70;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- if ((c[m >> 2] | 0) >>> 0 >= (c[j >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- if ((c[m >> 2] | 0) == 1) {
- oE(
- c[i >> 2] | 0,
- ((d[c[k >> 2] >> 0] | 0) & 255) | 0,
- c[j >> 2] | 0
- ) | 0;
- c[h >> 2] = c[j >> 2];
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- c[n >> 2] =
- (((c[m >> 2] << 4) >>> 0) / ((c[j >> 2] | 0) >>> 0)) | 0;
- c[r >> 2] = 0;
- while (1) {
- if ((c[r >> 2] | 0) >= 3) break;
- f =
- ((c[
- (7008 +
- (((c[n >> 2] | 0) * 24) | 0) +
- (c[r >> 2] << 3)) >>
- 2
- ] |
- 0) +
- (N(
- c[
- (7008 +
- (((c[n >> 2] | 0) * 24) | 0) +
- (c[r >> 2] << 3) +
- 4) >>
- 2
- ] | 0,
- c[o >> 2] | 0
- ) |
- 0)) |
- 0;
- c[(p + (c[r >> 2] << 2)) >> 2] = f;
- c[r >> 2] = (c[r >> 2] | 0) + 1;
- }
- r = (p + 4) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + ((c[(p + 4) >> 2] | 0) >>> 4);
- r = (p + 8) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + ((c[(p + 8) >> 2] | 0) >>> 3);
- if ((c[(p + 4) >> 2] | 0) >>> 0 < (c[p >> 2] | 0) >>> 0)
- c[q >> 2] = 1;
- c[h >> 2] =
- sc[c[(11976 + (c[q >> 2] << 2)) >> 2] & 15](
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- function Cv(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = nr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function Dv(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 64) | 0;
- i = (g + 60) | 0;
- j = (g + 56) | 0;
- k = (g + 52) | 0;
- m = (g + 48) | 0;
- n = (g + 44) | 0;
- o = (g + 40) | 0;
- p = (g + 36) | 0;
- q = (g + 32) | 0;
- r = (g + 28) | 0;
- s = (g + 24) | 0;
- t = (g + 20) | 0;
- u = (g + 16) | 0;
- v = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = c[i >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
- c[r >> 2] = c[c[n >> 2] >> 2];
- c[s >> 2] = c[n >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + 4;
- c[u >> 2] = av(v, c[o >> 2] | 0, c[m >> 2] | 0) | 0;
- if (Cv(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- w = c[h >> 2] | 0;
- l = g;
- return w | 0;
- }
- Ev(
- c[p >> 2] | 0,
- v,
- c[q >> 2] | 0,
- c[t >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- if (Fv(v) | 0) {
- c[h >> 2] = c[j >> 2];
- w = c[h >> 2] | 0;
- l = g;
- return w | 0;
- } else {
- c[h >> 2] = -20;
- w = c[h >> 2] | 0;
- l = g;
- return w | 0;
- }
- return 0;
- }
- function Ev(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = c[h >> 2];
- while (1) {
- if (cv(c[i >> 2] | 0) | 0) break;
- if (
- (c[h >> 2] | 0) >>> 0 >=
- (((c[j >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (Gv() | 0) {
- f =
- Hv(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- Gv() | 0;
- f =
- Hv(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- if (Gv() | 0) {
- f =
- Hv(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- f =
- Hv(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- while (1) {
- if (cv(c[i >> 2] | 0) | 0) break;
- if (
- (c[h >> 2] | 0) >>> 0 >
- (((c[j >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- f =
- Hv(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- while (1) {
- o = c[h >> 2] | 0;
- if (
- (c[h >> 2] | 0) >>> 0 >
- (((c[j >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- f = Hv(o, c[i >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- if (o >>> 0 >= (c[j >> 2] | 0) >>> 0) {
- p = c[h >> 2] | 0;
- q = c[n >> 2] | 0;
- r = p;
- s = q;
- t = (r - s) | 0;
- l = g;
- return t | 0;
- }
- j =
- Iv(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + j;
- p = c[h >> 2] | 0;
- q = c[n >> 2] | 0;
- r = p;
- s = q;
- t = (r - s) | 0;
- l = g;
- return t | 0;
- }
- function Fv(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- if (
- (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
- ) {
- e = 0;
- f = e & 1;
- l = b;
- return f | 0;
- }
- e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
- f = e & 1;
- l = b;
- return f | 0;
- }
- function Gv() {
- return 0;
- }
- function Hv(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = Jv(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- m = c[i >> 2] | 0;
- i = ((c[k >> 2] | 0) + (c[n >> 2] << 2)) | 0;
- a[m >> 0] = a[i >> 0] | 0;
- a[(m + 1) >> 0] = a[(i + 1) >> 0] | 0;
- nv(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
- );
- l = h;
- return (
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] | 0 | 0
- );
- }
- function Iv(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = Jv(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- a[c[i >> 2] >> 0] =
- a[((c[k >> 2] | 0) + (c[n >> 2] << 2)) >> 0] | 0;
- i = c[j >> 2] | 0;
- if (
- (d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) ==
- 1
- ) {
- nv(i, d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0);
- l = h;
- return 1;
- }
- if ((c[(i + 4) >> 2] | 0) >>> 0 >= 32) {
- l = h;
- return 1;
- }
- nv(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
- );
- if ((c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0 <= 32) {
- l = h;
- return 1;
- }
- c[((c[j >> 2] | 0) + 4) >> 2] = 32;
- l = h;
- return 1;
- }
- function Jv(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- ((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- ((32 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function Kv(a, d, e, f) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 8224) | 0;
- h = (g + 8220) | 0;
- i = (g + 8216) | 0;
- j = (g + 8212) | 0;
- k = (g + 8208) | 0;
- m = (g + 8204) | 0;
- n = g;
- o = (g + 8200) | 0;
- p = (g + 8196) | 0;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- oE(n | 0, 0, 8194) | 0;
- b[n >> 1] = 12;
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = _v(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- k = (Cv(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (k) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
- c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- $v(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[o >> 2] | 0,
- c[m >> 2] | 0,
- n
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function Lv(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 16416) | 0;
- g = (f + 16412) | 0;
- h = (f + 16408) | 0;
- i = (f + 16404) | 0;
- j = (f + 16400) | 0;
- k = (f + 16396) | 0;
- m = f;
- n = (f + 16392) | 0;
- o = (f + 16388) | 0;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- oE(m | 0, 0, 16388) | 0;
- c[m >> 2] = 12;
- c[n >> 2] = c[j >> 2];
- c[o >> 2] = Mv(m, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- j = (Cv(c[o >> 2] | 0) | 0) != 0;
- e = c[o >> 2] | 0;
- if (j) {
- c[g >> 2] = e;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) {
- c[g >> 2] = -72;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- } else {
- c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
- c[k >> 2] = (c[k >> 2] | 0) - (c[o >> 2] | 0);
- c[g >> 2] =
- Nv(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0,
- m
- ) | 0;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- return 0;
- }
- function Mv(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0;
- g = l;
- l = (l + 2128) | 0;
- h = (g + 2120) | 0;
- i = (g + 2116) | 0;
- j = (g + 2112) | 0;
- k = (g + 2108) | 0;
- m = (g + 1760) | 0;
- n = (g + 1248) | 0;
- o = (g + 1168) | 0;
- p = (g + 1088) | 0;
- q = (g + 2104) | 0;
- r = g;
- s = (g + 2100) | 0;
- t = (g + 2096) | 0;
- u = (g + 2092) | 0;
- v = (g + 2088) | 0;
- w = (g + 2084) | 0;
- x = (g + 2080) | 0;
- y = (g + 2076) | 0;
- z = (g + 2072) | 0;
- A = (g + 2068) | 0;
- B = (g + 2064) | 0;
- C = (g + 2060) | 0;
- D = (g + 2056) | 0;
- E = (g + 2052) | 0;
- F = (g + 2048) | 0;
- G = (g + 2044) | 0;
- H = (g + 2040) | 0;
- I = (g + 2036) | 0;
- J = (g + 2032) | 0;
- K = (g + 2028) | 0;
- L = (g + 2024) | 0;
- M = (g + 2020) | 0;
- N = (g + 2016) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- f = o;
- e = (f + 68) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (e | 0));
- f = p;
- e = (f + 72) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (e | 0));
- c[q >> 2] = p + 4;
- c[w >> 2] = c[c[i >> 2] >> 2];
- c[y >> 2] = c[i >> 2];
- c[z >> 2] = (c[y >> 2] | 0) + 4;
- if ((c[w >> 2] | 0) >>> 0 > 16) {
- c[h >> 2] = -44;
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- c[x >> 2] =
- Qv(m, 256, o, v, s, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- if (Cv(c[x >> 2] | 0) | 0) {
- c[h >> 2] = c[x >> 2];
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- if ((c[s >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) {
- c[h >> 2] = -44;
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- c[t >> 2] = c[s >> 2];
- while (1) {
- if (c[(o + (c[t >> 2] << 2)) >> 2] | 0) break;
- c[t >> 2] = (c[t >> 2] | 0) + -1;
- }
- c[B >> 2] = 0;
- c[A >> 2] = 1;
- while (1) {
- P = c[B >> 2] | 0;
- if ((c[A >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
- c[C >> 2] = P;
- c[B >> 2] =
- (c[B >> 2] | 0) + (c[(o + (c[A >> 2] << 2)) >> 2] | 0);
- c[((c[q >> 2] | 0) + (c[A >> 2] << 2)) >> 2] = c[C >> 2];
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- }
- c[c[q >> 2] >> 2] = P;
- c[u >> 2] = c[B >> 2];
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
- c[E >> 2] = d[(m + (c[D >> 2] | 0)) >> 0];
- B = ((c[q >> 2] | 0) + (c[E >> 2] << 2)) | 0;
- P = c[B >> 2] | 0;
- c[B >> 2] = P + 1;
- c[F >> 2] = P;
- a[(n + (c[F >> 2] << 1)) >> 0] = c[D >> 2];
- a[(n + (c[F >> 2] << 1) + 1) >> 0] = c[E >> 2];
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[c[q >> 2] >> 2] = 0;
- c[G >> 2] = (c[s >> 2] | 0) + 1 - (c[t >> 2] | 0);
- c[H >> 2] = 0;
- c[K >> 2] = (c[w >> 2] | 0) - (c[s >> 2] | 0) - 1;
- c[L >> 2] = r;
- c[I >> 2] = 1;
- while (1) {
- if ((c[I >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
- c[M >> 2] = c[H >> 2];
- c[H >> 2] =
- (c[H >> 2] | 0) +
- (c[(o + (c[I >> 2] << 2)) >> 2] <<
- ((c[I >> 2] | 0) + (c[K >> 2] | 0)));
- c[((c[L >> 2] | 0) + (c[I >> 2] << 2)) >> 2] = c[M >> 2];
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- c[J >> 2] = c[G >> 2];
- while (1) {
- if (
- (c[J >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[G >> 2] | 0)) | 0) >>> 0
- )
- break;
- c[N >> 2] = r + (((c[J >> 2] | 0) * 68) | 0);
- c[I >> 2] = 1;
- while (1) {
- if ((c[I >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
- c[((c[N >> 2] | 0) + (c[I >> 2] << 2)) >> 2] =
- (c[((c[L >> 2] | 0) + (c[I >> 2] << 2)) >> 2] | 0) >>>
- (c[J >> 2] | 0);
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- }
- Rv(
- c[z >> 2] | 0,
- c[w >> 2] | 0,
- n,
- c[u >> 2] | 0,
- p,
- r,
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) + 1) | 0
- );
- c[h >> 2] = c[x >> 2];
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- function Nv(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0;
- g = l;
- l = (l + 192) | 0;
- h = (g + 184) | 0;
- i = (g + 180) | 0;
- j = (g + 176) | 0;
- k = (g + 172) | 0;
- m = (g + 168) | 0;
- n = (g + 164) | 0;
- o = (g + 160) | 0;
- p = (g + 156) | 0;
- q = (g + 152) | 0;
- r = (g + 148) | 0;
- s = (g + 144) | 0;
- t = (g + 140) | 0;
- u = (g + 136) | 0;
- v = (g + 120) | 0;
- w = (g + 104) | 0;
- x = (g + 88) | 0;
- y = (g + 72) | 0;
- z = (g + 64) | 0;
- A = (g + 60) | 0;
- B = (g + 56) | 0;
- C = (g + 52) | 0;
- D = (g + 48) | 0;
- E = (g + 44) | 0;
- F = (g + 40) | 0;
- G = (g + 36) | 0;
- H = (g + 32) | 0;
- I = (g + 28) | 0;
- J = (g + 24) | 0;
- K = (g + 20) | 0;
- L = (g + 16) | 0;
- M = (g + 12) | 0;
- N = (g + 8) | 0;
- O = (g + 4) | 0;
- P = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if ((c[m >> 2] | 0) >>> 0 < 10) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = c[i >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
- c[r >> 2] = c[n >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + 4;
- c[t >> 2] = c[c[n >> 2] >> 2];
- c[z >> 2] = (Ov(c[o >> 2] | 0) | 0) & 65535;
- c[A >> 2] = (Ov(((c[o >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[B >> 2] = (Ov(((c[o >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[D >> 2] = (c[o >> 2] | 0) + 6;
- c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
- c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
- c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
- c[H >> 2] = (((((c[j >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[I >> 2] = (c[p >> 2] | 0) + (c[H >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- c[K >> 2] = (c[J >> 2] | 0) + (c[H >> 2] | 0);
- c[L >> 2] = c[p >> 2];
- c[M >> 2] = c[I >> 2];
- c[N >> 2] = c[J >> 2];
- c[O >> 2] = c[K >> 2];
- c[C >> 2] =
- (c[m >> 2] | 0) -
- ((c[z >> 2] | 0) + (c[A >> 2] | 0) + (c[B >> 2] | 0) + 6);
- if ((c[C >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = av(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
- if (Cv(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = av(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
- if (Cv(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = av(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
- if (Cv(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = av(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
- if (Cv(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- u = cv(v) | 0;
- C = u | (cv(w) | 0);
- u = C | (cv(x) | 0);
- c[P >> 2] = u | (cv(y) | 0);
- while (1) {
- if (c[P >> 2] | 0) break;
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (((c[q >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (Gv() | 0) {
- u =
- Hv(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- }
- if (Gv() | 0) {
- u =
- Hv(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- }
- if (Gv() | 0) {
- u =
- Hv(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- }
- if (Gv() | 0) {
- u =
- Hv(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- }
- Gv() | 0;
- u = Hv(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- Gv() | 0;
- u = Hv(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- Gv() | 0;
- u = Hv(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- Gv() | 0;
- u = Hv(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- if (Gv() | 0) {
- u =
- Hv(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- }
- if (Gv() | 0) {
- u =
- Hv(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- }
- if (Gv() | 0) {
- u =
- Hv(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- }
- if (Gv() | 0) {
- u =
- Hv(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- }
- u = Hv(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- u = Hv(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- u = Hv(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- u = Hv(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- u = cv(v) | 0;
- C = u | (cv(w) | 0);
- u = C | (cv(x) | 0);
- c[P >> 2] = u | (cv(y) | 0);
- }
- if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- Ev(
- c[L >> 2] | 0,
- v,
- c[I >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- Ev(
- c[M >> 2] | 0,
- w,
- c[J >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- Ev(
- c[N >> 2] | 0,
- x,
- c[K >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- Ev(
- c[O >> 2] | 0,
- y,
- c[q >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- t = Fv(v) | 0;
- v = t & (Fv(w) | 0);
- w = v & (Fv(x) | 0);
- c[P >> 2] = w & (Fv(y) | 0);
- if (c[P >> 2] | 0) {
- c[h >> 2] = c[j >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- } else {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- return 0;
- }
- function Ov(a) {
- a = a | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[g >> 2] = a;
- a = (Xq() | 0) != 0;
- i = c[g >> 2] | 0;
- if (a) {
- b[f >> 1] = Pv(i) | 0;
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- } else {
- c[h >> 2] = i;
- b[f >> 1] =
- (d[c[h >> 2] >> 0] | 0) +
- ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function Pv(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function Qv(b, e, f, g, h, i, j) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0;
- k = l;
- l = (l + 80) | 0;
- m = (k + 68) | 0;
- n = (k + 64) | 0;
- o = (k + 60) | 0;
- p = (k + 56) | 0;
- q = (k + 52) | 0;
- r = (k + 48) | 0;
- s = (k + 44) | 0;
- t = (k + 40) | 0;
- u = (k + 36) | 0;
- v = (k + 32) | 0;
- w = (k + 28) | 0;
- x = (k + 24) | 0;
- y = (k + 20) | 0;
- z = (k + 16) | 0;
- A = (k + 12) | 0;
- B = (k + 8) | 0;
- C = (k + 4) | 0;
- D = k;
- c[n >> 2] = b;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[w >> 2] = c[s >> 2];
- if (!(c[t >> 2] | 0)) {
- c[m >> 2] = -72;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[x >> 2] = d[c[w >> 2] >> 0];
- s = c[x >> 2] | 0;
- a: do {
- if ((c[x >> 2] | 0) >>> 0 < 128) {
- if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
- c[m >> 2] = -72;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[y >> 2] =
- Vv(
- c[n >> 2] | 0,
- ((c[o >> 2] | 0) - 1) | 0,
- ((c[w >> 2] | 0) + 1) | 0,
- c[x >> 2] | 0
- ) | 0;
- if (wv(c[y >> 2] | 0) | 0) {
- c[m >> 2] = c[y >> 2];
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- } else {
- j = c[x >> 2] | 0;
- if (s >>> 0 >= 242) {
- c[y >> 2] = c[(7392 + ((j - 242) << 2)) >> 2];
- oE(c[n >> 2] | 0, 1, c[o >> 2] | 0) | 0;
- c[x >> 2] = 0;
- break;
- }
- c[y >> 2] = j - 127;
- c[x >> 2] = (((((c[y >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
- if (
- (((c[x >> 2] | 0) + 1) | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[m >> 2] = -72;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- if ((c[y >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[y >> 2] | 0) >>> 0)
- break a;
- a[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] =
- (d[
- ((c[w >> 2] | 0) +
- ((((c[z >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) >>
- 4;
- a[((c[n >> 2] | 0) + ((c[z >> 2] | 0) + 1)) >> 0] =
- (d[
- ((c[w >> 2] | 0) +
- ((((c[z >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) &
- 15;
- c[z >> 2] = (c[z >> 2] | 0) + 2;
- }
- }
- } while (0);
- w = c[p >> 2] | 0;
- o = (w + 68) | 0;
- do {
- c[w >> 2] = 0;
- w = (w + 4) | 0;
- } while ((w | 0) < (o | 0));
- c[u >> 2] = 0;
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[y >> 2] | 0) >>> 0) break;
- if (
- (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0 | 0) >=
- 16
- ) {
- F = 20;
- break;
- }
- w =
- ((c[p >> 2] | 0) +
- ((d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) <<
- 2)) |
- 0;
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- c[u >> 2] =
- (c[u >> 2] | 0) +
- ((1 <<
- (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0)) >>
- 1);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- if ((F | 0) == 20) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- if (!(c[u >> 2] | 0)) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[v >> 2] = (sv(c[u >> 2] | 0) | 0) + 1;
- if ((c[v >> 2] | 0) >>> 0 > 16) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[A >> 2] = 1 << c[v >> 2];
- c[B >> 2] = (c[A >> 2] | 0) - (c[u >> 2] | 0);
- c[C >> 2] = 1 << (sv(c[B >> 2] | 0) | 0);
- c[D >> 2] = (sv(c[B >> 2] | 0) | 0) + 1;
- if ((c[C >> 2] | 0) != (c[B >> 2] | 0)) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] = c[D >> 2];
- n = ((c[p >> 2] | 0) + (c[D >> 2] << 2)) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- if (
- (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
- ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
- : 0
- ) {
- c[c[q >> 2] >> 2] = (c[y >> 2] | 0) + 1;
- c[c[r >> 2] >> 2] = c[v >> 2];
- c[m >> 2] = (c[x >> 2] | 0) + 1;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- function Rv(e, f, g, h, i, j, k, m) {
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0;
- n = l;
- l = (l + 160) | 0;
- o = (n + 140) | 0;
- p = (n + 136) | 0;
- q = (n + 132) | 0;
- r = (n + 128) | 0;
- s = (n + 124) | 0;
- t = (n + 120) | 0;
- u = (n + 116) | 0;
- v = (n + 112) | 0;
- w = n;
- x = (n + 108) | 0;
- y = (n + 104) | 0;
- z = (n + 100) | 0;
- A = (n + 148) | 0;
- B = (n + 96) | 0;
- C = (n + 92) | 0;
- D = (n + 88) | 0;
- E = (n + 84) | 0;
- F = (n + 80) | 0;
- G = (n + 76) | 0;
- H = (n + 72) | 0;
- I = (n + 68) | 0;
- J = (n + 144) | 0;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = k;
- c[v >> 2] = m;
- c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
- c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- u = w;
- m = c[t >> 2] | 0;
- k = (u + 68) | 0;
- do {
- c[u >> 2] = c[m >> 2];
- u = (u + 4) | 0;
- m = (m + 4) | 0;
- } while ((u | 0) < (k | 0));
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
- b[A >> 1] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
- c[B >> 2] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
- c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
- a: do {
- if (
- (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- ) {
- m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
- c[G >> 2] = m;
- c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
- c[F >> 2] =
- c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
- Sv(
- ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
- ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
- c[C >> 2] | 0,
- ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 68) | 0)) | 0,
- c[G >> 2] | 0,
- ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
- ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
- c[v >> 2] | 0,
- b[A >> 1] | 0
- );
- } else {
- c[I >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
- Tv(J, b[A >> 1] | 0);
- a[(J + 2) >> 0] = c[C >> 2];
- a[(J + 3) >> 0] = 1;
- c[H >> 2] = c[D >> 2];
- while (1) {
- if ((c[H >> 2] | 0) >>> 0 >= (c[I >> 2] | 0) >>> 0)
- break a;
- m = ((c[o >> 2] | 0) + (c[H >> 2] << 2)) | 0;
- b[m >> 1] = b[J >> 1] | 0;
- b[(m + 2) >> 1] = b[(J + 2) >> 1] | 0;
- c[H >> 2] = (c[H >> 2] | 0) + 1;
- }
- }
- } while (0);
- m = (w + (c[B >> 2] << 2)) | 0;
- c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- l = n;
- return;
- }
- function Sv(f, g, h, i, j, k, m, n, o) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- var p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0;
- p = l;
- l = (l + 160) | 0;
- q = (p + 136) | 0;
- r = (p + 132) | 0;
- s = (p + 128) | 0;
- t = (p + 124) | 0;
- u = (p + 120) | 0;
- v = (p + 116) | 0;
- w = (p + 112) | 0;
- x = (p + 108) | 0;
- y = (p + 144) | 0;
- z = (p + 140) | 0;
- A = p;
- B = (p + 104) | 0;
- C = (p + 100) | 0;
- D = (p + 96) | 0;
- E = (p + 92) | 0;
- F = (p + 88) | 0;
- G = (p + 84) | 0;
- H = (p + 80) | 0;
- I = (p + 76) | 0;
- J = (p + 72) | 0;
- K = (p + 68) | 0;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = j;
- c[v >> 2] = k;
- c[w >> 2] = m;
- c[x >> 2] = n;
- b[y >> 1] = o;
- o = A;
- n = c[t >> 2] | 0;
- t = (o + 68) | 0;
- do {
- c[o >> 2] = c[n >> 2];
- o = (o + 4) | 0;
- n = (n + 4) | 0;
- } while ((o | 0) < (t | 0));
- a: do {
- if ((c[u >> 2] | 0) > 1) {
- c[D >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
- Tv(z, b[y >> 1] | 0);
- a[(z + 2) >> 0] = c[s >> 2];
- a[(z + 3) >> 0] = 1;
- c[C >> 2] = 0;
- while (1) {
- if ((c[C >> 2] | 0) >>> 0 >= (c[D >> 2] | 0) >>> 0)
- break a;
- n = ((c[q >> 2] | 0) + (c[C >> 2] << 2)) | 0;
- b[n >> 1] = b[z >> 1] | 0;
- b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
- c[C >> 2] = (c[C >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[E >> 2] = d[((c[v >> 2] | 0) + (c[B >> 2] << 1)) >> 0];
- c[F >> 2] =
- d[((c[v >> 2] | 0) + (c[B >> 2] << 1) + 1) >> 0];
- c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
- c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
- c[J >> 2] = c[I >> 2];
- c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- Tv(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
- a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
- a[(z + 3) >> 0] = 2;
- do {
- C = c[q >> 2] | 0;
- D = c[J >> 2] | 0;
- c[J >> 2] = D + 1;
- u = (C + (D << 2)) | 0;
- b[u >> 1] = b[z >> 1] | 0;
- b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
- } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
- u = (A + (c[F >> 2] << 2)) | 0;
- c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- l = p;
- return;
- }
- function Tv(d, f) {
- d = d | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- g = l;
- l = (l + 16) | 0;
- h = (g + 4) | 0;
- i = (g + 8) | 0;
- j = g;
- c[h >> 2] = d;
- b[i >> 1] = f;
- f = (Xq() | 0) != 0;
- d = c[h >> 2] | 0;
- if (f) {
- Uv(d, b[i >> 1] | 0);
- l = g;
- return;
- } else {
- c[j >> 2] = d;
- a[c[j >> 2] >> 0] = b[i >> 1];
- a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
- l = g;
- return;
- }
- }
- function Uv(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (f + 4) | 0;
- c[g >> 2] = d;
- b[h >> 1] = e;
- e = b[h >> 1] | 0;
- h = c[g >> 2] | 0;
- a[h >> 0] = e;
- a[(h + 1) >> 0] = e >> 8;
- l = f;
- return;
- }
- function Vv(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- f = l;
- l = (l + 16960) | 0;
- g = (f + 16948) | 0;
- h = (f + 16944) | 0;
- i = (f + 16940) | 0;
- j = (f + 16936) | 0;
- k = (f + 16932) | 0;
- m = (f + 16928) | 0;
- n = (f + 16924) | 0;
- o = (f + 16400) | 0;
- p = f;
- q = (f + 16920) | 0;
- r = (f + 16916) | 0;
- s = (f + 16912) | 0;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = c[j >> 2];
- c[n >> 2] = c[m >> 2];
- c[r >> 2] = 255;
- if ((c[k >> 2] | 0) >>> 0 < 2) {
- c[g >> 2] = -72;
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- }
- c[s >> 2] = vv(o, r, q, c[m >> 2] | 0, c[k >> 2] | 0) | 0;
- m = (wv(c[s >> 2] | 0) | 0) != 0;
- j = c[s >> 2] | 0;
- if (m) {
- c[g >> 2] = j;
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- }
- if (j >>> 0 >= (c[k >> 2] | 0) >>> 0) {
- c[g >> 2] = -72;
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- }
- c[n >> 2] = (c[n >> 2] | 0) + (c[s >> 2] | 0);
- c[k >> 2] = (c[k >> 2] | 0) - (c[s >> 2] | 0);
- c[s >> 2] = xv(p, o, c[r >> 2] | 0, c[q >> 2] | 0) | 0;
- if (wv(c[s >> 2] | 0) | 0) {
- c[g >> 2] = c[s >> 2];
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- } else {
- c[g >> 2] =
- Wv(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0,
- p
- ) | 0;
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- }
- return 0;
- }
- function Wv(b, d, f, g, h) {
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0;
- i = l;
- l = (l + 208) | 0;
- j = (i + 192) | 0;
- k = (i + 188) | 0;
- m = (i + 184) | 0;
- n = (i + 180) | 0;
- o = (i + 176) | 0;
- p = (i + 172) | 0;
- q = (i + 168) | 0;
- r = (i + 164) | 0;
- s = (i + 160) | 0;
- t = (i + 156) | 0;
- u = (i + 152) | 0;
- v = (i + 136) | 0;
- w = (i + 128) | 0;
- x = (i + 120) | 0;
- y = (i + 116) | 0;
- z = (i + 112) | 0;
- A = (i + 108) | 0;
- B = (i + 104) | 0;
- C = (i + 100) | 0;
- D = (i + 96) | 0;
- E = (i + 92) | 0;
- F = (i + 88) | 0;
- G = (i + 84) | 0;
- H = (i + 80) | 0;
- I = (i + 76) | 0;
- J = (i + 72) | 0;
- K = (i + 56) | 0;
- L = (i + 48) | 0;
- M = (i + 40) | 0;
- N = (i + 36) | 0;
- O = (i + 32) | 0;
- P = (i + 28) | 0;
- Q = (i + 24) | 0;
- R = (i + 20) | 0;
- S = (i + 16) | 0;
- T = (i + 12) | 0;
- U = (i + 8) | 0;
- V = (i + 4) | 0;
- W = i;
- c[P >> 2] = b;
- c[Q >> 2] = d;
- c[R >> 2] = f;
- c[S >> 2] = g;
- c[T >> 2] = h;
- c[U >> 2] = c[T >> 2];
- c[V >> 2] = c[U >> 2];
- c[W >> 2] = e[((c[V >> 2] | 0) + 2) >> 1];
- V = c[P >> 2] | 0;
- P = c[Q >> 2] | 0;
- Q = c[R >> 2] | 0;
- R = c[S >> 2] | 0;
- S = c[T >> 2] | 0;
- if (c[W >> 2] | 0) {
- c[A >> 2] = V;
- c[B >> 2] = P;
- c[C >> 2] = Q;
- c[D >> 2] = R;
- c[E >> 2] = S;
- c[F >> 2] = 1;
- c[G >> 2] = c[A >> 2];
- c[H >> 2] = c[G >> 2];
- c[I >> 2] = (c[H >> 2] | 0) + (c[B >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + -3;
- c[N >> 2] = av(K, c[C >> 2] | 0, c[D >> 2] | 0) | 0;
- do {
- if (!(wv(c[N >> 2] | 0) | 0)) {
- bv(L, K, c[E >> 2] | 0);
- bv(M, K, c[E >> 2] | 0);
- while (1) {
- if (cv(K) | 0) break;
- if ((c[H >> 2] | 0) >>> 0 >= (c[J >> 2] | 0) >>> 0)
- break;
- if (c[F >> 2] | 0) X = (Xv(L, K) | 0) & 255;
- else X = (lv(L, K) | 0) & 255;
- a[c[H >> 2] >> 0] = X;
- if (c[F >> 2] | 0) Y = (Xv(M, K) | 0) & 255;
- else Y = (lv(M, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 1) >> 0] = Y;
- if ((cv(K) | 0) >>> 0 > 0) {
- Z = 14;
- break;
- }
- if (c[F >> 2] | 0) _ = (Xv(L, K) | 0) & 255;
- else _ = (lv(L, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 2) >> 0] = _;
- if (c[F >> 2] | 0) $ = (Xv(M, K) | 0) & 255;
- else $ = (lv(M, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 3) >> 0] = $;
- c[H >> 2] = (c[H >> 2] | 0) + 4;
- }
- if ((Z | 0) == 14) c[H >> 2] = (c[H >> 2] | 0) + 2;
- while (1) {
- if ((cv(K) | 0) >>> 0 > 2) break;
- if ((c[H >> 2] | 0) == (c[I >> 2] | 0)) break;
- if (Fv(K) | 0) {
- if (c[F >> 2] | 0) break;
- if (Yv(L) | 0) break;
- }
- if (c[F >> 2] | 0) aa = (Xv(L, K) | 0) & 255;
- else aa = (lv(L, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = aa;
- if ((cv(K) | 0) >>> 0 > 2) break;
- if ((c[H >> 2] | 0) == (c[I >> 2] | 0)) break;
- if (Fv(K) | 0) {
- if (c[F >> 2] | 0) break;
- if (Yv(M) | 0) break;
- }
- if (c[F >> 2] | 0) ba = (Xv(M, K) | 0) & 255;
- else ba = (lv(M, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = ba;
- }
- if ((Fv(K) | 0 ? Yv(L) | 0 : 0) ? Yv(M) | 0 : 0) {
- c[z >> 2] = (c[H >> 2] | 0) - (c[G >> 2] | 0);
- break;
- }
- if ((c[H >> 2] | 0) == (c[I >> 2] | 0)) {
- c[z >> 2] = -70;
- break;
- } else {
- c[z >> 2] = -20;
- break;
- }
- } else c[z >> 2] = c[N >> 2];
- } while (0);
- c[O >> 2] = c[z >> 2];
- ca = c[O >> 2] | 0;
- l = i;
- return ca | 0;
- } else {
- c[k >> 2] = V;
- c[m >> 2] = P;
- c[n >> 2] = Q;
- c[o >> 2] = R;
- c[p >> 2] = S;
- c[q >> 2] = 0;
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + (c[m >> 2] | 0);
- c[u >> 2] = (c[t >> 2] | 0) + -3;
- c[y >> 2] = av(v, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
- do {
- if (!(wv(c[y >> 2] | 0) | 0)) {
- bv(w, v, c[p >> 2] | 0);
- bv(x, v, c[p >> 2] | 0);
- while (1) {
- if (cv(v) | 0) break;
- if ((c[s >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0)
- break;
- if (c[q >> 2] | 0) da = (Xv(w, v) | 0) & 255;
- else da = (lv(w, v) | 0) & 255;
- a[c[s >> 2] >> 0] = da;
- if (c[q >> 2] | 0) ea = (Xv(x, v) | 0) & 255;
- else ea = (lv(x, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 1) >> 0] = ea;
- if ((cv(v) | 0) >>> 0 > 0) {
- Z = 60;
- break;
- }
- if (c[q >> 2] | 0) fa = (Xv(w, v) | 0) & 255;
- else fa = (lv(w, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 2) >> 0] = fa;
- if (c[q >> 2] | 0) ga = (Xv(x, v) | 0) & 255;
- else ga = (lv(x, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 3) >> 0] = ga;
- c[s >> 2] = (c[s >> 2] | 0) + 4;
- }
- if ((Z | 0) == 60) c[s >> 2] = (c[s >> 2] | 0) + 2;
- while (1) {
- if ((cv(v) | 0) >>> 0 > 2) break;
- if ((c[s >> 2] | 0) == (c[t >> 2] | 0)) break;
- if (Fv(v) | 0) {
- if (c[q >> 2] | 0) break;
- if (Yv(w) | 0) break;
- }
- if (c[q >> 2] | 0) ha = (Xv(w, v) | 0) & 255;
- else ha = (lv(w, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ha;
- if ((cv(v) | 0) >>> 0 > 2) break;
- if ((c[s >> 2] | 0) == (c[t >> 2] | 0)) break;
- if (Fv(v) | 0) {
- if (c[q >> 2] | 0) break;
- if (Yv(x) | 0) break;
- }
- if (c[q >> 2] | 0) ia = (Xv(x, v) | 0) & 255;
- else ia = (lv(x, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ia;
- }
- if ((Fv(v) | 0 ? Yv(w) | 0 : 0) ? Yv(x) | 0 : 0) {
- c[j >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- break;
- }
- if ((c[s >> 2] | 0) == (c[t >> 2] | 0)) {
- c[j >> 2] = -70;
- break;
- } else {
- c[j >> 2] = -20;
- break;
- }
- } else c[j >> 2] = c[y >> 2];
- } while (0);
- c[O >> 2] = c[j >> 2];
- ca = c[O >> 2] | 0;
- l = i;
- return ca | 0;
- }
- return 0;
- }
- function Xv(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = Zv(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function Yv(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[c[d >> 2] >> 2] | 0) == 0) | 0;
- }
- function Zv(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = Jv(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- nv(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function _v(f, g, h) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- i = l;
- l = (l + 400) | 0;
- j = (i + 392) | 0;
- k = (i + 388) | 0;
- m = (i + 384) | 0;
- n = (i + 380) | 0;
- o = (i + 80) | 0;
- p = i;
- q = (i + 376) | 0;
- r = (i + 372) | 0;
- s = (i + 368) | 0;
- t = (i + 364) | 0;
- u = (i + 360) | 0;
- v = (i + 356) | 0;
- w = (i + 352) | 0;
- x = (i + 348) | 0;
- y = (i + 344) | 0;
- z = (i + 340) | 0;
- A = (i + 336) | 0;
- B = (i + 396) | 0;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = h;
- c[q >> 2] = 0;
- c[s >> 2] = 0;
- c[v >> 2] = (c[k >> 2] | 0) + 2;
- c[w >> 2] = c[v >> 2];
- c[r >> 2] =
- Qv(o, 256, p, s, q, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- if (Cv(c[r >> 2] | 0) | 0) {
- c[j >> 2] = c[r >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- if ((c[q >> 2] | 0) >>> 0 > (e[c[k >> 2] >> 1] | 0) >>> 0) {
- c[j >> 2] = -44;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- b[c[k >> 2] >> 1] = c[q >> 2];
- c[u >> 2] = 0;
- c[t >> 2] = 1;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
- c[x >> 2] = c[u >> 2];
- c[u >> 2] =
- (c[u >> 2] | 0) +
- (c[(p + (c[t >> 2] << 2)) >> 2] << ((c[t >> 2] | 0) - 1));
- c[(p + (c[t >> 2] << 2)) >> 2] = c[x >> 2];
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[t >> 2] = 0;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
- c[y >> 2] = d[(o + (c[t >> 2] | 0)) >> 0];
- c[z >> 2] = (1 << c[y >> 2]) >> 1;
- a[B >> 0] = c[t >> 2];
- a[(B + 1) >> 0] = (c[q >> 2] | 0) + 1 - (c[y >> 2] | 0);
- c[A >> 2] = c[(p + (c[y >> 2] << 2)) >> 2];
- while (1) {
- if (
- (c[A >> 2] | 0) >>> 0 >=
- (((c[(p + (c[y >> 2] << 2)) >> 2] | 0) +
- (c[z >> 2] | 0)) |
- 0) >>>
- 0
- )
- break;
- x = ((c[w >> 2] | 0) + (c[A >> 2] << 1)) | 0;
- a[x >> 0] = a[B >> 0] | 0;
- a[(x + 1) >> 0] = a[(B + 1) >> 0] | 0;
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- }
- x = (p + (c[y >> 2] << 2)) | 0;
- c[x >> 2] = (c[x >> 2] | 0) + (c[z >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[j >> 2] = c[r >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- function $v(b, d, f, g, h) {
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0;
- i = l;
- l = (l + 192) | 0;
- j = (i + 184) | 0;
- k = (i + 180) | 0;
- m = (i + 176) | 0;
- n = (i + 172) | 0;
- o = (i + 168) | 0;
- p = (i + 164) | 0;
- q = (i + 160) | 0;
- r = (i + 156) | 0;
- s = (i + 152) | 0;
- t = (i + 148) | 0;
- u = (i + 144) | 0;
- v = (i + 140) | 0;
- w = (i + 136) | 0;
- x = (i + 120) | 0;
- y = (i + 104) | 0;
- z = (i + 88) | 0;
- A = (i + 72) | 0;
- B = (i + 64) | 0;
- C = (i + 60) | 0;
- D = (i + 56) | 0;
- E = (i + 52) | 0;
- F = (i + 48) | 0;
- G = (i + 44) | 0;
- H = (i + 40) | 0;
- I = (i + 36) | 0;
- J = (i + 32) | 0;
- K = (i + 28) | 0;
- L = (i + 24) | 0;
- M = (i + 20) | 0;
- N = (i + 16) | 0;
- O = (i + 12) | 0;
- P = (i + 8) | 0;
- Q = (i + 4) | 0;
- R = i;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- c[q >> 2] = c[n >> 2];
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[t >> 2] = c[p >> 2];
- c[u >> 2] = (c[t >> 2] | 0) + 2;
- c[v >> 2] = e[c[p >> 2] >> 1];
- c[B >> 2] = (Ov(c[q >> 2] | 0) | 0) & 65535;
- c[C >> 2] = (Ov(((c[q >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[D >> 2] = (Ov(((c[q >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[F >> 2] = (c[q >> 2] | 0) + 6;
- c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
- c[H >> 2] = (c[G >> 2] | 0) + (c[C >> 2] | 0);
- c[I >> 2] = (c[H >> 2] | 0) + (c[D >> 2] | 0);
- c[J >> 2] = (((((c[m >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[K >> 2] = (c[r >> 2] | 0) + (c[J >> 2] | 0);
- c[L >> 2] = (c[K >> 2] | 0) + (c[J >> 2] | 0);
- c[M >> 2] = (c[L >> 2] | 0) + (c[J >> 2] | 0);
- c[N >> 2] = c[r >> 2];
- c[O >> 2] = c[K >> 2];
- c[P >> 2] = c[L >> 2];
- c[Q >> 2] = c[M >> 2];
- if ((c[o >> 2] | 0) >>> 0 < 10) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[E >> 2] =
- (c[o >> 2] | 0) -
- ((c[B >> 2] | 0) + (c[C >> 2] | 0) + (c[D >> 2] | 0) + 6);
- if ((c[E >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = av(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
- if (Cv(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = av(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
- if (Cv(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = av(z, c[H >> 2] | 0, c[D >> 2] | 0) | 0;
- if (Cv(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = av(A, c[I >> 2] | 0, c[E >> 2] | 0) | 0;
- if (Cv(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- w = cv(x) | 0;
- E = w | (cv(y) | 0);
- w = E | (cv(z) | 0);
- c[R >> 2] = w | (cv(A) | 0);
- while (1) {
- if (c[R >> 2] | 0) break;
- if (
- (c[Q >> 2] | 0) >>> 0 >=
- (((c[s >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if (Gv() | 0) {
- w = aw(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (Gv() | 0) {
- w = aw(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (Gv() | 0) {
- w = aw(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (Gv() | 0) {
- w = aw(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- }
- Gv() | 0;
- w = aw(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- Gv() | 0;
- w = aw(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- Gv() | 0;
- w = aw(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- Gv() | 0;
- w = aw(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- if (Gv() | 0) {
- w = aw(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (Gv() | 0) {
- w = aw(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (Gv() | 0) {
- w = aw(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if (Gv() | 0) {
- w = aw(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- }
- w = aw(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- w = aw(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- w = aw(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- w = aw(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- w = cv(x) | 0;
- E = w | (cv(y) | 0);
- w = E | (cv(z) | 0);
- c[R >> 2] = w | (cv(A) | 0);
- }
- if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- if ((c[O >> 2] | 0) >>> 0 > (c[L >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- if ((c[P >> 2] | 0) >>> 0 > (c[M >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- bw(
- c[N >> 2] | 0,
- x,
- c[K >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- bw(
- c[O >> 2] | 0,
- y,
- c[L >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- bw(
- c[P >> 2] | 0,
- z,
- c[M >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- bw(
- c[Q >> 2] | 0,
- A,
- c[s >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- v = Fv(x) | 0;
- x = v & (Fv(y) | 0);
- y = x & (Fv(z) | 0);
- c[R >> 2] = y & (Fv(A) | 0);
- if (c[R >> 2] | 0) {
- c[j >> 2] = c[m >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- } else {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- return 0;
- }
- function aw(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 16) | 0;
- c[h >> 2] = b;
- c[i >> 2] = e;
- c[j >> 2] = f;
- c[k >> 2] = Jv(c[h >> 2] | 0, c[j >> 2] | 0) | 0;
- a[m >> 0] = a[((c[i >> 2] | 0) + (c[k >> 2] << 1)) >> 0] | 0;
- nv(
- c[h >> 2] | 0,
- d[((c[i >> 2] | 0) + (c[k >> 2] << 1) + 1) >> 0] | 0
- );
- l = g;
- return a[m >> 0] | 0;
- }
- function bw(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 20) | 0;
- j = (h + 16) | 0;
- k = (h + 12) | 0;
- m = (h + 8) | 0;
- n = (h + 4) | 0;
- o = h;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = c[i >> 2];
- while (1) {
- if (cv(c[j >> 2] | 0) | 0) break;
- if (
- (c[i >> 2] | 0) >>> 0 >
- (((c[k >> 2] | 0) + -4) | 0) >>> 0
- )
- break;
- if (Gv() | 0) {
- g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- Gv() | 0;
- g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- if (Gv() | 0) {
- g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- while (1) {
- if (cv(c[j >> 2] | 0) | 0) break;
- if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- while (1) {
- if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- g = aw(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- l = h;
- return ((c[k >> 2] | 0) - (c[o >> 2] | 0)) | 0;
- }
- function cw(a, b, d, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 64) | 0;
- j = (h + 60) | 0;
- k = (h + 56) | 0;
- m = (h + 52) | 0;
- n = (h + 48) | 0;
- o = (h + 44) | 0;
- p = (h + 40) | 0;
- q = (h + 36) | 0;
- r = (h + 32) | 0;
- s = (h + 28) | 0;
- t = (h + 24) | 0;
- u = (h + 8) | 0;
- v = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[j >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[k >> 2] | 0);
- c[r >> 2] = e[c[o >> 2] >> 1];
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + 2;
- if ((c[k >> 2] | 0) >>> 0 <= (c[n >> 2] | 0) >>> 0) {
- c[i >> 2] = -70;
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- }
- c[v >> 2] = av(u, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- if (Cv(c[v >> 2] | 0) | 0) {
- c[i >> 2] = c[v >> 2];
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- }
- bw(
- c[p >> 2] | 0,
- u,
- c[q >> 2] | 0,
- c[t >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- if (Fv(u) | 0) {
- c[i >> 2] = c[k >> 2];
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- } else {
- c[i >> 2] = -20;
- w = c[i >> 2] | 0;
- l = h;
- return w | 0;
- }
- return 0;
- }
- function dw(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- c[((c[d >> 2] | 0) + 26656) >> 2] = 5;
- c[((c[d >> 2] | 0) + 26708) >> 2] = 0;
- c[((c[d >> 2] | 0) + 26640) >> 2] = 0;
- c[((c[d >> 2] | 0) + 26644) >> 2] = 0;
- c[((c[d >> 2] | 0) + 26648) >> 2] = 0;
- c[((c[d >> 2] | 0) + 26652) >> 2] = 0;
- c[((c[d >> 2] | 0) + 10252) >> 2] = 12;
- c[((c[d >> 2] | 0) + 26712) >> 2] = 0;
- l = b;
- return 0;
- }
- function ew(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[k >> 2] = Wq(c[h >> 2] | 0) | 0;
- if ((c[k >> 2] | 0) != -332356555) {
- fw(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
- c[f >> 2] = 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) - 4;
- c[j >> 2] =
- gw(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (mr(c[j >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- } else {
- c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
- fw(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
- c[f >> 2] = 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- return 0;
- }
- function fw(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 26652) >> 2] =
- c[((c[f >> 2] | 0) + 26640) >> 2];
- c[((c[f >> 2] | 0) + 26648) >> 2] =
- (c[g >> 2] | 0) +
- (0 -
- ((c[((c[f >> 2] | 0) + 26640) >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 26644) >> 2] | 0)));
- c[((c[f >> 2] | 0) + 26644) >> 2] = c[g >> 2];
- c[((c[f >> 2] | 0) + 26640) >> 2] =
- (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function gw(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0;
- e = l;
- l = (l + 512) | 0;
- f = (e + 504) | 0;
- g = (e + 500) | 0;
- h = (e + 496) | 0;
- i = (e + 492) | 0;
- j = (e + 488) | 0;
- k = (e + 484) | 0;
- m = (e + 480) | 0;
- n = (e + 476) | 0;
- o = (e + 472) | 0;
- p = (e + 384) | 0;
- q = (e + 468) | 0;
- r = (e + 464) | 0;
- s = (e + 128) | 0;
- t = (e + 460) | 0;
- u = (e + 456) | 0;
- v = e;
- w = (e + 452) | 0;
- x = (e + 448) | 0;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[q >> 2] = 31;
- c[t >> 2] = 127;
- c[w >> 2] = 63;
- c[j >> 2] =
- Mv(
- ((c[g >> 2] | 0) + 10252) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- if (Cv(c[j >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
- c[k >> 2] = vv(p, q, r, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (wv(c[k >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- if ((c[r >> 2] | 0) >>> 0 > 9) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- c[n >> 2] =
- xv(
- ((c[g >> 2] | 0) + 4100) | 0,
- p,
- c[q >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- if (wv(c[n >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
- c[m >> 2] = vv(s, t, u, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (wv(c[m >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- if ((c[u >> 2] | 0) >>> 0 > 10) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- c[n >> 2] =
- xv(
- ((c[g >> 2] | 0) + 6152) | 0,
- s,
- c[t >> 2] | 0,
- c[u >> 2] | 0
- ) | 0;
- if (wv(c[n >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[m >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[m >> 2] | 0);
- c[o >> 2] = vv(v, w, x, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if ((c[x >> 2] | 0) >>> 0 > 10) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- if (wv(c[o >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- c[n >> 2] =
- xv(c[g >> 2] | 0, v, c[w >> 2] | 0, c[x >> 2] | 0) | 0;
- if (wv(c[n >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- } else {
- c[((c[g >> 2] | 0) + 26712) >> 2] = 1;
- c[f >> 2] =
- (c[j >> 2] | 0) +
- (c[k >> 2] | 0) +
- (c[m >> 2] | 0) +
- (c[o >> 2] | 0);
- y = c[f >> 2] | 0;
- l = e;
- return y | 0;
- }
- return 0;
- }
- function hw() {
- var a = 0,
- b = 0,
- d = 0,
- e = 0;
- a = l;
- l = (l + 16) | 0;
- b = (a + 4) | 0;
- d = a;
- c[d >> 2] = Cy(141416) | 0;
- if (!(c[d >> 2] | 0)) {
- c[b >> 2] = 0;
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- } else {
- kw(c[d >> 2] | 0) | 0;
- c[b >> 2] = c[d >> 2];
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- }
- return 0;
- }
- function iw(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 16) | 0;
- i = (g + 12) | 0;
- j = (g + 8) | 0;
- k = (g + 4) | 0;
- m = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- f =
- jw(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- 0,
- 0
- ) | 0;
- l = g;
- return f | 0;
- }
- function jw(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0;
- i = l;
- l = (l + 80) | 0;
- j = (i + 76) | 0;
- k = (i + 72) | 0;
- m = (i + 68) | 0;
- n = (i + 64) | 0;
- o = (i + 60) | 0;
- p = (i + 56) | 0;
- q = (i + 52) | 0;
- r = (i + 48) | 0;
- s = (i + 44) | 0;
- t = (i + 40) | 0;
- u = (i + 36) | 0;
- v = (i + 32) | 0;
- w = (i + 28) | 0;
- x = (i + 24) | 0;
- y = (i + 16) | 0;
- z = (i + 8) | 0;
- A = (i + 4) | 0;
- B = i;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[u >> 2] = c[m >> 2];
- c[v >> 2] = c[u >> 2];
- c[w >> 2] = (c[u >> 2] | 0) + (c[n >> 2] | 0);
- c[x >> 2] = c[p >> 2];
- kw(c[k >> 2] | 0) | 0;
- if (c[q >> 2] | 0) {
- lw(c[k >> 2] | 0, c[q >> 2] | 0, c[r >> 2] | 0);
- c[((c[k >> 2] | 0) + 10264) >> 2] =
- c[((c[k >> 2] | 0) + 10252) >> 2];
- c[((c[k >> 2] | 0) + 10260) >> 2] =
- (c[m >> 2] | 0) +
- (0 -
- ((c[((c[k >> 2] | 0) + 10252) >> 2] | 0) -
- (c[((c[k >> 2] | 0) + 10256) >> 2] | 0)));
- c[((c[k >> 2] | 0) + 10256) >> 2] = c[m >> 2];
- } else {
- r = c[m >> 2] | 0;
- c[((c[k >> 2] | 0) + 10264) >> 2] = r;
- c[((c[k >> 2] | 0) + 10256) >> 2] = r;
- c[((c[k >> 2] | 0) + 10260) >> 2] = r;
- }
- if ((c[p >> 2] | 0) >>> 0 < 8) {
- c[j >> 2] = -72;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- c[z >> 2] = mw(c[k >> 2] | 0, c[o >> 2] | 0, 5) | 0;
- if (rr(c[z >> 2] | 0) | 0) {
- c[j >> 2] = c[z >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- if (
- (c[p >> 2] | 0) >>> 0 <
- (((c[z >> 2] | 0) + 3) | 0) >>> 0
- ) {
- c[j >> 2] = -72;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- c[s >> 2] = (c[s >> 2] | 0) + (c[z >> 2] | 0);
- c[x >> 2] = (c[x >> 2] | 0) - (c[z >> 2] | 0);
- c[z >> 2] =
- nw(c[k >> 2] | 0, c[o >> 2] | 0, c[z >> 2] | 0) | 0;
- if (rr(c[z >> 2] | 0) | 0) {
- c[j >> 2] = c[z >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- a: while (1) {
- c[A >> 2] = 0;
- c[B >> 2] =
- qr(
- c[s >> 2] | 0,
- ((c[t >> 2] | 0) - (c[s >> 2] | 0)) | 0,
- y
- ) | 0;
- if (rr(c[B >> 2] | 0) | 0) {
- D = 14;
- break;
- }
- c[s >> 2] = (c[s >> 2] | 0) + 3;
- c[x >> 2] = (c[x >> 2] | 0) - 3;
- if ((c[B >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
- D = 16;
- break;
- }
- switch (c[y >> 2] | 0) {
- case 2: {
- D = 20;
- break a;
- break;
- }
- case 0: {
- c[A >> 2] =
- ow(
- c[k >> 2] | 0,
- c[v >> 2] | 0,
- ((c[w >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- c[s >> 2] | 0,
- c[B >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[A >> 2] =
- pw(
- c[v >> 2] | 0,
- ((c[w >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- c[s >> 2] | 0,
- c[B >> 2] | 0
- ) | 0;
- break;
- }
- case 3: {
- if (c[x >> 2] | 0) {
- D = 22;
- break a;
- }
- break;
- }
- default: {
- D = 23;
- break a;
- }
- }
- if (!(c[B >> 2] | 0)) {
- D = 28;
- break;
- }
- z = (rr(c[A >> 2] | 0) | 0) != 0;
- E = c[A >> 2] | 0;
- if (z) {
- D = 26;
- break;
- }
- c[v >> 2] = (c[v >> 2] | 0) + E;
- c[s >> 2] = (c[s >> 2] | 0) + (c[B >> 2] | 0);
- c[x >> 2] = (c[x >> 2] | 0) - (c[B >> 2] | 0);
- }
- if ((D | 0) == 14) {
- c[j >> 2] = c[B >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- } else if ((D | 0) == 16) {
- c[j >> 2] = -72;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- } else if ((D | 0) == 20) {
- c[j >> 2] = -1;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- } else if ((D | 0) == 22) {
- c[j >> 2] = -72;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- } else if ((D | 0) == 23) {
- c[j >> 2] = -1;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- } else if ((D | 0) == 26) {
- c[j >> 2] = E;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- } else if ((D | 0) == 28) {
- c[j >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- return 0;
- }
- function kw(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- c[((c[d >> 2] | 0) + 10268) >> 2] = 5;
- c[((c[d >> 2] | 0) + 10316) >> 2] = 0;
- c[((c[d >> 2] | 0) + 10252) >> 2] = 0;
- c[((c[d >> 2] | 0) + 10256) >> 2] = 0;
- c[((c[d >> 2] | 0) + 10260) >> 2] = 0;
- c[((c[d >> 2] | 0) + 10264) >> 2] = 0;
- l = b;
- return 0;
- }
- function lw(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 10264) >> 2] =
- c[((c[f >> 2] | 0) + 10252) >> 2];
- c[((c[f >> 2] | 0) + 10260) >> 2] =
- (c[g >> 2] | 0) +
- (0 -
- ((c[((c[f >> 2] | 0) + 10252) >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 10256) >> 2] | 0)));
- c[((c[f >> 2] | 0) + 10256) >> 2] = c[g >> 2];
- c[((c[f >> 2] | 0) + 10252) >> 2] =
- (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function mw(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if ((c[i >> 2] | 0) != 5) {
- c[f >> 2] = -72;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- c[j >> 2] = pr(c[h >> 2] | 0) | 0;
- if ((c[j >> 2] | 0) != -47205084) {
- c[f >> 2] = -10;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- } else {
- c[((c[g >> 2] | 0) + 10272) >> 2] = 5;
- c[f >> 2] = c[((c[g >> 2] | 0) + 10272) >> 2];
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- return 0;
- }
- function nw(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if (
- (c[i >> 2] | 0) !=
- (c[((c[g >> 2] | 0) + 10272) >> 2] | 0)
- ) {
- c[f >> 2] = -72;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- c[j >> 2] =
- sx(
- ((c[g >> 2] | 0) + 10280) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- if (
- Dw() | 0
- ? (c[((c[g >> 2] | 0) + 10280 + 8) >> 2] | 0) >>> 0 > 25
- : 0
- ) {
- c[f >> 2] = -14;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- c[f >> 2] = c[j >> 2];
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- function ow(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] =
- qw(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- m = (rr(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (m) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + f;
- c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- rw(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function pw(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- c[g >> 2] = -70;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else {
- mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- c[g >> 2] = c[k >> 2];
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function qw(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 32) | 0;
- i = (g + 28) | 0;
- j = (g + 24) | 0;
- k = (g + 20) | 0;
- m = (g + 16) | 0;
- n = (g + 12) | 0;
- o = (g + 8) | 0;
- p = (g + 4) | 0;
- q = g;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[j >> 2];
- if ((c[k >> 2] | 0) >>> 0 < 11) {
- c[h >> 2] = -20;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- switch (((d[c[m >> 2] >> 0] | 0) & 3) | 0) {
- case 0: {
- c[n >> 2] = 131072;
- c[o >> 2] =
- Uw(
- ((c[i >> 2] | 0) + 10328) | 0,
- n,
- c[j >> 2] | 0,
- c[k >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 10320) >> 2] =
- (c[i >> 2] | 0) + 10328;
- c[((c[i >> 2] | 0) + 10324) >> 2] = c[n >> 2];
- n =
- ((c[i >> 2] | 0) +
- 10328 +
- (c[((c[i >> 2] | 0) + 10324) >> 2] | 0)) |
- 0;
- a[n >> 0] = 0;
- a[(n + 1) >> 0] = 0;
- a[(n + 2) >> 0] = 0;
- a[(n + 3) >> 0] = 0;
- a[(n + 4) >> 0] = 0;
- a[(n + 5) >> 0] = 0;
- a[(n + 6) >> 0] = 0;
- a[(n + 7) >> 0] = 0;
- c[h >> 2] = c[o >> 2];
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- case 1: {
- c[p >> 2] = ((pr(c[m >> 2] | 0) | 0) & 16777215) >>> 2;
- if (
- (c[p >> 2] | 0) >>> 0 <=
- (((c[k >> 2] | 0) - 11) | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 10320) >> 2] = (c[m >> 2] | 0) + 3;
- c[((c[i >> 2] | 0) + 10324) >> 2] = c[p >> 2];
- c[h >> 2] = (c[p >> 2] | 0) + 3;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- if (
- (c[p >> 2] | 0) >>> 0 >
- (((c[k >> 2] | 0) - 3) | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- mE(
- ((c[i >> 2] | 0) + 10328) | 0,
- c[m >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 10320) >> 2] =
- (c[i >> 2] | 0) + 10328;
- c[((c[i >> 2] | 0) + 10324) >> 2] = c[p >> 2];
- k =
- ((c[i >> 2] | 0) +
- 10328 +
- (c[((c[i >> 2] | 0) + 10324) >> 2] | 0)) |
- 0;
- a[k >> 0] = 0;
- a[(k + 1) >> 0] = 0;
- a[(k + 2) >> 0] = 0;
- a[(k + 3) >> 0] = 0;
- a[(k + 4) >> 0] = 0;
- a[(k + 5) >> 0] = 0;
- a[(k + 6) >> 0] = 0;
- a[(k + 7) >> 0] = 0;
- c[h >> 2] = (c[p >> 2] | 0) + 3;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- break;
- }
- case 2: {
- c[q >> 2] = ((pr(c[m >> 2] | 0) | 0) & 16777215) >>> 2;
- if ((c[q >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- oE(
- ((c[i >> 2] | 0) + 10328) | 0,
- ((d[((c[m >> 2] | 0) + 3) >> 0] | 0) & 255) | 0,
- ((c[q >> 2] | 0) + 8) | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 10320) >> 2] =
- (c[i >> 2] | 0) + 10328;
- c[((c[i >> 2] | 0) + 10324) >> 2] = c[q >> 2];
- c[h >> 2] = 4;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- break;
- }
- default: {
- c[h >> 2] = -20;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- }
- return 0;
- }
- function rw(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0;
- g = l;
- l = (l + 176) | 0;
- h = (g + 164) | 0;
- i = (g + 160) | 0;
- j = (g + 156) | 0;
- k = (g + 152) | 0;
- m = (g + 148) | 0;
- n = (g + 144) | 0;
- o = (g + 140) | 0;
- p = (g + 136) | 0;
- q = (g + 132) | 0;
- r = (g + 128) | 0;
- s = (g + 124) | 0;
- t = (g + 120) | 0;
- u = (g + 116) | 0;
- v = (g + 112) | 0;
- w = (g + 108) | 0;
- x = (g + 104) | 0;
- y = (g + 100) | 0;
- z = (g + 96) | 0;
- A = (g + 92) | 0;
- B = (g + 88) | 0;
- C = (g + 84) | 0;
- D = (g + 80) | 0;
- E = (g + 76) | 0;
- F = (g + 72) | 0;
- G = (g + 60) | 0;
- H = (g + 8) | 0;
- I = (g + 4) | 0;
- J = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[w >> 2] = c[((c[j >> 2] | 0) + 10320) >> 2];
- c[x >> 2] =
- (c[w >> 2] | 0) + (c[((c[j >> 2] | 0) + 10324) >> 2] | 0);
- c[A >> 2] = c[j >> 2];
- c[B >> 2] = (c[j >> 2] | 0) + 6152;
- c[C >> 2] = (c[j >> 2] | 0) + 4100;
- c[D >> 2] = c[((c[j >> 2] | 0) + 10256) >> 2];
- c[E >> 2] = c[((c[j >> 2] | 0) + 10260) >> 2];
- c[F >> 2] = c[((c[j >> 2] | 0) + 10264) >> 2];
- c[u >> 2] =
- sw(
- y,
- z,
- v,
- c[A >> 2] | 0,
- c[B >> 2] | 0,
- c[C >> 2] | 0,
- c[p >> 2] | 0,
- ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
- ) | 0;
- j = (rr(c[u >> 2] | 0) | 0) != 0;
- m = c[u >> 2] | 0;
- if (j) {
- c[i >> 2] = m;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- c[p >> 2] = (c[p >> 2] | 0) + m;
- c[G >> 2] = 0;
- c[(G + 4) >> 2] = 0;
- c[(G + 8) >> 2] = 0;
- c[(G + 4) >> 2] = 4;
- c[(H + 44) >> 2] = c[z >> 2];
- c[(H + 48) >> 2] = (c[z >> 2] | 0) + (c[v >> 2] | 0);
- c[(H + 40) >> 2] = 4;
- c[u >> 2] =
- tw(
- H,
- c[p >> 2] | 0,
- ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
- ) | 0;
- if (sr(c[u >> 2] | 0) | 0) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- uw((H + 16) | 0, H, c[A >> 2] | 0);
- uw((H + 24) | 0, H, c[C >> 2] | 0);
- uw((H + 32) | 0, H, c[B >> 2] | 0);
- while (1) {
- B = (vw(H) | 0) >>> 0 <= 2;
- if (!(B ? (c[y >> 2] | 0) != 0 : 0)) break;
- c[y >> 2] = (c[y >> 2] | 0) + -1;
- ww(G, H);
- B = c[s >> 2] | 0;
- C = c[t >> 2] | 0;
- A = c[x >> 2] | 0;
- u = c[D >> 2] | 0;
- p = c[E >> 2] | 0;
- q = c[F >> 2] | 0;
- c[h >> 2] = c[G >> 2];
- c[(h + 4) >> 2] = c[(G + 4) >> 2];
- c[(h + 8) >> 2] = c[(G + 8) >> 2];
- c[I >> 2] = xw(B, C, h, w, A, u, p, q) | 0;
- q = (rr(c[I >> 2] | 0) | 0) != 0;
- L = c[I >> 2] | 0;
- if (q) {
- M = 8;
- break;
- }
- c[s >> 2] = (c[s >> 2] | 0) + L;
- }
- if ((M | 0) == 8) {
- c[i >> 2] = L;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- if (!(yw(H) | 0)) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- c[J >> 2] = (c[x >> 2] | 0) - (c[w >> 2] | 0);
- if ((c[w >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
- c[i >> 2] = -20;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- if (
- (((c[s >> 2] | 0) + (c[J >> 2] | 0)) | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[i >> 2] = -70;
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- if ((c[s >> 2] | 0) != (c[w >> 2] | 0))
- mE(c[s >> 2] | 0, c[w >> 2] | 0, c[J >> 2] | 0) | 0;
- c[s >> 2] = (c[s >> 2] | 0) + (c[J >> 2] | 0);
- c[i >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- K = c[i >> 2] | 0;
- l = g;
- return K | 0;
- }
- function sw(b, e, f, g, h, i, j, k) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- var m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0;
- m = l;
- l = (l + 352) | 0;
- n = (m + 344) | 0;
- o = (m + 340) | 0;
- p = (m + 336) | 0;
- q = (m + 332) | 0;
- r = (m + 328) | 0;
- s = (m + 324) | 0;
- t = (m + 320) | 0;
- u = (m + 316) | 0;
- v = (m + 312) | 0;
- w = (m + 308) | 0;
- x = (m + 304) | 0;
- y = (m + 300) | 0;
- z = (m + 296) | 0;
- A = (m + 292) | 0;
- B = (m + 288) | 0;
- C = (m + 284) | 0;
- D = (m + 280) | 0;
- E = (m + 276) | 0;
- F = (m + 272) | 0;
- G = m;
- H = (m + 268) | 0;
- I = (m + 264) | 0;
- J = (m + 260) | 0;
- K = (m + 256) | 0;
- c[o >> 2] = b;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = j;
- c[v >> 2] = k;
- c[w >> 2] = c[u >> 2];
- c[x >> 2] = c[w >> 2];
- c[y >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- if ((c[v >> 2] | 0) >>> 0 < 5) {
- c[n >> 2] = -72;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- v = (Lw(c[x >> 2] | 0) | 0) & 65535;
- c[c[o >> 2] >> 2] = v;
- c[x >> 2] = (c[x >> 2] | 0) + 2;
- c[z >> 2] = (d[c[x >> 2] >> 0] | 0) >> 6;
- c[A >> 2] = ((d[c[x >> 2] >> 0] | 0) >> 4) & 3;
- c[B >> 2] = ((d[c[x >> 2] >> 0] | 0) >> 2) & 3;
- v = c[x >> 2] | 0;
- if (((d[c[x >> 2] >> 0] | 0) & 2) | 0) {
- c[F >> 2] = d[(v + 2) >> 0];
- c[F >> 2] =
- (c[F >> 2] | 0) +
- ((d[((c[x >> 2] | 0) + 1) >> 0] | 0) << 8);
- c[x >> 2] = (c[x >> 2] | 0) + 3;
- } else {
- c[F >> 2] = d[(v + 1) >> 0];
- c[F >> 2] =
- (c[F >> 2] | 0) + (((d[c[x >> 2] >> 0] | 0) & 1) << 8);
- c[x >> 2] = (c[x >> 2] | 0) + 2;
- }
- c[c[p >> 2] >> 2] = c[x >> 2];
- c[x >> 2] = (c[x >> 2] | 0) + (c[F >> 2] | 0);
- c[c[q >> 2] >> 2] = c[F >> 2];
- if (
- (c[x >> 2] | 0) >>> 0 >
- (((c[y >> 2] | 0) + -3) | 0) >>> 0
- ) {
- c[n >> 2] = -72;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- a: do {
- switch (c[z >> 2] | 0) {
- case 2: {
- c[C >> 2] = 0;
- F = c[r >> 2] | 0;
- q = c[x >> 2] | 0;
- c[x >> 2] = q + 1;
- Mw(F, a[q >> 0] | 0) | 0;
- break;
- }
- case 1: {
- c[C >> 2] = 6;
- Nw(c[r >> 2] | 0, 6) | 0;
- break;
- }
- default: {
- c[I >> 2] = 63;
- c[H >> 2] =
- Ow(
- G,
- I,
- C,
- c[x >> 2] | 0,
- ((c[y >> 2] | 0) - (c[x >> 2] | 0)) | 0
- ) | 0;
- if (Pw(c[H >> 2] | 0) | 0) {
- c[n >> 2] = -1;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- if ((c[C >> 2] | 0) >>> 0 <= 10) {
- c[x >> 2] = (c[x >> 2] | 0) + (c[H >> 2] | 0);
- Qw(c[r >> 2] | 0, G, c[I >> 2] | 0, c[C >> 2] | 0) |
- 0;
- break a;
- }
- c[n >> 2] = -20;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- }
- } while (0);
- b: do {
- switch (c[A >> 2] | 0) {
- case 2: {
- c[D >> 2] = 0;
- if (
- (c[x >> 2] | 0) >>> 0 <=
- (((c[y >> 2] | 0) + -2) | 0) >>> 0
- ) {
- C = c[t >> 2] | 0;
- I = c[x >> 2] | 0;
- c[x >> 2] = I + 1;
- Mw(C, (d[I >> 0] | 0) & 31) | 0;
- break b;
- }
- c[n >> 2] = -72;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- case 1: {
- c[D >> 2] = 5;
- Nw(c[t >> 2] | 0, 5) | 0;
- break;
- }
- default: {
- c[J >> 2] = 31;
- c[H >> 2] =
- Ow(
- G,
- J,
- D,
- c[x >> 2] | 0,
- ((c[y >> 2] | 0) - (c[x >> 2] | 0)) | 0
- ) | 0;
- if (Pw(c[H >> 2] | 0) | 0) {
- c[n >> 2] = -1;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- if ((c[D >> 2] | 0) >>> 0 <= 9) {
- c[x >> 2] = (c[x >> 2] | 0) + (c[H >> 2] | 0);
- Qw(c[t >> 2] | 0, G, c[J >> 2] | 0, c[D >> 2] | 0) |
- 0;
- break b;
- }
- c[n >> 2] = -20;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- }
- } while (0);
- c: do {
- switch (c[B >> 2] | 0) {
- case 2: {
- c[E >> 2] = 0;
- if (
- (c[x >> 2] | 0) >>> 0 <=
- (((c[y >> 2] | 0) + -2) | 0) >>> 0
- ) {
- D = c[s >> 2] | 0;
- J = c[x >> 2] | 0;
- c[x >> 2] = J + 1;
- Mw(D, a[J >> 0] | 0) | 0;
- break c;
- }
- c[n >> 2] = -72;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- case 1: {
- c[E >> 2] = 7;
- Nw(c[s >> 2] | 0, 7) | 0;
- break;
- }
- default: {
- c[K >> 2] = 127;
- c[H >> 2] =
- Ow(
- G,
- K,
- E,
- c[x >> 2] | 0,
- ((c[y >> 2] | 0) - (c[x >> 2] | 0)) | 0
- ) | 0;
- if (Pw(c[H >> 2] | 0) | 0) {
- c[n >> 2] = -1;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- if ((c[E >> 2] | 0) >>> 0 <= 10) {
- c[x >> 2] = (c[x >> 2] | 0) + (c[H >> 2] | 0);
- Qw(c[s >> 2] | 0, G, c[K >> 2] | 0, c[E >> 2] | 0) |
- 0;
- break c;
- }
- c[n >> 2] = -20;
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- }
- } while (0);
- c[n >> 2] = (c[x >> 2] | 0) - (c[w >> 2] | 0);
- L = c[n >> 2] | 0;
- l = m;
- return L | 0;
- }
- function tw(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 20) | 0;
- h = (f + 16) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- if ((c[j >> 2] | 0) >>> 0 < 1) {
- e = c[h >> 2] | 0;
- c[e >> 2] = 0;
- c[(e + 4) >> 2] = 0;
- c[(e + 8) >> 2] = 0;
- c[(e + 12) >> 2] = 0;
- c[g >> 2] = -72;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- e = (c[j >> 2] | 0) >>> 0 >= 4;
- c[((c[h >> 2] | 0) + 12) >> 2] = c[i >> 2];
- do {
- if (e) {
- c[((c[h >> 2] | 0) + 8) >> 2] =
- (c[i >> 2] | 0) + (c[j >> 2] | 0) + -4;
- b = Hw(c[((c[h >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[h >> 2] >> 2] = b;
- c[k >> 2] =
- d[((c[i >> 2] | 0) + ((c[j >> 2] | 0) - 1)) >> 0];
- if (c[k >> 2] | 0) {
- b = (8 - (Kw(c[k >> 2] | 0) | 0)) | 0;
- c[((c[h >> 2] | 0) + 4) >> 2] = b;
- break;
- }
- c[g >> 2] = -1;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- } else {
- c[((c[h >> 2] | 0) + 8) >> 2] =
- c[((c[h >> 2] | 0) + 12) >> 2];
- c[c[h >> 2] >> 2] =
- d[c[((c[h >> 2] | 0) + 12) >> 2] >> 0];
- switch (c[j >> 2] | 0) {
- case 7: {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[
- ((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 6) >> 0
- ] |
- 0) <<
- 16);
- o = 9;
- break;
- }
- case 6: {
- o = 9;
- break;
- }
- case 5: {
- o = 10;
- break;
- }
- case 4: {
- o = 11;
- break;
- }
- case 3: {
- o = 12;
- break;
- }
- case 2: {
- o = 13;
- break;
- }
- default: {
- }
- }
- if ((o | 0) == 9) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 5) >> 0] |
- 0) <<
- 8);
- o = 10;
- }
- if ((o | 0) == 10) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 4) >> 0] |
- 0) <<
- 0);
- o = 11;
- }
- if ((o | 0) == 11) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 3) >> 0] |
- 0) <<
- 24);
- o = 12;
- }
- if ((o | 0) == 12) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 2) >> 0] |
- 0) <<
- 16);
- o = 13;
- }
- if ((o | 0) == 13) {
- b = c[h >> 2] | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) +
- ((d[((c[((c[h >> 2] | 0) + 12) >> 2] | 0) + 1) >> 0] |
- 0) <<
- 8);
- }
- c[m >> 2] =
- d[((c[i >> 2] | 0) + ((c[j >> 2] | 0) - 1)) >> 0];
- if (c[m >> 2] | 0) {
- b = (8 - (Kw(c[m >> 2] | 0) | 0)) | 0;
- c[((c[h >> 2] | 0) + 4) >> 2] = b;
- b = ((c[h >> 2] | 0) + 4) | 0;
- c[b >> 2] =
- (c[b >> 2] | 0) + ((4 - (c[j >> 2] | 0)) << 3);
- break;
- }
- c[g >> 2] = -1;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- } while (0);
- c[g >> 2] = c[j >> 2];
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- function uw(a, d, f) {
- a = a | 0;
- d = d | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- g = l;
- l = (l + 16) | 0;
- h = (g + 8) | 0;
- i = (g + 4) | 0;
- j = g;
- k = (g + 12) | 0;
- c[h >> 2] = a;
- c[i >> 2] = d;
- c[j >> 2] = f;
- f = c[j >> 2] | 0;
- b[k >> 1] = b[f >> 1] | 0;
- b[(k + 2) >> 1] = b[(f + 2) >> 1] | 0;
- f = Ew(c[i >> 2] | 0, e[k >> 1] | 0) | 0;
- c[c[h >> 2] >> 2] = f;
- vw(c[i >> 2] | 0) | 0;
- c[((c[h >> 2] | 0) + 4) >> 2] = (c[j >> 2] | 0) + 4;
- l = g;
- return;
- }
- function vw(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 12) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[e >> 2] = a;
- if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
- c[d >> 2] = 3;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- a = c[e >> 2] | 0;
- if (
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (((c[((c[e >> 2] | 0) + 12) >> 2] | 0) + 4) | 0) >>> 0
- ) {
- i = ((c[e >> 2] | 0) + 8) | 0;
- c[i >> 2] =
- (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
- i = ((c[e >> 2] | 0) + 4) | 0;
- c[i >> 2] = c[i >> 2] & 7;
- i = Hw(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = i;
- c[d >> 2] = 0;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
- if (
- (c[(a + 8) >> 2] | 0) !=
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
- ) {
- c[f >> 2] = i >>> 3;
- c[g >> 2] = 0;
- if (
- (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (0 - (c[f >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] =
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
- c[g >> 2] = 1;
- }
- a = ((c[e >> 2] | 0) + 8) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
- a = ((c[e >> 2] | 0) + 4) | 0;
- c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
- f = Hw(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = f;
- c[d >> 2] = c[g >> 2];
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- if (i >>> 0 < 32) {
- c[d >> 2] = 1;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- c[d >> 2] = 2;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function ww(a, b) {
- a = a | 0;
- b = b | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- e = l;
- l = (l + 48) | 0;
- f = (e + 44) | 0;
- g = (e + 40) | 0;
- h = (e + 36) | 0;
- i = (e + 32) | 0;
- j = (e + 28) | 0;
- k = (e + 24) | 0;
- m = (e + 20) | 0;
- n = (e + 16) | 0;
- o = (e + 12) | 0;
- p = (e + 8) | 0;
- q = (e + 4) | 0;
- r = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[m >> 2] = c[((c[g >> 2] | 0) + 44) >> 2];
- c[n >> 2] = c[((c[g >> 2] | 0) + 48) >> 2];
- c[h >> 2] =
- (Cw(((c[g >> 2] | 0) + 16) | 0, c[g >> 2] | 0) | 0) & 255;
- if (c[h >> 2] | 0) s = c[((c[f >> 2] | 0) + 4) >> 2] | 0;
- else s = c[((c[g >> 2] | 0) + 40) >> 2] | 0;
- c[i >> 2] = s;
- if ((c[h >> 2] | 0) == 63) {
- s = c[m >> 2] | 0;
- c[m >> 2] = s + 1;
- c[o >> 2] = d[s >> 0];
- if ((c[o >> 2] | 0) >>> 0 < 255)
- c[h >> 2] = (c[h >> 2] | 0) + (c[o >> 2] | 0);
- else {
- c[h >> 2] =
- (d[c[m >> 2] >> 0] | 0) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) << 16);
- c[m >> 2] = (c[m >> 2] | 0) + 3;
- }
- if ((c[m >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0)
- c[h >> 2] = 318;
- if ((c[m >> 2] | 0) >>> 0 >= (c[n >> 2] | 0) >>> 0)
- c[m >> 2] = (c[n >> 2] | 0) + -1;
- }
- c[p >> 2] =
- (Cw(((c[g >> 2] | 0) + 24) | 0, c[g >> 2] | 0) | 0) & 255;
- if (Dw() | 0) vw(c[g >> 2] | 0) | 0;
- o = ((c[p >> 2] | 0) - 1) | 0;
- c[q >> 2] = o;
- c[q >> 2] = (c[p >> 2] | 0) == 0 ? 0 : o;
- o = c[(6880 + (c[p >> 2] << 2)) >> 2] | 0;
- c[j >> 2] = o + (Ew(c[g >> 2] | 0, c[q >> 2] | 0) | 0);
- if (Dw() | 0) vw(c[g >> 2] | 0) | 0;
- if (!(c[p >> 2] | 0)) c[j >> 2] = c[i >> 2];
- if (c[p >> 2] | ((((c[h >> 2] | 0) != 0) ^ 1) & 1) | 0)
- c[((c[g >> 2] | 0) + 40) >> 2] =
- c[((c[f >> 2] | 0) + 4) >> 2];
- c[k >> 2] =
- (Cw(((c[g >> 2] | 0) + 32) | 0, c[g >> 2] | 0) | 0) & 255;
- if ((c[k >> 2] | 0) == 127) {
- p = c[m >> 2] | 0;
- c[m >> 2] = p + 1;
- c[r >> 2] = d[p >> 0];
- if ((c[r >> 2] | 0) >>> 0 < 255)
- c[k >> 2] = (c[k >> 2] | 0) + (c[r >> 2] | 0);
- else {
- c[k >> 2] =
- (d[c[m >> 2] >> 0] | 0) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) << 16);
- c[m >> 2] = (c[m >> 2] | 0) + 3;
- }
- if ((c[m >> 2] | 0) >>> 0 > (c[n >> 2] | 0) >>> 0)
- c[k >> 2] = 382;
- if ((c[m >> 2] | 0) >>> 0 >= (c[n >> 2] | 0) >>> 0)
- c[m >> 2] = (c[n >> 2] | 0) + -1;
- }
- c[k >> 2] = (c[k >> 2] | 0) + 4;
- c[c[f >> 2] >> 2] = c[h >> 2];
- c[((c[f >> 2] | 0) + 4) >> 2] = c[j >> 2];
- c[((c[f >> 2] | 0) + 8) >> 2] = c[k >> 2];
- c[((c[g >> 2] | 0) + 44) >> 2] = c[m >> 2];
- l = e;
- return;
- }
- function xw(b, d, e, f, g, h, i, j) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- k = l;
- l = (l + 64) | 0;
- m = (k + 60) | 0;
- n = (k + 56) | 0;
- o = (k + 52) | 0;
- p = (k + 48) | 0;
- q = (k + 44) | 0;
- r = (k + 40) | 0;
- s = (k + 36) | 0;
- t = (k + 32) | 0;
- u = (k + 28) | 0;
- v = (k + 24) | 0;
- w = (k + 20) | 0;
- x = (k + 16) | 0;
- y = (k + 12) | 0;
- z = (k + 8) | 0;
- A = (k + 4) | 0;
- B = k;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
- c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 8) >> 2] | 0);
- c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
- c[x >> 2] = (c[o >> 2] | 0) + -8;
- c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
- c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 4) >> 2] | 0));
- if ((c[u >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) {
- c[m >> 2] = -70;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- if ((c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -70;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- zw(c[n >> 2] | 0, c[c[p >> 2] >> 2] | 0, c[e >> 2] | 0);
- c[n >> 2] = c[u >> 2];
- c[c[p >> 2] >> 2] = c[y >> 2];
- do {
- if (
- (c[(e + 4) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(e + 4) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
- ) {
- c[m >> 2] = -20;
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- c[z >> 2] =
- (c[t >> 2] | 0) +
- (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
- if (
- (((c[z >> 2] | 0) + (c[(e + 8) >> 2] | 0)) | 0) >>> 0 <=
- (c[t >> 2] | 0) >>> 0
- ) {
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 8) >> 2] | 0) |
- 0;
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
- c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
- y = (e + 8) | 0;
- c[y >> 2] = (c[y >> 2] | 0) - (c[A >> 2] | 0);
- c[z >> 2] = c[r >> 2];
- if (
- (c[n >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0
- ? (c[(e + 8) >> 2] | 0) >>> 0 >= 4
- : 0
- )
- break;
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break;
- y = c[z >> 2] | 0;
- c[z >> 2] = y + 1;
- p = a[y >> 0] | 0;
- y = c[n >> 2] | 0;
- c[n >> 2] = y + 1;
- a[y >> 0] = p;
- }
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- } while (0);
- if ((c[(e + 4) >> 2] | 0) >>> 0 < 8) {
- c[B >> 2] = c[(6816 + (c[(e + 4) >> 2] << 2)) >> 2];
- a[c[n >> 2] >> 0] = a[c[z >> 2] >> 0] | 0;
- a[((c[n >> 2] | 0) + 1) >> 0] =
- a[((c[z >> 2] | 0) + 1) >> 0] | 0;
- a[((c[n >> 2] | 0) + 2) >> 0] =
- a[((c[z >> 2] | 0) + 2) >> 0] | 0;
- a[((c[n >> 2] | 0) + 3) >> 0] =
- a[((c[z >> 2] | 0) + 3) >> 0] | 0;
- c[z >> 2] =
- (c[z >> 2] | 0) +
- (c[(6848 + (c[(e + 4) >> 2] << 2)) >> 2] | 0);
- Aw(((c[n >> 2] | 0) + 4) | 0, c[z >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + (0 - (c[B >> 2] | 0));
- } else Bw(c[n >> 2] | 0, c[z >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) + 8;
- c[z >> 2] = (c[z >> 2] | 0) + 8;
- B = c[n >> 2] | 0;
- a: do {
- if (
- (c[w >> 2] | 0) >>> 0 >
- (((c[o >> 2] | 0) + -12) | 0) >>> 0
- ) {
- if (B >>> 0 < (c[x >> 2] | 0) >>> 0) {
- zw(
- c[n >> 2] | 0,
- c[z >> 2] | 0,
- ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
- );
- c[z >> 2] =
- (c[z >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
- c[n >> 2] = c[x >> 2];
- }
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- r = c[z >> 2] | 0;
- c[z >> 2] = r + 1;
- A = a[r >> 0] | 0;
- r = c[n >> 2] | 0;
- c[n >> 2] = r + 1;
- a[r >> 0] = A;
- }
- } else
- zw(B, c[z >> 2] | 0, ((c[(e + 8) >> 2] | 0) - 8) | 0);
- } while (0);
- c[m >> 2] = c[v >> 2];
- C = c[m >> 2] | 0;
- l = k;
- return C | 0;
- }
- function yw(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- if (
- (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
- ) {
- e = 0;
- f = e & 1;
- l = b;
- return f | 0;
- }
- e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
- f = e & 1;
- l = b;
- return f | 0;
- }
- function zw(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- Bw(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function Aw(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- l = e;
- return;
- }
- function Bw(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function Cw(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = Ew(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function Dw() {
- return 1;
- }
- function Ew(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = Fw(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- Gw(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function Fw(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- (((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- 1) >>>
- ((31 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function Gw(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ((c[e >> 2] | 0) + 4) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
- l = d;
- return;
- }
- function Hw(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (Dw() | 0) != 0;
- f = c[e >> 2] | 0;
- if (a) {
- c[d >> 2] = pr(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- a = Iw(f) | 0;
- c[d >> 2] = a;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Iw(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- f = (b + 12) | 0;
- g = (b + 8) | 0;
- c[f >> 2] = a;
- a = (tr() | 0) != 0;
- h = c[f >> 2] | 0;
- if (a) {
- a = Jw(h) | 0;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = y;
- i = e;
- j = i;
- k = c[j >> 2] | 0;
- m = (i + 4) | 0;
- n = m;
- o = c[n >> 2] | 0;
- y = o;
- l = b;
- return k | 0;
- } else {
- c[g >> 2] = h;
- h = d[c[g >> 2] >> 0] | 0;
- f = jE(d[((c[g >> 2] | 0) + 1) >> 0] | 0 | 0, 0, 8) | 0;
- a = dE(h | 0, 0, f | 0, y | 0) | 0;
- f = y;
- h = jE(d[((c[g >> 2] | 0) + 2) >> 0] | 0 | 0, 0, 16) | 0;
- p = dE(a | 0, f | 0, h | 0, y | 0) | 0;
- h = y;
- f = jE(d[((c[g >> 2] | 0) + 3) >> 0] | 0 | 0, 0, 24) | 0;
- a = dE(p | 0, h | 0, f | 0, y | 0) | 0;
- f =
- dE(
- a | 0,
- y | 0,
- 0,
- d[((c[g >> 2] | 0) + 4) >> 0] | 0 | 0
- ) | 0;
- a = y;
- h = jE(d[((c[g >> 2] | 0) + 5) >> 0] | 0 | 0, 0, 40) | 0;
- p = dE(f | 0, a | 0, h | 0, y | 0) | 0;
- h = y;
- a = jE(d[((c[g >> 2] | 0) + 6) >> 0] | 0 | 0, 0, 48) | 0;
- f = dE(p | 0, h | 0, a | 0, y | 0) | 0;
- a = y;
- h = jE(d[((c[g >> 2] | 0) + 7) >> 0] | 0 | 0, 0, 56) | 0;
- g = dE(f | 0, a | 0, h | 0, y | 0) | 0;
- h = e;
- c[h >> 2] = g;
- c[(h + 4) >> 2] = y;
- i = e;
- j = i;
- k = c[j >> 2] | 0;
- m = (i + 4) | 0;
- n = m;
- o = c[n >> 2] | 0;
- y = o;
- l = b;
- return k | 0;
- }
- return 0;
- }
- function Jw(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = d;
- c[e >> 2] = b;
- b = c[e >> 2] | 0;
- a[f >> 0] = a[b >> 0] | 0;
- a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
- a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
- a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
- a[(f + 4) >> 0] = a[(b + 4) >> 0] | 0;
- a[(f + 5) >> 0] = a[(b + 5) >> 0] | 0;
- a[(f + 6) >> 0] = a[(b + 6) >> 0] | 0;
- a[(f + 7) >> 0] = a[(b + 7) >> 0] | 0;
- b = f;
- y = c[(b + 4) >> 2] | 0;
- l = d;
- return c[b >> 2] | 0;
- }
- function Kw(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function Lw(a) {
- a = a | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[g >> 2] = a;
- a = (tr() | 0) != 0;
- i = c[g >> 2] | 0;
- if (a) {
- b[f >> 1] = Tw(i) | 0;
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- } else {
- c[h >> 2] = i;
- b[f >> 1] =
- (d[c[h >> 2] >> 0] | 0) +
- ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function Mw(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 20) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = d;
- a[h >> 0] = e;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[i >> 2];
- c[k >> 2] = (c[g >> 2] | 0) + 4;
- c[m >> 2] = c[k >> 2];
- b[c[j >> 2] >> 1] = 0;
- b[((c[j >> 2] | 0) + 2) >> 1] = 0;
- b[c[m >> 2] >> 1] = 0;
- a[((c[m >> 2] | 0) + 2) >> 0] = a[h >> 0] | 0;
- a[((c[m >> 2] | 0) + 3) >> 0] = 0;
- l = f;
- return 0;
- }
- function Nw(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 40) | 0;
- h = (f + 36) | 0;
- i = (f + 32) | 0;
- j = (f + 28) | 0;
- k = (f + 24) | 0;
- m = (f + 20) | 0;
- n = (f + 16) | 0;
- o = (f + 12) | 0;
- p = (f + 8) | 0;
- q = (f + 4) | 0;
- r = f;
- c[h >> 2] = d;
- c[i >> 2] = e;
- c[j >> 2] = c[h >> 2];
- c[k >> 2] = c[j >> 2];
- c[m >> 2] = (c[h >> 2] | 0) + 4;
- c[n >> 2] = c[m >> 2];
- c[o >> 2] = 1 << c[i >> 2];
- c[p >> 2] = (c[o >> 2] | 0) - 1;
- c[q >> 2] = c[p >> 2];
- if ((c[i >> 2] | 0) >>> 0 < 1) {
- c[g >> 2] = -1;
- s = c[g >> 2] | 0;
- l = f;
- return s | 0;
- }
- b[c[k >> 2] >> 1] = c[i >> 2];
- b[((c[k >> 2] | 0) + 2) >> 1] = 1;
- c[r >> 2] = 0;
- while (1) {
- if ((c[r >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
- b[((c[n >> 2] | 0) + (c[r >> 2] << 2)) >> 1] = 0;
- a[((c[n >> 2] | 0) + (c[r >> 2] << 2) + 2) >> 0] =
- c[r >> 2];
- a[((c[n >> 2] | 0) + (c[r >> 2] << 2) + 3) >> 0] =
- c[i >> 2];
- c[r >> 2] = (c[r >> 2] | 0) + 1;
- }
- c[g >> 2] = 0;
- s = c[g >> 2] | 0;
- l = f;
- return s | 0;
- }
- function Ow(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 64) | 0;
- j = (h + 60) | 0;
- k = (h + 56) | 0;
- m = (h + 52) | 0;
- n = (h + 48) | 0;
- o = (h + 44) | 0;
- p = (h + 40) | 0;
- q = (h + 36) | 0;
- r = (h + 32) | 0;
- s = (h + 28) | 0;
- t = (h + 24) | 0;
- u = (h + 20) | 0;
- v = (h + 16) | 0;
- w = (h + 12) | 0;
- x = (h + 8) | 0;
- y = (h + 4) | 0;
- z = h;
- A = (h + 70) | 0;
- B = (h + 68) | 0;
- c[j >> 2] = a;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[p >> 2];
- c[x >> 2] = 0;
- c[y >> 2] = 0;
- if ((c[o >> 2] | 0) >>> 0 < 4) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = pr(c[r >> 2] | 0) | 0;
- c[s >> 2] = (c[v >> 2] & 15) + 5;
- if ((c[s >> 2] | 0) > 15) {
- c[i >> 2] = -44;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) >>> 4;
- c[w >> 2] = 4;
- c[c[m >> 2] >> 2] = c[s >> 2];
- c[t >> 2] = (1 << c[s >> 2]) + 1;
- c[u >> 2] = 1 << c[s >> 2];
- c[s >> 2] = (c[s >> 2] | 0) + 1;
- a: while (1) {
- if ((c[t >> 2] | 0) <= 1) break;
- if ((c[x >> 2] | 0) >>> 0 > (c[c[k >> 2] >> 2] | 0) >>> 0)
- break;
- do {
- if (c[y >> 2] | 0) {
- c[z >> 2] = c[x >> 2];
- while (1) {
- if (((c[v >> 2] & 65535) | 0) != 65535) break;
- c[z >> 2] = (c[z >> 2] | 0) + 24;
- if (
- (c[r >> 2] | 0) >>> 0 <
- (((c[q >> 2] | 0) + -5) | 0) >>> 0
- ) {
- c[r >> 2] = (c[r >> 2] | 0) + 2;
- m = pr(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] | 0);
- } else {
- c[v >> 2] = (c[v >> 2] | 0) >>> 16;
- c[w >> 2] = (c[w >> 2] | 0) + 16;
- }
- }
- while (1) {
- if (((c[v >> 2] & 3) | 0) != 3) break;
- c[z >> 2] = (c[z >> 2] | 0) + 3;
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- }
- c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- if (
- (c[z >> 2] | 0) >>> 0 >
- (c[c[k >> 2] >> 2] | 0) >>> 0
- ) {
- D = 19;
- break a;
- }
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
- break;
- m = c[j >> 2] | 0;
- n = c[x >> 2] | 0;
- c[x >> 2] = n + 1;
- b[(m + (n << 1)) >> 1] = 0;
- }
- if (
- (c[r >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- break;
- }
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- n = pr(c[r >> 2] | 0) | 0;
- c[v >> 2] = n >>> (c[w >> 2] | 0);
- }
- } while (0);
- b[A >> 1] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
- n = c[v >> 2] | 0;
- m = c[u >> 2] | 0;
- if (
- (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
- (b[A >> 1] | 0) >>> 0
- ) {
- b[B >> 1] = n & (m - 1);
- c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
- } else {
- b[B >> 1] = n & ((m << 1) - 1);
- if ((b[B >> 1] | 0) >= (c[u >> 2] | 0))
- b[B >> 1] = (b[B >> 1] | 0) - (b[A >> 1] | 0);
- c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
- }
- b[B >> 1] = (((b[B >> 1] | 0) + -1) << 16) >> 16;
- m = ((Sw(b[B >> 1] | 0) | 0) << 16) >> 16;
- c[t >> 2] = (c[t >> 2] | 0) - m;
- m = b[B >> 1] | 0;
- n = c[j >> 2] | 0;
- g = c[x >> 2] | 0;
- c[x >> 2] = g + 1;
- b[(n + (g << 1)) >> 1] = m;
- c[y >> 2] = (((b[B >> 1] | 0) != 0) ^ 1) & 1;
- while (1) {
- if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
- c[s >> 2] = (c[s >> 2] | 0) + -1;
- c[u >> 2] = c[u >> 2] >> 1;
- }
- if (
- (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[w >> 2] =
- (c[w >> 2] | 0) -
- (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
- c[r >> 2] = (c[q >> 2] | 0) + -4;
- } else {
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- }
- m = pr(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] & 31);
- }
- if ((D | 0) == 19) {
- c[i >> 2] = -48;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- if ((c[t >> 2] | 0) != 1) {
- c[i >> 2] = -1;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
- c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
- if (
- (((c[r >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 >
- (c[o >> 2] | 0) >>> 0
- ) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- } else {
- c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- return 0;
- }
- function Pw(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = sr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function Qw(f, g, h, i) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0;
- j = l;
- l = (l + 592) | 0;
- k = (j + 572) | 0;
- m = (j + 568) | 0;
- n = (j + 564) | 0;
- o = (j + 560) | 0;
- p = (j + 556) | 0;
- q = (j + 580) | 0;
- r = (j + 552) | 0;
- s = (j + 548) | 0;
- t = (j + 544) | 0;
- u = (j + 540) | 0;
- v = (j + 536) | 0;
- w = j;
- x = (j + 532) | 0;
- y = (j + 528) | 0;
- z = (j + 578) | 0;
- A = (j + 524) | 0;
- B = (j + 520) | 0;
- C = (j + 516) | 0;
- D = (j + 512) | 0;
- E = (j + 584) | 0;
- F = (j + 576) | 0;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = h;
- c[p >> 2] = i;
- c[r >> 2] = (c[m >> 2] | 0) + 4;
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = 1 << c[p >> 2];
- c[u >> 2] = (c[t >> 2] | 0) - 1;
- c[v >> 2] = Rw(c[t >> 2] | 0) | 0;
- c[x >> 2] = 0;
- c[y >> 2] = (c[t >> 2] | 0) - 1;
- b[z >> 1] = 1 << ((c[p >> 2] | 0) - 1);
- c[A >> 2] = 1;
- if ((c[o >> 2] | 0) >>> 0 > 255) {
- c[k >> 2] = -46;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- if ((c[p >> 2] | 0) >>> 0 > 12) {
- c[k >> 2] = -44;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- b[q >> 1] = c[p >> 2];
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
- if (
- (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0) ==
- -1
- ) {
- r = c[B >> 2] & 255;
- i = c[s >> 2] | 0;
- h = c[y >> 2] | 0;
- c[y >> 2] = h + -1;
- a[(i + (h << 2) + 2) >> 0] = r;
- b[(w + (c[B >> 2] << 1)) >> 1] = 1;
- } else {
- if (
- (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0) >=
- (b[z >> 1] | 0)
- )
- c[A >> 2] = 0;
- b[(w + (c[B >> 2] << 1)) >> 1] =
- b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0;
- }
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
- c[C >> 2] = 0;
- while (1) {
- H = c[B >> 2] | 0;
- if (
- (c[C >> 2] | 0) >=
- (b[((c[n >> 2] | 0) + (c[B >> 2] << 1)) >> 1] | 0)
- )
- break;
- a[((c[s >> 2] | 0) + (c[x >> 2] << 2) + 2) >> 0] = H;
- c[x >> 2] =
- ((c[x >> 2] | 0) + (c[v >> 2] | 0)) & c[u >> 2];
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 <= (c[y >> 2] | 0) >>> 0)
- break;
- c[x >> 2] =
- ((c[x >> 2] | 0) + (c[v >> 2] | 0)) & c[u >> 2];
- }
- c[C >> 2] = (c[C >> 2] | 0) + 1;
- }
- c[B >> 2] = H + 1;
- }
- if (c[x >> 2] | 0) {
- c[k >> 2] = -1;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- a[E >> 0] =
- a[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0;
- x = (w + (d[E >> 0] << 1)) | 0;
- H = b[x >> 1] | 0;
- b[x >> 1] = ((H + 1) << 16) >> 16;
- b[F >> 1] = H;
- H = c[p >> 2] | 0;
- x = (H - (Kw(e[F >> 1] | 0) | 0)) & 255;
- a[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] = x;
- b[((c[s >> 2] | 0) + (c[D >> 2] << 2)) >> 1] =
- (e[F >> 1] <<
- d[((c[s >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0]) -
- (c[t >> 2] | 0);
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- b[(q + 2) >> 1] = c[A >> 2];
- A = c[m >> 2] | 0;
- b[A >> 1] = b[q >> 1] | 0;
- b[(A + 2) >> 1] = b[(q + 2) >> 1] | 0;
- c[k >> 2] = 0;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- function Rw(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- (((c[d >> 2] | 0) >>> 1) + ((c[d >> 2] | 0) >>> 3) + 3) | 0
- );
- }
- function Sw(a) {
- a = a | 0;
- var c = 0,
- d = 0;
- c = l;
- l = (l + 16) | 0;
- d = c;
- b[d >> 1] = a;
- a = b[d >> 1] | 0;
- l = c;
- return (((b[d >> 1] | 0) < 0 ? (0 - a) | 0 : a) & 65535) | 0;
- }
- function Tw(d) {
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 4) | 0;
- c[f >> 2] = d;
- d = c[f >> 2] | 0;
- a[g >> 0] = a[d >> 0] | 0;
- a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
- l = e;
- return b[g >> 1] | 0;
- }
- function Uw(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = c[j >> 2];
- c[n >> 2] = ((pr(c[j >> 2] | 0) | 0) & 2097151) >>> 2;
- c[o >> 2] =
- ((pr(((c[m >> 2] | 0) + 2) | 0) | 0) & 16777215) >>> 5;
- if ((c[n >> 2] | 0) >>> 0 > (c[c[i >> 2] >> 2] | 0) >>> 0) {
- c[g >> 2] = -20;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- if (
- (((c[o >> 2] | 0) + 5) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[g >> 2] = -20;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- if (
- Ww(
- Vw(
- c[h >> 2] | 0,
- c[n >> 2] | 0,
- ((c[m >> 2] | 0) + 5) | 0,
- c[o >> 2] | 0
- ) | 0
- ) | 0
- ) {
- c[g >> 2] = -20;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- } else {
- c[c[i >> 2] >> 2] = c[n >> 2];
- c[g >> 2] = (c[o >> 2] | 0) + 5;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- return 0;
- }
- function Vw(a, b, e, f) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 44) | 0;
- i = (g + 40) | 0;
- j = (g + 36) | 0;
- k = (g + 32) | 0;
- m = (g + 28) | 0;
- n = (g + 24) | 0;
- o = (g + 20) | 0;
- p = (g + 8) | 0;
- q = (g + 4) | 0;
- r = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[o >> 2] = (c[j >> 2] | 0) >>> 8;
- c[q >> 2] = 0;
- if (!(c[j >> 2] | 0)) {
- c[h >> 2] = -70;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- if ((c[m >> 2] | 0) >>> 0 > (c[j >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- if ((c[m >> 2] | 0) == (c[j >> 2] | 0)) {
- mE(c[i >> 2] | 0, c[k >> 2] | 0, c[j >> 2] | 0) | 0;
- c[h >> 2] = c[j >> 2];
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- if ((c[m >> 2] | 0) == 1) {
- oE(
- c[i >> 2] | 0,
- ((d[c[k >> 2] >> 0] | 0) & 255) | 0,
- c[j >> 2] | 0
- ) | 0;
- c[h >> 2] = c[j >> 2];
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- c[n >> 2] =
- (((c[m >> 2] << 4) >>> 0) / ((c[j >> 2] | 0) >>> 0)) | 0;
- c[r >> 2] = 0;
- while (1) {
- if ((c[r >> 2] | 0) >= 3) break;
- f =
- ((c[
- (7008 +
- (((c[n >> 2] | 0) * 24) | 0) +
- (c[r >> 2] << 3)) >>
- 2
- ] |
- 0) +
- (N(
- c[
- (7008 +
- (((c[n >> 2] | 0) * 24) | 0) +
- (c[r >> 2] << 3) +
- 4) >>
- 2
- ] | 0,
- c[o >> 2] | 0
- ) |
- 0)) |
- 0;
- c[(p + (c[r >> 2] << 2)) >> 2] = f;
- c[r >> 2] = (c[r >> 2] | 0) + 1;
- }
- r = (p + 4) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + ((c[(p + 4) >> 2] | 0) >>> 4);
- r = (p + 8) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + ((c[(p + 8) >> 2] | 0) >>> 3);
- if ((c[(p + 4) >> 2] | 0) >>> 0 < (c[p >> 2] | 0) >>> 0)
- c[q >> 2] = 1;
- c[h >> 2] =
- sc[c[(11988 + (c[q >> 2] << 2)) >> 2] & 15](
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- function Ww(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = sr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function Xw(a, d, e, f) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 8224) | 0;
- h = (g + 8220) | 0;
- i = (g + 8216) | 0;
- j = (g + 8212) | 0;
- k = (g + 8208) | 0;
- m = (g + 8204) | 0;
- n = g;
- o = (g + 8200) | 0;
- p = (g + 8196) | 0;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- oE(n | 0, 0, 8194) | 0;
- b[n >> 1] = 12;
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = ox(n, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- k = (Ww(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (k) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (f >>> 0 >= (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + (c[p >> 2] | 0);
- c[m >> 2] = (c[m >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- px(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[o >> 2] | 0,
- c[m >> 2] | 0,
- n
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function Yw(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 16416) | 0;
- g = (f + 16412) | 0;
- h = (f + 16408) | 0;
- i = (f + 16404) | 0;
- j = (f + 16400) | 0;
- k = (f + 16396) | 0;
- m = f;
- n = (f + 16392) | 0;
- o = (f + 16388) | 0;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- oE(m | 0, 0, 16388) | 0;
- c[m >> 2] = 12;
- c[n >> 2] = c[j >> 2];
- c[o >> 2] = Zw(m, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- j = (Ww(c[o >> 2] | 0) | 0) != 0;
- e = c[o >> 2] | 0;
- if (j) {
- c[g >> 2] = e;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- if (e >>> 0 >= (c[k >> 2] | 0) >>> 0) {
- c[g >> 2] = -72;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- } else {
- c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
- c[k >> 2] = (c[k >> 2] | 0) - (c[o >> 2] | 0);
- c[g >> 2] =
- _w(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0,
- m
- ) | 0;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- return 0;
- }
- function Zw(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0;
- g = l;
- l = (l + 2128) | 0;
- h = (g + 2120) | 0;
- i = (g + 2116) | 0;
- j = (g + 2112) | 0;
- k = (g + 2108) | 0;
- m = (g + 1760) | 0;
- n = (g + 1248) | 0;
- o = (g + 1168) | 0;
- p = (g + 1088) | 0;
- q = (g + 2104) | 0;
- r = g;
- s = (g + 2100) | 0;
- t = (g + 2096) | 0;
- u = (g + 2092) | 0;
- v = (g + 2088) | 0;
- w = (g + 2084) | 0;
- x = (g + 2080) | 0;
- y = (g + 2076) | 0;
- z = (g + 2072) | 0;
- A = (g + 2068) | 0;
- B = (g + 2064) | 0;
- C = (g + 2060) | 0;
- D = (g + 2056) | 0;
- E = (g + 2052) | 0;
- F = (g + 2048) | 0;
- G = (g + 2044) | 0;
- H = (g + 2040) | 0;
- I = (g + 2036) | 0;
- J = (g + 2032) | 0;
- K = (g + 2028) | 0;
- L = (g + 2024) | 0;
- M = (g + 2020) | 0;
- N = (g + 2016) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- f = o;
- e = (f + 68) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (e | 0));
- f = p;
- e = (f + 72) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (e | 0));
- c[q >> 2] = p + 4;
- c[w >> 2] = c[c[i >> 2] >> 2];
- c[y >> 2] = c[i >> 2];
- c[z >> 2] = (c[y >> 2] | 0) + 4;
- if ((c[w >> 2] | 0) >>> 0 > 16) {
- c[h >> 2] = -44;
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- c[x >> 2] =
- ex(m, 256, o, v, s, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- if (Ww(c[x >> 2] | 0) | 0) {
- c[h >> 2] = c[x >> 2];
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- if ((c[s >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) {
- c[h >> 2] = -44;
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- c[t >> 2] = c[s >> 2];
- while (1) {
- if (c[(o + (c[t >> 2] << 2)) >> 2] | 0) break;
- if (!(c[t >> 2] | 0)) {
- P = 10;
- break;
- }
- c[t >> 2] = (c[t >> 2] | 0) + -1;
- }
- if ((P | 0) == 10) {
- c[h >> 2] = -1;
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- c[B >> 2] = 0;
- c[A >> 2] = 1;
- while (1) {
- Q = c[B >> 2] | 0;
- if ((c[A >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
- c[C >> 2] = Q;
- c[B >> 2] =
- (c[B >> 2] | 0) + (c[(o + (c[A >> 2] << 2)) >> 2] | 0);
- c[((c[q >> 2] | 0) + (c[A >> 2] << 2)) >> 2] = c[C >> 2];
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- }
- c[c[q >> 2] >> 2] = Q;
- c[u >> 2] = c[B >> 2];
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
- c[E >> 2] = d[(m + (c[D >> 2] | 0)) >> 0];
- B = ((c[q >> 2] | 0) + (c[E >> 2] << 2)) | 0;
- Q = c[B >> 2] | 0;
- c[B >> 2] = Q + 1;
- c[F >> 2] = Q;
- a[(n + (c[F >> 2] << 1)) >> 0] = c[D >> 2];
- a[(n + (c[F >> 2] << 1) + 1) >> 0] = c[E >> 2];
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[c[q >> 2] >> 2] = 0;
- c[G >> 2] = (c[s >> 2] | 0) + 1 - (c[t >> 2] | 0);
- c[H >> 2] = 0;
- c[K >> 2] = (c[w >> 2] | 0) - (c[s >> 2] | 0) - 1;
- c[L >> 2] = r;
- c[I >> 2] = 1;
- while (1) {
- if ((c[I >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
- c[M >> 2] = c[H >> 2];
- c[H >> 2] =
- (c[H >> 2] | 0) +
- (c[(o + (c[I >> 2] << 2)) >> 2] <<
- ((c[I >> 2] | 0) + (c[K >> 2] | 0)));
- c[((c[L >> 2] | 0) + (c[I >> 2] << 2)) >> 2] = c[M >> 2];
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- c[J >> 2] = c[G >> 2];
- while (1) {
- if (
- (c[J >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[G >> 2] | 0)) | 0) >>> 0
- )
- break;
- c[N >> 2] = r + (((c[J >> 2] | 0) * 68) | 0);
- c[I >> 2] = 1;
- while (1) {
- if ((c[I >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
- c[((c[N >> 2] | 0) + (c[I >> 2] << 2)) >> 2] =
- (c[((c[L >> 2] | 0) + (c[I >> 2] << 2)) >> 2] | 0) >>>
- (c[J >> 2] | 0);
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- }
- fx(
- c[z >> 2] | 0,
- c[w >> 2] | 0,
- n,
- c[u >> 2] | 0,
- p,
- r,
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) + 1) | 0
- );
- c[h >> 2] = c[x >> 2];
- O = c[h >> 2] | 0;
- l = g;
- return O | 0;
- }
- function _w(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0;
- g = l;
- l = (l + 192) | 0;
- h = (g + 184) | 0;
- i = (g + 180) | 0;
- j = (g + 176) | 0;
- k = (g + 172) | 0;
- m = (g + 168) | 0;
- n = (g + 164) | 0;
- o = (g + 160) | 0;
- p = (g + 156) | 0;
- q = (g + 152) | 0;
- r = (g + 148) | 0;
- s = (g + 144) | 0;
- t = (g + 140) | 0;
- u = (g + 136) | 0;
- v = (g + 120) | 0;
- w = (g + 104) | 0;
- x = (g + 88) | 0;
- y = (g + 72) | 0;
- z = (g + 64) | 0;
- A = (g + 60) | 0;
- B = (g + 56) | 0;
- C = (g + 52) | 0;
- D = (g + 48) | 0;
- E = (g + 44) | 0;
- F = (g + 40) | 0;
- G = (g + 36) | 0;
- H = (g + 32) | 0;
- I = (g + 28) | 0;
- J = (g + 24) | 0;
- K = (g + 20) | 0;
- L = (g + 16) | 0;
- M = (g + 12) | 0;
- N = (g + 8) | 0;
- O = (g + 4) | 0;
- P = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if ((c[m >> 2] | 0) >>> 0 < 10) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = c[i >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[j >> 2] | 0);
- c[r >> 2] = c[n >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + 4;
- c[t >> 2] = c[c[n >> 2] >> 2];
- c[z >> 2] = (Lw(c[o >> 2] | 0) | 0) & 65535;
- c[A >> 2] = (Lw(((c[o >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[B >> 2] = (Lw(((c[o >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[D >> 2] = (c[o >> 2] | 0) + 6;
- c[E >> 2] = (c[D >> 2] | 0) + (c[z >> 2] | 0);
- c[F >> 2] = (c[E >> 2] | 0) + (c[A >> 2] | 0);
- c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
- c[H >> 2] = (((((c[j >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[I >> 2] = (c[p >> 2] | 0) + (c[H >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- c[K >> 2] = (c[J >> 2] | 0) + (c[H >> 2] | 0);
- c[L >> 2] = c[p >> 2];
- c[M >> 2] = c[I >> 2];
- c[N >> 2] = c[J >> 2];
- c[O >> 2] = c[K >> 2];
- c[C >> 2] =
- (c[m >> 2] | 0) -
- ((c[z >> 2] | 0) + (c[A >> 2] | 0) + (c[B >> 2] | 0) + 6);
- if ((c[C >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = tw(v, c[D >> 2] | 0, c[z >> 2] | 0) | 0;
- if (Ww(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = tw(w, c[E >> 2] | 0, c[A >> 2] | 0) | 0;
- if (Ww(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = tw(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
- if (Ww(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- c[u >> 2] = tw(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
- if (Ww(c[u >> 2] | 0) | 0) {
- c[h >> 2] = c[u >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- u = vw(v) | 0;
- C = u | (vw(w) | 0);
- u = C | (vw(x) | 0);
- c[P >> 2] = u | (vw(y) | 0);
- while (1) {
- if (c[P >> 2] | 0) break;
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (((c[q >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if ($w() | 0) {
- u =
- ax(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- }
- if ($w() | 0) {
- u =
- ax(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- }
- if ($w() | 0) {
- u =
- ax(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- }
- if ($w() | 0) {
- u =
- ax(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- }
- $w() | 0;
- u = ax(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- $w() | 0;
- u = ax(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- $w() | 0;
- u = ax(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- $w() | 0;
- u = ax(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- if ($w() | 0) {
- u =
- ax(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- }
- if ($w() | 0) {
- u =
- ax(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- }
- if ($w() | 0) {
- u =
- ax(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- }
- if ($w() | 0) {
- u =
- ax(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- }
- u = ax(c[L >> 2] | 0, v, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + u;
- u = ax(c[M >> 2] | 0, w, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[M >> 2] = (c[M >> 2] | 0) + u;
- u = ax(c[N >> 2] | 0, x, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[N >> 2] = (c[N >> 2] | 0) + u;
- u = ax(c[O >> 2] | 0, y, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- c[O >> 2] = (c[O >> 2] | 0) + u;
- u = vw(v) | 0;
- C = u | (vw(w) | 0);
- u = C | (vw(x) | 0);
- c[P >> 2] = u | (vw(y) | 0);
- }
- if ((c[L >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- if ((c[M >> 2] | 0) >>> 0 > (c[J >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- bx(
- c[L >> 2] | 0,
- v,
- c[I >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- bx(
- c[M >> 2] | 0,
- w,
- c[J >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- bx(
- c[N >> 2] | 0,
- x,
- c[K >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- bx(
- c[O >> 2] | 0,
- y,
- c[q >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- t = yw(v) | 0;
- v = t & (yw(w) | 0);
- w = v & (yw(x) | 0);
- c[P >> 2] = w & (yw(y) | 0);
- if (c[P >> 2] | 0) {
- c[h >> 2] = c[j >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- } else {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- return 0;
- }
- function $w() {
- return 0;
- }
- function ax(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = dx(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- m = c[i >> 2] | 0;
- i = ((c[k >> 2] | 0) + (c[n >> 2] << 2)) | 0;
- a[m >> 0] = a[i >> 0] | 0;
- a[(m + 1) >> 0] = a[(i + 1) >> 0] | 0;
- Gw(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
- );
- l = h;
- return (
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] | 0 | 0
- );
- }
- function bx(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = c[h >> 2];
- while (1) {
- if (vw(c[i >> 2] | 0) | 0) break;
- if (
- (c[h >> 2] | 0) >>> 0 >=
- (((c[j >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if ($w() | 0) {
- f =
- ax(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- $w() | 0;
- f =
- ax(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- if ($w() | 0) {
- f =
- ax(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- f =
- ax(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- while (1) {
- if (vw(c[i >> 2] | 0) | 0) break;
- if (
- (c[h >> 2] | 0) >>> 0 >
- (((c[j >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- f =
- ax(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- while (1) {
- o = c[h >> 2] | 0;
- if (
- (c[h >> 2] | 0) >>> 0 >
- (((c[j >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- f = ax(o, c[i >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + f;
- }
- if (o >>> 0 >= (c[j >> 2] | 0) >>> 0) {
- p = c[h >> 2] | 0;
- q = c[n >> 2] | 0;
- r = p;
- s = q;
- t = (r - s) | 0;
- l = g;
- return t | 0;
- }
- j =
- cx(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + j;
- p = c[h >> 2] | 0;
- q = c[n >> 2] | 0;
- r = p;
- s = q;
- t = (r - s) | 0;
- l = g;
- return t | 0;
- }
- function cx(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = dx(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- a[c[i >> 2] >> 0] =
- a[((c[k >> 2] | 0) + (c[n >> 2] << 2)) >> 0] | 0;
- i = c[j >> 2] | 0;
- if (
- (d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) ==
- 1
- ) {
- Gw(i, d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0);
- l = h;
- return 1;
- }
- if ((c[(i + 4) >> 2] | 0) >>> 0 >= 32) {
- l = h;
- return 1;
- }
- Gw(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 2) + 2) >> 0] | 0
- );
- if ((c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0 <= 32) {
- l = h;
- return 1;
- }
- c[((c[j >> 2] | 0) + 4) >> 2] = 32;
- l = h;
- return 1;
- }
- function dx(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- ((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- ((32 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function ex(b, e, f, g, h, i, j) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0;
- k = l;
- l = (l + 80) | 0;
- m = (k + 68) | 0;
- n = (k + 64) | 0;
- o = (k + 60) | 0;
- p = (k + 56) | 0;
- q = (k + 52) | 0;
- r = (k + 48) | 0;
- s = (k + 44) | 0;
- t = (k + 40) | 0;
- u = (k + 36) | 0;
- v = (k + 32) | 0;
- w = (k + 28) | 0;
- x = (k + 24) | 0;
- y = (k + 20) | 0;
- z = (k + 16) | 0;
- A = (k + 12) | 0;
- B = (k + 8) | 0;
- C = (k + 4) | 0;
- D = k;
- c[n >> 2] = b;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[w >> 2] = c[s >> 2];
- if (!(c[t >> 2] | 0)) {
- c[m >> 2] = -72;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[x >> 2] = d[c[w >> 2] >> 0];
- s = c[x >> 2] | 0;
- a: do {
- if ((c[x >> 2] | 0) >>> 0 < 128) {
- if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
- c[m >> 2] = -72;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[y >> 2] =
- jx(
- c[n >> 2] | 0,
- ((c[o >> 2] | 0) - 1) | 0,
- ((c[w >> 2] | 0) + 1) | 0,
- c[x >> 2] | 0
- ) | 0;
- if (Pw(c[y >> 2] | 0) | 0) {
- c[m >> 2] = c[y >> 2];
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- } else {
- j = c[x >> 2] | 0;
- if (s >>> 0 >= 242) {
- c[y >> 2] = c[(7392 + ((j - 242) << 2)) >> 2];
- oE(c[n >> 2] | 0, 1, c[o >> 2] | 0) | 0;
- c[x >> 2] = 0;
- break;
- }
- c[y >> 2] = j - 127;
- c[x >> 2] = (((((c[y >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
- if (
- (((c[x >> 2] | 0) + 1) | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[m >> 2] = -72;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- if ((c[y >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[y >> 2] | 0) >>> 0)
- break a;
- a[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] =
- (d[
- ((c[w >> 2] | 0) +
- ((((c[z >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) >>
- 4;
- a[((c[n >> 2] | 0) + ((c[z >> 2] | 0) + 1)) >> 0] =
- (d[
- ((c[w >> 2] | 0) +
- ((((c[z >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) &
- 15;
- c[z >> 2] = (c[z >> 2] | 0) + 2;
- }
- }
- } while (0);
- w = c[p >> 2] | 0;
- o = (w + 68) | 0;
- do {
- c[w >> 2] = 0;
- w = (w + 4) | 0;
- } while ((w | 0) < (o | 0));
- c[u >> 2] = 0;
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[y >> 2] | 0) >>> 0) break;
- if (
- (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0 | 0) >=
- 16
- ) {
- F = 20;
- break;
- }
- w =
- ((c[p >> 2] | 0) +
- ((d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) <<
- 2)) |
- 0;
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- c[u >> 2] =
- (c[u >> 2] | 0) +
- ((1 <<
- (d[((c[n >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0)) >>
- 1);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- if ((F | 0) == 20) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- if (!(c[u >> 2] | 0)) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[v >> 2] = (Kw(c[u >> 2] | 0) | 0) + 1;
- if ((c[v >> 2] | 0) >>> 0 > 16) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[A >> 2] = 1 << c[v >> 2];
- c[B >> 2] = (c[A >> 2] | 0) - (c[u >> 2] | 0);
- c[C >> 2] = 1 << (Kw(c[B >> 2] | 0) | 0);
- c[D >> 2] = (Kw(c[B >> 2] | 0) | 0) + 1;
- if ((c[C >> 2] | 0) != (c[B >> 2] | 0)) {
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] = c[D >> 2];
- n = ((c[p >> 2] | 0) + (c[D >> 2] << 2)) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- if (
- (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
- ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
- : 0
- ) {
- c[c[q >> 2] >> 2] = (c[y >> 2] | 0) + 1;
- c[c[r >> 2] >> 2] = c[v >> 2];
- c[m >> 2] = (c[x >> 2] | 0) + 1;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- c[m >> 2] = -20;
- E = c[m >> 2] | 0;
- l = k;
- return E | 0;
- }
- function fx(e, f, g, h, i, j, k, m) {
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0;
- n = l;
- l = (l + 160) | 0;
- o = (n + 140) | 0;
- p = (n + 136) | 0;
- q = (n + 132) | 0;
- r = (n + 128) | 0;
- s = (n + 124) | 0;
- t = (n + 120) | 0;
- u = (n + 116) | 0;
- v = (n + 112) | 0;
- w = n;
- x = (n + 108) | 0;
- y = (n + 104) | 0;
- z = (n + 100) | 0;
- A = (n + 148) | 0;
- B = (n + 96) | 0;
- C = (n + 92) | 0;
- D = (n + 88) | 0;
- E = (n + 84) | 0;
- F = (n + 80) | 0;
- G = (n + 76) | 0;
- H = (n + 72) | 0;
- I = (n + 68) | 0;
- J = (n + 144) | 0;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = k;
- c[v >> 2] = m;
- c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
- c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- u = w;
- m = c[t >> 2] | 0;
- k = (u + 68) | 0;
- do {
- c[u >> 2] = c[m >> 2];
- u = (u + 4) | 0;
- m = (m + 4) | 0;
- } while ((u | 0) < (k | 0));
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
- b[A >> 1] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
- c[B >> 2] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
- c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
- a: do {
- if (
- (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- ) {
- m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
- c[G >> 2] = m;
- c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
- c[F >> 2] =
- c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
- gx(
- ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
- ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
- c[C >> 2] | 0,
- ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 68) | 0)) | 0,
- c[G >> 2] | 0,
- ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
- ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
- c[v >> 2] | 0,
- b[A >> 1] | 0
- );
- } else {
- c[I >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
- hx(J, b[A >> 1] | 0);
- a[(J + 2) >> 0] = c[C >> 2];
- a[(J + 3) >> 0] = 1;
- c[H >> 2] = c[D >> 2];
- while (1) {
- if ((c[H >> 2] | 0) >>> 0 >= (c[I >> 2] | 0) >>> 0)
- break a;
- m = ((c[o >> 2] | 0) + (c[H >> 2] << 2)) | 0;
- b[m >> 1] = b[J >> 1] | 0;
- b[(m + 2) >> 1] = b[(J + 2) >> 1] | 0;
- c[H >> 2] = (c[H >> 2] | 0) + 1;
- }
- }
- } while (0);
- m = (w + (c[B >> 2] << 2)) | 0;
- c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- l = n;
- return;
- }
- function gx(f, g, h, i, j, k, m, n, o) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- var p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0;
- p = l;
- l = (l + 160) | 0;
- q = (p + 136) | 0;
- r = (p + 132) | 0;
- s = (p + 128) | 0;
- t = (p + 124) | 0;
- u = (p + 120) | 0;
- v = (p + 116) | 0;
- w = (p + 112) | 0;
- x = (p + 108) | 0;
- y = (p + 144) | 0;
- z = (p + 140) | 0;
- A = p;
- B = (p + 104) | 0;
- C = (p + 100) | 0;
- D = (p + 96) | 0;
- E = (p + 92) | 0;
- F = (p + 88) | 0;
- G = (p + 84) | 0;
- H = (p + 80) | 0;
- I = (p + 76) | 0;
- J = (p + 72) | 0;
- K = (p + 68) | 0;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = j;
- c[v >> 2] = k;
- c[w >> 2] = m;
- c[x >> 2] = n;
- b[y >> 1] = o;
- o = A;
- n = c[t >> 2] | 0;
- t = (o + 68) | 0;
- do {
- c[o >> 2] = c[n >> 2];
- o = (o + 4) | 0;
- n = (n + 4) | 0;
- } while ((o | 0) < (t | 0));
- a: do {
- if ((c[u >> 2] | 0) > 1) {
- c[D >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
- hx(z, b[y >> 1] | 0);
- a[(z + 2) >> 0] = c[s >> 2];
- a[(z + 3) >> 0] = 1;
- c[C >> 2] = 0;
- while (1) {
- if ((c[C >> 2] | 0) >>> 0 >= (c[D >> 2] | 0) >>> 0)
- break a;
- n = ((c[q >> 2] | 0) + (c[C >> 2] << 2)) | 0;
- b[n >> 1] = b[z >> 1] | 0;
- b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
- c[C >> 2] = (c[C >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[E >> 2] = d[((c[v >> 2] | 0) + (c[B >> 2] << 1)) >> 0];
- c[F >> 2] =
- d[((c[v >> 2] | 0) + (c[B >> 2] << 1) + 1) >> 0];
- c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
- c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
- c[J >> 2] = c[I >> 2];
- c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- hx(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
- a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
- a[(z + 3) >> 0] = 2;
- do {
- C = c[q >> 2] | 0;
- D = c[J >> 2] | 0;
- c[J >> 2] = D + 1;
- u = (C + (D << 2)) | 0;
- b[u >> 1] = b[z >> 1] | 0;
- b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
- } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
- u = (A + (c[F >> 2] << 2)) | 0;
- c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- l = p;
- return;
- }
- function hx(d, f) {
- d = d | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- g = l;
- l = (l + 16) | 0;
- h = (g + 4) | 0;
- i = (g + 8) | 0;
- j = g;
- c[h >> 2] = d;
- b[i >> 1] = f;
- f = (tr() | 0) != 0;
- d = c[h >> 2] | 0;
- if (f) {
- ix(d, b[i >> 1] | 0);
- l = g;
- return;
- } else {
- c[j >> 2] = d;
- a[c[j >> 2] >> 0] = b[i >> 1];
- a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
- l = g;
- return;
- }
- }
- function ix(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (f + 4) | 0;
- c[g >> 2] = d;
- b[h >> 1] = e;
- e = c[g >> 2] | 0;
- a[e >> 0] = a[h >> 0] | 0;
- a[(e + 1) >> 0] = a[(h + 1) >> 0] | 0;
- l = f;
- return;
- }
- function jx(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- f = l;
- l = (l + 16960) | 0;
- g = (f + 16948) | 0;
- h = (f + 16944) | 0;
- i = (f + 16940) | 0;
- j = (f + 16936) | 0;
- k = (f + 16932) | 0;
- m = (f + 16928) | 0;
- n = (f + 16924) | 0;
- o = (f + 16400) | 0;
- p = f;
- q = (f + 16920) | 0;
- r = (f + 16916) | 0;
- s = (f + 16912) | 0;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = c[j >> 2];
- c[n >> 2] = c[m >> 2];
- c[r >> 2] = 255;
- if ((c[k >> 2] | 0) >>> 0 < 2) {
- c[g >> 2] = -72;
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- }
- c[s >> 2] = Ow(o, r, q, c[m >> 2] | 0, c[k >> 2] | 0) | 0;
- m = (Pw(c[s >> 2] | 0) | 0) != 0;
- j = c[s >> 2] | 0;
- if (m) {
- c[g >> 2] = j;
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- }
- if (j >>> 0 >= (c[k >> 2] | 0) >>> 0) {
- c[g >> 2] = -72;
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- }
- c[n >> 2] = (c[n >> 2] | 0) + (c[s >> 2] | 0);
- c[k >> 2] = (c[k >> 2] | 0) - (c[s >> 2] | 0);
- c[s >> 2] = Qw(p, o, c[r >> 2] | 0, c[q >> 2] | 0) | 0;
- if (Pw(c[s >> 2] | 0) | 0) {
- c[g >> 2] = c[s >> 2];
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- } else {
- c[g >> 2] =
- kx(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0,
- p
- ) | 0;
- t = c[g >> 2] | 0;
- l = f;
- return t | 0;
- }
- return 0;
- }
- function kx(d, f, g, h, i) {
- d = d | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0;
- j = l;
- l = (l + 192) | 0;
- k = (j + 184) | 0;
- m = (j + 180) | 0;
- n = (j + 176) | 0;
- o = (j + 172) | 0;
- p = (j + 168) | 0;
- q = (j + 164) | 0;
- r = (j + 160) | 0;
- s = (j + 156) | 0;
- t = (j + 152) | 0;
- u = (j + 148) | 0;
- v = (j + 144) | 0;
- w = (j + 128) | 0;
- x = (j + 120) | 0;
- y = (j + 112) | 0;
- z = (j + 108) | 0;
- A = (j + 104) | 0;
- B = (j + 100) | 0;
- C = (j + 96) | 0;
- D = (j + 92) | 0;
- E = (j + 88) | 0;
- F = (j + 84) | 0;
- G = (j + 80) | 0;
- H = (j + 76) | 0;
- I = (j + 72) | 0;
- J = (j + 68) | 0;
- K = (j + 64) | 0;
- L = (j + 48) | 0;
- M = (j + 40) | 0;
- N = (j + 32) | 0;
- O = (j + 28) | 0;
- P = (j + 24) | 0;
- Q = (j + 20) | 0;
- R = (j + 16) | 0;
- S = (j + 12) | 0;
- T = (j + 8) | 0;
- U = (j + 4) | 0;
- V = (j + 188) | 0;
- W = j;
- c[Q >> 2] = d;
- c[R >> 2] = f;
- c[S >> 2] = g;
- c[T >> 2] = h;
- c[U >> 2] = i;
- i = c[U >> 2] | 0;
- b[V >> 1] = b[i >> 1] | 0;
- b[(V + 2) >> 1] = b[(i + 2) >> 1] | 0;
- c[W >> 2] = e[(V + 2) >> 1];
- V = c[Q >> 2] | 0;
- Q = c[R >> 2] | 0;
- R = c[S >> 2] | 0;
- S = c[T >> 2] | 0;
- T = c[U >> 2] | 0;
- if (c[W >> 2] | 0) {
- c[B >> 2] = V;
- c[C >> 2] = Q;
- c[D >> 2] = R;
- c[E >> 2] = S;
- c[F >> 2] = T;
- c[G >> 2] = 1;
- c[H >> 2] = c[B >> 2];
- c[I >> 2] = c[H >> 2];
- c[J >> 2] = (c[I >> 2] | 0) + (c[C >> 2] | 0);
- c[K >> 2] = (c[J >> 2] | 0) + -3;
- c[O >> 2] = tw(L, c[D >> 2] | 0, c[E >> 2] | 0) | 0;
- do {
- if (!(Pw(c[O >> 2] | 0) | 0)) {
- uw(M, L, c[F >> 2] | 0);
- uw(N, L, c[F >> 2] | 0);
- while (1) {
- if (vw(L) | 0) break;
- if ((c[I >> 2] | 0) >>> 0 >= (c[K >> 2] | 0) >>> 0)
- break;
- if (c[G >> 2] | 0) X = (lx(M, L) | 0) & 255;
- else X = (Cw(M, L) | 0) & 255;
- a[c[I >> 2] >> 0] = X;
- if (c[G >> 2] | 0) Y = (lx(N, L) | 0) & 255;
- else Y = (Cw(N, L) | 0) & 255;
- a[((c[I >> 2] | 0) + 1) >> 0] = Y;
- if ((vw(L) | 0) >>> 0 > 0) {
- Z = 14;
- break;
- }
- if (c[G >> 2] | 0) _ = (lx(M, L) | 0) & 255;
- else _ = (Cw(M, L) | 0) & 255;
- a[((c[I >> 2] | 0) + 2) >> 0] = _;
- if (c[G >> 2] | 0) $ = (lx(N, L) | 0) & 255;
- else $ = (Cw(N, L) | 0) & 255;
- a[((c[I >> 2] | 0) + 3) >> 0] = $;
- c[I >> 2] = (c[I >> 2] | 0) + 4;
- }
- if ((Z | 0) == 14) c[I >> 2] = (c[I >> 2] | 0) + 2;
- while (1) {
- if ((vw(L) | 0) >>> 0 > 2) break;
- if ((c[I >> 2] | 0) == (c[J >> 2] | 0)) break;
- if (yw(L) | 0) {
- if (c[G >> 2] | 0) break;
- if (mx(M) | 0) break;
- }
- if (c[G >> 2] | 0) aa = (lx(M, L) | 0) & 255;
- else aa = (Cw(M, L) | 0) & 255;
- E = c[I >> 2] | 0;
- c[I >> 2] = E + 1;
- a[E >> 0] = aa;
- if ((vw(L) | 0) >>> 0 > 2) break;
- if ((c[I >> 2] | 0) == (c[J >> 2] | 0)) break;
- if (yw(L) | 0) {
- if (c[G >> 2] | 0) break;
- if (mx(N) | 0) break;
- }
- if (c[G >> 2] | 0) ba = (lx(N, L) | 0) & 255;
- else ba = (Cw(N, L) | 0) & 255;
- E = c[I >> 2] | 0;
- c[I >> 2] = E + 1;
- a[E >> 0] = ba;
- }
- if ((yw(L) | 0 ? mx(M) | 0 : 0) ? mx(N) | 0 : 0) {
- c[A >> 2] = (c[I >> 2] | 0) - (c[H >> 2] | 0);
- break;
- }
- if ((c[I >> 2] | 0) == (c[J >> 2] | 0)) {
- c[A >> 2] = -70;
- break;
- } else {
- c[A >> 2] = -20;
- break;
- }
- } else c[A >> 2] = c[O >> 2];
- } while (0);
- c[P >> 2] = c[A >> 2];
- ca = c[P >> 2] | 0;
- l = j;
- return ca | 0;
- } else {
- c[m >> 2] = V;
- c[n >> 2] = Q;
- c[o >> 2] = R;
- c[p >> 2] = S;
- c[q >> 2] = T;
- c[r >> 2] = 0;
- c[s >> 2] = c[m >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = (c[t >> 2] | 0) + (c[n >> 2] | 0);
- c[v >> 2] = (c[u >> 2] | 0) + -3;
- c[z >> 2] = tw(w, c[o >> 2] | 0, c[p >> 2] | 0) | 0;
- do {
- if (!(Pw(c[z >> 2] | 0) | 0)) {
- uw(x, w, c[q >> 2] | 0);
- uw(y, w, c[q >> 2] | 0);
- while (1) {
- if (vw(w) | 0) break;
- if ((c[t >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0)
- break;
- if (c[r >> 2] | 0) da = (lx(x, w) | 0) & 255;
- else da = (Cw(x, w) | 0) & 255;
- a[c[t >> 2] >> 0] = da;
- if (c[r >> 2] | 0) ea = (lx(y, w) | 0) & 255;
- else ea = (Cw(y, w) | 0) & 255;
- a[((c[t >> 2] | 0) + 1) >> 0] = ea;
- if ((vw(w) | 0) >>> 0 > 0) {
- Z = 60;
- break;
- }
- if (c[r >> 2] | 0) fa = (lx(x, w) | 0) & 255;
- else fa = (Cw(x, w) | 0) & 255;
- a[((c[t >> 2] | 0) + 2) >> 0] = fa;
- if (c[r >> 2] | 0) ga = (lx(y, w) | 0) & 255;
- else ga = (Cw(y, w) | 0) & 255;
- a[((c[t >> 2] | 0) + 3) >> 0] = ga;
- c[t >> 2] = (c[t >> 2] | 0) + 4;
- }
- if ((Z | 0) == 60) c[t >> 2] = (c[t >> 2] | 0) + 2;
- while (1) {
- if ((vw(w) | 0) >>> 0 > 2) break;
- if ((c[t >> 2] | 0) == (c[u >> 2] | 0)) break;
- if (yw(w) | 0) {
- if (c[r >> 2] | 0) break;
- if (mx(x) | 0) break;
- }
- if (c[r >> 2] | 0) ha = (lx(x, w) | 0) & 255;
- else ha = (Cw(x, w) | 0) & 255;
- p = c[t >> 2] | 0;
- c[t >> 2] = p + 1;
- a[p >> 0] = ha;
- if ((vw(w) | 0) >>> 0 > 2) break;
- if ((c[t >> 2] | 0) == (c[u >> 2] | 0)) break;
- if (yw(w) | 0) {
- if (c[r >> 2] | 0) break;
- if (mx(y) | 0) break;
- }
- if (c[r >> 2] | 0) ia = (lx(y, w) | 0) & 255;
- else ia = (Cw(y, w) | 0) & 255;
- p = c[t >> 2] | 0;
- c[t >> 2] = p + 1;
- a[p >> 0] = ia;
- }
- if ((yw(w) | 0 ? mx(x) | 0 : 0) ? mx(y) | 0 : 0) {
- c[k >> 2] = (c[t >> 2] | 0) - (c[s >> 2] | 0);
- break;
- }
- if ((c[t >> 2] | 0) == (c[u >> 2] | 0)) {
- c[k >> 2] = -70;
- break;
- } else {
- c[k >> 2] = -20;
- break;
- }
- } else c[k >> 2] = c[z >> 2];
- } while (0);
- c[P >> 2] = c[k >> 2];
- ca = c[P >> 2] | 0;
- l = j;
- return ca | 0;
- }
- return 0;
- }
- function lx(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = nx(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function mx(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[c[d >> 2] >> 2] | 0) == 0) | 0;
- }
- function nx(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = dx(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- Gw(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function ox(f, g, h) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- i = l;
- l = (l + 400) | 0;
- j = (i + 392) | 0;
- k = (i + 388) | 0;
- m = (i + 384) | 0;
- n = (i + 380) | 0;
- o = (i + 80) | 0;
- p = i;
- q = (i + 376) | 0;
- r = (i + 372) | 0;
- s = (i + 368) | 0;
- t = (i + 364) | 0;
- u = (i + 360) | 0;
- v = (i + 356) | 0;
- w = (i + 352) | 0;
- x = (i + 348) | 0;
- y = (i + 344) | 0;
- z = (i + 340) | 0;
- A = (i + 336) | 0;
- B = (i + 396) | 0;
- c[k >> 2] = f;
- c[m >> 2] = g;
- c[n >> 2] = h;
- c[q >> 2] = 0;
- c[s >> 2] = 0;
- c[v >> 2] = (c[k >> 2] | 0) + 2;
- c[w >> 2] = c[v >> 2];
- c[r >> 2] =
- ex(o, 256, p, s, q, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- if (Ww(c[r >> 2] | 0) | 0) {
- c[j >> 2] = c[r >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- if ((c[q >> 2] | 0) >>> 0 > (e[c[k >> 2] >> 1] | 0) >>> 0) {
- c[j >> 2] = -44;
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- b[c[k >> 2] >> 1] = c[q >> 2];
- c[u >> 2] = 0;
- c[t >> 2] = 1;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
- c[x >> 2] = c[u >> 2];
- c[u >> 2] =
- (c[u >> 2] | 0) +
- (c[(p + (c[t >> 2] << 2)) >> 2] << ((c[t >> 2] | 0) - 1));
- c[(p + (c[t >> 2] << 2)) >> 2] = c[x >> 2];
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[t >> 2] = 0;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
- c[y >> 2] = d[(o + (c[t >> 2] | 0)) >> 0];
- c[z >> 2] = (1 << c[y >> 2]) >> 1;
- a[B >> 0] = c[t >> 2];
- a[(B + 1) >> 0] = (c[q >> 2] | 0) + 1 - (c[y >> 2] | 0);
- c[A >> 2] = c[(p + (c[y >> 2] << 2)) >> 2];
- while (1) {
- if (
- (c[A >> 2] | 0) >>> 0 >=
- (((c[(p + (c[y >> 2] << 2)) >> 2] | 0) +
- (c[z >> 2] | 0)) |
- 0) >>>
- 0
- )
- break;
- x = ((c[w >> 2] | 0) + (c[A >> 2] << 1)) | 0;
- a[x >> 0] = a[B >> 0] | 0;
- a[(x + 1) >> 0] = a[(B + 1) >> 0] | 0;
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- }
- x = (p + (c[y >> 2] << 2)) | 0;
- c[x >> 2] = (c[x >> 2] | 0) + (c[z >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[j >> 2] = c[r >> 2];
- C = c[j >> 2] | 0;
- l = i;
- return C | 0;
- }
- function px(b, d, f, g, h) {
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0;
- i = l;
- l = (l + 192) | 0;
- j = (i + 184) | 0;
- k = (i + 180) | 0;
- m = (i + 176) | 0;
- n = (i + 172) | 0;
- o = (i + 168) | 0;
- p = (i + 164) | 0;
- q = (i + 160) | 0;
- r = (i + 156) | 0;
- s = (i + 152) | 0;
- t = (i + 148) | 0;
- u = (i + 144) | 0;
- v = (i + 140) | 0;
- w = (i + 136) | 0;
- x = (i + 120) | 0;
- y = (i + 104) | 0;
- z = (i + 88) | 0;
- A = (i + 72) | 0;
- B = (i + 64) | 0;
- C = (i + 60) | 0;
- D = (i + 56) | 0;
- E = (i + 52) | 0;
- F = (i + 48) | 0;
- G = (i + 44) | 0;
- H = (i + 40) | 0;
- I = (i + 36) | 0;
- J = (i + 32) | 0;
- K = (i + 28) | 0;
- L = (i + 24) | 0;
- M = (i + 20) | 0;
- N = (i + 16) | 0;
- O = (i + 12) | 0;
- P = (i + 8) | 0;
- Q = (i + 4) | 0;
- R = i;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- if ((c[o >> 2] | 0) >>> 0 < 10) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[q >> 2] = c[n >> 2];
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[t >> 2] = c[p >> 2];
- c[u >> 2] = (c[t >> 2] | 0) + 2;
- c[v >> 2] = e[c[p >> 2] >> 1];
- c[B >> 2] = (Lw(c[q >> 2] | 0) | 0) & 65535;
- c[C >> 2] = (Lw(((c[q >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[D >> 2] = (Lw(((c[q >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[F >> 2] = (c[q >> 2] | 0) + 6;
- c[G >> 2] = (c[F >> 2] | 0) + (c[B >> 2] | 0);
- c[H >> 2] = (c[G >> 2] | 0) + (c[C >> 2] | 0);
- c[I >> 2] = (c[H >> 2] | 0) + (c[D >> 2] | 0);
- c[J >> 2] = (((((c[m >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[K >> 2] = (c[r >> 2] | 0) + (c[J >> 2] | 0);
- c[L >> 2] = (c[K >> 2] | 0) + (c[J >> 2] | 0);
- c[M >> 2] = (c[L >> 2] | 0) + (c[J >> 2] | 0);
- c[N >> 2] = c[r >> 2];
- c[O >> 2] = c[K >> 2];
- c[P >> 2] = c[L >> 2];
- c[Q >> 2] = c[M >> 2];
- c[E >> 2] =
- (c[o >> 2] | 0) -
- ((c[B >> 2] | 0) + (c[C >> 2] | 0) + (c[D >> 2] | 0) + 6);
- if ((c[E >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = tw(x, c[F >> 2] | 0, c[B >> 2] | 0) | 0;
- if (Ww(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = tw(y, c[G >> 2] | 0, c[C >> 2] | 0) | 0;
- if (Ww(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = tw(z, c[H >> 2] | 0, c[D >> 2] | 0) | 0;
- if (Ww(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- c[w >> 2] = tw(A, c[I >> 2] | 0, c[E >> 2] | 0) | 0;
- if (Ww(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- w = vw(x) | 0;
- E = w | (vw(y) | 0);
- w = E | (vw(z) | 0);
- c[R >> 2] = w | (vw(A) | 0);
- while (1) {
- if (c[R >> 2] | 0) break;
- if (
- (c[Q >> 2] | 0) >>> 0 >=
- (((c[s >> 2] | 0) + -7) | 0) >>> 0
- )
- break;
- if ($w() | 0) {
- w = qx(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if ($w() | 0) {
- w = qx(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if ($w() | 0) {
- w = qx(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if ($w() | 0) {
- w = qx(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- }
- $w() | 0;
- w = qx(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- $w() | 0;
- w = qx(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- $w() | 0;
- w = qx(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- $w() | 0;
- w = qx(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- if ($w() | 0) {
- w = qx(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if ($w() | 0) {
- w = qx(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if ($w() | 0) {
- w = qx(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- }
- if ($w() | 0) {
- w = qx(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- }
- w = qx(x, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[N >> 2] | 0;
- c[N >> 2] = E + 1;
- a[E >> 0] = w;
- w = qx(y, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[O >> 2] | 0;
- c[O >> 2] = E + 1;
- a[E >> 0] = w;
- w = qx(z, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[P >> 2] | 0;
- c[P >> 2] = E + 1;
- a[E >> 0] = w;
- w = qx(A, c[u >> 2] | 0, c[v >> 2] | 0) | 0;
- E = c[Q >> 2] | 0;
- c[Q >> 2] = E + 1;
- a[E >> 0] = w;
- w = vw(x) | 0;
- E = w | (vw(y) | 0);
- w = E | (vw(z) | 0);
- c[R >> 2] = w | (vw(A) | 0);
- }
- if ((c[N >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- if ((c[O >> 2] | 0) >>> 0 > (c[L >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- if ((c[P >> 2] | 0) >>> 0 > (c[M >> 2] | 0) >>> 0) {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- rx(
- c[N >> 2] | 0,
- x,
- c[K >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- rx(
- c[O >> 2] | 0,
- y,
- c[L >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- rx(
- c[P >> 2] | 0,
- z,
- c[M >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- rx(
- c[Q >> 2] | 0,
- A,
- c[s >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- v = yw(x) | 0;
- x = v & (yw(y) | 0);
- y = x & (yw(z) | 0);
- c[R >> 2] = y & (yw(A) | 0);
- if (c[R >> 2] | 0) {
- c[j >> 2] = c[m >> 2];
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- } else {
- c[j >> 2] = -20;
- S = c[j >> 2] | 0;
- l = i;
- return S | 0;
- }
- return 0;
- }
- function qx(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 16) | 0;
- c[h >> 2] = b;
- c[i >> 2] = e;
- c[j >> 2] = f;
- c[k >> 2] = dx(c[h >> 2] | 0, c[j >> 2] | 0) | 0;
- a[m >> 0] = a[((c[i >> 2] | 0) + (c[k >> 2] << 1)) >> 0] | 0;
- Gw(
- c[h >> 2] | 0,
- d[((c[i >> 2] | 0) + (c[k >> 2] << 1) + 1) >> 0] | 0
- );
- l = g;
- return a[m >> 0] | 0;
- }
- function rx(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 20) | 0;
- j = (h + 16) | 0;
- k = (h + 12) | 0;
- m = (h + 8) | 0;
- n = (h + 4) | 0;
- o = h;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = c[i >> 2];
- while (1) {
- if (vw(c[j >> 2] | 0) | 0) break;
- if (
- (c[i >> 2] | 0) >>> 0 >
- (((c[k >> 2] | 0) + -4) | 0) >>> 0
- )
- break;
- if ($w() | 0) {
- g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- $w() | 0;
- g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- if ($w() | 0) {
- g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- while (1) {
- if (vw(c[j >> 2] | 0) | 0) break;
- if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- while (1) {
- if ((c[i >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- g = qx(c[j >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- f = c[i >> 2] | 0;
- c[i >> 2] = f + 1;
- a[f >> 0] = g;
- }
- l = h;
- return ((c[k >> 2] | 0) - (c[o >> 2] | 0)) | 0;
- }
- function sx(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- if ((c[j >> 2] | 0) >>> 0 < 5) {
- c[g >> 2] = 5;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- c[k >> 2] = pr(c[i >> 2] | 0) | 0;
- if ((c[k >> 2] | 0) != -47205084) {
- c[g >> 2] = -10;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- k = c[h >> 2] | 0;
- c[k >> 2] = 0;
- c[(k + 4) >> 2] = 0;
- c[(k + 8) >> 2] = 0;
- c[(k + 12) >> 2] = 0;
- c[(k + 16) >> 2] = 0;
- c[(k + 20) >> 2] = 0;
- c[(k + 24) >> 2] = 0;
- c[(k + 28) >> 2] = 0;
- c[((c[h >> 2] | 0) + 8) >> 2] =
- ((d[((c[i >> 2] | 0) + 4) >> 0] | 0) & 15) + 11;
- if (((d[((c[i >> 2] | 0) + 4) >> 0] | 0) >> 4) | 0) {
- c[g >> 2] = -14;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else {
- c[g >> 2] = 0;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function tx(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 16) | 0;
- i = (g + 12) | 0;
- j = (g + 8) | 0;
- k = (g + 4) | 0;
- m = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- f =
- Zr(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- 0,
- 0
- ) | 0;
- l = g;
- return f | 0;
- }
- function ux(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 12) | 0;
- k = (f + 8) | 0;
- m = (f + 4) | 0;
- n = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[n >> 2] = Wp() | 0;
- if (!(c[n >> 2] | 0)) {
- c[g >> 2] = -64;
- o = c[g >> 2] | 0;
- l = f;
- return o | 0;
- } else {
- c[m >> 2] =
- tx(
- c[n >> 2] | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0
- ) | 0;
- Xp(c[n >> 2] | 0) | 0;
- c[g >> 2] = c[m >> 2];
- o = c[g >> 2] | 0;
- l = f;
- return o | 0;
- }
- return 0;
- }
- function vx(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return c[((c[d >> 2] | 0) + 28744) >> 2] | 0;
- }
- function wx(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- switch (c[((c[e >> 2] | 0) + 28804) >> 2] | 0) {
- case 6:
- case 7: {
- c[d >> 2] = 5;
- break;
- }
- case 2: {
- c[d >> 2] = 1;
- break;
- }
- case 3: {
- c[d >> 2] = 2;
- break;
- }
- case 4: {
- c[d >> 2] = 3;
- break;
- }
- case 5: {
- c[d >> 2] = 4;
- break;
- }
- default:
- c[d >> 2] = 0;
- }
- l = b;
- return c[d >> 2] | 0;
- }
- function xx(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- g = l;
- l = (l + 64) | 0;
- h = (g + 52) | 0;
- i = (g + 48) | 0;
- j = (g + 44) | 0;
- k = (g + 40) | 0;
- m = (g + 36) | 0;
- n = (g + 32) | 0;
- o = (g + 28) | 0;
- p = (g + 16) | 0;
- q = (g + 12) | 0;
- r = (g + 8) | 0;
- s = (g + 4) | 0;
- t = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if (
- (c[n >> 2] | 0) !=
- (c[((c[i >> 2] | 0) + 28744) >> 2] | 0)
- ) {
- c[h >> 2] = -72;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- if (c[k >> 2] | 0) Br(c[i >> 2] | 0, c[j >> 2] | 0);
- switch (c[((c[i >> 2] | 0) + 28804) >> 2] | 0) {
- case 0: {
- if (
- (c[((c[i >> 2] | 0) + 28912) >> 2] | 0) == 0
- ? (((hq(c[m >> 2] | 0) | 0) & -16) | 0) == 407710288
- : 0
- ) {
- mE(
- ((c[i >> 2] | 0) + 160092) | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 28744) >> 2] = 8 - (c[n >> 2] | 0);
- c[((c[i >> 2] | 0) + 28804) >> 2] = 6;
- c[h >> 2] = 0;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- f =
- nq(
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[((c[i >> 2] | 0) + 28912) >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 28904) >> 2] = f;
- f = ($q(c[((c[i >> 2] | 0) + 28904) >> 2] | 0) | 0) != 0;
- e = c[i >> 2] | 0;
- if (f) {
- c[h >> 2] = c[(e + 28904) >> 2];
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- } else {
- mE((e + 160092) | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- c[((c[i >> 2] | 0) + 28744) >> 2] =
- (c[((c[i >> 2] | 0) + 28904) >> 2] | 0) -
- (c[n >> 2] | 0);
- c[((c[i >> 2] | 0) + 28804) >> 2] = 1;
- c[h >> 2] = 0;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- break;
- }
- case 1: {
- mE(
- ((c[i >> 2] | 0) +
- 160092 +
- ((c[((c[i >> 2] | 0) + 28904) >> 2] | 0) -
- (c[n >> 2] | 0))) |
- 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- c[o >> 2] =
- fs(
- c[i >> 2] | 0,
- ((c[i >> 2] | 0) + 160092) | 0,
- c[((c[i >> 2] | 0) + 28904) >> 2] | 0
- ) | 0;
- if ($q(c[o >> 2] | 0) | 0) {
- c[h >> 2] = c[o >> 2];
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- } else {
- c[((c[i >> 2] | 0) + 28744) >> 2] = 3;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 2;
- c[h >> 2] = 0;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- break;
- }
- case 2: {
- c[q >> 2] = br(c[m >> 2] | 0, 3, p) | 0;
- o = ($q(c[q >> 2] | 0) | 0) != 0;
- e = c[q >> 2] | 0;
- if (o) {
- c[h >> 2] = e;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- c[((c[i >> 2] | 0) + 28744) >> 2] = e;
- c[((c[i >> 2] | 0) + 28800) >> 2] = c[p >> 2];
- c[((c[i >> 2] | 0) + 28936) >> 2] = c[(p + 8) >> 2];
- e = (c[(p + 4) >> 2] | 0) != 0;
- if (c[q >> 2] | 0) {
- c[((c[i >> 2] | 0) + 28804) >> 2] = e ? 4 : 3;
- c[h >> 2] = 0;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- q = c[i >> 2] | 0;
- do {
- if (e) {
- p = ((c[i >> 2] | 0) + 28744) | 0;
- if (c[(q + 28752 + 32) >> 2] | 0) {
- c[p >> 2] = 4;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 5;
- break;
- } else {
- c[p >> 2] = 0;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 0;
- break;
- }
- } else {
- c[(q + 28744) >> 2] = 3;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 2;
- }
- } while (0);
- c[h >> 2] = 0;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- case 3:
- case 4: {
- switch (c[((c[i >> 2] | 0) + 28800) >> 2] | 0) {
- case 2: {
- c[r >> 2] =
- Cr(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 1
- ) | 0;
- break;
- }
- case 0: {
- c[r >> 2] =
- gs(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[r >> 2] =
- yx(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[((c[i >> 2] | 0) + 28936) >> 2] | 0
- ) | 0;
- break;
- }
- default: {
- c[h >> 2] = -20;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- }
- k = ($q(c[r >> 2] | 0) | 0) != 0;
- q = c[r >> 2] | 0;
- if (k) {
- c[h >> 2] = q;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- k = ((c[i >> 2] | 0) + 28792) | 0;
- e = k;
- p = k;
- c[p >> 2] =
- dE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, q | 0, 0) | 0;
- c[(p + 4) >> 2] = y;
- if (c[((c[i >> 2] | 0) + 28752 + 32) >> 2] | 0)
- Nh(
- ((c[i >> 2] | 0) + 28816) | 0,
- c[j >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- p = c[i >> 2] | 0;
- do {
- if ((c[((c[i >> 2] | 0) + 28804) >> 2] | 0) == 4) {
- q = (p + 28752) | 0;
- if (
- (
- (c[q >> 2] | 0) != -1
- ? 1
- : (c[(q + 4) >> 2] | 0) != -1
- )
- ? ((q = ((c[i >> 2] | 0) + 28792) | 0),
- (e = ((c[i >> 2] | 0) + 28752) | 0),
- (c[q >> 2] | 0) != (c[e >> 2] | 0)
- ? 1
- : (c[(q + 4) >> 2] | 0) !=
- (c[(e + 4) >> 2] | 0))
- : 0
- ) {
- c[h >> 2] = -20;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- e = ((c[i >> 2] | 0) + 28744) | 0;
- if (c[((c[i >> 2] | 0) + 28752 + 32) >> 2] | 0) {
- c[e >> 2] = 4;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 5;
- break;
- } else {
- c[e >> 2] = 0;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 0;
- break;
- }
- } else {
- c[(p + 28804) >> 2] = 2;
- c[((c[i >> 2] | 0) + 28744) >> 2] = 3;
- c[((c[i >> 2] | 0) + 28728) >> 2] =
- (c[j >> 2] | 0) + (c[r >> 2] | 0);
- }
- } while (0);
- c[h >> 2] = c[r >> 2];
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- case 5: {
- c[s >> 2] = Oh(((c[i >> 2] | 0) + 28816) | 0) | 0;
- c[t >> 2] = hq(c[m >> 2] | 0) | 0;
- if ((c[t >> 2] | 0) != (c[s >> 2] | 0)) {
- c[h >> 2] = -22;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- } else {
- c[((c[i >> 2] | 0) + 28744) >> 2] = 0;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 0;
- c[h >> 2] = 0;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- break;
- }
- case 6: {
- mE(
- ((c[i >> 2] | 0) + 160092 + (8 - (c[n >> 2] | 0))) | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- n = hq(((c[i >> 2] | 0) + 160092 + 4) | 0) | 0;
- c[((c[i >> 2] | 0) + 28744) >> 2] = n;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 7;
- c[h >> 2] = 0;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- case 7: {
- c[((c[i >> 2] | 0) + 28744) >> 2] = 0;
- c[((c[i >> 2] | 0) + 28804) >> 2] = 0;
- c[h >> 2] = 0;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- default: {
- c[h >> 2] = -1;
- u = c[h >> 2] | 0;
- l = g;
- return u | 0;
- }
- }
- return 0;
- }
- function yx(a, b, e, f, g) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 20) | 0;
- j = (h + 16) | 0;
- k = (h + 12) | 0;
- m = (h + 8) | 0;
- n = (h + 4) | 0;
- o = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- if ((c[n >> 2] | 0) != 1) {
- c[i >> 2] = -72;
- p = c[i >> 2] | 0;
- l = h;
- return p | 0;
- }
- if ((c[o >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0) {
- c[i >> 2] = -70;
- p = c[i >> 2] | 0;
- l = h;
- return p | 0;
- } else {
- oE(
- c[j >> 2] | 0,
- ((d[c[m >> 2] >> 0] | 0) & 255) | 0,
- c[o >> 2] | 0
- ) | 0;
- c[i >> 2] = c[o >> 2];
- p = c[i >> 2] | 0;
- l = h;
- return p | 0;
- }
- return 0;
- }
- function zx(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 24) | 0;
- i = (g + 20) | 0;
- j = (g + 16) | 0;
- k = (g + 12) | 0;
- m = (g + 8) | 0;
- n = (g + 4) | 0;
- o = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- if (
- (((((c[f >> 2] | 0) != 0) ^ 1) & 1) ^
- ((((c[(f + 4) >> 2] | 0) != 0) ^ 1) & 1)) |
- 0
- ) {
- c[i >> 2] = 0;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- }
- c[h >> 2] = c[f >> 2];
- c[(h + 4) >> 2] = c[(f + 4) >> 2];
- c[(h + 8) >> 2] = c[(f + 8) >> 2];
- c[o >> 2] = Rh(28744, h) | 0;
- if (!(c[o >> 2] | 0)) {
- c[i >> 2] = 0;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- }
- h = ((c[o >> 2] | 0) + 28732) | 0;
- c[h >> 2] = c[f >> 2];
- c[(h + 4) >> 2] = c[(f + 4) >> 2];
- c[(h + 8) >> 2] = c[(f + 8) >> 2];
- f =
- ($q(
- Ax(
- c[o >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0
- ) |
- 0) !=
- 0;
- n = c[o >> 2] | 0;
- if (f) {
- Yp(n) | 0;
- c[i >> 2] = 0;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- } else {
- c[i >> 2] = n;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- }
- return 0;
- }
- function Ax(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 32) | 0;
- i = (g + 28) | 0;
- j = (g + 24) | 0;
- k = (g + 20) | 0;
- m = (g + 16) | 0;
- n = (g + 12) | 0;
- o = (g + 8) | 0;
- p = (g + 4) | 0;
- q = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- do {
- if (
- ((c[n >> 2] | 0) != 1) &
- ((c[k >> 2] | 0) != 0) &
- ((c[m >> 2] | 0) != 0)
- ) {
- f = c[m >> 2] | 0;
- e = ((c[j >> 2] | 0) + 28732) | 0;
- c[h >> 2] = c[e >> 2];
- c[(h + 4) >> 2] = c[(e + 4) >> 2];
- c[(h + 8) >> 2] = c[(e + 8) >> 2];
- c[p >> 2] = Rh(f, h) | 0;
- c[c[j >> 2] >> 2] = c[p >> 2];
- c[((c[j >> 2] | 0) + 4) >> 2] = c[p >> 2];
- if (c[p >> 2] | 0) {
- mE(c[p >> 2] | 0, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- break;
- }
- c[i >> 2] = -64;
- r = c[i >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- c[c[j >> 2] >> 2] = 0;
- c[((c[j >> 2] | 0) + 4) >> 2] = c[k >> 2];
- }
- } while (0);
- c[((c[j >> 2] | 0) + 8) >> 2] = c[m >> 2];
- c[((c[j >> 2] | 0) + 12 + 10264) >> 2] = 201326604;
- c[q >> 2] = Bx(c[j >> 2] | 0, c[o >> 2] | 0) | 0;
- if ($q(c[q >> 2] | 0) | 0) {
- c[i >> 2] = c[q >> 2];
- r = c[i >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- c[i >> 2] = 0;
- r = c[i >> 2] | 0;
- l = g;
- return r | 0;
- }
- return 0;
- }
- function Bx(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 16) | 0;
- f = (d + 12) | 0;
- g = (d + 8) | 0;
- h = (d + 4) | 0;
- i = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[((c[f >> 2] | 0) + 28724) >> 2] = 0;
- c[((c[f >> 2] | 0) + 28728) >> 2] = 0;
- do {
- if ((c[g >> 2] | 0) != 1) {
- if ((c[((c[f >> 2] | 0) + 8) >> 2] | 0) >>> 0 < 8)
- if ((c[g >> 2] | 0) == 2) {
- c[e >> 2] = -30;
- break;
- } else {
- c[e >> 2] = 0;
- break;
- }
- c[h >> 2] = hq(c[((c[f >> 2] | 0) + 4) >> 2] | 0) | 0;
- if ((c[h >> 2] | 0) != -332356553) {
- if ((c[g >> 2] | 0) == 2) {
- c[e >> 2] = -30;
- break;
- } else {
- c[e >> 2] = 0;
- break;
- }
- } else {
- b =
- hq(((c[((c[f >> 2] | 0) + 4) >> 2] | 0) + 4) | 0) | 0;
- c[((c[f >> 2] | 0) + 28724) >> 2] = b;
- c[i >> 2] =
- ls(
- ((c[f >> 2] | 0) + 12) | 0,
- c[((c[f >> 2] | 0) + 4) >> 2] | 0,
- c[((c[f >> 2] | 0) + 8) >> 2] | 0
- ) | 0;
- if ($q(c[i >> 2] | 0) | 0) {
- c[e >> 2] = -30;
- break;
- } else {
- c[((c[f >> 2] | 0) + 28728) >> 2] = 1;
- c[e >> 2] = 0;
- break;
- }
- }
- } else c[e >> 2] = 0;
- } while (0);
- l = d;
- return c[e >> 2] | 0;
- }
- function Cx(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- b = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- c[e >> 2] = c[5415];
- c[(e + 4) >> 2] = c[5416];
- c[(e + 8) >> 2] = c[5417];
- g = zx(b, f, 0, 0, e) | 0;
- l = d;
- return g | 0;
- }
- function Dx(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 20) | 0;
- j = (h + 16) | 0;
- k = (h + 12) | 0;
- m = (h + 8) | 0;
- n = (h + 4) | 0;
- o = h;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- g =
- _r(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 0,
- 0,
- c[o >> 2] | 0
- ) | 0;
- l = h;
- return g | 0;
- }
- function Ex() {
- var a = 0,
- b = 0,
- d = 0;
- a = l;
- l = (l + 16) | 0;
- b = a;
- c[b >> 2] = c[5412];
- c[(b + 4) >> 2] = c[5413];
- c[(b + 8) >> 2] = c[5414];
- d = Fx(b) | 0;
- l = a;
- return d | 0;
- }
- function Fx(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = c[a >> 2];
- c[(d + 4) >> 2] = c[(a + 4) >> 2];
- c[(d + 8) >> 2] = c[(a + 8) >> 2];
- a = Vp(d) | 0;
- l = b;
- return a | 0;
- }
- function Gx(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = Xp(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function Hx() {
- return 131075;
- }
- function Ix() {
- return 131072;
- }
- function Jx(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 24) | 0;
- i = (g + 20) | 0;
- j = (g + 16) | 0;
- k = (g + 12) | 0;
- m = (g + 8) | 0;
- n = (g + 4) | 0;
- o = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- if (c[((c[j >> 2] | 0) + 28956) >> 2] | 0) {
- c[i >> 2] = -60;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- }
- Yp(c[((c[j >> 2] | 0) + 28948) >> 2] | 0) | 0;
- if (((c[k >> 2] | 0) != 0) & ((c[m >> 2] | 0) >>> 0 >= 8)) {
- f = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = ((c[j >> 2] | 0) + 28920) | 0;
- c[h >> 2] = c[o >> 2];
- c[(h + 4) >> 2] = c[(o + 4) >> 2];
- c[(h + 8) >> 2] = c[(o + 8) >> 2];
- o = zx(f, k, m, n, h) | 0;
- c[((c[j >> 2] | 0) + 28948) >> 2] = o;
- if (!(c[((c[j >> 2] | 0) + 28948) >> 2] | 0)) {
- c[i >> 2] = -64;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- }
- } else c[((c[j >> 2] | 0) + 28948) >> 2] = 0;
- c[((c[j >> 2] | 0) + 28952) >> 2] =
- c[((c[j >> 2] | 0) + 28948) >> 2];
- c[i >> 2] = 0;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- }
- function Kx(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = Jx(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0, 0, 0) | 0;
- l = e;
- return d | 0;
- }
- function Lx(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[((c[g >> 2] | 0) + 28956) >> 2] = 0;
- c[j >> 2] =
- Kx(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if ($q(c[j >> 2] | 0) | 0) {
- c[f >> 2] = c[j >> 2];
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- } else {
- c[f >> 2] = 5;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- return 0;
- }
- function Mx(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = Lx(c[d >> 2] | 0, 0, 0) | 0;
- l = b;
- return a | 0;
- }
- function Nx(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = Mx(c[e >> 2] | 0) | 0;
- c[((c[e >> 2] | 0) + 28952) >> 2] = c[f >> 2];
- l = d;
- return c[g >> 2] | 0;
- }
- function Ox(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- c[((c[d >> 2] | 0) + 28956) >> 2] = 1;
- c[((c[d >> 2] | 0) + 28988) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28984) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28968) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28992) >> 2] = 0;
- c[((c[d >> 2] | 0) + 29004) >> 2] = 0;
- c[((c[d >> 2] | 0) + 29008) >> 2] = 0;
- l = b;
- return 5;
- }
- function Px(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 40) | 0;
- h = (f + 24) | 0;
- i = (f + 16) | 0;
- j = (f + 36) | 0;
- k = (f + 8) | 0;
- m = f;
- n = (f + 32) | 0;
- o = h;
- c[o >> 2] = a;
- c[(o + 4) >> 2] = b;
- b = i;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- e = h;
- b = c[(e + 4) >> 2] | 0;
- d =
- (b >>> 0 < 0) |
- (((b | 0) == 0) & ((c[e >> 2] | 0) >>> 0 < 131072));
- e = h;
- b = c[(e + 4) >> 2] | 0;
- b = d ? c[e >> 2] | 0 : 131072;
- c[j >> 2] = b;
- b = h;
- h =
- dE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, c[j >> 2] | 0, 0) |
- 0;
- j = dE(h | 0, y | 0, 16, 0) | 0;
- h = k;
- c[h >> 2] = j;
- c[(h + 4) >> 2] = y;
- h = i;
- j = c[(h + 4) >> 2] | 0;
- b = k;
- e = c[(b + 4) >> 2] | 0;
- d =
- (j >>> 0 < e >>> 0) |
- ((j | 0) == (e | 0)
- ? (c[h >> 2] | 0) >>> 0 < (c[b >> 2] | 0) >>> 0
- : 0);
- b = i;
- i = k;
- k = d ? c[(b + 4) >> 2] | 0 : c[(i + 4) >> 2] | 0;
- h = m;
- c[h >> 2] = d ? c[b >> 2] | 0 : c[i >> 2] | 0;
- c[(h + 4) >> 2] = k;
- c[n >> 2] = c[m >> 2];
- k = m;
- if (
- 0 != (c[(k + 4) >> 2] | 0)
- ? 1
- : (c[n >> 2] | 0) != (c[k >> 2] | 0)
- ) {
- c[g >> 2] = -16;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- } else {
- c[g >> 2] = c[n >> 2];
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- return 0;
- }
- function Qx(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0;
- e = l;
- l = (l + 176) | 0;
- f = (e + 152) | 0;
- g = (e + 148) | 0;
- h = (e + 144) | 0;
- i = (e + 140) | 0;
- j = (e + 136) | 0;
- k = (e + 132) | 0;
- m = (e + 128) | 0;
- n = (e + 124) | 0;
- o = (e + 120) | 0;
- p = (e + 116) | 0;
- q = (e + 112) | 0;
- r = (e + 108) | 0;
- s = (e + 104) | 0;
- t = (e + 100) | 0;
- u = (e + 96) | 0;
- v = (e + 92) | 0;
- w = (e + 88) | 0;
- x = (e + 84) | 0;
- y = (e + 80) | 0;
- z = (e + 76) | 0;
- A = (e + 72) | 0;
- B = (e + 68) | 0;
- C = (e + 64) | 0;
- D = (e + 60) | 0;
- E = (e + 56) | 0;
- F = (e + 52) | 0;
- G = (e + 48) | 0;
- H = (e + 44) | 0;
- I = (e + 40) | 0;
- J = (e + 36) | 0;
- K = (e + 32) | 0;
- L = (e + 28) | 0;
- M = (e + 24) | 0;
- N = (e + 20) | 0;
- O = (e + 16) | 0;
- P = (e + 12) | 0;
- Q = (e + 8) | 0;
- R = (e + 4) | 0;
- S = e;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] =
- (c[c[j >> 2] >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[m >> 2] =
- (c[c[j >> 2] >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0);
- c[n >> 2] = c[k >> 2];
- c[o >> 2] =
- (c[c[i >> 2] >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 8) >> 2] | 0);
- c[p >> 2] =
- (c[c[i >> 2] >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 4) >> 2] | 0);
- c[q >> 2] = c[o >> 2];
- c[r >> 2] = 1;
- if (
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0
- ) {
- c[g >> 2] = -72;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- if (
- (c[((c[i >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
- (c[((c[i >> 2] | 0) + 4) >> 2] | 0) >>> 0
- ) {
- c[g >> 2] = -70;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- a: while (1) {
- if (!(c[r >> 2] | 0)) {
- U = 98;
- break;
- }
- switch (c[((c[h >> 2] | 0) + 28956) >> 2] | 0) {
- case 0: {
- Ox(c[h >> 2] | 0) | 0;
- U = 9;
- break;
- }
- case 1: {
- U = 9;
- break;
- }
- case 2: {
- U = 64;
- break;
- }
- case 3: {
- U = 76;
- break;
- }
- case 4: {
- U = 91;
- break;
- }
- default: {
- U = 96;
- break a;
- }
- }
- do {
- if ((U | 0) == 9) {
- U = 0;
- V = c[h >> 2] | 0;
- if (c[((c[h >> 2] | 0) + 29004) >> 2] | 0) {
- U = 10;
- break a;
- }
- c[t >> 2] =
- qq(
- (V + 28752) | 0,
- ((c[h >> 2] | 0) + 160092) | 0,
- c[((c[h >> 2] | 0) + 28992) >> 2] | 0,
- c[((c[h >> 2] | 0) + 28912) >> 2] | 0
- ) | 0;
- if ($q(c[t >> 2] | 0) | 0) {
- U = 16;
- break a;
- }
- if (c[t >> 2] | 0) {
- c[z >> 2] =
- (c[t >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 28992) >> 2] | 0);
- c[A >> 2] = (c[m >> 2] | 0) - (c[n >> 2] | 0);
- if ((c[z >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0) {
- U = 31;
- break a;
- }
- mE(
- ((c[h >> 2] | 0) +
- 160092 +
- (c[((c[h >> 2] | 0) + 28992) >> 2] | 0)) |
- 0,
- c[n >> 2] | 0,
- c[z >> 2] | 0
- ) | 0;
- c[((c[h >> 2] | 0) + 28992) >> 2] = c[t >> 2];
- c[n >> 2] = (c[n >> 2] | 0) + (c[z >> 2] | 0);
- break;
- }
- d = ((c[h >> 2] | 0) + 28752) | 0;
- if (
- (
- (
- ((c[d >> 2] | 0) != 0) |
- ((c[(d + 4) >> 2] | 0) != 0)
- ? ((d = ((c[h >> 2] | 0) + 28752 + 8) | 0),
- ((c[d >> 2] | 0) != 0) |
- ((c[(d + 4) >> 2] | 0) != 0))
- : 0
- )
- ? ((d = ((c[h >> 2] | 0) + 28752) | 0),
- (b = c[(d + 4) >> 2] | 0),
- (0 > b >>> 0) |
- (0 == (b | 0)
- ? (((c[p >> 2] | 0) - (c[q >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[d >> 2] | 0) >>> 0
- : 0))
- : 0
- )
- ? ((c[B >> 2] =
- _q(
- c[k >> 2] | 0,
- ((c[m >> 2] | 0) - (c[k >> 2] | 0)) | 0
- ) | 0),
- (c[B >> 2] | 0) >>> 0 <=
- (((c[m >> 2] | 0) - (c[k >> 2] | 0)) | 0) >>> 0)
- : 0
- ) {
- c[C >> 2] =
- Dx(
- c[h >> 2] | 0,
- c[q >> 2] | 0,
- ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0,
- c[k >> 2] | 0,
- c[B >> 2] | 0,
- c[((c[h >> 2] | 0) + 28952) >> 2] | 0
- ) | 0;
- if ($q(c[C >> 2] | 0) | 0) {
- U = 40;
- break a;
- }
- c[n >> 2] = (c[k >> 2] | 0) + (c[B >> 2] | 0);
- c[q >> 2] = (c[q >> 2] | 0) + (c[C >> 2] | 0);
- c[((c[h >> 2] | 0) + 28744) >> 2] = 0;
- c[((c[h >> 2] | 0) + 28956) >> 2] = 0;
- c[r >> 2] = 0;
- break;
- }
- c[D >> 2] =
- cs(
- c[h >> 2] | 0,
- c[((c[h >> 2] | 0) + 28952) >> 2] | 0
- ) | 0;
- if ($q(c[D >> 2] | 0) | 0) {
- U = 43;
- break a;
- }
- d =
- (((hq(((c[h >> 2] | 0) + 160092) | 0) | 0) & -16) |
- 0) ==
- 407710288;
- b = c[h >> 2] | 0;
- if (d) {
- d = hq((b + 160092 + 4) | 0) | 0;
- c[((c[h >> 2] | 0) + 28744) >> 2] = d;
- c[((c[h >> 2] | 0) + 28804) >> 2] = 7;
- } else {
- c[E >> 2] =
- fs(
- b,
- ((c[h >> 2] | 0) + 160092) | 0,
- c[((c[h >> 2] | 0) + 28992) >> 2] | 0
- ) | 0;
- if ($q(c[E >> 2] | 0) | 0) {
- U = 47;
- break a;
- }
- c[((c[h >> 2] | 0) + 28744) >> 2] = 3;
- c[((c[h >> 2] | 0) + 28804) >> 2] = 2;
- }
- b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
- d = c[(b + 4) >> 2] | 0;
- if (
- (d >>> 0 > 0) |
- (((d | 0) == 0) & ((c[b >> 2] | 0) >>> 0 > 1024))
- ) {
- b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
- W = c[b >> 2] | 0;
- X = c[(b + 4) >> 2] | 0;
- } else {
- W = 1024;
- X = 0;
- }
- b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
- c[b >> 2] = W;
- c[(b + 4) >> 2] = X;
- b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
- d = c[(b + 4) >> 2] | 0;
- if (
- (d >>> 0 > 0) |
- ((d | 0) == 0
- ? (c[b >> 2] | 0) >>> 0 >
- (c[((c[h >> 2] | 0) + 28972) >> 2] | 0) >>> 0
- : 0)
- ) {
- U = 52;
- break a;
- }
- if (
- (c[((c[h >> 2] | 0) + 28752 + 16) >> 2] | 0) >>> 0 >
- 4
- )
- Y = c[((c[h >> 2] | 0) + 28752 + 16) >> 2] | 0;
- else Y = 4;
- c[F >> 2] = Y;
- b = ((c[h >> 2] | 0) + 28752 + 8) | 0;
- d = ((c[h >> 2] | 0) + 28752) | 0;
- c[G >> 2] =
- Px(
- c[b >> 2] | 0,
- c[(b + 4) >> 2] | 0,
- c[d >> 2] | 0,
- c[(d + 4) >> 2] | 0
- ) | 0;
- if (
- !((c[((c[h >> 2] | 0) + 28964) >> 2] | 0) >>> 0 >=
- (c[F >> 2] | 0) >>> 0
- ? (c[((c[h >> 2] | 0) + 28980) >> 2] | 0) >>> 0 >=
- (c[G >> 2] | 0) >>> 0
- : 0)
- ) {
- c[H >> 2] = (c[F >> 2] | 0) + (c[G >> 2] | 0);
- if (c[((c[h >> 2] | 0) + 28940) >> 2] | 0) {
- if (
- (c[H >> 2] | 0) >>> 0 >
- (((c[((c[h >> 2] | 0) + 28940) >> 2] | 0) -
- 160112) |
- 0) >>>
- 0
- ) {
- U = 59;
- break a;
- }
- } else {
- d = c[((c[h >> 2] | 0) + 28960) >> 2] | 0;
- b = ((c[h >> 2] | 0) + 28920) | 0;
- c[f >> 2] = c[b >> 2];
- c[(f + 4) >> 2] = c[(b + 4) >> 2];
- c[(f + 8) >> 2] = c[(b + 8) >> 2];
- Th(d, f);
- c[((c[h >> 2] | 0) + 28964) >> 2] = 0;
- c[((c[h >> 2] | 0) + 28980) >> 2] = 0;
- d = c[H >> 2] | 0;
- b = ((c[h >> 2] | 0) + 28920) | 0;
- c[f >> 2] = c[b >> 2];
- c[(f + 4) >> 2] = c[(b + 4) >> 2];
- c[(f + 8) >> 2] = c[(b + 8) >> 2];
- b = Rh(d, f) | 0;
- c[((c[h >> 2] | 0) + 28960) >> 2] = b;
- if (!(c[((c[h >> 2] | 0) + 28960) >> 2] | 0)) {
- U = 61;
- break a;
- }
- }
- c[((c[h >> 2] | 0) + 28964) >> 2] = c[F >> 2];
- c[((c[h >> 2] | 0) + 28976) >> 2] =
- (c[((c[h >> 2] | 0) + 28960) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 28964) >> 2] | 0);
- c[((c[h >> 2] | 0) + 28980) >> 2] = c[G >> 2];
- }
- c[((c[h >> 2] | 0) + 28956) >> 2] = 2;
- U = 64;
- }
- } while (0);
- do {
- if ((U | 0) == 64) {
- U = 0;
- c[I >> 2] = vx(c[h >> 2] | 0) | 0;
- if (!(c[I >> 2] | 0)) {
- c[((c[h >> 2] | 0) + 28956) >> 2] = 0;
- c[r >> 2] = 0;
- break;
- }
- if (
- (((c[m >> 2] | 0) - (c[n >> 2] | 0)) | 0) >>> 0 <
- (c[I >> 2] | 0) >>> 0
- )
- if ((c[n >> 2] | 0) == (c[m >> 2] | 0)) {
- c[r >> 2] = 0;
- break;
- } else {
- c[((c[h >> 2] | 0) + 28956) >> 2] = 3;
- U = 76;
- break;
- }
- c[J >> 2] = Tx(c[h >> 2] | 0) | 0;
- if (c[J >> 2] | 0) Z = 0;
- else
- Z =
- ((c[((c[h >> 2] | 0) + 28980) >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
- 0;
- c[K >> 2] =
- xx(
- c[h >> 2] | 0,
- ((c[((c[h >> 2] | 0) + 28976) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
- 0,
- Z,
- c[n >> 2] | 0,
- c[I >> 2] | 0
- ) | 0;
- if ($q(c[K >> 2] | 0) | 0) {
- U = 70;
- break a;
- }
- c[n >> 2] = (c[n >> 2] | 0) + (c[I >> 2] | 0);
- if (((c[K >> 2] | 0) != 0) | ((c[J >> 2] | 0) != 0)) {
- c[((c[h >> 2] | 0) + 28988) >> 2] =
- (c[((c[h >> 2] | 0) + 28984) >> 2] | 0) +
- (c[K >> 2] | 0);
- c[((c[h >> 2] | 0) + 28956) >> 2] = 4;
- }
- }
- } while (0);
- do {
- if ((U | 0) == 76) {
- U = 0;
- c[L >> 2] = vx(c[h >> 2] | 0) | 0;
- c[M >> 2] =
- (c[L >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 28968) >> 2] | 0);
- c[N >> 2] = Tx(c[h >> 2] | 0) | 0;
- b = c[M >> 2] | 0;
- if (c[N >> 2] | 0) {
- if (
- b >>> 0 <
- (((c[m >> 2] | 0) - (c[n >> 2] | 0)) | 0) >>> 0
- )
- _ = c[M >> 2] | 0;
- else _ = ((c[m >> 2] | 0) - (c[n >> 2] | 0)) | 0;
- c[O >> 2] = _;
- } else {
- if (
- b >>> 0 >
- (((c[((c[h >> 2] | 0) + 28964) >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 28968) >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- U = 82;
- break a;
- }
- c[O >> 2] =
- Ux(
- ((c[((c[h >> 2] | 0) + 28960) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 28968) >> 2] | 0)) |
- 0,
- c[M >> 2] | 0,
- c[n >> 2] | 0,
- ((c[m >> 2] | 0) - (c[n >> 2] | 0)) | 0
- ) | 0;
- }
- c[n >> 2] = (c[n >> 2] | 0) + (c[O >> 2] | 0);
- b = ((c[h >> 2] | 0) + 28968) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[O >> 2] | 0);
- if ((c[O >> 2] | 0) >>> 0 < (c[M >> 2] | 0) >>> 0) {
- c[r >> 2] = 0;
- break;
- }
- c[P >> 2] =
- xx(
- c[h >> 2] | 0,
- ((c[((c[h >> 2] | 0) + 28976) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
- 0,
- ((c[((c[h >> 2] | 0) + 28980) >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
- 0,
- c[((c[h >> 2] | 0) + 28960) >> 2] | 0,
- c[L >> 2] | 0
- ) | 0;
- if ($q(c[P >> 2] | 0) | 0) {
- U = 87;
- break a;
- }
- c[((c[h >> 2] | 0) + 28968) >> 2] = 0;
- b = c[h >> 2] | 0;
- if (((c[P >> 2] | 0) != 0) | ((c[N >> 2] | 0) != 0)) {
- c[((c[h >> 2] | 0) + 28988) >> 2] =
- (c[(b + 28984) >> 2] | 0) + (c[P >> 2] | 0);
- c[((c[h >> 2] | 0) + 28956) >> 2] = 4;
- U = 91;
- break;
- } else {
- c[(b + 28956) >> 2] = 2;
- break;
- }
- }
- } while (0);
- do {
- if ((U | 0) == 91) {
- U = 0;
- c[Q >> 2] =
- (c[((c[h >> 2] | 0) + 28988) >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 28984) >> 2] | 0);
- c[R >> 2] =
- Ux(
- c[q >> 2] | 0,
- ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0,
- ((c[((c[h >> 2] | 0) + 28976) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)) |
- 0,
- c[Q >> 2] | 0
- ) | 0;
- c[q >> 2] = (c[q >> 2] | 0) + (c[R >> 2] | 0);
- b = ((c[h >> 2] | 0) + 28984) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[R >> 2] | 0);
- if ((c[R >> 2] | 0) != (c[Q >> 2] | 0)) {
- c[r >> 2] = 0;
- break;
- }
- c[((c[h >> 2] | 0) + 28956) >> 2] = 2;
- b = ((c[h >> 2] | 0) + 28752) | 0;
- d = c[(b + 4) >> 2] | 0;
- if (
- (0 < d >>> 0) |
- (0 == (d | 0)
- ? (c[((c[h >> 2] | 0) + 28980) >> 2] | 0) >>> 0 <
- (c[b >> 2] | 0) >>> 0
- : 0)
- ? (((c[((c[h >> 2] | 0) + 28984) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 28752 + 16) >> 2] | 0)) |
- 0) >>>
- 0 >
- (c[((c[h >> 2] | 0) + 28980) >> 2] | 0) >>> 0
- : 0
- ) {
- c[((c[h >> 2] | 0) + 28988) >> 2] = 0;
- c[((c[h >> 2] | 0) + 28984) >> 2] = 0;
- }
- }
- } while (0);
- }
- switch (U | 0) {
- case 10: {
- if (c[(V + 28940) >> 2] | 0) {
- c[g >> 2] = -64;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- c[s >> 2] =
- Rx(
- c[((c[h >> 2] | 0) + 28996) >> 2] | 0,
- c[((c[h >> 2] | 0) + 29004) >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0
- ) | 0;
- if (!(c[s >> 2] | 0))
- c[((c[h >> 2] | 0) + 28956) >> 2] = 0;
- c[g >> 2] = c[s >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 16: {
- c[u >> 2] =
- iq(
- c[k >> 2] | 0,
- ((c[m >> 2] | 0) - (c[k >> 2] | 0)) | 0
- ) | 0;
- if (!(c[u >> 2] | 0)) {
- c[g >> 2] = c[t >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- if (c[((c[h >> 2] | 0) + 28952) >> 2] | 0)
- $ =
- c[
- ((c[((c[h >> 2] | 0) + 28952) >> 2] | 0) + 4) >> 2
- ] | 0;
- else $ = 0;
- c[v >> 2] = $;
- if (c[((c[h >> 2] | 0) + 28952) >> 2] | 0)
- aa =
- c[
- ((c[((c[h >> 2] | 0) + 28952) >> 2] | 0) + 8) >> 2
- ] | 0;
- else aa = 0;
- c[w >> 2] = aa;
- if (c[((c[h >> 2] | 0) + 28940) >> 2] | 0) {
- c[g >> 2] = -64;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- c[x >> 2] =
- Sx(
- ((c[h >> 2] | 0) + 28996) | 0,
- c[((c[h >> 2] | 0) + 29e3) >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- if ($q(c[x >> 2] | 0) | 0) {
- c[g >> 2] = c[x >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- x = c[u >> 2] | 0;
- c[((c[h >> 2] | 0) + 29e3) >> 2] = x;
- c[((c[h >> 2] | 0) + 29004) >> 2] = x;
- c[y >> 2] =
- Rx(
- c[((c[h >> 2] | 0) + 28996) >> 2] | 0,
- c[u >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0
- ) | 0;
- if (!(c[y >> 2] | 0))
- c[((c[h >> 2] | 0) + 28956) >> 2] = 0;
- c[g >> 2] = c[y >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 31: {
- if ((c[A >> 2] | 0) >>> 0 > 0) {
- mE(
- ((c[h >> 2] | 0) +
- 160092 +
- (c[((c[h >> 2] | 0) + 28992) >> 2] | 0)) |
- 0,
- c[n >> 2] | 0,
- c[A >> 2] | 0
- ) | 0;
- y = ((c[h >> 2] | 0) + 28992) | 0;
- c[y >> 2] = (c[y >> 2] | 0) + (c[A >> 2] | 0);
- }
- c[((c[j >> 2] | 0) + 8) >> 2] =
- c[((c[j >> 2] | 0) + 4) >> 2];
- c[g >> 2] =
- (6 > (c[t >> 2] | 0) >>> 0 ? 6 : c[t >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 28992) >> 2] | 0) +
- 3;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 40: {
- c[g >> 2] = c[C >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 43: {
- c[g >> 2] = c[D >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 47: {
- c[g >> 2] = c[E >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 52: {
- c[g >> 2] = -16;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 59: {
- c[g >> 2] = -64;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 61: {
- c[g >> 2] = -64;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 70: {
- c[g >> 2] = c[K >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 82: {
- c[g >> 2] = -20;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 87: {
- c[g >> 2] = c[P >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 96: {
- c[g >> 2] = -1;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- case 98: {
- P = ((c[j >> 2] | 0) + 8) | 0;
- c[P >> 2] =
- (c[P >> 2] | 0) + ((c[n >> 2] | 0) - (c[k >> 2] | 0));
- k = ((c[i >> 2] | 0) + 8) | 0;
- c[k >> 2] =
- (c[k >> 2] | 0) + ((c[q >> 2] | 0) - (c[o >> 2] | 0));
- c[S >> 2] = vx(c[h >> 2] | 0) | 0;
- o = c[h >> 2] | 0;
- if (c[S >> 2] | 0) {
- q = ((((wx(o) | 0) == 2) & 1) * 3) | 0;
- c[S >> 2] = (c[S >> 2] | 0) + q;
- c[S >> 2] =
- (c[S >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 28968) >> 2] | 0);
- c[g >> 2] = c[S >> 2];
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- S = (c[((c[h >> 2] | 0) + 29008) >> 2] | 0) != 0;
- if (
- (c[(o + 28988) >> 2] | 0) !=
- (c[((c[h >> 2] | 0) + 28984) >> 2] | 0)
- ) {
- if (!S) {
- o = ((c[j >> 2] | 0) + 8) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + -1;
- c[((c[h >> 2] | 0) + 29008) >> 2] = 1;
- }
- c[g >> 2] = 1;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- do {
- if (S) {
- if (
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0) >>> 0 <
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) >>> 0
- ) {
- o = ((c[j >> 2] | 0) + 8) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- break;
- }
- c[((c[h >> 2] | 0) + 28956) >> 2] = 2;
- c[g >> 2] = 1;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- } while (0);
- c[g >> 2] = 0;
- T = c[g >> 2] | 0;
- l = e;
- return T | 0;
- }
- }
- return 0;
- }
- function Rx(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0;
- f = l;
- l = (l + 128) | 0;
- g = (f + 112) | 0;
- h = (f + 108) | 0;
- i = (f + 104) | 0;
- j = (f + 100) | 0;
- k = (f + 96) | 0;
- m = (f + 92) | 0;
- n = (f + 88) | 0;
- o = (f + 84) | 0;
- p = (f + 80) | 0;
- q = (f + 76) | 0;
- r = (f + 72) | 0;
- s = (f + 68) | 0;
- t = (f + 64) | 0;
- u = (f + 60) | 0;
- v = (f + 56) | 0;
- w = (f + 52) | 0;
- x = (f + 48) | 0;
- y = (f + 44) | 0;
- z = (f + 40) | 0;
- A = (f + 36) | 0;
- B = (f + 32) | 0;
- C = (f + 28) | 0;
- D = (f + 24) | 0;
- E = (f + 20) | 0;
- F = (f + 16) | 0;
- G = (f + 12) | 0;
- H = (f + 8) | 0;
- I = (f + 4) | 0;
- J = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- switch (c[i >> 2] | 0) {
- case 7: {
- c[E >> 2] = c[h >> 2];
- c[F >> 2] =
- (c[c[k >> 2] >> 2] | 0) +
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
- c[G >> 2] =
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
- c[H >> 2] =
- (c[c[j >> 2] >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[I >> 2] =
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[J >> 2] =
- jy(c[E >> 2] | 0, c[H >> 2] | 0, I, c[F >> 2] | 0, G) |
- 0;
- F = ((c[j >> 2] | 0) + 8) | 0;
- c[F >> 2] = (c[F >> 2] | 0) + (c[I >> 2] | 0);
- I = ((c[k >> 2] | 0) + 8) | 0;
- c[I >> 2] = (c[I >> 2] | 0) + (c[G >> 2] | 0);
- c[g >> 2] = c[J >> 2];
- K = c[g >> 2] | 0;
- l = f;
- return K | 0;
- }
- case 6: {
- c[y >> 2] = c[h >> 2];
- c[z >> 2] =
- (c[c[k >> 2] >> 2] | 0) +
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
- c[A >> 2] =
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
- c[B >> 2] =
- (c[c[j >> 2] >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[C >> 2] =
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[D >> 2] =
- iy(c[y >> 2] | 0, c[B >> 2] | 0, C, c[z >> 2] | 0, A) |
- 0;
- z = ((c[j >> 2] | 0) + 8) | 0;
- c[z >> 2] = (c[z >> 2] | 0) + (c[C >> 2] | 0);
- C = ((c[k >> 2] | 0) + 8) | 0;
- c[C >> 2] = (c[C >> 2] | 0) + (c[A >> 2] | 0);
- c[g >> 2] = c[D >> 2];
- K = c[g >> 2] | 0;
- l = f;
- return K | 0;
- }
- case 5: {
- c[s >> 2] = c[h >> 2];
- c[t >> 2] =
- (c[c[k >> 2] >> 2] | 0) +
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
- c[u >> 2] =
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
- c[v >> 2] =
- (c[c[j >> 2] >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[w >> 2] =
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[x >> 2] =
- hy(c[s >> 2] | 0, c[v >> 2] | 0, w, c[t >> 2] | 0, u) |
- 0;
- t = ((c[j >> 2] | 0) + 8) | 0;
- c[t >> 2] = (c[t >> 2] | 0) + (c[w >> 2] | 0);
- w = ((c[k >> 2] | 0) + 8) | 0;
- c[w >> 2] = (c[w >> 2] | 0) + (c[u >> 2] | 0);
- c[g >> 2] = c[x >> 2];
- K = c[g >> 2] | 0;
- l = f;
- return K | 0;
- }
- case 4: {
- c[m >> 2] = c[h >> 2];
- c[n >> 2] =
- (c[c[k >> 2] >> 2] | 0) +
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
- c[o >> 2] =
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0);
- c[p >> 2] =
- (c[c[j >> 2] >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[q >> 2] =
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[r >> 2] =
- gy(c[m >> 2] | 0, c[p >> 2] | 0, q, c[n >> 2] | 0, o) |
- 0;
- n = ((c[j >> 2] | 0) + 8) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + (c[q >> 2] | 0);
- q = ((c[k >> 2] | 0) + 8) | 0;
- c[q >> 2] = (c[q >> 2] | 0) + (c[o >> 2] | 0);
- c[g >> 2] = c[r >> 2];
- K = c[g >> 2] | 0;
- l = f;
- return K | 0;
- }
- default: {
- c[g >> 2] = -12;
- K = c[g >> 2] | 0;
- l = f;
- return K | 0;
- }
- }
- return 0;
- }
- function Sx(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 36) | 0;
- i = (g + 32) | 0;
- j = (g + 28) | 0;
- k = (g + 24) | 0;
- m = (g + 20) | 0;
- n = (g + 16) | 0;
- o = (g + 12) | 0;
- p = (g + 8) | 0;
- q = (g + 4) | 0;
- r = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if ((c[j >> 2] | 0) != (c[k >> 2] | 0))
- Zp(c[c[i >> 2] >> 2] | 0, c[j >> 2] | 0) | 0;
- switch (c[k >> 2] | 0) {
- case 7: {
- if ((c[j >> 2] | 0) != (c[k >> 2] | 0)) s = ay() | 0;
- else s = c[c[i >> 2] >> 2] | 0;
- c[r >> 2] = s;
- if (!(c[r >> 2] | 0)) {
- c[h >> 2] = -64;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- } else {
- by(c[r >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = c[r >> 2];
- c[h >> 2] = 0;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- }
- break;
- }
- case 6: {
- if ((c[j >> 2] | 0) != (c[k >> 2] | 0)) u = _x() | 0;
- else u = c[c[i >> 2] >> 2] | 0;
- c[q >> 2] = u;
- if (!(c[q >> 2] | 0)) {
- c[h >> 2] = -64;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- } else {
- $x(c[q >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = c[q >> 2];
- c[h >> 2] = 0;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- }
- break;
- }
- case 5: {
- if ((c[j >> 2] | 0) != (c[k >> 2] | 0)) v = Yx() | 0;
- else v = c[c[i >> 2] >> 2] | 0;
- c[p >> 2] = v;
- if (!(c[p >> 2] | 0)) {
- c[h >> 2] = -64;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- } else {
- Zx(c[p >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = c[p >> 2];
- c[h >> 2] = 0;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- }
- break;
- }
- case 4: {
- if ((c[j >> 2] | 0) != (c[k >> 2] | 0)) w = Vx() | 0;
- else w = c[c[i >> 2] >> 2] | 0;
- c[o >> 2] = w;
- if (!(c[o >> 2] | 0)) {
- c[h >> 2] = -64;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- } else {
- Wx(c[o >> 2] | 0) | 0;
- Xx(c[o >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = c[o >> 2];
- c[h >> 2] = 0;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- }
- break;
- }
- default: {
- c[h >> 2] = 0;
- t = c[h >> 2] | 0;
- l = g;
- return t | 0;
- }
- }
- return 0;
- }
- function Tx(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[((c[d >> 2] | 0) + 28804) >> 2] | 0) == 7) | 0;
- }
- function Ux(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] =
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? c[h >> 2] | 0
- : c[j >> 2] | 0;
- mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
- l = f;
- return c[k >> 2] | 0;
- }
- function Vx() {
- return fy() | 0;
- }
- function Wx(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = ey(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function Xx(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = dy(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- l = e;
- return d | 0;
- }
- function Yx() {
- var a = 0,
- b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- a = l;
- l = (l + 16) | 0;
- b = (a + 4) | 0;
- d = a;
- c[d >> 2] = Cy(96) | 0;
- if (!(c[d >> 2] | 0)) {
- c[b >> 2] = 0;
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- } else {
- f = c[d >> 2] | 0;
- g = (f + 96) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (g | 0));
- f = ns() | 0;
- c[c[d >> 2] >> 2] = f;
- c[((c[d >> 2] | 0) + 80) >> 2] = 0;
- c[b >> 2] = c[d >> 2];
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- }
- return 0;
- }
- function Zx(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 80) >> 2] = 1;
- c[((c[f >> 2] | 0) + 72) >> 2] = 0;
- c[((c[f >> 2] | 0) + 68) >> 2] = 0;
- c[((c[f >> 2] | 0) + 56) >> 2] = 0;
- c[((c[f >> 2] | 0) + 76) >> 2] = 0;
- d =
- Su(c[c[f >> 2] >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- l = e;
- return d | 0;
- }
- function _x() {
- var a = 0,
- b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- a = l;
- l = (l + 16) | 0;
- b = (a + 4) | 0;
- d = a;
- c[d >> 2] = Cy(80) | 0;
- if (!(c[d >> 2] | 0)) {
- c[b >> 2] = 0;
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- } else {
- f = c[d >> 2] | 0;
- g = (f + 80) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (g | 0));
- f = ps() | 0;
- c[c[d >> 2] >> 2] = f;
- c[((c[d >> 2] | 0) + 24) >> 2] = 0;
- c[b >> 2] = c[d >> 2];
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- }
- return 0;
- }
- function $x(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 24) >> 2] = 1;
- c[((c[f >> 2] | 0) + 52) >> 2] = 0;
- c[((c[f >> 2] | 0) + 48) >> 2] = 0;
- c[((c[f >> 2] | 0) + 36) >> 2] = 0;
- c[((c[f >> 2] | 0) + 76) >> 2] = 0;
- d =
- Jt(c[c[f >> 2] >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- l = e;
- return d | 0;
- }
- function ay() {
- var a = 0,
- b = 0,
- d = 0;
- a = l;
- l = (l + 16) | 0;
- b = a;
- c[b >> 2] = c[2988];
- c[(b + 4) >> 2] = c[2989];
- c[(b + 8) >> 2] = c[2990];
- d = cy(b) | 0;
- l = a;
- return d | 0;
- }
- function by(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 32) >> 2] = 1;
- c[((c[f >> 2] | 0) + 60) >> 2] = 0;
- c[((c[f >> 2] | 0) + 56) >> 2] = 0;
- c[((c[f >> 2] | 0) + 44) >> 2] = 0;
- c[((c[f >> 2] | 0) + 88) >> 2] = 0;
- d =
- ts(c[c[f >> 2] >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- l = e;
- return d | 0;
- }
- function cy(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 32) | 0;
- d = (b + 8) | 0;
- e = (b + 4) | 0;
- f = b;
- if ((c[a >> 2] | 0) == 0 ? (c[(a + 4) >> 2] | 0) == 0 : 0) {
- c[a >> 2] = c[2988];
- c[(a + 4) >> 2] = c[2989];
- c[(a + 8) >> 2] = c[2990];
- }
- if (c[a >> 2] | 0 ? c[(a + 4) >> 2] | 0 : 0) {
- c[f >> 2] =
- qc[c[a >> 2] & 63](c[(a + 8) >> 2] | 0, 104) | 0;
- if (!(c[f >> 2] | 0)) {
- c[e >> 2] = 0;
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- }
- h = c[f >> 2] | 0;
- i = (h + 104) | 0;
- do {
- c[h >> 2] = 0;
- h = (h + 4) | 0;
- } while ((h | 0) < (i | 0));
- h = ((c[f >> 2] | 0) + 92) | 0;
- c[h >> 2] = c[a >> 2];
- c[(h + 4) >> 2] = c[(a + 4) >> 2];
- c[(h + 8) >> 2] = c[(a + 8) >> 2];
- c[d >> 2] = c[a >> 2];
- c[(d + 4) >> 2] = c[(a + 4) >> 2];
- c[(d + 8) >> 2] = c[(a + 8) >> 2];
- a = Gt(d) | 0;
- c[c[f >> 2] >> 2] = a;
- a = c[f >> 2] | 0;
- if (!(c[c[f >> 2] >> 2] | 0)) {
- bq(a) | 0;
- c[e >> 2] = 0;
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[(a + 32) >> 2] = 0;
- c[e >> 2] = c[f >> 2];
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- }
- }
- c[e >> 2] = 0;
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- }
- function dy(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 72) >> 2] = c[g >> 2];
- c[((c[f >> 2] | 0) + 76) >> 2] = c[h >> 2];
- l = e;
- return 0;
- }
- function ey(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- c[((c[d >> 2] | 0) + 80) >> 2] = 1;
- c[((c[d >> 2] | 0) + 76) >> 2] = 0;
- c[((c[d >> 2] | 0) + 64) >> 2] = 0;
- c[((c[d >> 2] | 0) + 60) >> 2] = 0;
- c[((c[d >> 2] | 0) + 48) >> 2] = 0;
- c[((c[d >> 2] | 0) + 68) >> 2] = 0;
- a = kw(c[c[d >> 2] >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function fy() {
- var a = 0,
- b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- a = l;
- l = (l + 16) | 0;
- b = (a + 4) | 0;
- d = a;
- c[d >> 2] = Cy(96) | 0;
- if (!(c[d >> 2] | 0)) {
- c[b >> 2] = 0;
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- } else {
- f = c[d >> 2] | 0;
- g = (f + 96) | 0;
- do {
- c[f >> 2] = 0;
- f = (f + 4) | 0;
- } while ((f | 0) < (g | 0));
- f = hw() | 0;
- c[c[d >> 2] >> 2] = f;
- c[((c[d >> 2] | 0) + 80) >> 2] = 0;
- c[b >> 2] = c[d >> 2];
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- }
- return 0;
- }
- function gy(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 16) | 0;
- i = (g + 12) | 0;
- j = (g + 8) | 0;
- k = (g + 4) | 0;
- m = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- f =
- uy(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- l = g;
- return f | 0;
- }
- function Ko(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- i = l;
- l = (l + 48) | 0;
- j = (i + 32) | 0;
- k = (i + 28) | 0;
- m = (i + 24) | 0;
- n = (i + 20) | 0;
- o = (i + 16) | 0;
- p = (i + 12) | 0;
- q = (i + 8) | 0;
- r = (i + 4) | 0;
- s = i;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- g = c[m >> 2] | 0;
- f = c[r >> 2] | 0;
- r = c[q >> 2] | 0;
- c[j >> 2] = c[h >> 2];
- c[(j + 4) >> 2] = c[(h + 4) >> 2];
- c[(j + 8) >> 2] = c[(h + 8) >> 2];
- c[s >> 2] = Jo(g, f, j, r, 0) | 0;
- if (wj(c[s >> 2] | 0) | 0) {
- c[k >> 2] = c[s >> 2];
- t = c[k >> 2] | 0;
- l = i;
- return t | 0;
- } else {
- c[k >> 2] =
- Bo(
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0
- ) | 0;
- t = c[k >> 2] | 0;
- l = i;
- return t | 0;
- }
- return 0;
- }
- function Lo(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- h = l;
- l = (l + 48) | 0;
- i = (h + 24) | 0;
- j = (h + 20) | 0;
- k = (h + 16) | 0;
- m = (h + 12) | 0;
- n = (h + 8) | 0;
- o = (h + 4) | 0;
- p = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- g = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- c[i >> 2] = c[2981];
- c[(i + 4) >> 2] = c[2982];
- c[(i + 8) >> 2] = c[2983];
- p = Ko(g, j, k, m, n, o, i) | 0;
- l = h;
- return p | 0;
- }
- function Mo() {
- var a = 0,
- b = 0,
- d = 0;
- a = l;
- l = (l + 16) | 0;
- b = a;
- c[b >> 2] = c[5406];
- c[(b + 4) >> 2] = c[5407];
- c[(b + 8) >> 2] = c[5408];
- d = No(b) | 0;
- l = a;
- return d | 0;
- }
- function No(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = c[a >> 2];
- c[(d + 4) >> 2] = c[(a + 4) >> 2];
- c[(d + 8) >> 2] = c[(a + 8) >> 2];
- a = nj(d) | 0;
- l = b;
- return a | 0;
- }
- function Oo(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = qj(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function Po() {
- return 131072;
- }
- function Qo() {
- return ((lj(131072) | 0) + 3 + 4) | 0;
- }
- function Ro(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- j = l;
- l = (l + 144) | 0;
- k = (j + 40) | 0;
- m = (j + 32) | 0;
- n = (j + 28) | 0;
- o = (j + 24) | 0;
- p = (j + 20) | 0;
- q = (j + 16) | 0;
- r = (j + 12) | 0;
- s = j;
- t = (j + 8) | 0;
- c[n >> 2] = a;
- c[o >> 2] = b;
- c[p >> 2] = d;
- c[q >> 2] = e;
- c[r >> 2] = f;
- f = s;
- c[f >> 2] = h;
- c[(f + 4) >> 2] = i;
- i = c[n >> 2] | 0;
- f = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- p = c[q >> 2] | 0;
- q = c[r >> 2] | 0;
- r = s;
- h = c[r >> 2] | 0;
- e = c[(r + 4) >> 2] | 0;
- r = k;
- d = g;
- g = (r + 104) | 0;
- do {
- c[r >> 2] = c[d >> 2];
- r = (r + 4) | 0;
- d = (d + 4) | 0;
- } while ((r | 0) < (g | 0));
- c[t >> 2] = xo(i, f, o, p, q, k, h, e, 1) | 0;
- if (wj(c[t >> 2] | 0) | 0) {
- c[m >> 2] = c[t >> 2];
- u = c[m >> 2] | 0;
- l = j;
- return u | 0;
- } else {
- c[((c[n >> 2] | 0) + 600) >> 2] = 0;
- c[((c[n >> 2] | 0) + 604) >> 2] = 0;
- t = s;
- c[((c[n >> 2] | 0) + 608) >> 2] =
- (c[((c[n >> 2] | 0) + 232) >> 2] | 0) +
- ((0 == (c[(t + 4) >> 2] | 0)
- ? (c[((c[n >> 2] | 0) + 232) >> 2] | 0) ==
- (c[t >> 2] | 0)
- : 0) &
- 1);
- c[((c[n >> 2] | 0) + 624) >> 2] = 0;
- c[((c[n >> 2] | 0) + 620) >> 2] = 0;
- c[((c[n >> 2] | 0) + 628) >> 2] = 1;
- c[((c[n >> 2] | 0) + 632) >> 2] = 0;
- c[m >> 2] = 0;
- u = c[m >> 2] | 0;
- l = j;
- return u | 0;
- }
- return 0;
- }
- function So(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- i = l;
- l = (l + 192) | 0;
- j = (i + 88) | 0;
- k = (i + 52) | 0;
- m = (i + 80) | 0;
- n = (i + 48) | 0;
- o = (i + 44) | 0;
- p = (i + 40) | 0;
- q = (i + 36) | 0;
- r = i;
- s = (i + 8) | 0;
- c[n >> 2] = a;
- c[o >> 2] = b;
- c[p >> 2] = d;
- c[q >> 2] = e;
- e = r;
- c[e >> 2] = g;
- c[(e + 4) >> 2] = h;
- if (((c[o >> 2] | 0) != 0) & ((c[p >> 2] | 0) >>> 0 >= 8)) {
- if (c[((c[n >> 2] | 0) + 364) >> 2] | 0) {
- c[m >> 2] = -64;
- t = c[m >> 2] | 0;
- l = i;
- return t | 0;
- }
- rj(c[((c[n >> 2] | 0) + 636) >> 2] | 0) | 0;
- h = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- p = (f + 4) | 0;
- e = ((c[n >> 2] | 0) + 352) | 0;
- c[k >> 2] = c[p >> 2];
- c[(k + 4) >> 2] = c[(p + 4) >> 2];
- c[(k + 8) >> 2] = c[(p + 8) >> 2];
- c[(k + 12) >> 2] = c[(p + 12) >> 2];
- c[(k + 16) >> 2] = c[(p + 16) >> 2];
- c[(k + 20) >> 2] = c[(p + 20) >> 2];
- c[(k + 24) >> 2] = c[(p + 24) >> 2];
- c[j >> 2] = c[e >> 2];
- c[(j + 4) >> 2] = c[(e + 4) >> 2];
- c[(j + 8) >> 2] = c[(e + 8) >> 2];
- e = zj(h, o, 0, 0, k, j) | 0;
- c[((c[n >> 2] | 0) + 636) >> 2] = e;
- c[((c[n >> 2] | 0) + 640) >> 2] =
- c[((c[n >> 2] | 0) + 636) >> 2];
- if (!(c[((c[n >> 2] | 0) + 636) >> 2] | 0)) {
- c[m >> 2] = -64;
- t = c[m >> 2] | 0;
- l = i;
- return t | 0;
- }
- } else {
- if (c[q >> 2] | 0) {
- e = (f + 4) | 0;
- Io(s, c[q >> 2] | 0);
- c[e >> 2] = c[s >> 2];
- c[(e + 4) >> 2] = c[(s + 4) >> 2];
- c[(e + 8) >> 2] = c[(s + 8) >> 2];
- c[(e + 12) >> 2] = c[(s + 12) >> 2];
- c[(e + 16) >> 2] = c[(s + 16) >> 2];
- c[(e + 20) >> 2] = c[(s + 20) >> 2];
- c[(e + 24) >> 2] = c[(s + 24) >> 2];
- }
- rj(c[((c[n >> 2] | 0) + 636) >> 2] | 0) | 0;
- c[((c[n >> 2] | 0) + 636) >> 2] = 0;
- c[((c[n >> 2] | 0) + 640) >> 2] = c[q >> 2];
- }
- q = c[n >> 2] | 0;
- s = c[((c[n >> 2] | 0) + 640) >> 2] | 0;
- n = r;
- r = c[n >> 2] | 0;
- e = c[(n + 4) >> 2] | 0;
- n = j;
- k = f;
- f = (n + 104) | 0;
- do {
- c[n >> 2] = c[k >> 2];
- n = (n + 4) | 0;
- k = (k + 4) | 0;
- } while ((n | 0) < (f | 0));
- c[m >> 2] = Ro(q, 0, 0, 0, s, j, r, e) | 0;
- t = c[m >> 2] | 0;
- l = i;
- return t | 0;
- }
- function To(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 272) | 0;
- h = (g + 160) | 0;
- i = (g + 152) | 0;
- j = (g + 148) | 0;
- k = (g + 144) | 0;
- m = g;
- n = (g + 40) | 0;
- o = (g + 8) | 0;
- c[j >> 2] = a;
- c[k >> 2] = b;
- b = m;
- c[b >> 2] = e;
- c[(b + 4) >> 2] = f;
- if (c[k >> 2] | 0) {
- f = n;
- b = ((c[j >> 2] | 0) + 12) | 0;
- e = (f + 104) | 0;
- do {
- c[f >> 2] = c[b >> 2];
- f = (f + 4) | 0;
- b = (b + 4) | 0;
- } while ((f | 0) < (e | 0));
- a = (n + 4) | 0;
- Io(o, c[k >> 2] | 0);
- c[a >> 2] = c[o >> 2];
- c[(a + 4) >> 2] = c[(o + 4) >> 2];
- c[(a + 8) >> 2] = c[(o + 8) >> 2];
- c[(a + 12) >> 2] = c[(o + 12) >> 2];
- c[(a + 16) >> 2] = c[(o + 16) >> 2];
- c[(a + 20) >> 2] = c[(o + 20) >> 2];
- c[(a + 24) >> 2] = c[(o + 24) >> 2];
- o = (n + 32) | 0;
- c[o >> 2] = c[d >> 2];
- c[(o + 4) >> 2] = c[(d + 4) >> 2];
- c[(o + 8) >> 2] = c[(d + 8) >> 2];
- d = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = m;
- m = c[k >> 2] | 0;
- o = c[(k + 4) >> 2] | 0;
- f = h;
- b = n;
- e = (f + 104) | 0;
- do {
- c[f >> 2] = c[b >> 2];
- f = (f + 4) | 0;
- b = (b + 4) | 0;
- } while ((f | 0) < (e | 0));
- c[i >> 2] = So(d, 0, 0, j, h, m, o) | 0;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- } else {
- c[i >> 2] = -32;
- p = c[i >> 2] | 0;
- l = g;
- return p | 0;
- }
- return 0;
- }
- function Uo(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- b = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- c[e >> 2] = c[5409];
- c[(e + 4) >> 2] = c[5410];
- c[(e + 8) >> 2] = c[5411];
- g = To(b, f, e, -1, -1) | 0;
- l = d;
- return g | 0;
- }
- function Vo(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 384) | 0;
- g = (f + 280) | 0;
- h = (f + 168) | 0;
- i = (f + 272) | 0;
- j = (f + 160) | 0;
- k = (f + 8) | 0;
- m = f;
- n = (f + 120) | 0;
- o = (f + 16) | 0;
- c[i >> 2] = a;
- c[j >> 2] = b;
- b = k;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- e = k;
- b = ((c[e >> 2] | 0) == 0) & ((c[(e + 4) >> 2] | 0) == 0);
- e = k;
- k = b ? -1 : c[(e + 4) >> 2] | 0;
- d = m;
- c[d >> 2] = b ? -1 : c[e >> 2] | 0;
- c[(d + 4) >> 2] = k;
- k = m;
- Ao(n, c[j >> 2] | 0, c[k >> 2] | 0, c[(k + 4) >> 2] | 0, 0);
- k = h;
- j = ((c[i >> 2] | 0) + 12) | 0;
- d = (k + 104) | 0;
- do {
- c[k >> 2] = c[j >> 2];
- k = (k + 4) | 0;
- j = (j + 4) | 0;
- } while ((k | 0) < (d | 0));
- k = g;
- j = n;
- d = (k + 40) | 0;
- do {
- c[k >> 2] = c[j >> 2];
- k = (k + 4) | 0;
- j = (j + 4) | 0;
- } while ((k | 0) < (d | 0));
- zo(o, h, g);
- h = c[i >> 2] | 0;
- i = m;
- m = c[i >> 2] | 0;
- n = c[(i + 4) >> 2] | 0;
- k = g;
- j = o;
- d = (k + 104) | 0;
- do {
- c[k >> 2] = c[j >> 2];
- k = (k + 4) | 0;
- j = (j + 4) | 0;
- } while ((k | 0) < (d | 0));
- j = So(h, 0, 0, 0, g, m, n) | 0;
- l = f;
- return j | 0;
- }
- function Wo(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Vo(c[e >> 2] | 0, c[f >> 2] | 0, -1, -1) | 0;
- l = d;
- return b | 0;
- }
- function Xo(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0;
- f = l;
- l = (l + 96) | 0;
- g = (f + 88) | 0;
- h = (f + 84) | 0;
- i = (f + 80) | 0;
- j = (f + 76) | 0;
- k = (f + 72) | 0;
- m = (f + 68) | 0;
- n = (f + 64) | 0;
- o = (f + 60) | 0;
- p = (f + 56) | 0;
- q = (f + 52) | 0;
- r = (f + 48) | 0;
- s = (f + 44) | 0;
- t = (f + 40) | 0;
- u = (f + 36) | 0;
- v = (f + 32) | 0;
- w = (f + 28) | 0;
- x = (f + 24) | 0;
- y = (f + 20) | 0;
- z = (f + 16) | 0;
- A = (f + 12) | 0;
- B = (f + 8) | 0;
- C = (f + 4) | 0;
- D = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = c[c[j >> 2] >> 2];
- c[n >> 2] =
- (c[m >> 2] | 0) + (c[((c[j >> 2] | 0) + 4) >> 2] | 0);
- c[o >> 2] =
- (c[m >> 2] | 0) + (c[((c[j >> 2] | 0) + 8) >> 2] | 0);
- c[p >> 2] = c[c[i >> 2] >> 2];
- c[q >> 2] =
- (c[p >> 2] | 0) + (c[((c[i >> 2] | 0) + 4) >> 2] | 0);
- c[r >> 2] =
- (c[p >> 2] | 0) + (c[((c[i >> 2] | 0) + 8) >> 2] | 0);
- c[s >> 2] = 1;
- a: while (1) {
- if (!(c[s >> 2] | 0)) {
- E = 39;
- break;
- }
- b: do {
- switch (c[((c[h >> 2] | 0) + 628) >> 2] | 0) {
- case 0: {
- E = 4;
- break a;
- break;
- }
- case 1: {
- if (
- (
- (c[k >> 2] | 0) == 2
- ? ((e =
- ((c[q >> 2] | 0) - (c[r >> 2] | 0)) | 0),
- e >>> 0 >=
- (lj(
- ((c[n >> 2] | 0) - (c[o >> 2] | 0)) | 0
- ) |
- 0) >>>
- 0)
- : 0
- )
- ? (c[((c[h >> 2] | 0) + 604) >> 2] | 0) == 0
- : 0
- ) {
- c[t >> 2] =
- Bo(
- c[h >> 2] | 0,
- c[r >> 2] | 0,
- ((c[q >> 2] | 0) - (c[r >> 2] | 0)) | 0,
- c[o >> 2] | 0,
- ((c[n >> 2] | 0) - (c[o >> 2] | 0)) | 0
- ) | 0;
- if (Ph(c[t >> 2] | 0) | 0) {
- E = 9;
- break a;
- }
- c[o >> 2] = c[n >> 2];
- c[r >> 2] = (c[r >> 2] | 0) + (c[t >> 2] | 0);
- c[((c[h >> 2] | 0) + 632) >> 2] = 1;
- jl(c[h >> 2] | 0);
- c[s >> 2] = 0;
- break b;
- }
- c[u >> 2] =
- (c[((c[h >> 2] | 0) + 608) >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 604) >> 2] | 0);
- c[v >> 2] =
- Yo(
- ((c[((c[h >> 2] | 0) + 592) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 604) >> 2] | 0)) |
- 0,
- c[u >> 2] | 0,
- c[o >> 2] | 0,
- ((c[n >> 2] | 0) - (c[o >> 2] | 0)) | 0
- ) | 0;
- e = ((c[h >> 2] | 0) + 604) | 0;
- c[e >> 2] = (c[e >> 2] | 0) + (c[v >> 2] | 0);
- c[o >> 2] = (c[o >> 2] | 0) + (c[v >> 2] | 0);
- if (
- (c[k >> 2] | 0) == 0
- ? (c[((c[h >> 2] | 0) + 604) >> 2] | 0) >>> 0 <
- (c[((c[h >> 2] | 0) + 608) >> 2] | 0) >>> 0
- : 0
- ) {
- c[s >> 2] = 0;
- break b;
- }
- if (
- (c[k >> 2] | 0) == 1
- ? (c[((c[h >> 2] | 0) + 604) >> 2] | 0) ==
- (c[((c[h >> 2] | 0) + 600) >> 2] | 0)
- : 0
- ) {
- c[s >> 2] = 0;
- break b;
- }
- c[y >> 2] =
- (c[((c[h >> 2] | 0) + 604) >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 600) >> 2] | 0);
- c[z >> 2] = (c[q >> 2] | 0) - (c[r >> 2] | 0);
- if ((c[k >> 2] | 0) == 2)
- F = (c[o >> 2] | 0) == (c[n >> 2] | 0);
- else F = 0;
- c[A >> 2] = F & 1;
- if (
- (c[z >> 2] | 0) >>> 0 >=
- (lj(c[y >> 2] | 0) | 0) >>> 0
- )
- c[w >> 2] = c[r >> 2];
- else {
- c[w >> 2] = c[((c[h >> 2] | 0) + 612) >> 2];
- c[z >> 2] = c[((c[h >> 2] | 0) + 616) >> 2];
- }
- e = c[h >> 2] | 0;
- d = c[w >> 2] | 0;
- b = c[z >> 2] | 0;
- a =
- ((c[((c[h >> 2] | 0) + 592) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 600) >> 2] | 0)) |
- 0;
- G = c[y >> 2] | 0;
- if (c[A >> 2] | 0) H = Bo(e, d, b, a, G) | 0;
- else H = vn(e, d, b, a, G) | 0;
- c[x >> 2] = H;
- if (Ph(c[x >> 2] | 0) | 0) {
- E = 26;
- break a;
- }
- c[((c[h >> 2] | 0) + 632) >> 2] = c[A >> 2];
- c[((c[h >> 2] | 0) + 608) >> 2] =
- (c[((c[h >> 2] | 0) + 604) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 232) >> 2] | 0);
- if (
- (c[((c[h >> 2] | 0) + 608) >> 2] | 0) >>> 0 >
- (c[((c[h >> 2] | 0) + 596) >> 2] | 0) >>> 0
- ) {
- c[((c[h >> 2] | 0) + 604) >> 2] = 0;
- c[((c[h >> 2] | 0) + 608) >> 2] =
- c[((c[h >> 2] | 0) + 232) >> 2];
- }
- c[((c[h >> 2] | 0) + 600) >> 2] =
- c[((c[h >> 2] | 0) + 604) >> 2];
- G = c[x >> 2] | 0;
- if ((c[w >> 2] | 0) != (c[r >> 2] | 0)) {
- c[((c[h >> 2] | 0) + 620) >> 2] = G;
- c[((c[h >> 2] | 0) + 624) >> 2] = 0;
- c[((c[h >> 2] | 0) + 628) >> 2] = 2;
- E = 33;
- break b;
- }
- c[r >> 2] = (c[r >> 2] | 0) + G;
- if (c[((c[h >> 2] | 0) + 632) >> 2] | 0) {
- c[s >> 2] = 0;
- jl(c[h >> 2] | 0);
- }
- break;
- }
- case 2: {
- E = 33;
- break;
- }
- default: {
- }
- }
- } while (0);
- do {
- if ((E | 0) == 33) {
- E = 0;
- c[B >> 2] =
- (c[((c[h >> 2] | 0) + 620) >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 624) >> 2] | 0);
- c[C >> 2] =
- Yo(
- c[r >> 2] | 0,
- ((c[q >> 2] | 0) - (c[r >> 2] | 0)) | 0,
- ((c[((c[h >> 2] | 0) + 612) >> 2] | 0) +
- (c[((c[h >> 2] | 0) + 624) >> 2] | 0)) |
- 0,
- c[B >> 2] | 0
- ) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + (c[C >> 2] | 0);
- G = ((c[h >> 2] | 0) + 624) | 0;
- c[G >> 2] = (c[G >> 2] | 0) + (c[C >> 2] | 0);
- if ((c[B >> 2] | 0) != (c[C >> 2] | 0)) {
- c[s >> 2] = 0;
- break;
- }
- c[((c[h >> 2] | 0) + 624) >> 2] = 0;
- c[((c[h >> 2] | 0) + 620) >> 2] = 0;
- if (c[((c[h >> 2] | 0) + 632) >> 2] | 0) {
- c[s >> 2] = 0;
- jl(c[h >> 2] | 0);
- break;
- } else {
- c[((c[h >> 2] | 0) + 628) >> 2] = 1;
- break;
- }
- }
- } while (0);
- }
- if ((E | 0) == 4) {
- c[g >> 2] = -62;
- I = c[g >> 2] | 0;
- l = f;
- return I | 0;
- } else if ((E | 0) == 9) {
- c[g >> 2] = c[t >> 2];
- I = c[g >> 2] | 0;
- l = f;
- return I | 0;
- } else if ((E | 0) == 26) {
- c[g >> 2] = c[x >> 2];
- I = c[g >> 2] | 0;
- l = f;
- return I | 0;
- } else if ((E | 0) == 39) {
- c[((c[j >> 2] | 0) + 8) >> 2] =
- (c[o >> 2] | 0) - (c[m >> 2] | 0);
- c[((c[i >> 2] | 0) + 8) >> 2] =
- (c[r >> 2] | 0) - (c[p >> 2] | 0);
- if (c[((c[h >> 2] | 0) + 632) >> 2] | 0) {
- c[g >> 2] = 0;
- I = c[g >> 2] | 0;
- l = f;
- return I | 0;
- }
- c[D >> 2] =
- (c[((c[h >> 2] | 0) + 608) >> 2] | 0) -
- (c[((c[h >> 2] | 0) + 604) >> 2] | 0);
- if (!(c[D >> 2] | 0))
- c[D >> 2] = c[((c[h >> 2] | 0) + 232) >> 2];
- c[g >> 2] = c[D >> 2];
- I = c[g >> 2] | 0;
- l = f;
- return I | 0;
- }
- return 0;
- }
- function Yo(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] =
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? c[h >> 2] | 0
- : c[j >> 2] | 0;
- if (!(c[k >> 2] | 0)) {
- m = c[k >> 2] | 0;
- l = f;
- return m | 0;
- }
- mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
- m = c[k >> 2] | 0;
- l = f;
- return m | 0;
- }
- function Zo(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if (
- (c[((c[h >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
- (c[((c[h >> 2] | 0) + 4) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] = -1;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- }
- if (
- (c[((c[i >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
- (c[((c[i >> 2] | 0) + 4) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] = -1;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- } else {
- c[f >> 2] =
- Xo(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0, 0) | 0;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function _o(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- d = l;
- l = (l + 48) | 0;
- e = (d + 36) | 0;
- f = (d + 32) | 0;
- g = (d + 28) | 0;
- h = (d + 16) | 0;
- i = (d + 12) | 0;
- j = (d + 8) | 0;
- k = (d + 4) | 0;
- m = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = 0;
- c[(h + 4) >> 2] = 0;
- c[(h + 8) >> 2] = 0;
- if (
- (c[((c[g >> 2] | 0) + 8) >> 2] | 0) >>> 0 >
- (c[((c[g >> 2] | 0) + 4) >> 2] | 0) >>> 0
- ) {
- c[e >> 2] = -1;
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- c[i >> 2] = Xo(c[f >> 2] | 0, c[g >> 2] | 0, h, 2) | 0;
- if (wj(c[i >> 2] | 0) | 0) {
- c[e >> 2] = c[i >> 2];
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- c[j >> 2] = c[((c[f >> 2] | 0) + 632) >> 2] | 0 ? 0 : 3;
- if (c[((c[f >> 2] | 0) + 632) >> 2] | 0) o = 0;
- else o = c[((c[f >> 2] | 0) + 116 + 32 + 4) >> 2] << 2;
- c[k >> 2] = o;
- c[m >> 2] =
- (c[((c[f >> 2] | 0) + 620) >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 624) >> 2] | 0) +
- (c[j >> 2] | 0) +
- (c[k >> 2] | 0);
- c[e >> 2] = c[m >> 2];
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- function $o(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0;
- i = l;
- l = (l + 96) | 0;
- j = (i + 80) | 0;
- k = (i + 76) | 0;
- m = (i + 72) | 0;
- n = (i + 68) | 0;
- o = (i + 64) | 0;
- p = (i + 60) | 0;
- q = (i + 56) | 0;
- r = (i + 52) | 0;
- s = (i + 48) | 0;
- t = (i + 44) | 0;
- u = (i + 40) | 0;
- v = (i + 36) | 0;
- w = (i + 32) | 0;
- x = (i + 28) | 0;
- y = (i + 88) | 0;
- z = (i + 24) | 0;
- A = (i + 20) | 0;
- B = (i + 16) | 0;
- C = (i + 12) | 0;
- D = (i + 8) | 0;
- E = (i + 4) | 0;
- F = i;
- G = (i + 84) | 0;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- c[q >> 2] = 0;
- c[r >> 2] = 0;
- c[t >> 2] = (c[k >> 2] | 0) + 4;
- c[u >> 2] = c[t >> 2];
- c[x >> 2] = 0;
- c[v >> 2] = (c[o >> 2] | 0) + (c[x >> 2] << 2);
- c[x >> 2] = (c[x >> 2] | 0) + 16;
- c[w >> 2] = (c[o >> 2] | 0) + (c[x >> 2] << 2);
- c[x >> 2] = (c[x >> 2] | 0) + 64;
- if ((c[x >> 2] << 2) >>> 0 > (c[p >> 2] | 0) >>> 0) {
- c[j >> 2] = -44;
- H = c[j >> 2] | 0;
- l = i;
- return H | 0;
- }
- c[s >> 2] =
- fh(
- c[w >> 2] | 0,
- 256,
- c[v >> 2] | 0,
- r,
- q,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- if (ap(c[s >> 2] | 0) | 0) {
- c[j >> 2] = c[s >> 2];
- H = c[j >> 2] | 0;
- l = i;
- return H | 0;
- }
- bp(y, c[k >> 2] | 0);
- if (
- (c[q >> 2] | 0) >>> 0 >
- (((d[y >> 0] | 0) + 1) | 0) >>> 0
- ) {
- c[j >> 2] = -44;
- H = c[j >> 2] | 0;
- l = i;
- return H | 0;
- }
- a[(y + 1) >> 0] = 0;
- a[(y + 2) >> 0] = c[q >> 2];
- n = c[k >> 2] | 0;
- a[n >> 0] = a[y >> 0] | 0;
- a[(n + 1) >> 0] = a[(y + 1) >> 0] | 0;
- a[(n + 2) >> 0] = a[(y + 2) >> 0] | 0;
- a[(n + 3) >> 0] = a[(y + 3) >> 0] | 0;
- c[A >> 2] = 0;
- c[z >> 2] = 1;
- while (1) {
- if (
- (c[z >> 2] | 0) >>> 0 >=
- (((c[q >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[B >> 2] = c[A >> 2];
- c[A >> 2] =
- (c[A >> 2] | 0) +
- (c[((c[v >> 2] | 0) + (c[z >> 2] << 2)) >> 2] <<
- ((c[z >> 2] | 0) - 1));
- c[((c[v >> 2] | 0) + (c[z >> 2] << 2)) >> 2] = c[B >> 2];
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- c[C >> 2] = 0;
- while (1) {
- if ((c[C >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
- c[D >> 2] = d[((c[w >> 2] | 0) + (c[C >> 2] | 0)) >> 0];
- c[E >> 2] = (1 << c[D >> 2]) >> 1;
- a[G >> 0] = c[C >> 2];
- a[(G + 1) >> 0] = (c[q >> 2] | 0) + 1 - (c[D >> 2] | 0);
- c[F >> 2] = c[((c[v >> 2] | 0) + (c[D >> 2] << 2)) >> 2];
- while (1) {
- if (
- (c[F >> 2] | 0) >>> 0 >=
- (((c[((c[v >> 2] | 0) + (c[D >> 2] << 2)) >> 2] | 0) +
- (c[E >> 2] | 0)) |
- 0) >>>
- 0
- )
- break;
- z = ((c[u >> 2] | 0) + (c[F >> 2] << 1)) | 0;
- a[z >> 0] = a[G >> 0] | 0;
- a[(z + 1) >> 0] = a[(G + 1) >> 0] | 0;
- c[F >> 2] = (c[F >> 2] | 0) + 1;
- }
- z = ((c[v >> 2] | 0) + (c[D >> 2] << 2)) | 0;
- c[z >> 2] = (c[z >> 2] | 0) + (c[E >> 2] | 0);
- c[C >> 2] = (c[C >> 2] | 0) + 1;
- }
- c[j >> 2] = c[s >> 2];
- H = c[j >> 2] | 0;
- l = i;
- return H | 0;
- }
- function ap(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function bp(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 4) | 0;
- c[f >> 2] = d;
- d = c[f >> 2] | 0;
- a[g >> 0] = a[d >> 0] | 0;
- a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
- a[(g + 2) >> 0] = a[(d + 2) >> 0] | 0;
- a[(g + 3) >> 0] = a[(d + 3) >> 0] | 0;
- a[b >> 0] = a[g >> 0] | 0;
- a[(b + 1) >> 0] = a[(g + 1) >> 0] | 0;
- a[(b + 2) >> 0] = a[(g + 2) >> 0] | 0;
- a[(b + 3) >> 0] = a[(g + 3) >> 0] | 0;
- l = e;
- return;
- }
- function cp(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 24) | 0;
- j = (h + 20) | 0;
- k = (h + 16) | 0;
- m = (h + 12) | 0;
- n = (h + 8) | 0;
- o = (h + 4) | 0;
- p = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- g = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- if (c[p >> 2] | 0) {
- c[i >> 2] = dp(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- } else {
- c[i >> 2] = ep(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- }
- return 0;
- }
- function dp(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0;
- i = l;
- l = (l + 224) | 0;
- j = (i + 204) | 0;
- k = (i + 200) | 0;
- m = (i + 196) | 0;
- n = (i + 192) | 0;
- o = (i + 217) | 0;
- p = (i + 188) | 0;
- q = (i + 184) | 0;
- r = (i + 180) | 0;
- s = (i + 176) | 0;
- t = (i + 216) | 0;
- u = (i + 172) | 0;
- v = (i + 168) | 0;
- w = (i + 164) | 0;
- x = (i + 160) | 0;
- y = (i + 215) | 0;
- z = (i + 156) | 0;
- A = (i + 152) | 0;
- B = (i + 148) | 0;
- C = (i + 144) | 0;
- D = (i + 214) | 0;
- E = (i + 140) | 0;
- F = (i + 136) | 0;
- G = (i + 132) | 0;
- H = (i + 128) | 0;
- I = (i + 213) | 0;
- J = (i + 124) | 0;
- K = (i + 120) | 0;
- L = (i + 116) | 0;
- M = (i + 112) | 0;
- N = (i + 212) | 0;
- O = (i + 108) | 0;
- P = (i + 104) | 0;
- Q = (i + 100) | 0;
- R = (i + 96) | 0;
- S = (i + 92) | 0;
- T = (i + 84) | 0;
- U = (i + 80) | 0;
- V = (i + 76) | 0;
- W = (i + 72) | 0;
- X = (i + 68) | 0;
- Y = (i + 64) | 0;
- Z = (i + 60) | 0;
- _ = (i + 56) | 0;
- $ = (i + 52) | 0;
- aa = (i + 48) | 0;
- ba = (i + 28) | 0;
- ca = (i + 208) | 0;
- da = (i + 24) | 0;
- ea = (i + 20) | 0;
- fa = (i + 16) | 0;
- ga = (i + 12) | 0;
- ha = (i + 8) | 0;
- ia = (i + 4) | 0;
- ja = i;
- c[fa >> 2] = b;
- c[ga >> 2] = e;
- c[ha >> 2] = f;
- c[ia >> 2] = g;
- c[ja >> 2] = h;
- h = c[ga >> 2] | 0;
- ga = c[ha >> 2] | 0;
- ha = c[ia >> 2] | 0;
- ia = c[ja >> 2] | 0;
- c[U >> 2] = c[fa >> 2];
- c[V >> 2] = h;
- c[W >> 2] = ga;
- c[X >> 2] = ha;
- c[Y >> 2] = ia;
- c[Z >> 2] = c[U >> 2];
- c[_ >> 2] = (c[Z >> 2] | 0) + (c[V >> 2] | 0);
- c[$ >> 2] = (c[Y >> 2] | 0) + 4;
- c[aa >> 2] = c[$ >> 2];
- bp(ca, c[Y >> 2] | 0);
- c[da >> 2] = d[(ca + 2) >> 0];
- c[ea >> 2] = fp(ba, c[W >> 2] | 0, c[X >> 2] | 0) | 0;
- if (ap(c[ea >> 2] | 0) | 0) {
- c[T >> 2] = c[ea >> 2];
- ka = c[T >> 2] | 0;
- l = i;
- return ka | 0;
- }
- ea = c[_ >> 2] | 0;
- _ = c[aa >> 2] | 0;
- aa = c[da >> 2] | 0;
- c[O >> 2] = c[Z >> 2];
- c[P >> 2] = ba;
- c[Q >> 2] = ea;
- c[R >> 2] = _;
- c[S >> 2] = aa;
- c[(i + 88) >> 2] = c[O >> 2];
- while (1) {
- aa = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- aa &
- ((c[O >> 2] | 0) >>> 0 <
- (((c[Q >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- aa = c[R >> 2] | 0;
- _ = c[S >> 2] | 0;
- c[J >> 2] = c[P >> 2];
- c[K >> 2] = aa;
- c[L >> 2] = _;
- c[M >> 2] = ip(c[J >> 2] | 0, c[L >> 2] | 0) | 0;
- a[N >> 0] =
- a[((c[K >> 2] | 0) + (c[M >> 2] << 1)) >> 0] | 0;
- jp(
- c[J >> 2] | 0,
- d[((c[K >> 2] | 0) + (c[M >> 2] << 1) + 1) >> 0] | 0
- );
- _ = a[N >> 0] | 0;
- aa = c[O >> 2] | 0;
- c[O >> 2] = aa + 1;
- a[aa >> 0] = _;
- }
- hp() | 0;
- _ = c[R >> 2] | 0;
- aa = c[S >> 2] | 0;
- c[E >> 2] = c[P >> 2];
- c[F >> 2] = _;
- c[G >> 2] = aa;
- c[H >> 2] = ip(c[E >> 2] | 0, c[G >> 2] | 0) | 0;
- a[I >> 0] =
- a[((c[F >> 2] | 0) + (c[H >> 2] << 1)) >> 0] | 0;
- jp(
- c[E >> 2] | 0,
- d[((c[F >> 2] | 0) + (c[H >> 2] << 1) + 1) >> 0] | 0
- );
- aa = a[I >> 0] | 0;
- _ = c[O >> 2] | 0;
- c[O >> 2] = _ + 1;
- a[_ >> 0] = aa;
- if (hp() | 0) {
- aa = c[R >> 2] | 0;
- _ = c[S >> 2] | 0;
- c[z >> 2] = c[P >> 2];
- c[A >> 2] = aa;
- c[B >> 2] = _;
- c[C >> 2] = ip(c[z >> 2] | 0, c[B >> 2] | 0) | 0;
- a[D >> 0] =
- a[((c[A >> 2] | 0) + (c[C >> 2] << 1)) >> 0] | 0;
- jp(
- c[z >> 2] | 0,
- d[((c[A >> 2] | 0) + (c[C >> 2] << 1) + 1) >> 0] | 0
- );
- _ = a[D >> 0] | 0;
- aa = c[O >> 2] | 0;
- c[O >> 2] = aa + 1;
- a[aa >> 0] = _;
- }
- _ = c[R >> 2] | 0;
- aa = c[S >> 2] | 0;
- c[u >> 2] = c[P >> 2];
- c[v >> 2] = _;
- c[w >> 2] = aa;
- c[x >> 2] = ip(c[u >> 2] | 0, c[w >> 2] | 0) | 0;
- a[y >> 0] =
- a[((c[v >> 2] | 0) + (c[x >> 2] << 1)) >> 0] | 0;
- jp(
- c[u >> 2] | 0,
- d[((c[v >> 2] | 0) + (c[x >> 2] << 1) + 1) >> 0] | 0
- );
- aa = a[y >> 0] | 0;
- _ = c[O >> 2] | 0;
- c[O >> 2] = _ + 1;
- a[_ >> 0] = aa;
- }
- a: do {
- if (kp() | 0)
- while (1) {
- y = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
- if (
- !(y & ((c[O >> 2] | 0) >>> 0 < (c[Q >> 2] | 0) >>> 0))
- )
- break a;
- y = c[R >> 2] | 0;
- x = c[S >> 2] | 0;
- c[p >> 2] = c[P >> 2];
- c[q >> 2] = y;
- c[r >> 2] = x;
- c[s >> 2] = ip(c[p >> 2] | 0, c[r >> 2] | 0) | 0;
- a[t >> 0] =
- a[((c[q >> 2] | 0) + (c[s >> 2] << 1)) >> 0] | 0;
- jp(
- c[p >> 2] | 0,
- d[((c[q >> 2] | 0) + (c[s >> 2] << 1) + 1) >> 0] | 0
- );
- x = a[t >> 0] | 0;
- y = c[O >> 2] | 0;
- c[O >> 2] = y + 1;
- a[y >> 0] = x;
- }
- } while (0);
- while (1) {
- if ((c[O >> 2] | 0) >>> 0 >= (c[Q >> 2] | 0) >>> 0) break;
- t = c[R >> 2] | 0;
- s = c[S >> 2] | 0;
- c[j >> 2] = c[P >> 2];
- c[k >> 2] = t;
- c[m >> 2] = s;
- c[n >> 2] = ip(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- a[o >> 0] =
- a[((c[k >> 2] | 0) + (c[n >> 2] << 1)) >> 0] | 0;
- jp(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 1) + 1) >> 0] | 0
- );
- s = a[o >> 0] | 0;
- t = c[O >> 2] | 0;
- c[O >> 2] = t + 1;
- a[t >> 0] = s;
- }
- if (lp(ba) | 0) {
- c[T >> 2] = c[V >> 2];
- ka = c[T >> 2] | 0;
- l = i;
- return ka | 0;
- } else {
- c[T >> 2] = -20;
- ka = c[T >> 2] | 0;
- l = i;
- return ka | 0;
- }
- return 0;
- }
- function ep(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0;
- i = l;
- l = (l + 224) | 0;
- j = (i + 204) | 0;
- k = (i + 200) | 0;
- m = (i + 196) | 0;
- n = (i + 192) | 0;
- o = (i + 217) | 0;
- p = (i + 188) | 0;
- q = (i + 184) | 0;
- r = (i + 180) | 0;
- s = (i + 176) | 0;
- t = (i + 216) | 0;
- u = (i + 172) | 0;
- v = (i + 168) | 0;
- w = (i + 164) | 0;
- x = (i + 160) | 0;
- y = (i + 215) | 0;
- z = (i + 156) | 0;
- A = (i + 152) | 0;
- B = (i + 148) | 0;
- C = (i + 144) | 0;
- D = (i + 214) | 0;
- E = (i + 140) | 0;
- F = (i + 136) | 0;
- G = (i + 132) | 0;
- H = (i + 128) | 0;
- I = (i + 213) | 0;
- J = (i + 124) | 0;
- K = (i + 120) | 0;
- L = (i + 116) | 0;
- M = (i + 112) | 0;
- N = (i + 212) | 0;
- O = (i + 108) | 0;
- P = (i + 104) | 0;
- Q = (i + 100) | 0;
- R = (i + 96) | 0;
- S = (i + 92) | 0;
- T = (i + 84) | 0;
- U = (i + 80) | 0;
- V = (i + 76) | 0;
- W = (i + 72) | 0;
- X = (i + 68) | 0;
- Y = (i + 64) | 0;
- Z = (i + 60) | 0;
- _ = (i + 56) | 0;
- $ = (i + 52) | 0;
- aa = (i + 48) | 0;
- ba = (i + 28) | 0;
- ca = (i + 208) | 0;
- da = (i + 24) | 0;
- ea = (i + 20) | 0;
- fa = (i + 16) | 0;
- ga = (i + 12) | 0;
- ha = (i + 8) | 0;
- ia = (i + 4) | 0;
- ja = i;
- c[fa >> 2] = b;
- c[ga >> 2] = e;
- c[ha >> 2] = f;
- c[ia >> 2] = g;
- c[ja >> 2] = h;
- h = c[ga >> 2] | 0;
- ga = c[ha >> 2] | 0;
- ha = c[ia >> 2] | 0;
- ia = c[ja >> 2] | 0;
- c[U >> 2] = c[fa >> 2];
- c[V >> 2] = h;
- c[W >> 2] = ga;
- c[X >> 2] = ha;
- c[Y >> 2] = ia;
- c[Z >> 2] = c[U >> 2];
- c[_ >> 2] = (c[Z >> 2] | 0) + (c[V >> 2] | 0);
- c[$ >> 2] = (c[Y >> 2] | 0) + 4;
- c[aa >> 2] = c[$ >> 2];
- bp(ca, c[Y >> 2] | 0);
- c[da >> 2] = d[(ca + 2) >> 0];
- c[ea >> 2] = fp(ba, c[W >> 2] | 0, c[X >> 2] | 0) | 0;
- if (ap(c[ea >> 2] | 0) | 0) {
- c[T >> 2] = c[ea >> 2];
- ka = c[T >> 2] | 0;
- l = i;
- return ka | 0;
- }
- ea = c[_ >> 2] | 0;
- _ = c[aa >> 2] | 0;
- aa = c[da >> 2] | 0;
- c[O >> 2] = c[Z >> 2];
- c[P >> 2] = ba;
- c[Q >> 2] = ea;
- c[R >> 2] = _;
- c[S >> 2] = aa;
- c[(i + 88) >> 2] = c[O >> 2];
- while (1) {
- aa = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- aa &
- ((c[O >> 2] | 0) >>> 0 <
- (((c[Q >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- aa = c[R >> 2] | 0;
- _ = c[S >> 2] | 0;
- c[J >> 2] = c[P >> 2];
- c[K >> 2] = aa;
- c[L >> 2] = _;
- c[M >> 2] = ip(c[J >> 2] | 0, c[L >> 2] | 0) | 0;
- a[N >> 0] =
- a[((c[K >> 2] | 0) + (c[M >> 2] << 1)) >> 0] | 0;
- jp(
- c[J >> 2] | 0,
- d[((c[K >> 2] | 0) + (c[M >> 2] << 1) + 1) >> 0] | 0
- );
- _ = a[N >> 0] | 0;
- aa = c[O >> 2] | 0;
- c[O >> 2] = aa + 1;
- a[aa >> 0] = _;
- }
- hp() | 0;
- _ = c[R >> 2] | 0;
- aa = c[S >> 2] | 0;
- c[E >> 2] = c[P >> 2];
- c[F >> 2] = _;
- c[G >> 2] = aa;
- c[H >> 2] = ip(c[E >> 2] | 0, c[G >> 2] | 0) | 0;
- a[I >> 0] =
- a[((c[F >> 2] | 0) + (c[H >> 2] << 1)) >> 0] | 0;
- jp(
- c[E >> 2] | 0,
- d[((c[F >> 2] | 0) + (c[H >> 2] << 1) + 1) >> 0] | 0
- );
- aa = a[I >> 0] | 0;
- _ = c[O >> 2] | 0;
- c[O >> 2] = _ + 1;
- a[_ >> 0] = aa;
- if (hp() | 0) {
- aa = c[R >> 2] | 0;
- _ = c[S >> 2] | 0;
- c[z >> 2] = c[P >> 2];
- c[A >> 2] = aa;
- c[B >> 2] = _;
- c[C >> 2] = ip(c[z >> 2] | 0, c[B >> 2] | 0) | 0;
- a[D >> 0] =
- a[((c[A >> 2] | 0) + (c[C >> 2] << 1)) >> 0] | 0;
- jp(
- c[z >> 2] | 0,
- d[((c[A >> 2] | 0) + (c[C >> 2] << 1) + 1) >> 0] | 0
- );
- _ = a[D >> 0] | 0;
- aa = c[O >> 2] | 0;
- c[O >> 2] = aa + 1;
- a[aa >> 0] = _;
- }
- _ = c[R >> 2] | 0;
- aa = c[S >> 2] | 0;
- c[u >> 2] = c[P >> 2];
- c[v >> 2] = _;
- c[w >> 2] = aa;
- c[x >> 2] = ip(c[u >> 2] | 0, c[w >> 2] | 0) | 0;
- a[y >> 0] =
- a[((c[v >> 2] | 0) + (c[x >> 2] << 1)) >> 0] | 0;
- jp(
- c[u >> 2] | 0,
- d[((c[v >> 2] | 0) + (c[x >> 2] << 1) + 1) >> 0] | 0
- );
- aa = a[y >> 0] | 0;
- _ = c[O >> 2] | 0;
- c[O >> 2] = _ + 1;
- a[_ >> 0] = aa;
- }
- a: do {
- if (kp() | 0)
- while (1) {
- y = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
- if (
- !(y & ((c[O >> 2] | 0) >>> 0 < (c[Q >> 2] | 0) >>> 0))
- )
- break a;
- y = c[R >> 2] | 0;
- x = c[S >> 2] | 0;
- c[p >> 2] = c[P >> 2];
- c[q >> 2] = y;
- c[r >> 2] = x;
- c[s >> 2] = ip(c[p >> 2] | 0, c[r >> 2] | 0) | 0;
- a[t >> 0] =
- a[((c[q >> 2] | 0) + (c[s >> 2] << 1)) >> 0] | 0;
- jp(
- c[p >> 2] | 0,
- d[((c[q >> 2] | 0) + (c[s >> 2] << 1) + 1) >> 0] | 0
- );
- x = a[t >> 0] | 0;
- y = c[O >> 2] | 0;
- c[O >> 2] = y + 1;
- a[y >> 0] = x;
- }
- } while (0);
- while (1) {
- if ((c[O >> 2] | 0) >>> 0 >= (c[Q >> 2] | 0) >>> 0) break;
- t = c[R >> 2] | 0;
- s = c[S >> 2] | 0;
- c[j >> 2] = c[P >> 2];
- c[k >> 2] = t;
- c[m >> 2] = s;
- c[n >> 2] = ip(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- a[o >> 0] =
- a[((c[k >> 2] | 0) + (c[n >> 2] << 1)) >> 0] | 0;
- jp(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 1) + 1) >> 0] | 0
- );
- s = a[o >> 0] | 0;
- t = c[O >> 2] | 0;
- c[O >> 2] = t + 1;
- a[t >> 0] = s;
- }
- if (lp(ba) | 0) {
- c[T >> 2] = c[V >> 2];
- ka = c[T >> 2] | 0;
- l = i;
- return ka | 0;
- } else {
- c[T >> 2] = -20;
- ka = c[T >> 2] | 0;
- l = i;
- return ka | 0;
- }
- return 0;
- }
- function fp(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 17) | 0;
- n = (g + 16) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- if ((c[k >> 2] | 0) >>> 0 < 1) {
- f = c[i >> 2] | 0;
- c[f >> 2] = 0;
- c[(f + 4) >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- c[(f + 12) >> 2] = 0;
- c[(f + 16) >> 2] = 0;
- c[h >> 2] = -72;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
- c[((c[i >> 2] | 0) + 16) >> 2] =
- (c[((c[i >> 2] | 0) + 12) >> 2] | 0) + 4;
- do {
- if ((c[k >> 2] | 0) >>> 0 >= 4) {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
- f = mp(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = f;
- a[m >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[m >> 0] | 0 | 0)
- p = (8 - (up(d[m >> 0] | 0) | 0)) | 0;
- else p = 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = p;
- if (!(d[m >> 0] | 0)) {
- c[h >> 2] = -1;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } else {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- c[((c[i >> 2] | 0) + 12) >> 2];
- c[c[i >> 2] >> 2] =
- d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
- switch (c[k >> 2] | 0) {
- case 7: {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
- q = 10;
- break;
- }
- case 6: {
- q = 10;
- break;
- }
- case 5: {
- q = 11;
- break;
- }
- case 4: {
- q = 12;
- break;
- }
- case 3: {
- q = 13;
- break;
- }
- case 2: {
- q = 14;
- break;
- }
- default: {
- }
- }
- if ((q | 0) == 10) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
- q = 11;
- }
- if ((q | 0) == 11) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
- q = 12;
- }
- if ((q | 0) == 12) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
- q = 13;
- }
- if ((q | 0) == 13) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
- q = 14;
- }
- if ((q | 0) == 14) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
- }
- a[n >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[n >> 0] | 0 | 0)
- r = (8 - (up(d[n >> 0] | 0) | 0)) | 0;
- else r = 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = r;
- if (d[n >> 0] | 0 | 0) {
- f = ((c[i >> 2] | 0) + 4) | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
- break;
- }
- c[h >> 2] = -20;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } while (0);
- c[h >> 2] = c[k >> 2];
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- function gp(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 12) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[e >> 2] = a;
- if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
- c[d >> 2] = 3;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- a = c[e >> 2] | 0;
- if (
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
- ) {
- i = ((c[e >> 2] | 0) + 8) | 0;
- c[i >> 2] =
- (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
- i = ((c[e >> 2] | 0) + 4) | 0;
- c[i >> 2] = c[i >> 2] & 7;
- i = mp(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = i;
- c[d >> 2] = 0;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
- if (
- (c[(a + 8) >> 2] | 0) !=
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
- ) {
- c[f >> 2] = i >>> 3;
- c[g >> 2] = 0;
- if (
- (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (0 - (c[f >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] =
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
- c[g >> 2] = 1;
- }
- a = ((c[e >> 2] | 0) + 8) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
- a = ((c[e >> 2] | 0) + 4) | 0;
- c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
- f = mp(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = f;
- c[d >> 2] = c[g >> 2];
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- if (i >>> 0 < 32) {
- c[d >> 2] = 1;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- c[d >> 2] = 2;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function hp() {
- return 0;
- }
- function ip(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- ((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- ((32 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function jp(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ((c[e >> 2] | 0) + 4) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
- l = d;
- return;
- }
- function kp() {
- return 1;
- }
- function lp(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- if (
- (c[((c[d >> 2] | 0) + 8) >> 2] | 0) !=
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0)
- ) {
- e = 0;
- f = e & 1;
- l = b;
- return f | 0;
- }
- e = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) == 32;
- f = e & 1;
- l = b;
- return f | 0;
- }
- function mp(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (kp() | 0) != 0;
- f = c[e >> 2] | 0;
- if (a) {
- c[d >> 2] = np(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- a = op(f) | 0;
- c[d >> 2] = a;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function np(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (pp() | 0) != 0;
- f = sp(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = tp(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function op(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (pp() | 0) != 0;
- f = qp(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = rp(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function pp() {
- return d[11936] | 0 | 0;
- }
- function qp(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- e = a;
- f = (a + 4) | 0;
- y =
- d[f >> 0] |
- (d[(f + 1) >> 0] << 8) |
- (d[(f + 2) >> 0] << 16) |
- (d[(f + 3) >> 0] << 24);
- l = b;
- return (
- d[e >> 0] |
- (d[(e + 1) >> 0] << 8) |
- (d[(e + 2) >> 0] << 16) |
- (d[(e + 3) >> 0] << 24) |
- 0
- );
- }
- function rp(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function sp(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function tp(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function up(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function vp(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 24) | 0;
- j = (h + 20) | 0;
- k = (h + 16) | 0;
- m = (h + 12) | 0;
- n = (h + 8) | 0;
- o = (h + 4) | 0;
- p = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- g = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- if (c[p >> 2] | 0) {
- c[i >> 2] = wp(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- } else {
- c[i >> 2] = xp(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- }
- return 0;
- }
- function wp(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0,
- Kc = 0,
- Lc = 0,
- Mc = 0,
- Nc = 0,
- Oc = 0,
- Pc = 0,
- Qc = 0,
- Rc = 0,
- Sc = 0,
- Tc = 0,
- Uc = 0,
- Vc = 0,
- Wc = 0,
- Xc = 0,
- Yc = 0,
- Zc = 0,
- _c = 0,
- $c = 0,
- ad = 0,
- bd = 0,
- cd = 0,
- dd = 0,
- ed = 0,
- fd = 0,
- gd = 0,
- hd = 0,
- id = 0,
- jd = 0,
- kd = 0,
- ld = 0,
- md = 0,
- nd = 0,
- od = 0,
- pd = 0,
- qd = 0,
- rd = 0,
- sd = 0,
- td = 0,
- ud = 0,
- vd = 0,
- wd = 0,
- xd = 0,
- yd = 0,
- zd = 0,
- Ad = 0,
- Bd = 0,
- Cd = 0,
- Dd = 0,
- Ed = 0,
- Fd = 0,
- Gd = 0,
- Hd = 0,
- Id = 0,
- Jd = 0,
- Kd = 0,
- Ld = 0,
- Md = 0,
- Nd = 0,
- Od = 0,
- Pd = 0,
- Qd = 0,
- Rd = 0,
- Sd = 0,
- Td = 0,
- Ud = 0,
- Vd = 0,
- Wd = 0,
- Xd = 0,
- Yd = 0,
- Zd = 0,
- _d = 0,
- $d = 0,
- ae = 0,
- be = 0,
- ce = 0,
- de = 0,
- ee = 0,
- fe = 0,
- ge = 0,
- he = 0,
- ie = 0;
- i = l;
- l = (l + 1024) | 0;
- j = (i + 968) | 0;
- k = (i + 964) | 0;
- m = (i + 960) | 0;
- n = (i + 956) | 0;
- o = (i + 1015) | 0;
- p = (i + 952) | 0;
- q = (i + 948) | 0;
- r = (i + 944) | 0;
- s = (i + 940) | 0;
- t = (i + 1014) | 0;
- u = (i + 936) | 0;
- v = (i + 932) | 0;
- w = (i + 928) | 0;
- x = (i + 924) | 0;
- y = (i + 1013) | 0;
- z = (i + 920) | 0;
- A = (i + 916) | 0;
- B = (i + 912) | 0;
- C = (i + 908) | 0;
- D = (i + 1012) | 0;
- E = (i + 904) | 0;
- F = (i + 900) | 0;
- G = (i + 896) | 0;
- H = (i + 892) | 0;
- I = (i + 1011) | 0;
- J = (i + 888) | 0;
- K = (i + 884) | 0;
- L = (i + 880) | 0;
- M = (i + 876) | 0;
- N = (i + 1010) | 0;
- O = (i + 872) | 0;
- P = (i + 868) | 0;
- Q = (i + 864) | 0;
- R = (i + 860) | 0;
- S = (i + 856) | 0;
- T = (i + 852) | 0;
- U = (i + 848) | 0;
- V = (i + 844) | 0;
- W = (i + 840) | 0;
- X = (i + 836) | 0;
- Y = (i + 1009) | 0;
- Z = (i + 832) | 0;
- _ = (i + 828) | 0;
- $ = (i + 824) | 0;
- aa = (i + 820) | 0;
- ba = (i + 1008) | 0;
- ca = (i + 816) | 0;
- da = (i + 812) | 0;
- ea = (i + 808) | 0;
- fa = (i + 804) | 0;
- ga = (i + 1007) | 0;
- ha = (i + 800) | 0;
- ia = (i + 796) | 0;
- ja = (i + 792) | 0;
- ka = (i + 788) | 0;
- la = (i + 1006) | 0;
- ma = (i + 784) | 0;
- na = (i + 780) | 0;
- oa = (i + 776) | 0;
- pa = (i + 772) | 0;
- qa = (i + 1005) | 0;
- ra = (i + 768) | 0;
- sa = (i + 764) | 0;
- ta = (i + 760) | 0;
- ua = (i + 756) | 0;
- va = (i + 1004) | 0;
- wa = (i + 752) | 0;
- xa = (i + 748) | 0;
- ya = (i + 744) | 0;
- za = (i + 740) | 0;
- Aa = (i + 736) | 0;
- Ba = (i + 732) | 0;
- Ca = (i + 728) | 0;
- Da = (i + 724) | 0;
- Ea = (i + 720) | 0;
- Fa = (i + 716) | 0;
- Ga = (i + 1003) | 0;
- Ha = (i + 712) | 0;
- Ia = (i + 708) | 0;
- Ja = (i + 704) | 0;
- Ka = (i + 700) | 0;
- La = (i + 1002) | 0;
- Ma = (i + 696) | 0;
- Na = (i + 692) | 0;
- Oa = (i + 688) | 0;
- Pa = (i + 684) | 0;
- Qa = (i + 1001) | 0;
- Ra = (i + 680) | 0;
- Sa = (i + 676) | 0;
- Ta = (i + 672) | 0;
- Ua = (i + 668) | 0;
- Va = (i + 1e3) | 0;
- Wa = (i + 664) | 0;
- Xa = (i + 660) | 0;
- Ya = (i + 656) | 0;
- Za = (i + 652) | 0;
- _a = (i + 999) | 0;
- $a = (i + 648) | 0;
- ab = (i + 644) | 0;
- bb = (i + 640) | 0;
- cb = (i + 636) | 0;
- db = (i + 998) | 0;
- eb = (i + 632) | 0;
- fb = (i + 628) | 0;
- gb = (i + 624) | 0;
- hb = (i + 620) | 0;
- ib = (i + 616) | 0;
- jb = (i + 612) | 0;
- kb = (i + 608) | 0;
- lb = (i + 604) | 0;
- mb = (i + 600) | 0;
- nb = (i + 596) | 0;
- ob = (i + 997) | 0;
- pb = (i + 592) | 0;
- qb = (i + 588) | 0;
- rb = (i + 584) | 0;
- sb = (i + 580) | 0;
- tb = (i + 996) | 0;
- ub = (i + 576) | 0;
- vb = (i + 572) | 0;
- wb = (i + 568) | 0;
- xb = (i + 564) | 0;
- yb = (i + 995) | 0;
- zb = (i + 560) | 0;
- Ab = (i + 556) | 0;
- Bb = (i + 552) | 0;
- Cb = (i + 548) | 0;
- Db = (i + 994) | 0;
- Eb = (i + 544) | 0;
- Fb = (i + 540) | 0;
- Gb = (i + 536) | 0;
- Hb = (i + 532) | 0;
- Ib = (i + 993) | 0;
- Jb = (i + 528) | 0;
- Kb = (i + 524) | 0;
- Lb = (i + 520) | 0;
- Mb = (i + 516) | 0;
- Nb = (i + 992) | 0;
- Ob = (i + 512) | 0;
- Pb = (i + 508) | 0;
- Qb = (i + 504) | 0;
- Rb = (i + 500) | 0;
- Sb = (i + 496) | 0;
- Tb = (i + 492) | 0;
- Ub = (i + 488) | 0;
- Vb = (i + 484) | 0;
- Wb = (i + 480) | 0;
- Xb = (i + 476) | 0;
- Yb = (i + 991) | 0;
- Zb = (i + 472) | 0;
- _b = (i + 468) | 0;
- $b = (i + 464) | 0;
- ac = (i + 460) | 0;
- bc = (i + 990) | 0;
- cc = (i + 456) | 0;
- dc = (i + 452) | 0;
- ec = (i + 448) | 0;
- fc = (i + 444) | 0;
- gc = (i + 989) | 0;
- hc = (i + 440) | 0;
- ic = (i + 436) | 0;
- jc = (i + 432) | 0;
- kc = (i + 428) | 0;
- lc = (i + 988) | 0;
- mc = (i + 424) | 0;
- nc = (i + 420) | 0;
- oc = (i + 416) | 0;
- pc = (i + 412) | 0;
- qc = (i + 987) | 0;
- rc = (i + 408) | 0;
- sc = (i + 404) | 0;
- tc = (i + 400) | 0;
- uc = (i + 396) | 0;
- vc = (i + 986) | 0;
- wc = (i + 392) | 0;
- xc = (i + 388) | 0;
- yc = (i + 384) | 0;
- zc = (i + 380) | 0;
- Ac = (i + 985) | 0;
- Bc = (i + 376) | 0;
- Cc = (i + 372) | 0;
- Dc = (i + 368) | 0;
- Ec = (i + 364) | 0;
- Fc = (i + 984) | 0;
- Gc = (i + 360) | 0;
- Hc = (i + 356) | 0;
- Ic = (i + 352) | 0;
- Jc = (i + 348) | 0;
- Kc = (i + 983) | 0;
- Lc = (i + 344) | 0;
- Mc = (i + 340) | 0;
- Nc = (i + 336) | 0;
- Oc = (i + 332) | 0;
- Pc = (i + 982) | 0;
- Qc = (i + 328) | 0;
- Rc = (i + 324) | 0;
- Sc = (i + 320) | 0;
- Tc = (i + 316) | 0;
- Uc = (i + 981) | 0;
- Vc = (i + 312) | 0;
- Wc = (i + 308) | 0;
- Xc = (i + 304) | 0;
- Yc = (i + 300) | 0;
- Zc = (i + 980) | 0;
- _c = (i + 296) | 0;
- $c = (i + 292) | 0;
- ad = (i + 288) | 0;
- bd = (i + 284) | 0;
- cd = (i + 979) | 0;
- dd = (i + 280) | 0;
- ed = (i + 276) | 0;
- fd = (i + 272) | 0;
- gd = (i + 268) | 0;
- hd = (i + 978) | 0;
- id = (i + 264) | 0;
- jd = (i + 260) | 0;
- kd = (i + 256) | 0;
- ld = (i + 252) | 0;
- md = (i + 977) | 0;
- nd = (i + 248) | 0;
- od = (i + 244) | 0;
- pd = (i + 240) | 0;
- qd = (i + 236) | 0;
- rd = (i + 976) | 0;
- sd = (i + 232) | 0;
- td = (i + 228) | 0;
- ud = (i + 224) | 0;
- vd = (i + 220) | 0;
- wd = (i + 216) | 0;
- xd = (i + 212) | 0;
- yd = (i + 208) | 0;
- zd = (i + 204) | 0;
- Ad = (i + 200) | 0;
- Bd = (i + 196) | 0;
- Cd = (i + 192) | 0;
- Dd = (i + 172) | 0;
- Ed = (i + 152) | 0;
- Fd = (i + 132) | 0;
- Gd = (i + 112) | 0;
- Hd = (i + 108) | 0;
- Id = (i + 104) | 0;
- Jd = (i + 100) | 0;
- Kd = (i + 96) | 0;
- Ld = (i + 92) | 0;
- Md = (i + 88) | 0;
- Nd = (i + 84) | 0;
- Od = (i + 80) | 0;
- Pd = (i + 76) | 0;
- Qd = (i + 72) | 0;
- Rd = (i + 68) | 0;
- Sd = (i + 64) | 0;
- Td = (i + 60) | 0;
- Ud = (i + 56) | 0;
- Vd = (i + 52) | 0;
- Wd = (i + 48) | 0;
- Xd = (i + 44) | 0;
- Yd = (i + 972) | 0;
- Zd = (i + 40) | 0;
- _d = (i + 36) | 0;
- $d = (i + 32) | 0;
- ae = (i + 28) | 0;
- be = (i + 24) | 0;
- ce = (i + 20) | 0;
- de = (i + 16) | 0;
- ee = (i + 12) | 0;
- fe = (i + 8) | 0;
- ge = (i + 4) | 0;
- he = i;
- c[de >> 2] = b;
- c[ee >> 2] = e;
- c[fe >> 2] = f;
- c[ge >> 2] = g;
- c[he >> 2] = h;
- h = c[ee >> 2] | 0;
- ee = c[fe >> 2] | 0;
- fe = c[ge >> 2] | 0;
- ge = c[he >> 2] | 0;
- c[td >> 2] = c[de >> 2];
- c[ud >> 2] = h;
- c[vd >> 2] = ee;
- c[wd >> 2] = fe;
- c[xd >> 2] = ge;
- if ((c[wd >> 2] | 0) >>> 0 < 10) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[yd >> 2] = c[vd >> 2];
- c[zd >> 2] = c[td >> 2];
- c[Ad >> 2] = (c[zd >> 2] | 0) + (c[ud >> 2] | 0);
- c[Bd >> 2] = (c[xd >> 2] | 0) + 4;
- c[Cd >> 2] = c[Bd >> 2];
- c[Hd >> 2] = (yp(c[yd >> 2] | 0) | 0) & 65535;
- c[Id >> 2] = (yp(((c[yd >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[Jd >> 2] = (yp(((c[yd >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[Kd >> 2] =
- (c[wd >> 2] | 0) -
- ((c[Hd >> 2] | 0) +
- (c[Id >> 2] | 0) +
- (c[Jd >> 2] | 0) +
- 6);
- c[Ld >> 2] = (c[yd >> 2] | 0) + 6;
- c[Md >> 2] = (c[Ld >> 2] | 0) + (c[Hd >> 2] | 0);
- c[Nd >> 2] = (c[Md >> 2] | 0) + (c[Id >> 2] | 0);
- c[Od >> 2] = (c[Nd >> 2] | 0) + (c[Jd >> 2] | 0);
- c[Pd >> 2] = (((((c[ud >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[Qd >> 2] = (c[zd >> 2] | 0) + (c[Pd >> 2] | 0);
- c[Rd >> 2] = (c[Qd >> 2] | 0) + (c[Pd >> 2] | 0);
- c[Sd >> 2] = (c[Rd >> 2] | 0) + (c[Pd >> 2] | 0);
- c[Td >> 2] = c[zd >> 2];
- c[Ud >> 2] = c[Qd >> 2];
- c[Vd >> 2] = c[Rd >> 2];
- c[Wd >> 2] = c[Sd >> 2];
- c[Xd >> 2] = 0;
- bp(Yd, c[xd >> 2] | 0);
- c[Zd >> 2] = d[(Yd + 2) >> 0];
- if ((c[Kd >> 2] | 0) >>> 0 > (c[wd >> 2] | 0) >>> 0) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[_d >> 2] = fp(Dd, c[Ld >> 2] | 0, c[Hd >> 2] | 0) | 0;
- if (ap(c[_d >> 2] | 0) | 0) {
- c[sd >> 2] = c[_d >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[$d >> 2] = fp(Ed, c[Md >> 2] | 0, c[Id >> 2] | 0) | 0;
- if (ap(c[$d >> 2] | 0) | 0) {
- c[sd >> 2] = c[$d >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[ae >> 2] = fp(Fd, c[Nd >> 2] | 0, c[Jd >> 2] | 0) | 0;
- if (ap(c[ae >> 2] | 0) | 0) {
- c[sd >> 2] = c[ae >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[be >> 2] = fp(Gd, c[Od >> 2] | 0, c[Kd >> 2] | 0) | 0;
- if (ap(c[be >> 2] | 0) | 0) {
- c[sd >> 2] = c[be >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- be = gp(Dd) | 0;
- Kd = be | (gp(Ed) | 0);
- be = Kd | (gp(Fd) | 0);
- c[Xd >> 2] = be | (gp(Gd) | 0);
- while (1) {
- if (c[Xd >> 2] | 0) break;
- if (
- (c[Wd >> 2] | 0) >>> 0 >=
- (((c[Ad >> 2] | 0) + -3) | 0) >>> 0
- )
- break;
- if (hp() | 0) {
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[nd >> 2] = Dd;
- c[od >> 2] = be;
- c[pd >> 2] = Kd;
- c[qd >> 2] = ip(c[nd >> 2] | 0, c[pd >> 2] | 0) | 0;
- a[rd >> 0] =
- a[((c[od >> 2] | 0) + (c[qd >> 2] << 1)) >> 0] | 0;
- jp(
- c[nd >> 2] | 0,
- d[((c[od >> 2] | 0) + (c[qd >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[rd >> 0] | 0;
- be = c[Td >> 2] | 0;
- c[Td >> 2] = be + 1;
- a[be >> 0] = Kd;
- }
- if (hp() | 0) {
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[id >> 2] = Ed;
- c[jd >> 2] = Kd;
- c[kd >> 2] = be;
- c[ld >> 2] = ip(c[id >> 2] | 0, c[kd >> 2] | 0) | 0;
- a[md >> 0] =
- a[((c[jd >> 2] | 0) + (c[ld >> 2] << 1)) >> 0] | 0;
- jp(
- c[id >> 2] | 0,
- d[((c[jd >> 2] | 0) + (c[ld >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[md >> 0] | 0;
- Kd = c[Ud >> 2] | 0;
- c[Ud >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- }
- if (hp() | 0) {
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[dd >> 2] = Fd;
- c[ed >> 2] = be;
- c[fd >> 2] = Kd;
- c[gd >> 2] = ip(c[dd >> 2] | 0, c[fd >> 2] | 0) | 0;
- a[hd >> 0] =
- a[((c[ed >> 2] | 0) + (c[gd >> 2] << 1)) >> 0] | 0;
- jp(
- c[dd >> 2] | 0,
- d[((c[ed >> 2] | 0) + (c[gd >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[hd >> 0] | 0;
- be = c[Vd >> 2] | 0;
- c[Vd >> 2] = be + 1;
- a[be >> 0] = Kd;
- }
- if (hp() | 0) {
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[_c >> 2] = Gd;
- c[$c >> 2] = Kd;
- c[ad >> 2] = be;
- c[bd >> 2] = ip(c[_c >> 2] | 0, c[ad >> 2] | 0) | 0;
- a[cd >> 0] =
- a[((c[$c >> 2] | 0) + (c[bd >> 2] << 1)) >> 0] | 0;
- jp(
- c[_c >> 2] | 0,
- d[((c[$c >> 2] | 0) + (c[bd >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[cd >> 0] | 0;
- Kd = c[Wd >> 2] | 0;
- c[Wd >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- }
- hp() | 0;
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[Vc >> 2] = Dd;
- c[Wc >> 2] = be;
- c[Xc >> 2] = Kd;
- c[Yc >> 2] = ip(c[Vc >> 2] | 0, c[Xc >> 2] | 0) | 0;
- a[Zc >> 0] =
- a[((c[Wc >> 2] | 0) + (c[Yc >> 2] << 1)) >> 0] | 0;
- jp(
- c[Vc >> 2] | 0,
- d[((c[Wc >> 2] | 0) + (c[Yc >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[Zc >> 0] | 0;
- be = c[Td >> 2] | 0;
- c[Td >> 2] = be + 1;
- a[be >> 0] = Kd;
- hp() | 0;
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[Qc >> 2] = Ed;
- c[Rc >> 2] = Kd;
- c[Sc >> 2] = be;
- c[Tc >> 2] = ip(c[Qc >> 2] | 0, c[Sc >> 2] | 0) | 0;
- a[Uc >> 0] =
- a[((c[Rc >> 2] | 0) + (c[Tc >> 2] << 1)) >> 0] | 0;
- jp(
- c[Qc >> 2] | 0,
- d[((c[Rc >> 2] | 0) + (c[Tc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[Uc >> 0] | 0;
- Kd = c[Ud >> 2] | 0;
- c[Ud >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- hp() | 0;
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[Lc >> 2] = Fd;
- c[Mc >> 2] = be;
- c[Nc >> 2] = Kd;
- c[Oc >> 2] = ip(c[Lc >> 2] | 0, c[Nc >> 2] | 0) | 0;
- a[Pc >> 0] =
- a[((c[Mc >> 2] | 0) + (c[Oc >> 2] << 1)) >> 0] | 0;
- jp(
- c[Lc >> 2] | 0,
- d[((c[Mc >> 2] | 0) + (c[Oc >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[Pc >> 0] | 0;
- be = c[Vd >> 2] | 0;
- c[Vd >> 2] = be + 1;
- a[be >> 0] = Kd;
- hp() | 0;
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[Gc >> 2] = Gd;
- c[Hc >> 2] = Kd;
- c[Ic >> 2] = be;
- c[Jc >> 2] = ip(c[Gc >> 2] | 0, c[Ic >> 2] | 0) | 0;
- a[Kc >> 0] =
- a[((c[Hc >> 2] | 0) + (c[Jc >> 2] << 1)) >> 0] | 0;
- jp(
- c[Gc >> 2] | 0,
- d[((c[Hc >> 2] | 0) + (c[Jc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[Kc >> 0] | 0;
- Kd = c[Wd >> 2] | 0;
- c[Wd >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- if (hp() | 0) {
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[Bc >> 2] = Dd;
- c[Cc >> 2] = be;
- c[Dc >> 2] = Kd;
- c[Ec >> 2] = ip(c[Bc >> 2] | 0, c[Dc >> 2] | 0) | 0;
- a[Fc >> 0] =
- a[((c[Cc >> 2] | 0) + (c[Ec >> 2] << 1)) >> 0] | 0;
- jp(
- c[Bc >> 2] | 0,
- d[((c[Cc >> 2] | 0) + (c[Ec >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[Fc >> 0] | 0;
- be = c[Td >> 2] | 0;
- c[Td >> 2] = be + 1;
- a[be >> 0] = Kd;
- }
- if (hp() | 0) {
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[wc >> 2] = Ed;
- c[xc >> 2] = Kd;
- c[yc >> 2] = be;
- c[zc >> 2] = ip(c[wc >> 2] | 0, c[yc >> 2] | 0) | 0;
- a[Ac >> 0] =
- a[((c[xc >> 2] | 0) + (c[zc >> 2] << 1)) >> 0] | 0;
- jp(
- c[wc >> 2] | 0,
- d[((c[xc >> 2] | 0) + (c[zc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[Ac >> 0] | 0;
- Kd = c[Ud >> 2] | 0;
- c[Ud >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- }
- if (hp() | 0) {
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[rc >> 2] = Fd;
- c[sc >> 2] = be;
- c[tc >> 2] = Kd;
- c[uc >> 2] = ip(c[rc >> 2] | 0, c[tc >> 2] | 0) | 0;
- a[vc >> 0] =
- a[((c[sc >> 2] | 0) + (c[uc >> 2] << 1)) >> 0] | 0;
- jp(
- c[rc >> 2] | 0,
- d[((c[sc >> 2] | 0) + (c[uc >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[vc >> 0] | 0;
- be = c[Vd >> 2] | 0;
- c[Vd >> 2] = be + 1;
- a[be >> 0] = Kd;
- }
- if (hp() | 0) {
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[mc >> 2] = Gd;
- c[nc >> 2] = Kd;
- c[oc >> 2] = be;
- c[pc >> 2] = ip(c[mc >> 2] | 0, c[oc >> 2] | 0) | 0;
- a[qc >> 0] =
- a[((c[nc >> 2] | 0) + (c[pc >> 2] << 1)) >> 0] | 0;
- jp(
- c[mc >> 2] | 0,
- d[((c[nc >> 2] | 0) + (c[pc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[qc >> 0] | 0;
- Kd = c[Wd >> 2] | 0;
- c[Wd >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- }
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[hc >> 2] = Dd;
- c[ic >> 2] = be;
- c[jc >> 2] = Kd;
- c[kc >> 2] = ip(c[hc >> 2] | 0, c[jc >> 2] | 0) | 0;
- a[lc >> 0] =
- a[((c[ic >> 2] | 0) + (c[kc >> 2] << 1)) >> 0] | 0;
- jp(
- c[hc >> 2] | 0,
- d[((c[ic >> 2] | 0) + (c[kc >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[lc >> 0] | 0;
- be = c[Td >> 2] | 0;
- c[Td >> 2] = be + 1;
- a[be >> 0] = Kd;
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[cc >> 2] = Ed;
- c[dc >> 2] = Kd;
- c[ec >> 2] = be;
- c[fc >> 2] = ip(c[cc >> 2] | 0, c[ec >> 2] | 0) | 0;
- a[gc >> 0] =
- a[((c[dc >> 2] | 0) + (c[fc >> 2] << 1)) >> 0] | 0;
- jp(
- c[cc >> 2] | 0,
- d[((c[dc >> 2] | 0) + (c[fc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[gc >> 0] | 0;
- Kd = c[Ud >> 2] | 0;
- c[Ud >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[Zb >> 2] = Fd;
- c[_b >> 2] = be;
- c[$b >> 2] = Kd;
- c[ac >> 2] = ip(c[Zb >> 2] | 0, c[$b >> 2] | 0) | 0;
- a[bc >> 0] =
- a[((c[_b >> 2] | 0) + (c[ac >> 2] << 1)) >> 0] | 0;
- jp(
- c[Zb >> 2] | 0,
- d[((c[_b >> 2] | 0) + (c[ac >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[bc >> 0] | 0;
- be = c[Vd >> 2] | 0;
- c[Vd >> 2] = be + 1;
- a[be >> 0] = Kd;
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[Ub >> 2] = Gd;
- c[Vb >> 2] = Kd;
- c[Wb >> 2] = be;
- c[Xb >> 2] = ip(c[Ub >> 2] | 0, c[Wb >> 2] | 0) | 0;
- a[Yb >> 0] =
- a[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ub >> 2] | 0,
- d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[Yb >> 0] | 0;
- Kd = c[Wd >> 2] | 0;
- c[Wd >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- gp(Dd) | 0;
- gp(Ed) | 0;
- gp(Fd) | 0;
- gp(Gd) | 0;
- }
- if ((c[Td >> 2] | 0) >>> 0 > (c[Qd >> 2] | 0) >>> 0) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- if ((c[Ud >> 2] | 0) >>> 0 > (c[Rd >> 2] | 0) >>> 0) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- if ((c[Vd >> 2] | 0) >>> 0 > (c[Sd >> 2] | 0) >>> 0) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- Yb = c[Qd >> 2] | 0;
- Qd = c[Cd >> 2] | 0;
- Xb = c[Zd >> 2] | 0;
- c[Ob >> 2] = c[Td >> 2];
- c[Pb >> 2] = Dd;
- c[Qb >> 2] = Yb;
- c[Rb >> 2] = Qd;
- c[Sb >> 2] = Xb;
- c[Tb >> 2] = c[Ob >> 2];
- while (1) {
- Tb = ((gp(c[Pb >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Tb &
- ((c[Ob >> 2] | 0) >>> 0 <
- (((c[Qb >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- Tb = c[Rb >> 2] | 0;
- Xb = c[Sb >> 2] | 0;
- c[Jb >> 2] = c[Pb >> 2];
- c[Kb >> 2] = Tb;
- c[Lb >> 2] = Xb;
- c[Mb >> 2] = ip(c[Jb >> 2] | 0, c[Lb >> 2] | 0) | 0;
- a[Nb >> 0] =
- a[((c[Kb >> 2] | 0) + (c[Mb >> 2] << 1)) >> 0] | 0;
- jp(
- c[Jb >> 2] | 0,
- d[((c[Kb >> 2] | 0) + (c[Mb >> 2] << 1) + 1) >> 0] | 0
- );
- Xb = a[Nb >> 0] | 0;
- Tb = c[Ob >> 2] | 0;
- c[Ob >> 2] = Tb + 1;
- a[Tb >> 0] = Xb;
- }
- hp() | 0;
- Xb = c[Rb >> 2] | 0;
- Tb = c[Sb >> 2] | 0;
- c[Eb >> 2] = c[Pb >> 2];
- c[Fb >> 2] = Xb;
- c[Gb >> 2] = Tb;
- c[Hb >> 2] = ip(c[Eb >> 2] | 0, c[Gb >> 2] | 0) | 0;
- a[Ib >> 0] =
- a[((c[Fb >> 2] | 0) + (c[Hb >> 2] << 1)) >> 0] | 0;
- jp(
- c[Eb >> 2] | 0,
- d[((c[Fb >> 2] | 0) + (c[Hb >> 2] << 1) + 1) >> 0] | 0
- );
- Tb = a[Ib >> 0] | 0;
- Xb = c[Ob >> 2] | 0;
- c[Ob >> 2] = Xb + 1;
- a[Xb >> 0] = Tb;
- if (hp() | 0) {
- Tb = c[Rb >> 2] | 0;
- Xb = c[Sb >> 2] | 0;
- c[zb >> 2] = c[Pb >> 2];
- c[Ab >> 2] = Tb;
- c[Bb >> 2] = Xb;
- c[Cb >> 2] = ip(c[zb >> 2] | 0, c[Bb >> 2] | 0) | 0;
- a[Db >> 0] =
- a[((c[Ab >> 2] | 0) + (c[Cb >> 2] << 1)) >> 0] | 0;
- jp(
- c[zb >> 2] | 0,
- d[((c[Ab >> 2] | 0) + (c[Cb >> 2] << 1) + 1) >> 0] | 0
- );
- Xb = a[Db >> 0] | 0;
- Tb = c[Ob >> 2] | 0;
- c[Ob >> 2] = Tb + 1;
- a[Tb >> 0] = Xb;
- }
- Xb = c[Rb >> 2] | 0;
- Tb = c[Sb >> 2] | 0;
- c[ub >> 2] = c[Pb >> 2];
- c[vb >> 2] = Xb;
- c[wb >> 2] = Tb;
- c[xb >> 2] = ip(c[ub >> 2] | 0, c[wb >> 2] | 0) | 0;
- a[yb >> 0] =
- a[((c[vb >> 2] | 0) + (c[xb >> 2] << 1)) >> 0] | 0;
- jp(
- c[ub >> 2] | 0,
- d[((c[vb >> 2] | 0) + (c[xb >> 2] << 1) + 1) >> 0] | 0
- );
- Tb = a[yb >> 0] | 0;
- Xb = c[Ob >> 2] | 0;
- c[Ob >> 2] = Xb + 1;
- a[Xb >> 0] = Tb;
- }
- a: do {
- if (kp() | 0)
- while (1) {
- yb = ((gp(c[Pb >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- yb &
- ((c[Ob >> 2] | 0) >>> 0 < (c[Qb >> 2] | 0) >>> 0)
- )
- )
- break a;
- yb = c[Rb >> 2] | 0;
- xb = c[Sb >> 2] | 0;
- c[pb >> 2] = c[Pb >> 2];
- c[qb >> 2] = yb;
- c[rb >> 2] = xb;
- c[sb >> 2] = ip(c[pb >> 2] | 0, c[rb >> 2] | 0) | 0;
- a[tb >> 0] =
- a[((c[qb >> 2] | 0) + (c[sb >> 2] << 1)) >> 0] | 0;
- jp(
- c[pb >> 2] | 0,
- d[((c[qb >> 2] | 0) + (c[sb >> 2] << 1) + 1) >> 0] | 0
- );
- xb = a[tb >> 0] | 0;
- yb = c[Ob >> 2] | 0;
- c[Ob >> 2] = yb + 1;
- a[yb >> 0] = xb;
- }
- } while (0);
- while (1) {
- if ((c[Ob >> 2] | 0) >>> 0 >= (c[Qb >> 2] | 0) >>> 0) break;
- tb = c[Rb >> 2] | 0;
- sb = c[Sb >> 2] | 0;
- c[kb >> 2] = c[Pb >> 2];
- c[lb >> 2] = tb;
- c[mb >> 2] = sb;
- c[nb >> 2] = ip(c[kb >> 2] | 0, c[mb >> 2] | 0) | 0;
- a[ob >> 0] =
- a[((c[lb >> 2] | 0) + (c[nb >> 2] << 1)) >> 0] | 0;
- jp(
- c[kb >> 2] | 0,
- d[((c[lb >> 2] | 0) + (c[nb >> 2] << 1) + 1) >> 0] | 0
- );
- sb = a[ob >> 0] | 0;
- tb = c[Ob >> 2] | 0;
- c[Ob >> 2] = tb + 1;
- a[tb >> 0] = sb;
- }
- Ob = c[Rd >> 2] | 0;
- Rd = c[Cd >> 2] | 0;
- ob = c[Zd >> 2] | 0;
- c[eb >> 2] = c[Ud >> 2];
- c[fb >> 2] = Ed;
- c[gb >> 2] = Ob;
- c[hb >> 2] = Rd;
- c[ib >> 2] = ob;
- c[jb >> 2] = c[eb >> 2];
- while (1) {
- jb = ((gp(c[fb >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- jb &
- ((c[eb >> 2] | 0) >>> 0 <
- (((c[gb >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- jb = c[hb >> 2] | 0;
- ob = c[ib >> 2] | 0;
- c[$a >> 2] = c[fb >> 2];
- c[ab >> 2] = jb;
- c[bb >> 2] = ob;
- c[cb >> 2] = ip(c[$a >> 2] | 0, c[bb >> 2] | 0) | 0;
- a[db >> 0] =
- a[((c[ab >> 2] | 0) + (c[cb >> 2] << 1)) >> 0] | 0;
- jp(
- c[$a >> 2] | 0,
- d[((c[ab >> 2] | 0) + (c[cb >> 2] << 1) + 1) >> 0] | 0
- );
- ob = a[db >> 0] | 0;
- jb = c[eb >> 2] | 0;
- c[eb >> 2] = jb + 1;
- a[jb >> 0] = ob;
- }
- hp() | 0;
- ob = c[hb >> 2] | 0;
- jb = c[ib >> 2] | 0;
- c[Wa >> 2] = c[fb >> 2];
- c[Xa >> 2] = ob;
- c[Ya >> 2] = jb;
- c[Za >> 2] = ip(c[Wa >> 2] | 0, c[Ya >> 2] | 0) | 0;
- a[_a >> 0] =
- a[((c[Xa >> 2] | 0) + (c[Za >> 2] << 1)) >> 0] | 0;
- jp(
- c[Wa >> 2] | 0,
- d[((c[Xa >> 2] | 0) + (c[Za >> 2] << 1) + 1) >> 0] | 0
- );
- jb = a[_a >> 0] | 0;
- ob = c[eb >> 2] | 0;
- c[eb >> 2] = ob + 1;
- a[ob >> 0] = jb;
- if (hp() | 0) {
- jb = c[hb >> 2] | 0;
- ob = c[ib >> 2] | 0;
- c[Ra >> 2] = c[fb >> 2];
- c[Sa >> 2] = jb;
- c[Ta >> 2] = ob;
- c[Ua >> 2] = ip(c[Ra >> 2] | 0, c[Ta >> 2] | 0) | 0;
- a[Va >> 0] =
- a[((c[Sa >> 2] | 0) + (c[Ua >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ra >> 2] | 0,
- d[((c[Sa >> 2] | 0) + (c[Ua >> 2] << 1) + 1) >> 0] | 0
- );
- ob = a[Va >> 0] | 0;
- jb = c[eb >> 2] | 0;
- c[eb >> 2] = jb + 1;
- a[jb >> 0] = ob;
- }
- ob = c[hb >> 2] | 0;
- jb = c[ib >> 2] | 0;
- c[Ma >> 2] = c[fb >> 2];
- c[Na >> 2] = ob;
- c[Oa >> 2] = jb;
- c[Pa >> 2] = ip(c[Ma >> 2] | 0, c[Oa >> 2] | 0) | 0;
- a[Qa >> 0] =
- a[((c[Na >> 2] | 0) + (c[Pa >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ma >> 2] | 0,
- d[((c[Na >> 2] | 0) + (c[Pa >> 2] << 1) + 1) >> 0] | 0
- );
- jb = a[Qa >> 0] | 0;
- ob = c[eb >> 2] | 0;
- c[eb >> 2] = ob + 1;
- a[ob >> 0] = jb;
- }
- b: do {
- if (kp() | 0)
- while (1) {
- Qa = ((gp(c[fb >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Qa &
- ((c[eb >> 2] | 0) >>> 0 < (c[gb >> 2] | 0) >>> 0)
- )
- )
- break b;
- Qa = c[hb >> 2] | 0;
- Pa = c[ib >> 2] | 0;
- c[Ha >> 2] = c[fb >> 2];
- c[Ia >> 2] = Qa;
- c[Ja >> 2] = Pa;
- c[Ka >> 2] = ip(c[Ha >> 2] | 0, c[Ja >> 2] | 0) | 0;
- a[La >> 0] =
- a[((c[Ia >> 2] | 0) + (c[Ka >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ha >> 2] | 0,
- d[((c[Ia >> 2] | 0) + (c[Ka >> 2] << 1) + 1) >> 0] | 0
- );
- Pa = a[La >> 0] | 0;
- Qa = c[eb >> 2] | 0;
- c[eb >> 2] = Qa + 1;
- a[Qa >> 0] = Pa;
- }
- } while (0);
- while (1) {
- if ((c[eb >> 2] | 0) >>> 0 >= (c[gb >> 2] | 0) >>> 0) break;
- La = c[hb >> 2] | 0;
- Ka = c[ib >> 2] | 0;
- c[Ca >> 2] = c[fb >> 2];
- c[Da >> 2] = La;
- c[Ea >> 2] = Ka;
- c[Fa >> 2] = ip(c[Ca >> 2] | 0, c[Ea >> 2] | 0) | 0;
- a[Ga >> 0] =
- a[((c[Da >> 2] | 0) + (c[Fa >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ca >> 2] | 0,
- d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 1) + 1) >> 0] | 0
- );
- Ka = a[Ga >> 0] | 0;
- La = c[eb >> 2] | 0;
- c[eb >> 2] = La + 1;
- a[La >> 0] = Ka;
- }
- eb = c[Sd >> 2] | 0;
- Sd = c[Cd >> 2] | 0;
- Ga = c[Zd >> 2] | 0;
- c[wa >> 2] = c[Vd >> 2];
- c[xa >> 2] = Fd;
- c[ya >> 2] = eb;
- c[za >> 2] = Sd;
- c[Aa >> 2] = Ga;
- c[Ba >> 2] = c[wa >> 2];
- while (1) {
- Ba = ((gp(c[xa >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Ba &
- ((c[wa >> 2] | 0) >>> 0 <
- (((c[ya >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- Ba = c[za >> 2] | 0;
- Ga = c[Aa >> 2] | 0;
- c[ra >> 2] = c[xa >> 2];
- c[sa >> 2] = Ba;
- c[ta >> 2] = Ga;
- c[ua >> 2] = ip(c[ra >> 2] | 0, c[ta >> 2] | 0) | 0;
- a[va >> 0] =
- a[((c[sa >> 2] | 0) + (c[ua >> 2] << 1)) >> 0] | 0;
- jp(
- c[ra >> 2] | 0,
- d[((c[sa >> 2] | 0) + (c[ua >> 2] << 1) + 1) >> 0] | 0
- );
- Ga = a[va >> 0] | 0;
- Ba = c[wa >> 2] | 0;
- c[wa >> 2] = Ba + 1;
- a[Ba >> 0] = Ga;
- }
- hp() | 0;
- Ga = c[za >> 2] | 0;
- Ba = c[Aa >> 2] | 0;
- c[ma >> 2] = c[xa >> 2];
- c[na >> 2] = Ga;
- c[oa >> 2] = Ba;
- c[pa >> 2] = ip(c[ma >> 2] | 0, c[oa >> 2] | 0) | 0;
- a[qa >> 0] =
- a[((c[na >> 2] | 0) + (c[pa >> 2] << 1)) >> 0] | 0;
- jp(
- c[ma >> 2] | 0,
- d[((c[na >> 2] | 0) + (c[pa >> 2] << 1) + 1) >> 0] | 0
- );
- Ba = a[qa >> 0] | 0;
- Ga = c[wa >> 2] | 0;
- c[wa >> 2] = Ga + 1;
- a[Ga >> 0] = Ba;
- if (hp() | 0) {
- Ba = c[za >> 2] | 0;
- Ga = c[Aa >> 2] | 0;
- c[ha >> 2] = c[xa >> 2];
- c[ia >> 2] = Ba;
- c[ja >> 2] = Ga;
- c[ka >> 2] = ip(c[ha >> 2] | 0, c[ja >> 2] | 0) | 0;
- a[la >> 0] =
- a[((c[ia >> 2] | 0) + (c[ka >> 2] << 1)) >> 0] | 0;
- jp(
- c[ha >> 2] | 0,
- d[((c[ia >> 2] | 0) + (c[ka >> 2] << 1) + 1) >> 0] | 0
- );
- Ga = a[la >> 0] | 0;
- Ba = c[wa >> 2] | 0;
- c[wa >> 2] = Ba + 1;
- a[Ba >> 0] = Ga;
- }
- Ga = c[za >> 2] | 0;
- Ba = c[Aa >> 2] | 0;
- c[ca >> 2] = c[xa >> 2];
- c[da >> 2] = Ga;
- c[ea >> 2] = Ba;
- c[fa >> 2] = ip(c[ca >> 2] | 0, c[ea >> 2] | 0) | 0;
- a[ga >> 0] =
- a[((c[da >> 2] | 0) + (c[fa >> 2] << 1)) >> 0] | 0;
- jp(
- c[ca >> 2] | 0,
- d[((c[da >> 2] | 0) + (c[fa >> 2] << 1) + 1) >> 0] | 0
- );
- Ba = a[ga >> 0] | 0;
- Ga = c[wa >> 2] | 0;
- c[wa >> 2] = Ga + 1;
- a[Ga >> 0] = Ba;
- }
- c: do {
- if (kp() | 0)
- while (1) {
- ga = ((gp(c[xa >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- ga &
- ((c[wa >> 2] | 0) >>> 0 < (c[ya >> 2] | 0) >>> 0)
- )
- )
- break c;
- ga = c[za >> 2] | 0;
- fa = c[Aa >> 2] | 0;
- c[Z >> 2] = c[xa >> 2];
- c[_ >> 2] = ga;
- c[$ >> 2] = fa;
- c[aa >> 2] = ip(c[Z >> 2] | 0, c[$ >> 2] | 0) | 0;
- a[ba >> 0] =
- a[((c[_ >> 2] | 0) + (c[aa >> 2] << 1)) >> 0] | 0;
- jp(
- c[Z >> 2] | 0,
- d[((c[_ >> 2] | 0) + (c[aa >> 2] << 1) + 1) >> 0] | 0
- );
- fa = a[ba >> 0] | 0;
- ga = c[wa >> 2] | 0;
- c[wa >> 2] = ga + 1;
- a[ga >> 0] = fa;
- }
- } while (0);
- while (1) {
- if ((c[wa >> 2] | 0) >>> 0 >= (c[ya >> 2] | 0) >>> 0) break;
- ba = c[za >> 2] | 0;
- aa = c[Aa >> 2] | 0;
- c[U >> 2] = c[xa >> 2];
- c[V >> 2] = ba;
- c[W >> 2] = aa;
- c[X >> 2] = ip(c[U >> 2] | 0, c[W >> 2] | 0) | 0;
- a[Y >> 0] =
- a[((c[V >> 2] | 0) + (c[X >> 2] << 1)) >> 0] | 0;
- jp(
- c[U >> 2] | 0,
- d[((c[V >> 2] | 0) + (c[X >> 2] << 1) + 1) >> 0] | 0
- );
- aa = a[Y >> 0] | 0;
- ba = c[wa >> 2] | 0;
- c[wa >> 2] = ba + 1;
- a[ba >> 0] = aa;
- }
- wa = c[Ad >> 2] | 0;
- Ad = c[Cd >> 2] | 0;
- Cd = c[Zd >> 2] | 0;
- c[O >> 2] = c[Wd >> 2];
- c[P >> 2] = Gd;
- c[Q >> 2] = wa;
- c[R >> 2] = Ad;
- c[S >> 2] = Cd;
- c[T >> 2] = c[O >> 2];
- while (1) {
- T = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- T &
- ((c[O >> 2] | 0) >>> 0 <
- (((c[Q >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- T = c[R >> 2] | 0;
- Cd = c[S >> 2] | 0;
- c[J >> 2] = c[P >> 2];
- c[K >> 2] = T;
- c[L >> 2] = Cd;
- c[M >> 2] = ip(c[J >> 2] | 0, c[L >> 2] | 0) | 0;
- a[N >> 0] =
- a[((c[K >> 2] | 0) + (c[M >> 2] << 1)) >> 0] | 0;
- jp(
- c[J >> 2] | 0,
- d[((c[K >> 2] | 0) + (c[M >> 2] << 1) + 1) >> 0] | 0
- );
- Cd = a[N >> 0] | 0;
- T = c[O >> 2] | 0;
- c[O >> 2] = T + 1;
- a[T >> 0] = Cd;
- }
- hp() | 0;
- Cd = c[R >> 2] | 0;
- T = c[S >> 2] | 0;
- c[E >> 2] = c[P >> 2];
- c[F >> 2] = Cd;
- c[G >> 2] = T;
- c[H >> 2] = ip(c[E >> 2] | 0, c[G >> 2] | 0) | 0;
- a[I >> 0] =
- a[((c[F >> 2] | 0) + (c[H >> 2] << 1)) >> 0] | 0;
- jp(
- c[E >> 2] | 0,
- d[((c[F >> 2] | 0) + (c[H >> 2] << 1) + 1) >> 0] | 0
- );
- T = a[I >> 0] | 0;
- Cd = c[O >> 2] | 0;
- c[O >> 2] = Cd + 1;
- a[Cd >> 0] = T;
- if (hp() | 0) {
- T = c[R >> 2] | 0;
- Cd = c[S >> 2] | 0;
- c[z >> 2] = c[P >> 2];
- c[A >> 2] = T;
- c[B >> 2] = Cd;
- c[C >> 2] = ip(c[z >> 2] | 0, c[B >> 2] | 0) | 0;
- a[D >> 0] =
- a[((c[A >> 2] | 0) + (c[C >> 2] << 1)) >> 0] | 0;
- jp(
- c[z >> 2] | 0,
- d[((c[A >> 2] | 0) + (c[C >> 2] << 1) + 1) >> 0] | 0
- );
- Cd = a[D >> 0] | 0;
- T = c[O >> 2] | 0;
- c[O >> 2] = T + 1;
- a[T >> 0] = Cd;
- }
- Cd = c[R >> 2] | 0;
- T = c[S >> 2] | 0;
- c[u >> 2] = c[P >> 2];
- c[v >> 2] = Cd;
- c[w >> 2] = T;
- c[x >> 2] = ip(c[u >> 2] | 0, c[w >> 2] | 0) | 0;
- a[y >> 0] =
- a[((c[v >> 2] | 0) + (c[x >> 2] << 1)) >> 0] | 0;
- jp(
- c[u >> 2] | 0,
- d[((c[v >> 2] | 0) + (c[x >> 2] << 1) + 1) >> 0] | 0
- );
- T = a[y >> 0] | 0;
- Cd = c[O >> 2] | 0;
- c[O >> 2] = Cd + 1;
- a[Cd >> 0] = T;
- }
- d: do {
- if (kp() | 0)
- while (1) {
- y = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
- if (
- !(y & ((c[O >> 2] | 0) >>> 0 < (c[Q >> 2] | 0) >>> 0))
- )
- break d;
- y = c[R >> 2] | 0;
- x = c[S >> 2] | 0;
- c[p >> 2] = c[P >> 2];
- c[q >> 2] = y;
- c[r >> 2] = x;
- c[s >> 2] = ip(c[p >> 2] | 0, c[r >> 2] | 0) | 0;
- a[t >> 0] =
- a[((c[q >> 2] | 0) + (c[s >> 2] << 1)) >> 0] | 0;
- jp(
- c[p >> 2] | 0,
- d[((c[q >> 2] | 0) + (c[s >> 2] << 1) + 1) >> 0] | 0
- );
- x = a[t >> 0] | 0;
- y = c[O >> 2] | 0;
- c[O >> 2] = y + 1;
- a[y >> 0] = x;
- }
- } while (0);
- while (1) {
- if ((c[O >> 2] | 0) >>> 0 >= (c[Q >> 2] | 0) >>> 0) break;
- t = c[R >> 2] | 0;
- s = c[S >> 2] | 0;
- c[j >> 2] = c[P >> 2];
- c[k >> 2] = t;
- c[m >> 2] = s;
- c[n >> 2] = ip(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- a[o >> 0] =
- a[((c[k >> 2] | 0) + (c[n >> 2] << 1)) >> 0] | 0;
- jp(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 1) + 1) >> 0] | 0
- );
- s = a[o >> 0] | 0;
- t = c[O >> 2] | 0;
- c[O >> 2] = t + 1;
- a[t >> 0] = s;
- }
- O = lp(Dd) | 0;
- Dd = O & (lp(Ed) | 0);
- Ed = Dd & (lp(Fd) | 0);
- c[ce >> 2] = Ed & (lp(Gd) | 0);
- if (c[ce >> 2] | 0) {
- c[sd >> 2] = c[ud >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- } else {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- return 0;
- }
- function xp(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0,
- Kc = 0,
- Lc = 0,
- Mc = 0,
- Nc = 0,
- Oc = 0,
- Pc = 0,
- Qc = 0,
- Rc = 0,
- Sc = 0,
- Tc = 0,
- Uc = 0,
- Vc = 0,
- Wc = 0,
- Xc = 0,
- Yc = 0,
- Zc = 0,
- _c = 0,
- $c = 0,
- ad = 0,
- bd = 0,
- cd = 0,
- dd = 0,
- ed = 0,
- fd = 0,
- gd = 0,
- hd = 0,
- id = 0,
- jd = 0,
- kd = 0,
- ld = 0,
- md = 0,
- nd = 0,
- od = 0,
- pd = 0,
- qd = 0,
- rd = 0,
- sd = 0,
- td = 0,
- ud = 0,
- vd = 0,
- wd = 0,
- xd = 0,
- yd = 0,
- zd = 0,
- Ad = 0,
- Bd = 0,
- Cd = 0,
- Dd = 0,
- Ed = 0,
- Fd = 0,
- Gd = 0,
- Hd = 0,
- Id = 0,
- Jd = 0,
- Kd = 0,
- Ld = 0,
- Md = 0,
- Nd = 0,
- Od = 0,
- Pd = 0,
- Qd = 0,
- Rd = 0,
- Sd = 0,
- Td = 0,
- Ud = 0,
- Vd = 0,
- Wd = 0,
- Xd = 0,
- Yd = 0,
- Zd = 0,
- _d = 0,
- $d = 0,
- ae = 0,
- be = 0,
- ce = 0,
- de = 0,
- ee = 0,
- fe = 0,
- ge = 0,
- he = 0,
- ie = 0;
- i = l;
- l = (l + 1024) | 0;
- j = (i + 968) | 0;
- k = (i + 964) | 0;
- m = (i + 960) | 0;
- n = (i + 956) | 0;
- o = (i + 1015) | 0;
- p = (i + 952) | 0;
- q = (i + 948) | 0;
- r = (i + 944) | 0;
- s = (i + 940) | 0;
- t = (i + 1014) | 0;
- u = (i + 936) | 0;
- v = (i + 932) | 0;
- w = (i + 928) | 0;
- x = (i + 924) | 0;
- y = (i + 1013) | 0;
- z = (i + 920) | 0;
- A = (i + 916) | 0;
- B = (i + 912) | 0;
- C = (i + 908) | 0;
- D = (i + 1012) | 0;
- E = (i + 904) | 0;
- F = (i + 900) | 0;
- G = (i + 896) | 0;
- H = (i + 892) | 0;
- I = (i + 1011) | 0;
- J = (i + 888) | 0;
- K = (i + 884) | 0;
- L = (i + 880) | 0;
- M = (i + 876) | 0;
- N = (i + 1010) | 0;
- O = (i + 872) | 0;
- P = (i + 868) | 0;
- Q = (i + 864) | 0;
- R = (i + 860) | 0;
- S = (i + 856) | 0;
- T = (i + 852) | 0;
- U = (i + 848) | 0;
- V = (i + 844) | 0;
- W = (i + 840) | 0;
- X = (i + 836) | 0;
- Y = (i + 1009) | 0;
- Z = (i + 832) | 0;
- _ = (i + 828) | 0;
- $ = (i + 824) | 0;
- aa = (i + 820) | 0;
- ba = (i + 1008) | 0;
- ca = (i + 816) | 0;
- da = (i + 812) | 0;
- ea = (i + 808) | 0;
- fa = (i + 804) | 0;
- ga = (i + 1007) | 0;
- ha = (i + 800) | 0;
- ia = (i + 796) | 0;
- ja = (i + 792) | 0;
- ka = (i + 788) | 0;
- la = (i + 1006) | 0;
- ma = (i + 784) | 0;
- na = (i + 780) | 0;
- oa = (i + 776) | 0;
- pa = (i + 772) | 0;
- qa = (i + 1005) | 0;
- ra = (i + 768) | 0;
- sa = (i + 764) | 0;
- ta = (i + 760) | 0;
- ua = (i + 756) | 0;
- va = (i + 1004) | 0;
- wa = (i + 752) | 0;
- xa = (i + 748) | 0;
- ya = (i + 744) | 0;
- za = (i + 740) | 0;
- Aa = (i + 736) | 0;
- Ba = (i + 732) | 0;
- Ca = (i + 728) | 0;
- Da = (i + 724) | 0;
- Ea = (i + 720) | 0;
- Fa = (i + 716) | 0;
- Ga = (i + 1003) | 0;
- Ha = (i + 712) | 0;
- Ia = (i + 708) | 0;
- Ja = (i + 704) | 0;
- Ka = (i + 700) | 0;
- La = (i + 1002) | 0;
- Ma = (i + 696) | 0;
- Na = (i + 692) | 0;
- Oa = (i + 688) | 0;
- Pa = (i + 684) | 0;
- Qa = (i + 1001) | 0;
- Ra = (i + 680) | 0;
- Sa = (i + 676) | 0;
- Ta = (i + 672) | 0;
- Ua = (i + 668) | 0;
- Va = (i + 1e3) | 0;
- Wa = (i + 664) | 0;
- Xa = (i + 660) | 0;
- Ya = (i + 656) | 0;
- Za = (i + 652) | 0;
- _a = (i + 999) | 0;
- $a = (i + 648) | 0;
- ab = (i + 644) | 0;
- bb = (i + 640) | 0;
- cb = (i + 636) | 0;
- db = (i + 998) | 0;
- eb = (i + 632) | 0;
- fb = (i + 628) | 0;
- gb = (i + 624) | 0;
- hb = (i + 620) | 0;
- ib = (i + 616) | 0;
- jb = (i + 612) | 0;
- kb = (i + 608) | 0;
- lb = (i + 604) | 0;
- mb = (i + 600) | 0;
- nb = (i + 596) | 0;
- ob = (i + 997) | 0;
- pb = (i + 592) | 0;
- qb = (i + 588) | 0;
- rb = (i + 584) | 0;
- sb = (i + 580) | 0;
- tb = (i + 996) | 0;
- ub = (i + 576) | 0;
- vb = (i + 572) | 0;
- wb = (i + 568) | 0;
- xb = (i + 564) | 0;
- yb = (i + 995) | 0;
- zb = (i + 560) | 0;
- Ab = (i + 556) | 0;
- Bb = (i + 552) | 0;
- Cb = (i + 548) | 0;
- Db = (i + 994) | 0;
- Eb = (i + 544) | 0;
- Fb = (i + 540) | 0;
- Gb = (i + 536) | 0;
- Hb = (i + 532) | 0;
- Ib = (i + 993) | 0;
- Jb = (i + 528) | 0;
- Kb = (i + 524) | 0;
- Lb = (i + 520) | 0;
- Mb = (i + 516) | 0;
- Nb = (i + 992) | 0;
- Ob = (i + 512) | 0;
- Pb = (i + 508) | 0;
- Qb = (i + 504) | 0;
- Rb = (i + 500) | 0;
- Sb = (i + 496) | 0;
- Tb = (i + 492) | 0;
- Ub = (i + 488) | 0;
- Vb = (i + 484) | 0;
- Wb = (i + 480) | 0;
- Xb = (i + 476) | 0;
- Yb = (i + 991) | 0;
- Zb = (i + 472) | 0;
- _b = (i + 468) | 0;
- $b = (i + 464) | 0;
- ac = (i + 460) | 0;
- bc = (i + 990) | 0;
- cc = (i + 456) | 0;
- dc = (i + 452) | 0;
- ec = (i + 448) | 0;
- fc = (i + 444) | 0;
- gc = (i + 989) | 0;
- hc = (i + 440) | 0;
- ic = (i + 436) | 0;
- jc = (i + 432) | 0;
- kc = (i + 428) | 0;
- lc = (i + 988) | 0;
- mc = (i + 424) | 0;
- nc = (i + 420) | 0;
- oc = (i + 416) | 0;
- pc = (i + 412) | 0;
- qc = (i + 987) | 0;
- rc = (i + 408) | 0;
- sc = (i + 404) | 0;
- tc = (i + 400) | 0;
- uc = (i + 396) | 0;
- vc = (i + 986) | 0;
- wc = (i + 392) | 0;
- xc = (i + 388) | 0;
- yc = (i + 384) | 0;
- zc = (i + 380) | 0;
- Ac = (i + 985) | 0;
- Bc = (i + 376) | 0;
- Cc = (i + 372) | 0;
- Dc = (i + 368) | 0;
- Ec = (i + 364) | 0;
- Fc = (i + 984) | 0;
- Gc = (i + 360) | 0;
- Hc = (i + 356) | 0;
- Ic = (i + 352) | 0;
- Jc = (i + 348) | 0;
- Kc = (i + 983) | 0;
- Lc = (i + 344) | 0;
- Mc = (i + 340) | 0;
- Nc = (i + 336) | 0;
- Oc = (i + 332) | 0;
- Pc = (i + 982) | 0;
- Qc = (i + 328) | 0;
- Rc = (i + 324) | 0;
- Sc = (i + 320) | 0;
- Tc = (i + 316) | 0;
- Uc = (i + 981) | 0;
- Vc = (i + 312) | 0;
- Wc = (i + 308) | 0;
- Xc = (i + 304) | 0;
- Yc = (i + 300) | 0;
- Zc = (i + 980) | 0;
- _c = (i + 296) | 0;
- $c = (i + 292) | 0;
- ad = (i + 288) | 0;
- bd = (i + 284) | 0;
- cd = (i + 979) | 0;
- dd = (i + 280) | 0;
- ed = (i + 276) | 0;
- fd = (i + 272) | 0;
- gd = (i + 268) | 0;
- hd = (i + 978) | 0;
- id = (i + 264) | 0;
- jd = (i + 260) | 0;
- kd = (i + 256) | 0;
- ld = (i + 252) | 0;
- md = (i + 977) | 0;
- nd = (i + 248) | 0;
- od = (i + 244) | 0;
- pd = (i + 240) | 0;
- qd = (i + 236) | 0;
- rd = (i + 976) | 0;
- sd = (i + 232) | 0;
- td = (i + 228) | 0;
- ud = (i + 224) | 0;
- vd = (i + 220) | 0;
- wd = (i + 216) | 0;
- xd = (i + 212) | 0;
- yd = (i + 208) | 0;
- zd = (i + 204) | 0;
- Ad = (i + 200) | 0;
- Bd = (i + 196) | 0;
- Cd = (i + 192) | 0;
- Dd = (i + 172) | 0;
- Ed = (i + 152) | 0;
- Fd = (i + 132) | 0;
- Gd = (i + 112) | 0;
- Hd = (i + 108) | 0;
- Id = (i + 104) | 0;
- Jd = (i + 100) | 0;
- Kd = (i + 96) | 0;
- Ld = (i + 92) | 0;
- Md = (i + 88) | 0;
- Nd = (i + 84) | 0;
- Od = (i + 80) | 0;
- Pd = (i + 76) | 0;
- Qd = (i + 72) | 0;
- Rd = (i + 68) | 0;
- Sd = (i + 64) | 0;
- Td = (i + 60) | 0;
- Ud = (i + 56) | 0;
- Vd = (i + 52) | 0;
- Wd = (i + 48) | 0;
- Xd = (i + 44) | 0;
- Yd = (i + 972) | 0;
- Zd = (i + 40) | 0;
- _d = (i + 36) | 0;
- $d = (i + 32) | 0;
- ae = (i + 28) | 0;
- be = (i + 24) | 0;
- ce = (i + 20) | 0;
- de = (i + 16) | 0;
- ee = (i + 12) | 0;
- fe = (i + 8) | 0;
- ge = (i + 4) | 0;
- he = i;
- c[de >> 2] = b;
- c[ee >> 2] = e;
- c[fe >> 2] = f;
- c[ge >> 2] = g;
- c[he >> 2] = h;
- h = c[ee >> 2] | 0;
- ee = c[fe >> 2] | 0;
- fe = c[ge >> 2] | 0;
- ge = c[he >> 2] | 0;
- c[td >> 2] = c[de >> 2];
- c[ud >> 2] = h;
- c[vd >> 2] = ee;
- c[wd >> 2] = fe;
- c[xd >> 2] = ge;
- if ((c[wd >> 2] | 0) >>> 0 < 10) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[yd >> 2] = c[vd >> 2];
- c[zd >> 2] = c[td >> 2];
- c[Ad >> 2] = (c[zd >> 2] | 0) + (c[ud >> 2] | 0);
- c[Bd >> 2] = (c[xd >> 2] | 0) + 4;
- c[Cd >> 2] = c[Bd >> 2];
- c[Hd >> 2] = (yp(c[yd >> 2] | 0) | 0) & 65535;
- c[Id >> 2] = (yp(((c[yd >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[Jd >> 2] = (yp(((c[yd >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[Kd >> 2] =
- (c[wd >> 2] | 0) -
- ((c[Hd >> 2] | 0) +
- (c[Id >> 2] | 0) +
- (c[Jd >> 2] | 0) +
- 6);
- c[Ld >> 2] = (c[yd >> 2] | 0) + 6;
- c[Md >> 2] = (c[Ld >> 2] | 0) + (c[Hd >> 2] | 0);
- c[Nd >> 2] = (c[Md >> 2] | 0) + (c[Id >> 2] | 0);
- c[Od >> 2] = (c[Nd >> 2] | 0) + (c[Jd >> 2] | 0);
- c[Pd >> 2] = (((((c[ud >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[Qd >> 2] = (c[zd >> 2] | 0) + (c[Pd >> 2] | 0);
- c[Rd >> 2] = (c[Qd >> 2] | 0) + (c[Pd >> 2] | 0);
- c[Sd >> 2] = (c[Rd >> 2] | 0) + (c[Pd >> 2] | 0);
- c[Td >> 2] = c[zd >> 2];
- c[Ud >> 2] = c[Qd >> 2];
- c[Vd >> 2] = c[Rd >> 2];
- c[Wd >> 2] = c[Sd >> 2];
- c[Xd >> 2] = 0;
- bp(Yd, c[xd >> 2] | 0);
- c[Zd >> 2] = d[(Yd + 2) >> 0];
- if ((c[Kd >> 2] | 0) >>> 0 > (c[wd >> 2] | 0) >>> 0) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[_d >> 2] = fp(Dd, c[Ld >> 2] | 0, c[Hd >> 2] | 0) | 0;
- if (ap(c[_d >> 2] | 0) | 0) {
- c[sd >> 2] = c[_d >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[$d >> 2] = fp(Ed, c[Md >> 2] | 0, c[Id >> 2] | 0) | 0;
- if (ap(c[$d >> 2] | 0) | 0) {
- c[sd >> 2] = c[$d >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[ae >> 2] = fp(Fd, c[Nd >> 2] | 0, c[Jd >> 2] | 0) | 0;
- if (ap(c[ae >> 2] | 0) | 0) {
- c[sd >> 2] = c[ae >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- c[be >> 2] = fp(Gd, c[Od >> 2] | 0, c[Kd >> 2] | 0) | 0;
- if (ap(c[be >> 2] | 0) | 0) {
- c[sd >> 2] = c[be >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- be = gp(Dd) | 0;
- Kd = be | (gp(Ed) | 0);
- be = Kd | (gp(Fd) | 0);
- c[Xd >> 2] = be | (gp(Gd) | 0);
- while (1) {
- if (c[Xd >> 2] | 0) break;
- if (
- (c[Wd >> 2] | 0) >>> 0 >=
- (((c[Ad >> 2] | 0) + -3) | 0) >>> 0
- )
- break;
- if (hp() | 0) {
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[nd >> 2] = Dd;
- c[od >> 2] = be;
- c[pd >> 2] = Kd;
- c[qd >> 2] = ip(c[nd >> 2] | 0, c[pd >> 2] | 0) | 0;
- a[rd >> 0] =
- a[((c[od >> 2] | 0) + (c[qd >> 2] << 1)) >> 0] | 0;
- jp(
- c[nd >> 2] | 0,
- d[((c[od >> 2] | 0) + (c[qd >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[rd >> 0] | 0;
- be = c[Td >> 2] | 0;
- c[Td >> 2] = be + 1;
- a[be >> 0] = Kd;
- }
- if (hp() | 0) {
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[id >> 2] = Ed;
- c[jd >> 2] = Kd;
- c[kd >> 2] = be;
- c[ld >> 2] = ip(c[id >> 2] | 0, c[kd >> 2] | 0) | 0;
- a[md >> 0] =
- a[((c[jd >> 2] | 0) + (c[ld >> 2] << 1)) >> 0] | 0;
- jp(
- c[id >> 2] | 0,
- d[((c[jd >> 2] | 0) + (c[ld >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[md >> 0] | 0;
- Kd = c[Ud >> 2] | 0;
- c[Ud >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- }
- if (hp() | 0) {
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[dd >> 2] = Fd;
- c[ed >> 2] = be;
- c[fd >> 2] = Kd;
- c[gd >> 2] = ip(c[dd >> 2] | 0, c[fd >> 2] | 0) | 0;
- a[hd >> 0] =
- a[((c[ed >> 2] | 0) + (c[gd >> 2] << 1)) >> 0] | 0;
- jp(
- c[dd >> 2] | 0,
- d[((c[ed >> 2] | 0) + (c[gd >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[hd >> 0] | 0;
- be = c[Vd >> 2] | 0;
- c[Vd >> 2] = be + 1;
- a[be >> 0] = Kd;
- }
- if (hp() | 0) {
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[_c >> 2] = Gd;
- c[$c >> 2] = Kd;
- c[ad >> 2] = be;
- c[bd >> 2] = ip(c[_c >> 2] | 0, c[ad >> 2] | 0) | 0;
- a[cd >> 0] =
- a[((c[$c >> 2] | 0) + (c[bd >> 2] << 1)) >> 0] | 0;
- jp(
- c[_c >> 2] | 0,
- d[((c[$c >> 2] | 0) + (c[bd >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[cd >> 0] | 0;
- Kd = c[Wd >> 2] | 0;
- c[Wd >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- }
- hp() | 0;
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[Vc >> 2] = Dd;
- c[Wc >> 2] = be;
- c[Xc >> 2] = Kd;
- c[Yc >> 2] = ip(c[Vc >> 2] | 0, c[Xc >> 2] | 0) | 0;
- a[Zc >> 0] =
- a[((c[Wc >> 2] | 0) + (c[Yc >> 2] << 1)) >> 0] | 0;
- jp(
- c[Vc >> 2] | 0,
- d[((c[Wc >> 2] | 0) + (c[Yc >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[Zc >> 0] | 0;
- be = c[Td >> 2] | 0;
- c[Td >> 2] = be + 1;
- a[be >> 0] = Kd;
- hp() | 0;
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[Qc >> 2] = Ed;
- c[Rc >> 2] = Kd;
- c[Sc >> 2] = be;
- c[Tc >> 2] = ip(c[Qc >> 2] | 0, c[Sc >> 2] | 0) | 0;
- a[Uc >> 0] =
- a[((c[Rc >> 2] | 0) + (c[Tc >> 2] << 1)) >> 0] | 0;
- jp(
- c[Qc >> 2] | 0,
- d[((c[Rc >> 2] | 0) + (c[Tc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[Uc >> 0] | 0;
- Kd = c[Ud >> 2] | 0;
- c[Ud >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- hp() | 0;
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[Lc >> 2] = Fd;
- c[Mc >> 2] = be;
- c[Nc >> 2] = Kd;
- c[Oc >> 2] = ip(c[Lc >> 2] | 0, c[Nc >> 2] | 0) | 0;
- a[Pc >> 0] =
- a[((c[Mc >> 2] | 0) + (c[Oc >> 2] << 1)) >> 0] | 0;
- jp(
- c[Lc >> 2] | 0,
- d[((c[Mc >> 2] | 0) + (c[Oc >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[Pc >> 0] | 0;
- be = c[Vd >> 2] | 0;
- c[Vd >> 2] = be + 1;
- a[be >> 0] = Kd;
- hp() | 0;
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[Gc >> 2] = Gd;
- c[Hc >> 2] = Kd;
- c[Ic >> 2] = be;
- c[Jc >> 2] = ip(c[Gc >> 2] | 0, c[Ic >> 2] | 0) | 0;
- a[Kc >> 0] =
- a[((c[Hc >> 2] | 0) + (c[Jc >> 2] << 1)) >> 0] | 0;
- jp(
- c[Gc >> 2] | 0,
- d[((c[Hc >> 2] | 0) + (c[Jc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[Kc >> 0] | 0;
- Kd = c[Wd >> 2] | 0;
- c[Wd >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- if (hp() | 0) {
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[Bc >> 2] = Dd;
- c[Cc >> 2] = be;
- c[Dc >> 2] = Kd;
- c[Ec >> 2] = ip(c[Bc >> 2] | 0, c[Dc >> 2] | 0) | 0;
- a[Fc >> 0] =
- a[((c[Cc >> 2] | 0) + (c[Ec >> 2] << 1)) >> 0] | 0;
- jp(
- c[Bc >> 2] | 0,
- d[((c[Cc >> 2] | 0) + (c[Ec >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[Fc >> 0] | 0;
- be = c[Td >> 2] | 0;
- c[Td >> 2] = be + 1;
- a[be >> 0] = Kd;
- }
- if (hp() | 0) {
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[wc >> 2] = Ed;
- c[xc >> 2] = Kd;
- c[yc >> 2] = be;
- c[zc >> 2] = ip(c[wc >> 2] | 0, c[yc >> 2] | 0) | 0;
- a[Ac >> 0] =
- a[((c[xc >> 2] | 0) + (c[zc >> 2] << 1)) >> 0] | 0;
- jp(
- c[wc >> 2] | 0,
- d[((c[xc >> 2] | 0) + (c[zc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[Ac >> 0] | 0;
- Kd = c[Ud >> 2] | 0;
- c[Ud >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- }
- if (hp() | 0) {
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[rc >> 2] = Fd;
- c[sc >> 2] = be;
- c[tc >> 2] = Kd;
- c[uc >> 2] = ip(c[rc >> 2] | 0, c[tc >> 2] | 0) | 0;
- a[vc >> 0] =
- a[((c[sc >> 2] | 0) + (c[uc >> 2] << 1)) >> 0] | 0;
- jp(
- c[rc >> 2] | 0,
- d[((c[sc >> 2] | 0) + (c[uc >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[vc >> 0] | 0;
- be = c[Vd >> 2] | 0;
- c[Vd >> 2] = be + 1;
- a[be >> 0] = Kd;
- }
- if (hp() | 0) {
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[mc >> 2] = Gd;
- c[nc >> 2] = Kd;
- c[oc >> 2] = be;
- c[pc >> 2] = ip(c[mc >> 2] | 0, c[oc >> 2] | 0) | 0;
- a[qc >> 0] =
- a[((c[nc >> 2] | 0) + (c[pc >> 2] << 1)) >> 0] | 0;
- jp(
- c[mc >> 2] | 0,
- d[((c[nc >> 2] | 0) + (c[pc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[qc >> 0] | 0;
- Kd = c[Wd >> 2] | 0;
- c[Wd >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- }
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[hc >> 2] = Dd;
- c[ic >> 2] = be;
- c[jc >> 2] = Kd;
- c[kc >> 2] = ip(c[hc >> 2] | 0, c[jc >> 2] | 0) | 0;
- a[lc >> 0] =
- a[((c[ic >> 2] | 0) + (c[kc >> 2] << 1)) >> 0] | 0;
- jp(
- c[hc >> 2] | 0,
- d[((c[ic >> 2] | 0) + (c[kc >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[lc >> 0] | 0;
- be = c[Td >> 2] | 0;
- c[Td >> 2] = be + 1;
- a[be >> 0] = Kd;
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[cc >> 2] = Ed;
- c[dc >> 2] = Kd;
- c[ec >> 2] = be;
- c[fc >> 2] = ip(c[cc >> 2] | 0, c[ec >> 2] | 0) | 0;
- a[gc >> 0] =
- a[((c[dc >> 2] | 0) + (c[fc >> 2] << 1)) >> 0] | 0;
- jp(
- c[cc >> 2] | 0,
- d[((c[dc >> 2] | 0) + (c[fc >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[gc >> 0] | 0;
- Kd = c[Ud >> 2] | 0;
- c[Ud >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- be = c[Cd >> 2] | 0;
- Kd = c[Zd >> 2] | 0;
- c[Zb >> 2] = Fd;
- c[_b >> 2] = be;
- c[$b >> 2] = Kd;
- c[ac >> 2] = ip(c[Zb >> 2] | 0, c[$b >> 2] | 0) | 0;
- a[bc >> 0] =
- a[((c[_b >> 2] | 0) + (c[ac >> 2] << 1)) >> 0] | 0;
- jp(
- c[Zb >> 2] | 0,
- d[((c[_b >> 2] | 0) + (c[ac >> 2] << 1) + 1) >> 0] | 0
- );
- Kd = a[bc >> 0] | 0;
- be = c[Vd >> 2] | 0;
- c[Vd >> 2] = be + 1;
- a[be >> 0] = Kd;
- Kd = c[Cd >> 2] | 0;
- be = c[Zd >> 2] | 0;
- c[Ub >> 2] = Gd;
- c[Vb >> 2] = Kd;
- c[Wb >> 2] = be;
- c[Xb >> 2] = ip(c[Ub >> 2] | 0, c[Wb >> 2] | 0) | 0;
- a[Yb >> 0] =
- a[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ub >> 2] | 0,
- d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 1) + 1) >> 0] | 0
- );
- be = a[Yb >> 0] | 0;
- Kd = c[Wd >> 2] | 0;
- c[Wd >> 2] = Kd + 1;
- a[Kd >> 0] = be;
- gp(Dd) | 0;
- gp(Ed) | 0;
- gp(Fd) | 0;
- gp(Gd) | 0;
- }
- if ((c[Td >> 2] | 0) >>> 0 > (c[Qd >> 2] | 0) >>> 0) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- if ((c[Ud >> 2] | 0) >>> 0 > (c[Rd >> 2] | 0) >>> 0) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- if ((c[Vd >> 2] | 0) >>> 0 > (c[Sd >> 2] | 0) >>> 0) {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- Yb = c[Qd >> 2] | 0;
- Qd = c[Cd >> 2] | 0;
- Xb = c[Zd >> 2] | 0;
- c[Ob >> 2] = c[Td >> 2];
- c[Pb >> 2] = Dd;
- c[Qb >> 2] = Yb;
- c[Rb >> 2] = Qd;
- c[Sb >> 2] = Xb;
- c[Tb >> 2] = c[Ob >> 2];
- while (1) {
- Tb = ((gp(c[Pb >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Tb &
- ((c[Ob >> 2] | 0) >>> 0 <
- (((c[Qb >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- Tb = c[Rb >> 2] | 0;
- Xb = c[Sb >> 2] | 0;
- c[Jb >> 2] = c[Pb >> 2];
- c[Kb >> 2] = Tb;
- c[Lb >> 2] = Xb;
- c[Mb >> 2] = ip(c[Jb >> 2] | 0, c[Lb >> 2] | 0) | 0;
- a[Nb >> 0] =
- a[((c[Kb >> 2] | 0) + (c[Mb >> 2] << 1)) >> 0] | 0;
- jp(
- c[Jb >> 2] | 0,
- d[((c[Kb >> 2] | 0) + (c[Mb >> 2] << 1) + 1) >> 0] | 0
- );
- Xb = a[Nb >> 0] | 0;
- Tb = c[Ob >> 2] | 0;
- c[Ob >> 2] = Tb + 1;
- a[Tb >> 0] = Xb;
- }
- hp() | 0;
- Xb = c[Rb >> 2] | 0;
- Tb = c[Sb >> 2] | 0;
- c[Eb >> 2] = c[Pb >> 2];
- c[Fb >> 2] = Xb;
- c[Gb >> 2] = Tb;
- c[Hb >> 2] = ip(c[Eb >> 2] | 0, c[Gb >> 2] | 0) | 0;
- a[Ib >> 0] =
- a[((c[Fb >> 2] | 0) + (c[Hb >> 2] << 1)) >> 0] | 0;
- jp(
- c[Eb >> 2] | 0,
- d[((c[Fb >> 2] | 0) + (c[Hb >> 2] << 1) + 1) >> 0] | 0
- );
- Tb = a[Ib >> 0] | 0;
- Xb = c[Ob >> 2] | 0;
- c[Ob >> 2] = Xb + 1;
- a[Xb >> 0] = Tb;
- if (hp() | 0) {
- Tb = c[Rb >> 2] | 0;
- Xb = c[Sb >> 2] | 0;
- c[zb >> 2] = c[Pb >> 2];
- c[Ab >> 2] = Tb;
- c[Bb >> 2] = Xb;
- c[Cb >> 2] = ip(c[zb >> 2] | 0, c[Bb >> 2] | 0) | 0;
- a[Db >> 0] =
- a[((c[Ab >> 2] | 0) + (c[Cb >> 2] << 1)) >> 0] | 0;
- jp(
- c[zb >> 2] | 0,
- d[((c[Ab >> 2] | 0) + (c[Cb >> 2] << 1) + 1) >> 0] | 0
- );
- Xb = a[Db >> 0] | 0;
- Tb = c[Ob >> 2] | 0;
- c[Ob >> 2] = Tb + 1;
- a[Tb >> 0] = Xb;
- }
- Xb = c[Rb >> 2] | 0;
- Tb = c[Sb >> 2] | 0;
- c[ub >> 2] = c[Pb >> 2];
- c[vb >> 2] = Xb;
- c[wb >> 2] = Tb;
- c[xb >> 2] = ip(c[ub >> 2] | 0, c[wb >> 2] | 0) | 0;
- a[yb >> 0] =
- a[((c[vb >> 2] | 0) + (c[xb >> 2] << 1)) >> 0] | 0;
- jp(
- c[ub >> 2] | 0,
- d[((c[vb >> 2] | 0) + (c[xb >> 2] << 1) + 1) >> 0] | 0
- );
- Tb = a[yb >> 0] | 0;
- Xb = c[Ob >> 2] | 0;
- c[Ob >> 2] = Xb + 1;
- a[Xb >> 0] = Tb;
- }
- a: do {
- if (kp() | 0)
- while (1) {
- yb = ((gp(c[Pb >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- yb &
- ((c[Ob >> 2] | 0) >>> 0 < (c[Qb >> 2] | 0) >>> 0)
- )
- )
- break a;
- yb = c[Rb >> 2] | 0;
- xb = c[Sb >> 2] | 0;
- c[pb >> 2] = c[Pb >> 2];
- c[qb >> 2] = yb;
- c[rb >> 2] = xb;
- c[sb >> 2] = ip(c[pb >> 2] | 0, c[rb >> 2] | 0) | 0;
- a[tb >> 0] =
- a[((c[qb >> 2] | 0) + (c[sb >> 2] << 1)) >> 0] | 0;
- jp(
- c[pb >> 2] | 0,
- d[((c[qb >> 2] | 0) + (c[sb >> 2] << 1) + 1) >> 0] | 0
- );
- xb = a[tb >> 0] | 0;
- yb = c[Ob >> 2] | 0;
- c[Ob >> 2] = yb + 1;
- a[yb >> 0] = xb;
- }
- } while (0);
- while (1) {
- if ((c[Ob >> 2] | 0) >>> 0 >= (c[Qb >> 2] | 0) >>> 0) break;
- tb = c[Rb >> 2] | 0;
- sb = c[Sb >> 2] | 0;
- c[kb >> 2] = c[Pb >> 2];
- c[lb >> 2] = tb;
- c[mb >> 2] = sb;
- c[nb >> 2] = ip(c[kb >> 2] | 0, c[mb >> 2] | 0) | 0;
- a[ob >> 0] =
- a[((c[lb >> 2] | 0) + (c[nb >> 2] << 1)) >> 0] | 0;
- jp(
- c[kb >> 2] | 0,
- d[((c[lb >> 2] | 0) + (c[nb >> 2] << 1) + 1) >> 0] | 0
- );
- sb = a[ob >> 0] | 0;
- tb = c[Ob >> 2] | 0;
- c[Ob >> 2] = tb + 1;
- a[tb >> 0] = sb;
- }
- Ob = c[Rd >> 2] | 0;
- Rd = c[Cd >> 2] | 0;
- ob = c[Zd >> 2] | 0;
- c[eb >> 2] = c[Ud >> 2];
- c[fb >> 2] = Ed;
- c[gb >> 2] = Ob;
- c[hb >> 2] = Rd;
- c[ib >> 2] = ob;
- c[jb >> 2] = c[eb >> 2];
- while (1) {
- jb = ((gp(c[fb >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- jb &
- ((c[eb >> 2] | 0) >>> 0 <
- (((c[gb >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- jb = c[hb >> 2] | 0;
- ob = c[ib >> 2] | 0;
- c[$a >> 2] = c[fb >> 2];
- c[ab >> 2] = jb;
- c[bb >> 2] = ob;
- c[cb >> 2] = ip(c[$a >> 2] | 0, c[bb >> 2] | 0) | 0;
- a[db >> 0] =
- a[((c[ab >> 2] | 0) + (c[cb >> 2] << 1)) >> 0] | 0;
- jp(
- c[$a >> 2] | 0,
- d[((c[ab >> 2] | 0) + (c[cb >> 2] << 1) + 1) >> 0] | 0
- );
- ob = a[db >> 0] | 0;
- jb = c[eb >> 2] | 0;
- c[eb >> 2] = jb + 1;
- a[jb >> 0] = ob;
- }
- hp() | 0;
- ob = c[hb >> 2] | 0;
- jb = c[ib >> 2] | 0;
- c[Wa >> 2] = c[fb >> 2];
- c[Xa >> 2] = ob;
- c[Ya >> 2] = jb;
- c[Za >> 2] = ip(c[Wa >> 2] | 0, c[Ya >> 2] | 0) | 0;
- a[_a >> 0] =
- a[((c[Xa >> 2] | 0) + (c[Za >> 2] << 1)) >> 0] | 0;
- jp(
- c[Wa >> 2] | 0,
- d[((c[Xa >> 2] | 0) + (c[Za >> 2] << 1) + 1) >> 0] | 0
- );
- jb = a[_a >> 0] | 0;
- ob = c[eb >> 2] | 0;
- c[eb >> 2] = ob + 1;
- a[ob >> 0] = jb;
- if (hp() | 0) {
- jb = c[hb >> 2] | 0;
- ob = c[ib >> 2] | 0;
- c[Ra >> 2] = c[fb >> 2];
- c[Sa >> 2] = jb;
- c[Ta >> 2] = ob;
- c[Ua >> 2] = ip(c[Ra >> 2] | 0, c[Ta >> 2] | 0) | 0;
- a[Va >> 0] =
- a[((c[Sa >> 2] | 0) + (c[Ua >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ra >> 2] | 0,
- d[((c[Sa >> 2] | 0) + (c[Ua >> 2] << 1) + 1) >> 0] | 0
- );
- ob = a[Va >> 0] | 0;
- jb = c[eb >> 2] | 0;
- c[eb >> 2] = jb + 1;
- a[jb >> 0] = ob;
- }
- ob = c[hb >> 2] | 0;
- jb = c[ib >> 2] | 0;
- c[Ma >> 2] = c[fb >> 2];
- c[Na >> 2] = ob;
- c[Oa >> 2] = jb;
- c[Pa >> 2] = ip(c[Ma >> 2] | 0, c[Oa >> 2] | 0) | 0;
- a[Qa >> 0] =
- a[((c[Na >> 2] | 0) + (c[Pa >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ma >> 2] | 0,
- d[((c[Na >> 2] | 0) + (c[Pa >> 2] << 1) + 1) >> 0] | 0
- );
- jb = a[Qa >> 0] | 0;
- ob = c[eb >> 2] | 0;
- c[eb >> 2] = ob + 1;
- a[ob >> 0] = jb;
- }
- b: do {
- if (kp() | 0)
- while (1) {
- Qa = ((gp(c[fb >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Qa &
- ((c[eb >> 2] | 0) >>> 0 < (c[gb >> 2] | 0) >>> 0)
- )
- )
- break b;
- Qa = c[hb >> 2] | 0;
- Pa = c[ib >> 2] | 0;
- c[Ha >> 2] = c[fb >> 2];
- c[Ia >> 2] = Qa;
- c[Ja >> 2] = Pa;
- c[Ka >> 2] = ip(c[Ha >> 2] | 0, c[Ja >> 2] | 0) | 0;
- a[La >> 0] =
- a[((c[Ia >> 2] | 0) + (c[Ka >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ha >> 2] | 0,
- d[((c[Ia >> 2] | 0) + (c[Ka >> 2] << 1) + 1) >> 0] | 0
- );
- Pa = a[La >> 0] | 0;
- Qa = c[eb >> 2] | 0;
- c[eb >> 2] = Qa + 1;
- a[Qa >> 0] = Pa;
- }
- } while (0);
- while (1) {
- if ((c[eb >> 2] | 0) >>> 0 >= (c[gb >> 2] | 0) >>> 0) break;
- La = c[hb >> 2] | 0;
- Ka = c[ib >> 2] | 0;
- c[Ca >> 2] = c[fb >> 2];
- c[Da >> 2] = La;
- c[Ea >> 2] = Ka;
- c[Fa >> 2] = ip(c[Ca >> 2] | 0, c[Ea >> 2] | 0) | 0;
- a[Ga >> 0] =
- a[((c[Da >> 2] | 0) + (c[Fa >> 2] << 1)) >> 0] | 0;
- jp(
- c[Ca >> 2] | 0,
- d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 1) + 1) >> 0] | 0
- );
- Ka = a[Ga >> 0] | 0;
- La = c[eb >> 2] | 0;
- c[eb >> 2] = La + 1;
- a[La >> 0] = Ka;
- }
- eb = c[Sd >> 2] | 0;
- Sd = c[Cd >> 2] | 0;
- Ga = c[Zd >> 2] | 0;
- c[wa >> 2] = c[Vd >> 2];
- c[xa >> 2] = Fd;
- c[ya >> 2] = eb;
- c[za >> 2] = Sd;
- c[Aa >> 2] = Ga;
- c[Ba >> 2] = c[wa >> 2];
- while (1) {
- Ba = ((gp(c[xa >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Ba &
- ((c[wa >> 2] | 0) >>> 0 <
- (((c[ya >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- Ba = c[za >> 2] | 0;
- Ga = c[Aa >> 2] | 0;
- c[ra >> 2] = c[xa >> 2];
- c[sa >> 2] = Ba;
- c[ta >> 2] = Ga;
- c[ua >> 2] = ip(c[ra >> 2] | 0, c[ta >> 2] | 0) | 0;
- a[va >> 0] =
- a[((c[sa >> 2] | 0) + (c[ua >> 2] << 1)) >> 0] | 0;
- jp(
- c[ra >> 2] | 0,
- d[((c[sa >> 2] | 0) + (c[ua >> 2] << 1) + 1) >> 0] | 0
- );
- Ga = a[va >> 0] | 0;
- Ba = c[wa >> 2] | 0;
- c[wa >> 2] = Ba + 1;
- a[Ba >> 0] = Ga;
- }
- hp() | 0;
- Ga = c[za >> 2] | 0;
- Ba = c[Aa >> 2] | 0;
- c[ma >> 2] = c[xa >> 2];
- c[na >> 2] = Ga;
- c[oa >> 2] = Ba;
- c[pa >> 2] = ip(c[ma >> 2] | 0, c[oa >> 2] | 0) | 0;
- a[qa >> 0] =
- a[((c[na >> 2] | 0) + (c[pa >> 2] << 1)) >> 0] | 0;
- jp(
- c[ma >> 2] | 0,
- d[((c[na >> 2] | 0) + (c[pa >> 2] << 1) + 1) >> 0] | 0
- );
- Ba = a[qa >> 0] | 0;
- Ga = c[wa >> 2] | 0;
- c[wa >> 2] = Ga + 1;
- a[Ga >> 0] = Ba;
- if (hp() | 0) {
- Ba = c[za >> 2] | 0;
- Ga = c[Aa >> 2] | 0;
- c[ha >> 2] = c[xa >> 2];
- c[ia >> 2] = Ba;
- c[ja >> 2] = Ga;
- c[ka >> 2] = ip(c[ha >> 2] | 0, c[ja >> 2] | 0) | 0;
- a[la >> 0] =
- a[((c[ia >> 2] | 0) + (c[ka >> 2] << 1)) >> 0] | 0;
- jp(
- c[ha >> 2] | 0,
- d[((c[ia >> 2] | 0) + (c[ka >> 2] << 1) + 1) >> 0] | 0
- );
- Ga = a[la >> 0] | 0;
- Ba = c[wa >> 2] | 0;
- c[wa >> 2] = Ba + 1;
- a[Ba >> 0] = Ga;
- }
- Ga = c[za >> 2] | 0;
- Ba = c[Aa >> 2] | 0;
- c[ca >> 2] = c[xa >> 2];
- c[da >> 2] = Ga;
- c[ea >> 2] = Ba;
- c[fa >> 2] = ip(c[ca >> 2] | 0, c[ea >> 2] | 0) | 0;
- a[ga >> 0] =
- a[((c[da >> 2] | 0) + (c[fa >> 2] << 1)) >> 0] | 0;
- jp(
- c[ca >> 2] | 0,
- d[((c[da >> 2] | 0) + (c[fa >> 2] << 1) + 1) >> 0] | 0
- );
- Ba = a[ga >> 0] | 0;
- Ga = c[wa >> 2] | 0;
- c[wa >> 2] = Ga + 1;
- a[Ga >> 0] = Ba;
- }
- c: do {
- if (kp() | 0)
- while (1) {
- ga = ((gp(c[xa >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- ga &
- ((c[wa >> 2] | 0) >>> 0 < (c[ya >> 2] | 0) >>> 0)
- )
- )
- break c;
- ga = c[za >> 2] | 0;
- fa = c[Aa >> 2] | 0;
- c[Z >> 2] = c[xa >> 2];
- c[_ >> 2] = ga;
- c[$ >> 2] = fa;
- c[aa >> 2] = ip(c[Z >> 2] | 0, c[$ >> 2] | 0) | 0;
- a[ba >> 0] =
- a[((c[_ >> 2] | 0) + (c[aa >> 2] << 1)) >> 0] | 0;
- jp(
- c[Z >> 2] | 0,
- d[((c[_ >> 2] | 0) + (c[aa >> 2] << 1) + 1) >> 0] | 0
- );
- fa = a[ba >> 0] | 0;
- ga = c[wa >> 2] | 0;
- c[wa >> 2] = ga + 1;
- a[ga >> 0] = fa;
- }
- } while (0);
- while (1) {
- if ((c[wa >> 2] | 0) >>> 0 >= (c[ya >> 2] | 0) >>> 0) break;
- ba = c[za >> 2] | 0;
- aa = c[Aa >> 2] | 0;
- c[U >> 2] = c[xa >> 2];
- c[V >> 2] = ba;
- c[W >> 2] = aa;
- c[X >> 2] = ip(c[U >> 2] | 0, c[W >> 2] | 0) | 0;
- a[Y >> 0] =
- a[((c[V >> 2] | 0) + (c[X >> 2] << 1)) >> 0] | 0;
- jp(
- c[U >> 2] | 0,
- d[((c[V >> 2] | 0) + (c[X >> 2] << 1) + 1) >> 0] | 0
- );
- aa = a[Y >> 0] | 0;
- ba = c[wa >> 2] | 0;
- c[wa >> 2] = ba + 1;
- a[ba >> 0] = aa;
- }
- wa = c[Ad >> 2] | 0;
- Ad = c[Cd >> 2] | 0;
- Cd = c[Zd >> 2] | 0;
- c[O >> 2] = c[Wd >> 2];
- c[P >> 2] = Gd;
- c[Q >> 2] = wa;
- c[R >> 2] = Ad;
- c[S >> 2] = Cd;
- c[T >> 2] = c[O >> 2];
- while (1) {
- T = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- T &
- ((c[O >> 2] | 0) >>> 0 <
- (((c[Q >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- T = c[R >> 2] | 0;
- Cd = c[S >> 2] | 0;
- c[J >> 2] = c[P >> 2];
- c[K >> 2] = T;
- c[L >> 2] = Cd;
- c[M >> 2] = ip(c[J >> 2] | 0, c[L >> 2] | 0) | 0;
- a[N >> 0] =
- a[((c[K >> 2] | 0) + (c[M >> 2] << 1)) >> 0] | 0;
- jp(
- c[J >> 2] | 0,
- d[((c[K >> 2] | 0) + (c[M >> 2] << 1) + 1) >> 0] | 0
- );
- Cd = a[N >> 0] | 0;
- T = c[O >> 2] | 0;
- c[O >> 2] = T + 1;
- a[T >> 0] = Cd;
- }
- hp() | 0;
- Cd = c[R >> 2] | 0;
- T = c[S >> 2] | 0;
- c[E >> 2] = c[P >> 2];
- c[F >> 2] = Cd;
- c[G >> 2] = T;
- c[H >> 2] = ip(c[E >> 2] | 0, c[G >> 2] | 0) | 0;
- a[I >> 0] =
- a[((c[F >> 2] | 0) + (c[H >> 2] << 1)) >> 0] | 0;
- jp(
- c[E >> 2] | 0,
- d[((c[F >> 2] | 0) + (c[H >> 2] << 1) + 1) >> 0] | 0
- );
- T = a[I >> 0] | 0;
- Cd = c[O >> 2] | 0;
- c[O >> 2] = Cd + 1;
- a[Cd >> 0] = T;
- if (hp() | 0) {
- T = c[R >> 2] | 0;
- Cd = c[S >> 2] | 0;
- c[z >> 2] = c[P >> 2];
- c[A >> 2] = T;
- c[B >> 2] = Cd;
- c[C >> 2] = ip(c[z >> 2] | 0, c[B >> 2] | 0) | 0;
- a[D >> 0] =
- a[((c[A >> 2] | 0) + (c[C >> 2] << 1)) >> 0] | 0;
- jp(
- c[z >> 2] | 0,
- d[((c[A >> 2] | 0) + (c[C >> 2] << 1) + 1) >> 0] | 0
- );
- Cd = a[D >> 0] | 0;
- T = c[O >> 2] | 0;
- c[O >> 2] = T + 1;
- a[T >> 0] = Cd;
- }
- Cd = c[R >> 2] | 0;
- T = c[S >> 2] | 0;
- c[u >> 2] = c[P >> 2];
- c[v >> 2] = Cd;
- c[w >> 2] = T;
- c[x >> 2] = ip(c[u >> 2] | 0, c[w >> 2] | 0) | 0;
- a[y >> 0] =
- a[((c[v >> 2] | 0) + (c[x >> 2] << 1)) >> 0] | 0;
- jp(
- c[u >> 2] | 0,
- d[((c[v >> 2] | 0) + (c[x >> 2] << 1) + 1) >> 0] | 0
- );
- T = a[y >> 0] | 0;
- Cd = c[O >> 2] | 0;
- c[O >> 2] = Cd + 1;
- a[Cd >> 0] = T;
- }
- d: do {
- if (kp() | 0)
- while (1) {
- y = ((gp(c[P >> 2] | 0) | 0) == 0) & 1;
- if (
- !(y & ((c[O >> 2] | 0) >>> 0 < (c[Q >> 2] | 0) >>> 0))
- )
- break d;
- y = c[R >> 2] | 0;
- x = c[S >> 2] | 0;
- c[p >> 2] = c[P >> 2];
- c[q >> 2] = y;
- c[r >> 2] = x;
- c[s >> 2] = ip(c[p >> 2] | 0, c[r >> 2] | 0) | 0;
- a[t >> 0] =
- a[((c[q >> 2] | 0) + (c[s >> 2] << 1)) >> 0] | 0;
- jp(
- c[p >> 2] | 0,
- d[((c[q >> 2] | 0) + (c[s >> 2] << 1) + 1) >> 0] | 0
- );
- x = a[t >> 0] | 0;
- y = c[O >> 2] | 0;
- c[O >> 2] = y + 1;
- a[y >> 0] = x;
- }
- } while (0);
- while (1) {
- if ((c[O >> 2] | 0) >>> 0 >= (c[Q >> 2] | 0) >>> 0) break;
- t = c[R >> 2] | 0;
- s = c[S >> 2] | 0;
- c[j >> 2] = c[P >> 2];
- c[k >> 2] = t;
- c[m >> 2] = s;
- c[n >> 2] = ip(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- a[o >> 0] =
- a[((c[k >> 2] | 0) + (c[n >> 2] << 1)) >> 0] | 0;
- jp(
- c[j >> 2] | 0,
- d[((c[k >> 2] | 0) + (c[n >> 2] << 1) + 1) >> 0] | 0
- );
- s = a[o >> 0] | 0;
- t = c[O >> 2] | 0;
- c[O >> 2] = t + 1;
- a[t >> 0] = s;
- }
- O = lp(Dd) | 0;
- Dd = O & (lp(Ed) | 0);
- Ed = Dd & (lp(Fd) | 0);
- c[ce >> 2] = Ed & (lp(Gd) | 0);
- if (c[ce >> 2] | 0) {
- c[sd >> 2] = c[ud >> 2];
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- } else {
- c[sd >> 2] = -20;
- ie = c[sd >> 2] | 0;
- l = i;
- return ie | 0;
- }
- return 0;
- }
- function yp(a) {
- a = a | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[g >> 2] = a;
- a = (pp() | 0) != 0;
- i = c[g >> 2] | 0;
- if (a) {
- b[f >> 1] = zp(i) | 0;
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- } else {
- c[h >> 2] = i;
- b[f >> 1] =
- (d[c[h >> 2] >> 0] | 0) +
- ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function zp(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function Ap(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- j = l;
- l = (l + 48) | 0;
- k = (j + 40) | 0;
- m = (j + 36) | 0;
- n = (j + 32) | 0;
- o = (j + 28) | 0;
- p = (j + 24) | 0;
- q = (j + 20) | 0;
- r = (j + 16) | 0;
- s = (j + 12) | 0;
- t = (j + 8) | 0;
- u = (j + 4) | 0;
- v = j;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = c[p >> 2];
- c[v >> 2] =
- $o(
- c[m >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0
- ) | 0;
- s = (ap(c[v >> 2] | 0) | 0) != 0;
- r = c[v >> 2] | 0;
- if (s) {
- c[k >> 2] = r;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- if (r >>> 0 >= (c[q >> 2] | 0) >>> 0) {
- c[k >> 2] = -72;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- } else {
- c[u >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
- c[q >> 2] = (c[q >> 2] | 0) - (c[v >> 2] | 0);
- c[k >> 2] =
- vp(
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[u >> 2] | 0,
- c[q >> 2] | 0,
- c[m >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- return 0;
- }
- function Bp(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0;
- i = l;
- l = (l + 160) | 0;
- j = (i + 140) | 0;
- k = (i + 136) | 0;
- m = (i + 132) | 0;
- n = (i + 128) | 0;
- o = (i + 124) | 0;
- p = (i + 120) | 0;
- q = (i + 116) | 0;
- r = (i + 112) | 0;
- s = (i + 108) | 0;
- t = (i + 104) | 0;
- u = (i + 144) | 0;
- v = (i + 100) | 0;
- w = (i + 96) | 0;
- x = (i + 92) | 0;
- y = (i + 88) | 0;
- z = (i + 84) | 0;
- A = (i + 80) | 0;
- B = (i + 76) | 0;
- C = (i + 72) | 0;
- D = (i + 68) | 0;
- E = (i + 64) | 0;
- F = (i + 60) | 0;
- G = (i + 56) | 0;
- H = (i + 52) | 0;
- I = (i + 48) | 0;
- J = (i + 44) | 0;
- K = (i + 40) | 0;
- L = (i + 36) | 0;
- M = (i + 32) | 0;
- N = (i + 28) | 0;
- O = (i + 24) | 0;
- P = (i + 20) | 0;
- Q = (i + 16) | 0;
- R = (i + 12) | 0;
- S = (i + 8) | 0;
- T = (i + 4) | 0;
- U = i;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- bp(u, c[k >> 2] | 0);
- c[v >> 2] = d[u >> 0];
- c[x >> 2] = (c[k >> 2] | 0) + 4;
- c[y >> 2] = c[x >> 2];
- c[F >> 2] = 0;
- c[A >> 2] = (c[o >> 2] | 0) + (c[F >> 2] << 2);
- c[F >> 2] = (c[F >> 2] | 0) + 156;
- c[B >> 2] = (c[o >> 2] | 0) + (c[F >> 2] << 2);
- c[F >> 2] = (c[F >> 2] | 0) + 13;
- c[C >> 2] = (c[o >> 2] | 0) + (c[F >> 2] << 2);
- c[F >> 2] = (c[F >> 2] | 0) + 14;
- c[D >> 2] =
- (c[o >> 2] | 0) +
- (((((c[F >> 2] << 2) >>> 0) / 2) | 0) << 1);
- c[F >> 2] = (c[F >> 2] | 0) + 128;
- c[E >> 2] = (c[o >> 2] | 0) + (c[F >> 2] << 2);
- c[F >> 2] = (c[F >> 2] | 0) + 64;
- if ((c[F >> 2] << 2) >>> 0 > (c[p >> 2] | 0) >>> 0) {
- c[j >> 2] = -44;
- V = c[j >> 2] | 0;
- l = i;
- return V | 0;
- }
- c[z >> 2] = (c[C >> 2] | 0) + 4;
- p = c[B >> 2] | 0;
- F = (p + 108) | 0;
- do {
- c[p >> 2] = 0;
- p = (p + 4) | 0;
- } while ((p | 0) < (F | 0));
- if ((c[v >> 2] | 0) >>> 0 > 12) {
- c[j >> 2] = -44;
- V = c[j >> 2] | 0;
- l = i;
- return V | 0;
- }
- c[w >> 2] =
- fh(
- c[E >> 2] | 0,
- 256,
- c[B >> 2] | 0,
- t,
- q,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- if (ap(c[w >> 2] | 0) | 0) {
- c[j >> 2] = c[w >> 2];
- V = c[j >> 2] | 0;
- l = i;
- return V | 0;
- }
- if ((c[q >> 2] | 0) >>> 0 > (c[v >> 2] | 0) >>> 0) {
- c[j >> 2] = -44;
- V = c[j >> 2] | 0;
- l = i;
- return V | 0;
- }
- c[r >> 2] = c[q >> 2];
- while (1) {
- if (c[((c[B >> 2] | 0) + (c[r >> 2] << 2)) >> 2] | 0) break;
- c[r >> 2] = (c[r >> 2] | 0) + -1;
- }
- c[H >> 2] = 0;
- c[G >> 2] = 1;
- while (1) {
- W = c[H >> 2] | 0;
- if (
- (c[G >> 2] | 0) >>> 0 >=
- (((c[r >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[I >> 2] = W;
- c[H >> 2] =
- (c[H >> 2] | 0) +
- (c[((c[B >> 2] | 0) + (c[G >> 2] << 2)) >> 2] | 0);
- c[((c[z >> 2] | 0) + (c[G >> 2] << 2)) >> 2] = c[I >> 2];
- c[G >> 2] = (c[G >> 2] | 0) + 1;
- }
- c[c[z >> 2] >> 2] = W;
- c[s >> 2] = c[H >> 2];
- c[J >> 2] = 0;
- while (1) {
- if ((c[J >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- c[K >> 2] = d[((c[E >> 2] | 0) + (c[J >> 2] | 0)) >> 0];
- H = ((c[z >> 2] | 0) + (c[K >> 2] << 2)) | 0;
- W = c[H >> 2] | 0;
- c[H >> 2] = W + 1;
- c[L >> 2] = W;
- a[((c[D >> 2] | 0) + (c[L >> 2] << 1)) >> 0] = c[J >> 2];
- a[((c[D >> 2] | 0) + (c[L >> 2] << 1) + 1) >> 0] =
- c[K >> 2];
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- }
- c[c[z >> 2] >> 2] = 0;
- c[M >> 2] = c[A >> 2];
- c[N >> 2] = (c[v >> 2] | 0) - (c[q >> 2] | 0) - 1;
- c[O >> 2] = 0;
- c[P >> 2] = 1;
- while (1) {
- if (
- (c[P >> 2] | 0) >>> 0 >=
- (((c[r >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[Q >> 2] = c[O >> 2];
- c[O >> 2] =
- (c[O >> 2] | 0) +
- (c[((c[B >> 2] | 0) + (c[P >> 2] << 2)) >> 2] <<
- ((c[P >> 2] | 0) + (c[N >> 2] | 0)));
- c[((c[M >> 2] | 0) + (c[P >> 2] << 2)) >> 2] = c[Q >> 2];
- c[P >> 2] = (c[P >> 2] | 0) + 1;
- }
- c[R >> 2] = (c[q >> 2] | 0) + 1 - (c[r >> 2] | 0);
- c[S >> 2] = c[R >> 2];
- while (1) {
- if (
- (c[S >> 2] | 0) >>> 0 >=
- (((c[v >> 2] | 0) - (c[R >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[T >> 2] = (c[A >> 2] | 0) + (((c[S >> 2] | 0) * 52) | 0);
- c[U >> 2] = 1;
- while (1) {
- if (
- (c[U >> 2] | 0) >>> 0 >=
- (((c[r >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- c[((c[T >> 2] | 0) + (c[U >> 2] << 2)) >> 2] =
- (c[((c[M >> 2] | 0) + (c[U >> 2] << 2)) >> 2] | 0) >>>
- (c[S >> 2] | 0);
- c[U >> 2] = (c[U >> 2] | 0) + 1;
- }
- c[S >> 2] = (c[S >> 2] | 0) + 1;
- }
- Cp(
- c[y >> 2] | 0,
- c[v >> 2] | 0,
- c[D >> 2] | 0,
- c[s >> 2] | 0,
- c[C >> 2] | 0,
- c[A >> 2] | 0,
- c[r >> 2] | 0,
- ((c[q >> 2] | 0) + 1) | 0
- );
- a[(u + 2) >> 0] = c[v >> 2];
- a[(u + 1) >> 0] = 1;
- v = c[k >> 2] | 0;
- a[v >> 0] = a[u >> 0] | 0;
- a[(v + 1) >> 0] = a[(u + 1) >> 0] | 0;
- a[(v + 2) >> 0] = a[(u + 2) >> 0] | 0;
- a[(v + 3) >> 0] = a[(u + 3) >> 0] | 0;
- c[j >> 2] = c[w >> 2];
- V = c[j >> 2] | 0;
- l = i;
- return V | 0;
- }
- function Cp(e, f, g, h, i, j, k, m) {
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0;
- n = l;
- l = (l + 144) | 0;
- o = (n + 124) | 0;
- p = (n + 120) | 0;
- q = (n + 116) | 0;
- r = (n + 112) | 0;
- s = (n + 108) | 0;
- t = (n + 104) | 0;
- u = (n + 100) | 0;
- v = (n + 96) | 0;
- w = n;
- x = (n + 92) | 0;
- y = (n + 88) | 0;
- z = (n + 84) | 0;
- A = (n + 132) | 0;
- B = (n + 80) | 0;
- C = (n + 76) | 0;
- D = (n + 72) | 0;
- E = (n + 68) | 0;
- F = (n + 64) | 0;
- G = (n + 60) | 0;
- H = (n + 128) | 0;
- I = (n + 56) | 0;
- J = (n + 52) | 0;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = k;
- c[v >> 2] = m;
- c[x >> 2] = (c[v >> 2] | 0) - (c[p >> 2] | 0);
- c[y >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- u = w;
- m = c[t >> 2] | 0;
- k = (u + 52) | 0;
- do {
- c[u >> 2] = c[m >> 2];
- u = (u + 4) | 0;
- m = (m + 4) | 0;
- } while ((u | 0) < (k | 0));
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[r >> 2] | 0) >>> 0) break;
- b[A >> 1] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1)) >> 0] | 0;
- c[B >> 2] =
- d[((c[q >> 2] | 0) + (c[z >> 2] << 1) + 1) >> 0];
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- c[D >> 2] = c[(w + (c[B >> 2] << 2)) >> 2];
- c[E >> 2] = 1 << ((c[p >> 2] | 0) - (c[C >> 2] | 0));
- a: do {
- if (
- (((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- ) {
- m = ((c[C >> 2] | 0) + (c[x >> 2] | 0)) | 0;
- c[G >> 2] = m;
- c[G >> 2] = (c[G >> 2] | 0) < 1 ? 1 : m;
- c[F >> 2] =
- c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
- Dp(
- ((c[o >> 2] | 0) + (c[D >> 2] << 2)) | 0,
- ((c[p >> 2] | 0) - (c[C >> 2] | 0)) | 0,
- c[C >> 2] | 0,
- ((c[t >> 2] | 0) + (((c[C >> 2] | 0) * 52) | 0)) | 0,
- c[G >> 2] | 0,
- ((c[q >> 2] | 0) + (c[F >> 2] << 1)) | 0,
- ((c[r >> 2] | 0) - (c[F >> 2] | 0)) | 0,
- c[v >> 2] | 0,
- b[A >> 1] | 0
- );
- } else {
- Ep(H, b[A >> 1] | 0);
- a[(H + 2) >> 0] = c[C >> 2];
- a[(H + 3) >> 0] = 1;
- c[I >> 2] = (c[D >> 2] | 0) + (c[E >> 2] | 0);
- c[J >> 2] = c[D >> 2];
- while (1) {
- if ((c[J >> 2] | 0) >>> 0 >= (c[I >> 2] | 0) >>> 0)
- break a;
- m = ((c[o >> 2] | 0) + (c[J >> 2] << 2)) | 0;
- b[m >> 1] = b[H >> 1] | 0;
- b[(m + 2) >> 1] = b[(H + 2) >> 1] | 0;
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- }
- }
- } while (0);
- m = (w + (c[B >> 2] << 2)) | 0;
- c[m >> 2] = (c[m >> 2] | 0) + (c[E >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- l = n;
- return;
- }
- function Dp(f, g, h, i, j, k, m, n, o) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- var p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0;
- p = l;
- l = (l + 144) | 0;
- q = (p + 120) | 0;
- r = (p + 116) | 0;
- s = (p + 112) | 0;
- t = (p + 108) | 0;
- u = (p + 104) | 0;
- v = (p + 100) | 0;
- w = (p + 96) | 0;
- x = (p + 92) | 0;
- y = (p + 128) | 0;
- z = (p + 124) | 0;
- A = p;
- B = (p + 88) | 0;
- C = (p + 84) | 0;
- D = (p + 80) | 0;
- E = (p + 76) | 0;
- F = (p + 72) | 0;
- G = (p + 68) | 0;
- H = (p + 64) | 0;
- I = (p + 60) | 0;
- J = (p + 56) | 0;
- K = (p + 52) | 0;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = j;
- c[v >> 2] = k;
- c[w >> 2] = m;
- c[x >> 2] = n;
- b[y >> 1] = o;
- o = A;
- n = c[t >> 2] | 0;
- t = (o + 52) | 0;
- do {
- c[o >> 2] = c[n >> 2];
- o = (o + 4) | 0;
- n = (n + 4) | 0;
- } while ((o | 0) < (t | 0));
- a: do {
- if ((c[u >> 2] | 0) > 1) {
- c[C >> 2] = c[(A + (c[u >> 2] << 2)) >> 2];
- Ep(z, b[y >> 1] | 0);
- a[(z + 2) >> 0] = c[s >> 2];
- a[(z + 3) >> 0] = 1;
- c[B >> 2] = 0;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 >= (c[C >> 2] | 0) >>> 0)
- break a;
- n = ((c[q >> 2] | 0) + (c[B >> 2] << 2)) | 0;
- b[n >> 1] = b[z >> 1] | 0;
- b[(n + 2) >> 1] = b[(z + 2) >> 1] | 0;
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[E >> 2] = d[((c[v >> 2] | 0) + (c[D >> 2] << 1)) >> 0];
- c[F >> 2] =
- d[((c[v >> 2] | 0) + (c[D >> 2] << 1) + 1) >> 0];
- c[G >> 2] = (c[x >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = 1 << ((c[r >> 2] | 0) - (c[G >> 2] | 0));
- c[I >> 2] = c[(A + (c[F >> 2] << 2)) >> 2];
- c[J >> 2] = c[I >> 2];
- c[K >> 2] = (c[I >> 2] | 0) + (c[H >> 2] | 0);
- Ep(z, ((e[y >> 1] | 0) + (c[E >> 2] << 8)) & 65535);
- a[(z + 2) >> 0] = (c[G >> 2] | 0) + (c[s >> 2] | 0);
- a[(z + 3) >> 0] = 2;
- do {
- B = c[q >> 2] | 0;
- C = c[J >> 2] | 0;
- c[J >> 2] = C + 1;
- u = (B + (C << 2)) | 0;
- b[u >> 1] = b[z >> 1] | 0;
- b[(u + 2) >> 1] = b[(z + 2) >> 1] | 0;
- } while ((c[J >> 2] | 0) >>> 0 < (c[K >> 2] | 0) >>> 0);
- u = (A + (c[F >> 2] << 2)) | 0;
- c[u >> 2] = (c[u >> 2] | 0) + (c[H >> 2] | 0);
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- l = p;
- return;
- }
- function Ep(d, f) {
- d = d | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- g = l;
- l = (l + 16) | 0;
- h = (g + 4) | 0;
- i = (g + 8) | 0;
- j = g;
- c[h >> 2] = d;
- b[i >> 1] = f;
- f = (pp() | 0) != 0;
- d = c[h >> 2] | 0;
- if (f) {
- Fp(d, b[i >> 1] | 0);
- l = g;
- return;
- } else {
- c[j >> 2] = d;
- a[c[j >> 2] >> 0] = b[i >> 1];
- a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
- l = g;
- return;
- }
- }
- function Fp(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (f + 4) | 0;
- c[g >> 2] = d;
- b[h >> 1] = e;
- e = b[h >> 1] | 0;
- h = c[g >> 2] | 0;
- a[h >> 0] = e;
- a[(h + 1) >> 0] = e >> 8;
- l = f;
- return;
- }
- function Gp(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 24) | 0;
- j = (h + 20) | 0;
- k = (h + 16) | 0;
- m = (h + 12) | 0;
- n = (h + 8) | 0;
- o = (h + 4) | 0;
- p = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- g = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- if (c[p >> 2] | 0) {
- c[i >> 2] = Hp(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- } else {
- c[i >> 2] = Ip(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- }
- return 0;
- }
- function Hp(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0;
- i = l;
- l = (l + 256) | 0;
- j = (i + 244) | 0;
- k = (i + 240) | 0;
- m = (i + 236) | 0;
- n = (i + 232) | 0;
- o = (i + 228) | 0;
- p = (i + 224) | 0;
- q = (i + 220) | 0;
- r = (i + 216) | 0;
- s = (i + 212) | 0;
- t = (i + 208) | 0;
- u = (i + 204) | 0;
- v = (i + 200) | 0;
- w = (i + 196) | 0;
- x = (i + 192) | 0;
- y = (i + 188) | 0;
- z = (i + 184) | 0;
- A = (i + 180) | 0;
- B = (i + 176) | 0;
- C = (i + 172) | 0;
- D = (i + 168) | 0;
- E = (i + 164) | 0;
- F = (i + 160) | 0;
- G = (i + 156) | 0;
- H = (i + 152) | 0;
- I = (i + 148) | 0;
- J = (i + 144) | 0;
- K = (i + 140) | 0;
- L = (i + 136) | 0;
- M = (i + 132) | 0;
- N = (i + 128) | 0;
- O = (i + 124) | 0;
- P = (i + 120) | 0;
- Q = (i + 116) | 0;
- R = (i + 112) | 0;
- S = (i + 108) | 0;
- T = (i + 104) | 0;
- U = (i + 100) | 0;
- V = (i + 96) | 0;
- W = (i + 92) | 0;
- X = (i + 88) | 0;
- Y = (i + 80) | 0;
- Z = (i + 76) | 0;
- _ = (i + 72) | 0;
- $ = (i + 68) | 0;
- aa = (i + 64) | 0;
- ba = (i + 60) | 0;
- ca = (i + 40) | 0;
- da = (i + 36) | 0;
- ea = (i + 32) | 0;
- fa = (i + 28) | 0;
- ga = (i + 24) | 0;
- ha = (i + 20) | 0;
- ia = (i + 248) | 0;
- ja = (i + 16) | 0;
- ka = (i + 12) | 0;
- la = (i + 8) | 0;
- ma = (i + 4) | 0;
- na = i;
- c[ja >> 2] = b;
- c[ka >> 2] = e;
- c[la >> 2] = f;
- c[ma >> 2] = g;
- c[na >> 2] = h;
- h = c[ka >> 2] | 0;
- ka = c[la >> 2] | 0;
- la = c[ma >> 2] | 0;
- ma = c[na >> 2] | 0;
- c[Z >> 2] = c[ja >> 2];
- c[_ >> 2] = h;
- c[$ >> 2] = ka;
- c[aa >> 2] = la;
- c[ba >> 2] = ma;
- c[da >> 2] = fp(ca, c[$ >> 2] | 0, c[aa >> 2] | 0) | 0;
- if (ap(c[da >> 2] | 0) | 0) {
- c[Y >> 2] = c[da >> 2];
- oa = c[Y >> 2] | 0;
- l = i;
- return oa | 0;
- }
- c[ea >> 2] = c[Z >> 2];
- c[fa >> 2] = (c[ea >> 2] | 0) + (c[_ >> 2] | 0);
- c[ga >> 2] = (c[ba >> 2] | 0) + 4;
- c[ha >> 2] = c[ga >> 2];
- bp(ia, c[ba >> 2] | 0);
- ba = c[fa >> 2] | 0;
- fa = c[ha >> 2] | 0;
- ha = d[(ia + 2) >> 0] | 0;
- c[T >> 2] = c[ea >> 2];
- c[U >> 2] = ca;
- c[V >> 2] = ba;
- c[W >> 2] = fa;
- c[X >> 2] = ha;
- c[(i + 84) >> 2] = c[T >> 2];
- while (1) {
- ha = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- ha &
- ((c[T >> 2] | 0) >>> 0 <
- (((c[V >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- ha = c[U >> 2] | 0;
- fa = c[W >> 2] | 0;
- ba = c[X >> 2] | 0;
- c[O >> 2] = c[T >> 2];
- c[P >> 2] = ha;
- c[Q >> 2] = fa;
- c[R >> 2] = ba;
- c[S >> 2] = ip(c[P >> 2] | 0, c[R >> 2] | 0) | 0;
- ba = c[O >> 2] | 0;
- fa = ((c[Q >> 2] | 0) + (c[S >> 2] << 2)) | 0;
- a[ba >> 0] = a[fa >> 0] | 0;
- a[(ba + 1) >> 0] = a[(fa + 1) >> 0] | 0;
- jp(
- c[P >> 2] | 0,
- d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 3) >> 0] | 0);
- }
- hp() | 0;
- fa = c[U >> 2] | 0;
- ba = c[W >> 2] | 0;
- ha = c[X >> 2] | 0;
- c[J >> 2] = c[T >> 2];
- c[K >> 2] = fa;
- c[L >> 2] = ba;
- c[M >> 2] = ha;
- c[N >> 2] = ip(c[K >> 2] | 0, c[M >> 2] | 0) | 0;
- ha = c[J >> 2] | 0;
- ba = ((c[L >> 2] | 0) + (c[N >> 2] << 2)) | 0;
- a[ha >> 0] = a[ba >> 0] | 0;
- a[(ha + 1) >> 0] = a[(ba + 1) >> 0] | 0;
- jp(
- c[K >> 2] | 0,
- d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- ba = c[U >> 2] | 0;
- ha = c[W >> 2] | 0;
- fa = c[X >> 2] | 0;
- c[E >> 2] = c[T >> 2];
- c[F >> 2] = ba;
- c[G >> 2] = ha;
- c[H >> 2] = fa;
- c[I >> 2] = ip(c[F >> 2] | 0, c[H >> 2] | 0) | 0;
- fa = c[E >> 2] | 0;
- ha = ((c[G >> 2] | 0) + (c[I >> 2] << 2)) | 0;
- a[fa >> 0] = a[ha >> 0] | 0;
- a[(fa + 1) >> 0] = a[(ha + 1) >> 0] | 0;
- jp(
- c[F >> 2] | 0,
- d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 3) >> 0] | 0);
- }
- ha = c[U >> 2] | 0;
- fa = c[W >> 2] | 0;
- ba = c[X >> 2] | 0;
- c[z >> 2] = c[T >> 2];
- c[A >> 2] = ha;
- c[B >> 2] = fa;
- c[C >> 2] = ba;
- c[D >> 2] = ip(c[A >> 2] | 0, c[C >> 2] | 0) | 0;
- ba = c[z >> 2] | 0;
- fa = ((c[B >> 2] | 0) + (c[D >> 2] << 2)) | 0;
- a[ba >> 0] = a[fa >> 0] | 0;
- a[(ba + 1) >> 0] = a[(fa + 1) >> 0] | 0;
- jp(
- c[A >> 2] | 0,
- d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- D = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- D &
- ((c[T >> 2] | 0) >>> 0 <=
- (((c[V >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- D = c[U >> 2] | 0;
- B = c[W >> 2] | 0;
- A = c[X >> 2] | 0;
- c[u >> 2] = c[T >> 2];
- c[v >> 2] = D;
- c[w >> 2] = B;
- c[x >> 2] = A;
- c[y >> 2] = ip(c[v >> 2] | 0, c[x >> 2] | 0) | 0;
- A = c[u >> 2] | 0;
- B = ((c[w >> 2] | 0) + (c[y >> 2] << 2)) | 0;
- a[A >> 0] = a[B >> 0] | 0;
- a[(A + 1) >> 0] = a[(B + 1) >> 0] | 0;
- jp(
- c[v >> 2] | 0,
- d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- pa = c[T >> 2] | 0;
- if (
- (c[T >> 2] | 0) >>> 0 >
- (((c[V >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- y = c[U >> 2] | 0;
- w = c[W >> 2] | 0;
- v = c[X >> 2] | 0;
- c[p >> 2] = pa;
- c[q >> 2] = y;
- c[r >> 2] = w;
- c[s >> 2] = v;
- c[t >> 2] = ip(c[q >> 2] | 0, c[s >> 2] | 0) | 0;
- v = c[p >> 2] | 0;
- w = ((c[r >> 2] | 0) + (c[t >> 2] << 2)) | 0;
- a[v >> 0] = a[w >> 0] | 0;
- a[(v + 1) >> 0] = a[(w + 1) >> 0] | 0;
- jp(
- c[q >> 2] | 0,
- d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 3) >> 0] | 0);
- }
- if (pa >>> 0 < (c[V >> 2] | 0) >>> 0) {
- V = c[U >> 2] | 0;
- U = c[W >> 2] | 0;
- W = c[X >> 2] | 0;
- c[j >> 2] = c[T >> 2];
- c[k >> 2] = V;
- c[m >> 2] = U;
- c[n >> 2] = W;
- c[o >> 2] = ip(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
- a[c[j >> 2] >> 0] =
- a[((c[m >> 2] | 0) + (c[o >> 2] << 2)) >> 0] | 0;
- j = c[k >> 2] | 0;
- if (
- (d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(j + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[k >> 2] | 0,
- d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] |
- 0
- ),
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[k >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- j,
- d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] = (c[T >> 2] | 0) + 1;
- }
- if (lp(ca) | 0) {
- c[Y >> 2] = c[_ >> 2];
- oa = c[Y >> 2] | 0;
- l = i;
- return oa | 0;
- } else {
- c[Y >> 2] = -20;
- oa = c[Y >> 2] | 0;
- l = i;
- return oa | 0;
- }
- return 0;
- }
- function Ip(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0;
- i = l;
- l = (l + 256) | 0;
- j = (i + 244) | 0;
- k = (i + 240) | 0;
- m = (i + 236) | 0;
- n = (i + 232) | 0;
- o = (i + 228) | 0;
- p = (i + 224) | 0;
- q = (i + 220) | 0;
- r = (i + 216) | 0;
- s = (i + 212) | 0;
- t = (i + 208) | 0;
- u = (i + 204) | 0;
- v = (i + 200) | 0;
- w = (i + 196) | 0;
- x = (i + 192) | 0;
- y = (i + 188) | 0;
- z = (i + 184) | 0;
- A = (i + 180) | 0;
- B = (i + 176) | 0;
- C = (i + 172) | 0;
- D = (i + 168) | 0;
- E = (i + 164) | 0;
- F = (i + 160) | 0;
- G = (i + 156) | 0;
- H = (i + 152) | 0;
- I = (i + 148) | 0;
- J = (i + 144) | 0;
- K = (i + 140) | 0;
- L = (i + 136) | 0;
- M = (i + 132) | 0;
- N = (i + 128) | 0;
- O = (i + 124) | 0;
- P = (i + 120) | 0;
- Q = (i + 116) | 0;
- R = (i + 112) | 0;
- S = (i + 108) | 0;
- T = (i + 104) | 0;
- U = (i + 100) | 0;
- V = (i + 96) | 0;
- W = (i + 92) | 0;
- X = (i + 88) | 0;
- Y = (i + 80) | 0;
- Z = (i + 76) | 0;
- _ = (i + 72) | 0;
- $ = (i + 68) | 0;
- aa = (i + 64) | 0;
- ba = (i + 60) | 0;
- ca = (i + 40) | 0;
- da = (i + 36) | 0;
- ea = (i + 32) | 0;
- fa = (i + 28) | 0;
- ga = (i + 24) | 0;
- ha = (i + 20) | 0;
- ia = (i + 248) | 0;
- ja = (i + 16) | 0;
- ka = (i + 12) | 0;
- la = (i + 8) | 0;
- ma = (i + 4) | 0;
- na = i;
- c[ja >> 2] = b;
- c[ka >> 2] = e;
- c[la >> 2] = f;
- c[ma >> 2] = g;
- c[na >> 2] = h;
- h = c[ka >> 2] | 0;
- ka = c[la >> 2] | 0;
- la = c[ma >> 2] | 0;
- ma = c[na >> 2] | 0;
- c[Z >> 2] = c[ja >> 2];
- c[_ >> 2] = h;
- c[$ >> 2] = ka;
- c[aa >> 2] = la;
- c[ba >> 2] = ma;
- c[da >> 2] = fp(ca, c[$ >> 2] | 0, c[aa >> 2] | 0) | 0;
- if (ap(c[da >> 2] | 0) | 0) {
- c[Y >> 2] = c[da >> 2];
- oa = c[Y >> 2] | 0;
- l = i;
- return oa | 0;
- }
- c[ea >> 2] = c[Z >> 2];
- c[fa >> 2] = (c[ea >> 2] | 0) + (c[_ >> 2] | 0);
- c[ga >> 2] = (c[ba >> 2] | 0) + 4;
- c[ha >> 2] = c[ga >> 2];
- bp(ia, c[ba >> 2] | 0);
- ba = c[fa >> 2] | 0;
- fa = c[ha >> 2] | 0;
- ha = d[(ia + 2) >> 0] | 0;
- c[T >> 2] = c[ea >> 2];
- c[U >> 2] = ca;
- c[V >> 2] = ba;
- c[W >> 2] = fa;
- c[X >> 2] = ha;
- c[(i + 84) >> 2] = c[T >> 2];
- while (1) {
- ha = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- ha &
- ((c[T >> 2] | 0) >>> 0 <
- (((c[V >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- ha = c[U >> 2] | 0;
- fa = c[W >> 2] | 0;
- ba = c[X >> 2] | 0;
- c[O >> 2] = c[T >> 2];
- c[P >> 2] = ha;
- c[Q >> 2] = fa;
- c[R >> 2] = ba;
- c[S >> 2] = ip(c[P >> 2] | 0, c[R >> 2] | 0) | 0;
- ba = c[O >> 2] | 0;
- fa = ((c[Q >> 2] | 0) + (c[S >> 2] << 2)) | 0;
- a[ba >> 0] = a[fa >> 0] | 0;
- a[(ba + 1) >> 0] = a[(fa + 1) >> 0] | 0;
- jp(
- c[P >> 2] | 0,
- d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 3) >> 0] | 0);
- }
- hp() | 0;
- fa = c[U >> 2] | 0;
- ba = c[W >> 2] | 0;
- ha = c[X >> 2] | 0;
- c[J >> 2] = c[T >> 2];
- c[K >> 2] = fa;
- c[L >> 2] = ba;
- c[M >> 2] = ha;
- c[N >> 2] = ip(c[K >> 2] | 0, c[M >> 2] | 0) | 0;
- ha = c[J >> 2] | 0;
- ba = ((c[L >> 2] | 0) + (c[N >> 2] << 2)) | 0;
- a[ha >> 0] = a[ba >> 0] | 0;
- a[(ha + 1) >> 0] = a[(ba + 1) >> 0] | 0;
- jp(
- c[K >> 2] | 0,
- d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- ba = c[U >> 2] | 0;
- ha = c[W >> 2] | 0;
- fa = c[X >> 2] | 0;
- c[E >> 2] = c[T >> 2];
- c[F >> 2] = ba;
- c[G >> 2] = ha;
- c[H >> 2] = fa;
- c[I >> 2] = ip(c[F >> 2] | 0, c[H >> 2] | 0) | 0;
- fa = c[E >> 2] | 0;
- ha = ((c[G >> 2] | 0) + (c[I >> 2] << 2)) | 0;
- a[fa >> 0] = a[ha >> 0] | 0;
- a[(fa + 1) >> 0] = a[(ha + 1) >> 0] | 0;
- jp(
- c[F >> 2] | 0,
- d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 3) >> 0] | 0);
- }
- ha = c[U >> 2] | 0;
- fa = c[W >> 2] | 0;
- ba = c[X >> 2] | 0;
- c[z >> 2] = c[T >> 2];
- c[A >> 2] = ha;
- c[B >> 2] = fa;
- c[C >> 2] = ba;
- c[D >> 2] = ip(c[A >> 2] | 0, c[C >> 2] | 0) | 0;
- ba = c[z >> 2] | 0;
- fa = ((c[B >> 2] | 0) + (c[D >> 2] << 2)) | 0;
- a[ba >> 0] = a[fa >> 0] | 0;
- a[(ba + 1) >> 0] = a[(fa + 1) >> 0] | 0;
- jp(
- c[A >> 2] | 0,
- d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- D = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- D &
- ((c[T >> 2] | 0) >>> 0 <=
- (((c[V >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- D = c[U >> 2] | 0;
- B = c[W >> 2] | 0;
- A = c[X >> 2] | 0;
- c[u >> 2] = c[T >> 2];
- c[v >> 2] = D;
- c[w >> 2] = B;
- c[x >> 2] = A;
- c[y >> 2] = ip(c[v >> 2] | 0, c[x >> 2] | 0) | 0;
- A = c[u >> 2] | 0;
- B = ((c[w >> 2] | 0) + (c[y >> 2] << 2)) | 0;
- a[A >> 0] = a[B >> 0] | 0;
- a[(A + 1) >> 0] = a[(B + 1) >> 0] | 0;
- jp(
- c[v >> 2] | 0,
- d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- pa = c[T >> 2] | 0;
- if (
- (c[T >> 2] | 0) >>> 0 >
- (((c[V >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- y = c[U >> 2] | 0;
- w = c[W >> 2] | 0;
- v = c[X >> 2] | 0;
- c[p >> 2] = pa;
- c[q >> 2] = y;
- c[r >> 2] = w;
- c[s >> 2] = v;
- c[t >> 2] = ip(c[q >> 2] | 0, c[s >> 2] | 0) | 0;
- v = c[p >> 2] | 0;
- w = ((c[r >> 2] | 0) + (c[t >> 2] << 2)) | 0;
- a[v >> 0] = a[w >> 0] | 0;
- a[(v + 1) >> 0] = a[(w + 1) >> 0] | 0;
- jp(
- c[q >> 2] | 0,
- d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 3) >> 0] | 0);
- }
- if (pa >>> 0 < (c[V >> 2] | 0) >>> 0) {
- V = c[U >> 2] | 0;
- U = c[W >> 2] | 0;
- W = c[X >> 2] | 0;
- c[j >> 2] = c[T >> 2];
- c[k >> 2] = V;
- c[m >> 2] = U;
- c[n >> 2] = W;
- c[o >> 2] = ip(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
- a[c[j >> 2] >> 0] =
- a[((c[m >> 2] | 0) + (c[o >> 2] << 2)) >> 0] | 0;
- j = c[k >> 2] | 0;
- if (
- (d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(j + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[k >> 2] | 0,
- d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] |
- 0
- ),
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[k >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- j,
- d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] = (c[T >> 2] | 0) + 1;
- }
- if (lp(ca) | 0) {
- c[Y >> 2] = c[_ >> 2];
- oa = c[Y >> 2] | 0;
- l = i;
- return oa | 0;
- } else {
- c[Y >> 2] = -20;
- oa = c[Y >> 2] | 0;
- l = i;
- return oa | 0;
- }
- return 0;
- }
- function Jp(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 24) | 0;
- j = (h + 20) | 0;
- k = (h + 16) | 0;
- m = (h + 12) | 0;
- n = (h + 8) | 0;
- o = (h + 4) | 0;
- p = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- g = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- if (c[p >> 2] | 0) {
- c[i >> 2] = Kp(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- } else {
- c[i >> 2] = Lp(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- }
- return 0;
- }
- function Kp(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0,
- Kc = 0,
- Lc = 0,
- Mc = 0,
- Nc = 0,
- Oc = 0,
- Pc = 0,
- Qc = 0,
- Rc = 0,
- Sc = 0,
- Tc = 0,
- Uc = 0,
- Vc = 0,
- Wc = 0,
- Xc = 0,
- Yc = 0,
- Zc = 0,
- _c = 0,
- $c = 0,
- ad = 0,
- bd = 0,
- cd = 0,
- dd = 0,
- ed = 0,
- fd = 0,
- gd = 0,
- hd = 0,
- id = 0,
- jd = 0,
- kd = 0,
- ld = 0,
- md = 0,
- nd = 0,
- od = 0,
- pd = 0,
- qd = 0,
- rd = 0,
- sd = 0,
- td = 0,
- ud = 0,
- vd = 0,
- wd = 0,
- xd = 0,
- yd = 0,
- zd = 0,
- Ad = 0,
- Bd = 0,
- Cd = 0,
- Dd = 0,
- Ed = 0,
- Fd = 0,
- Gd = 0,
- Hd = 0,
- Id = 0,
- Jd = 0,
- Kd = 0,
- Ld = 0,
- Md = 0,
- Nd = 0,
- Od = 0,
- Pd = 0,
- Qd = 0,
- Rd = 0,
- Sd = 0,
- Td = 0,
- Ud = 0,
- Vd = 0,
- Wd = 0,
- Xd = 0,
- Yd = 0,
- Zd = 0,
- _d = 0,
- $d = 0,
- ae = 0,
- be = 0,
- ce = 0,
- de = 0,
- ee = 0,
- fe = 0,
- ge = 0,
- he = 0,
- ie = 0,
- je = 0,
- ke = 0,
- le = 0,
- me = 0,
- ne = 0,
- oe = 0,
- pe = 0,
- qe = 0,
- re = 0,
- se = 0,
- te = 0,
- ue = 0,
- ve = 0,
- we = 0,
- xe = 0,
- ye = 0,
- ze = 0,
- Ae = 0,
- Be = 0,
- Ce = 0,
- De = 0,
- Ee = 0,
- Fe = 0,
- Ge = 0;
- i = l;
- l = (l + 1216) | 0;
- j = (i + 1208) | 0;
- k = (i + 1204) | 0;
- m = (i + 1200) | 0;
- n = (i + 1196) | 0;
- o = (i + 1192) | 0;
- p = (i + 1188) | 0;
- q = (i + 1184) | 0;
- r = (i + 1180) | 0;
- s = (i + 1176) | 0;
- t = (i + 1172) | 0;
- u = (i + 1168) | 0;
- v = (i + 1164) | 0;
- w = (i + 1160) | 0;
- x = (i + 1156) | 0;
- y = (i + 1152) | 0;
- z = (i + 1148) | 0;
- A = (i + 1144) | 0;
- B = (i + 1140) | 0;
- C = (i + 1136) | 0;
- D = (i + 1132) | 0;
- E = (i + 1128) | 0;
- F = (i + 1124) | 0;
- G = (i + 1120) | 0;
- H = (i + 1116) | 0;
- I = (i + 1112) | 0;
- J = (i + 1108) | 0;
- K = (i + 1104) | 0;
- L = (i + 1100) | 0;
- M = (i + 1096) | 0;
- N = (i + 1092) | 0;
- O = (i + 1088) | 0;
- P = (i + 1084) | 0;
- Q = (i + 1080) | 0;
- R = (i + 1076) | 0;
- S = (i + 1072) | 0;
- T = (i + 1068) | 0;
- U = (i + 1064) | 0;
- V = (i + 1060) | 0;
- W = (i + 1056) | 0;
- X = (i + 1052) | 0;
- Y = (i + 1048) | 0;
- Z = (i + 1044) | 0;
- _ = (i + 1040) | 0;
- $ = (i + 1036) | 0;
- aa = (i + 1032) | 0;
- ba = (i + 1028) | 0;
- ca = (i + 1024) | 0;
- da = (i + 1020) | 0;
- ea = (i + 1016) | 0;
- fa = (i + 1012) | 0;
- ga = (i + 1008) | 0;
- ha = (i + 1004) | 0;
- ia = (i + 1e3) | 0;
- ja = (i + 996) | 0;
- ka = (i + 992) | 0;
- la = (i + 988) | 0;
- ma = (i + 984) | 0;
- na = (i + 980) | 0;
- oa = (i + 976) | 0;
- pa = (i + 972) | 0;
- qa = (i + 968) | 0;
- ra = (i + 964) | 0;
- sa = (i + 960) | 0;
- ta = (i + 956) | 0;
- ua = (i + 952) | 0;
- va = (i + 948) | 0;
- wa = (i + 944) | 0;
- xa = (i + 940) | 0;
- ya = (i + 936) | 0;
- za = (i + 932) | 0;
- Aa = (i + 928) | 0;
- Ba = (i + 924) | 0;
- Ca = (i + 920) | 0;
- Da = (i + 916) | 0;
- Ea = (i + 912) | 0;
- Fa = (i + 908) | 0;
- Ga = (i + 904) | 0;
- Ha = (i + 900) | 0;
- Ia = (i + 896) | 0;
- Ja = (i + 892) | 0;
- Ka = (i + 888) | 0;
- La = (i + 884) | 0;
- Ma = (i + 880) | 0;
- Na = (i + 876) | 0;
- Oa = (i + 872) | 0;
- Pa = (i + 868) | 0;
- Qa = (i + 864) | 0;
- Ra = (i + 860) | 0;
- Sa = (i + 856) | 0;
- Ta = (i + 852) | 0;
- Ua = (i + 848) | 0;
- Va = (i + 844) | 0;
- Wa = (i + 840) | 0;
- Xa = (i + 836) | 0;
- Ya = (i + 832) | 0;
- Za = (i + 828) | 0;
- _a = (i + 824) | 0;
- $a = (i + 820) | 0;
- ab = (i + 816) | 0;
- bb = (i + 812) | 0;
- cb = (i + 808) | 0;
- db = (i + 804) | 0;
- eb = (i + 800) | 0;
- fb = (i + 796) | 0;
- gb = (i + 792) | 0;
- hb = (i + 788) | 0;
- ib = (i + 784) | 0;
- jb = (i + 780) | 0;
- kb = (i + 776) | 0;
- lb = (i + 772) | 0;
- mb = (i + 768) | 0;
- nb = (i + 764) | 0;
- ob = (i + 760) | 0;
- pb = (i + 756) | 0;
- qb = (i + 752) | 0;
- rb = (i + 748) | 0;
- sb = (i + 744) | 0;
- tb = (i + 740) | 0;
- ub = (i + 736) | 0;
- vb = (i + 732) | 0;
- wb = (i + 728) | 0;
- xb = (i + 724) | 0;
- yb = (i + 720) | 0;
- zb = (i + 716) | 0;
- Ab = (i + 712) | 0;
- Bb = (i + 708) | 0;
- Cb = (i + 704) | 0;
- Db = (i + 700) | 0;
- Eb = (i + 696) | 0;
- Fb = (i + 692) | 0;
- Gb = (i + 688) | 0;
- Hb = (i + 684) | 0;
- Ib = (i + 680) | 0;
- Jb = (i + 676) | 0;
- Kb = (i + 672) | 0;
- Lb = (i + 668) | 0;
- Mb = (i + 664) | 0;
- Nb = (i + 660) | 0;
- Ob = (i + 656) | 0;
- Pb = (i + 652) | 0;
- Qb = (i + 648) | 0;
- Rb = (i + 644) | 0;
- Sb = (i + 640) | 0;
- Tb = (i + 636) | 0;
- Ub = (i + 632) | 0;
- Vb = (i + 628) | 0;
- Wb = (i + 624) | 0;
- Xb = (i + 620) | 0;
- Yb = (i + 616) | 0;
- Zb = (i + 612) | 0;
- _b = (i + 608) | 0;
- $b = (i + 604) | 0;
- ac = (i + 600) | 0;
- bc = (i + 596) | 0;
- cc = (i + 592) | 0;
- dc = (i + 588) | 0;
- ec = (i + 584) | 0;
- fc = (i + 580) | 0;
- gc = (i + 576) | 0;
- hc = (i + 572) | 0;
- ic = (i + 568) | 0;
- jc = (i + 564) | 0;
- kc = (i + 560) | 0;
- lc = (i + 556) | 0;
- mc = (i + 552) | 0;
- nc = (i + 548) | 0;
- oc = (i + 544) | 0;
- pc = (i + 540) | 0;
- qc = (i + 536) | 0;
- rc = (i + 532) | 0;
- sc = (i + 528) | 0;
- tc = (i + 524) | 0;
- uc = (i + 520) | 0;
- vc = (i + 516) | 0;
- wc = (i + 512) | 0;
- xc = (i + 508) | 0;
- yc = (i + 504) | 0;
- zc = (i + 500) | 0;
- Ac = (i + 496) | 0;
- Bc = (i + 492) | 0;
- Cc = (i + 488) | 0;
- Dc = (i + 484) | 0;
- Ec = (i + 480) | 0;
- Fc = (i + 476) | 0;
- Gc = (i + 472) | 0;
- Hc = (i + 468) | 0;
- Ic = (i + 464) | 0;
- Jc = (i + 460) | 0;
- Kc = (i + 456) | 0;
- Lc = (i + 452) | 0;
- Mc = (i + 448) | 0;
- Nc = (i + 444) | 0;
- Oc = (i + 440) | 0;
- Pc = (i + 436) | 0;
- Qc = (i + 432) | 0;
- Rc = (i + 428) | 0;
- Sc = (i + 424) | 0;
- Tc = (i + 420) | 0;
- Uc = (i + 416) | 0;
- Vc = (i + 412) | 0;
- Wc = (i + 408) | 0;
- Xc = (i + 404) | 0;
- Yc = (i + 400) | 0;
- Zc = (i + 396) | 0;
- _c = (i + 392) | 0;
- $c = (i + 388) | 0;
- ad = (i + 384) | 0;
- bd = (i + 380) | 0;
- cd = (i + 376) | 0;
- dd = (i + 372) | 0;
- ed = (i + 368) | 0;
- fd = (i + 364) | 0;
- gd = (i + 360) | 0;
- hd = (i + 356) | 0;
- id = (i + 352) | 0;
- jd = (i + 348) | 0;
- kd = (i + 344) | 0;
- ld = (i + 340) | 0;
- md = (i + 336) | 0;
- nd = (i + 332) | 0;
- od = (i + 328) | 0;
- pd = (i + 324) | 0;
- qd = (i + 320) | 0;
- rd = (i + 316) | 0;
- sd = (i + 312) | 0;
- td = (i + 308) | 0;
- ud = (i + 304) | 0;
- vd = (i + 300) | 0;
- wd = (i + 296) | 0;
- xd = (i + 292) | 0;
- yd = (i + 288) | 0;
- zd = (i + 284) | 0;
- Ad = (i + 280) | 0;
- Bd = (i + 276) | 0;
- Cd = (i + 272) | 0;
- Dd = (i + 268) | 0;
- Ed = (i + 264) | 0;
- Fd = (i + 260) | 0;
- Gd = (i + 256) | 0;
- Hd = (i + 252) | 0;
- Id = (i + 248) | 0;
- Jd = (i + 244) | 0;
- Kd = (i + 240) | 0;
- Ld = (i + 236) | 0;
- Md = (i + 232) | 0;
- Nd = (i + 228) | 0;
- Od = (i + 224) | 0;
- Pd = (i + 220) | 0;
- Qd = (i + 216) | 0;
- Rd = (i + 212) | 0;
- Sd = (i + 208) | 0;
- Td = (i + 204) | 0;
- Ud = (i + 200) | 0;
- Vd = (i + 196) | 0;
- Wd = (i + 192) | 0;
- Xd = (i + 172) | 0;
- Yd = (i + 152) | 0;
- Zd = (i + 132) | 0;
- _d = (i + 112) | 0;
- $d = (i + 108) | 0;
- ae = (i + 104) | 0;
- be = (i + 100) | 0;
- ce = (i + 96) | 0;
- de = (i + 92) | 0;
- ee = (i + 88) | 0;
- fe = (i + 84) | 0;
- ge = (i + 80) | 0;
- he = (i + 76) | 0;
- ie = (i + 72) | 0;
- je = (i + 68) | 0;
- ke = (i + 64) | 0;
- le = (i + 60) | 0;
- me = (i + 56) | 0;
- ne = (i + 52) | 0;
- oe = (i + 48) | 0;
- pe = (i + 44) | 0;
- qe = (i + 1212) | 0;
- re = (i + 40) | 0;
- se = (i + 36) | 0;
- te = (i + 32) | 0;
- ue = (i + 28) | 0;
- ve = (i + 24) | 0;
- we = (i + 20) | 0;
- xe = (i + 16) | 0;
- ye = (i + 12) | 0;
- ze = (i + 8) | 0;
- Ae = (i + 4) | 0;
- Be = i;
- c[xe >> 2] = b;
- c[ye >> 2] = e;
- c[ze >> 2] = f;
- c[Ae >> 2] = g;
- c[Be >> 2] = h;
- h = c[ye >> 2] | 0;
- ye = c[ze >> 2] | 0;
- ze = c[Ae >> 2] | 0;
- Ae = c[Be >> 2] | 0;
- c[Nd >> 2] = c[xe >> 2];
- c[Od >> 2] = h;
- c[Pd >> 2] = ye;
- c[Qd >> 2] = ze;
- c[Rd >> 2] = Ae;
- if ((c[Qd >> 2] | 0) >>> 0 < 10) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[Sd >> 2] = c[Pd >> 2];
- c[Td >> 2] = c[Nd >> 2];
- c[Ud >> 2] = (c[Td >> 2] | 0) + (c[Od >> 2] | 0);
- c[Vd >> 2] = (c[Rd >> 2] | 0) + 4;
- c[Wd >> 2] = c[Vd >> 2];
- c[$d >> 2] = (yp(c[Sd >> 2] | 0) | 0) & 65535;
- c[ae >> 2] = (yp(((c[Sd >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[be >> 2] = (yp(((c[Sd >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[ce >> 2] =
- (c[Qd >> 2] | 0) -
- ((c[$d >> 2] | 0) +
- (c[ae >> 2] | 0) +
- (c[be >> 2] | 0) +
- 6);
- c[de >> 2] = (c[Sd >> 2] | 0) + 6;
- c[ee >> 2] = (c[de >> 2] | 0) + (c[$d >> 2] | 0);
- c[fe >> 2] = (c[ee >> 2] | 0) + (c[ae >> 2] | 0);
- c[ge >> 2] = (c[fe >> 2] | 0) + (c[be >> 2] | 0);
- c[he >> 2] = (((((c[Od >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[ie >> 2] = (c[Td >> 2] | 0) + (c[he >> 2] | 0);
- c[je >> 2] = (c[ie >> 2] | 0) + (c[he >> 2] | 0);
- c[ke >> 2] = (c[je >> 2] | 0) + (c[he >> 2] | 0);
- c[le >> 2] = c[Td >> 2];
- c[me >> 2] = c[ie >> 2];
- c[ne >> 2] = c[je >> 2];
- c[oe >> 2] = c[ke >> 2];
- bp(qe, c[Rd >> 2] | 0);
- c[re >> 2] = d[(qe + 2) >> 0];
- if ((c[ce >> 2] | 0) >>> 0 > (c[Qd >> 2] | 0) >>> 0) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[se >> 2] = fp(Xd, c[de >> 2] | 0, c[$d >> 2] | 0) | 0;
- if (ap(c[se >> 2] | 0) | 0) {
- c[Md >> 2] = c[se >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[te >> 2] = fp(Yd, c[ee >> 2] | 0, c[ae >> 2] | 0) | 0;
- if (ap(c[te >> 2] | 0) | 0) {
- c[Md >> 2] = c[te >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[ue >> 2] = fp(Zd, c[fe >> 2] | 0, c[be >> 2] | 0) | 0;
- if (ap(c[ue >> 2] | 0) | 0) {
- c[Md >> 2] = c[ue >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[ve >> 2] = fp(_d, c[ge >> 2] | 0, c[ce >> 2] | 0) | 0;
- if (ap(c[ve >> 2] | 0) | 0) {
- c[Md >> 2] = c[ve >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- ve = gp(Xd) | 0;
- ce = ve | (gp(Yd) | 0);
- ve = ce | (gp(Zd) | 0);
- c[pe >> 2] = ve | (gp(_d) | 0);
- while (1) {
- if (
- !(
- ((c[pe >> 2] | 0) == 0
- ? (c[oe >> 2] | 0) >>> 0 <
- (((c[Ud >> 2] | 0) + -3) | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Hd >> 2] = c[le >> 2];
- c[Id >> 2] = Xd;
- c[Jd >> 2] = ve;
- c[Kd >> 2] = ce;
- c[Ld >> 2] = ip(c[Id >> 2] | 0, c[Kd >> 2] | 0) | 0;
- ce = c[Hd >> 2] | 0;
- ve = ((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Id >> 2] | 0,
- d[((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2) + 2) >> 0] | 0
- );
- c[le >> 2] =
- (c[le >> 2] | 0) +
- (d[((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Cd >> 2] = c[me >> 2];
- c[Dd >> 2] = Yd;
- c[Ed >> 2] = ve;
- c[Fd >> 2] = ce;
- c[Gd >> 2] = ip(c[Dd >> 2] | 0, c[Fd >> 2] | 0) | 0;
- ce = c[Cd >> 2] | 0;
- ve = ((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Dd >> 2] | 0,
- d[((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2) + 2) >> 0] | 0
- );
- c[me >> 2] =
- (c[me >> 2] | 0) +
- (d[((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[xd >> 2] = c[ne >> 2];
- c[yd >> 2] = Zd;
- c[zd >> 2] = ve;
- c[Ad >> 2] = ce;
- c[Bd >> 2] = ip(c[yd >> 2] | 0, c[Ad >> 2] | 0) | 0;
- ce = c[xd >> 2] | 0;
- ve = ((c[zd >> 2] | 0) + (c[Bd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[yd >> 2] | 0,
- d[((c[zd >> 2] | 0) + (c[Bd >> 2] << 2) + 2) >> 0] | 0
- );
- c[ne >> 2] =
- (c[ne >> 2] | 0) +
- (d[((c[zd >> 2] | 0) + (c[Bd >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[sd >> 2] = c[oe >> 2];
- c[td >> 2] = _d;
- c[ud >> 2] = ve;
- c[vd >> 2] = ce;
- c[wd >> 2] = ip(c[td >> 2] | 0, c[vd >> 2] | 0) | 0;
- ce = c[sd >> 2] | 0;
- ve = ((c[ud >> 2] | 0) + (c[wd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[td >> 2] | 0,
- d[((c[ud >> 2] | 0) + (c[wd >> 2] << 2) + 2) >> 0] | 0
- );
- c[oe >> 2] =
- (c[oe >> 2] | 0) +
- (d[((c[ud >> 2] | 0) + (c[wd >> 2] << 2) + 3) >> 0] |
- 0);
- }
- hp() | 0;
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[nd >> 2] = c[le >> 2];
- c[od >> 2] = Xd;
- c[pd >> 2] = ve;
- c[qd >> 2] = ce;
- c[rd >> 2] = ip(c[od >> 2] | 0, c[qd >> 2] | 0) | 0;
- ce = c[nd >> 2] | 0;
- ve = ((c[pd >> 2] | 0) + (c[rd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[od >> 2] | 0,
- d[((c[pd >> 2] | 0) + (c[rd >> 2] << 2) + 2) >> 0] | 0
- );
- c[le >> 2] =
- (c[le >> 2] | 0) +
- (d[((c[pd >> 2] | 0) + (c[rd >> 2] << 2) + 3) >> 0] | 0);
- hp() | 0;
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[id >> 2] = c[me >> 2];
- c[jd >> 2] = Yd;
- c[kd >> 2] = ve;
- c[ld >> 2] = ce;
- c[md >> 2] = ip(c[jd >> 2] | 0, c[ld >> 2] | 0) | 0;
- ce = c[id >> 2] | 0;
- ve = ((c[kd >> 2] | 0) + (c[md >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[jd >> 2] | 0,
- d[((c[kd >> 2] | 0) + (c[md >> 2] << 2) + 2) >> 0] | 0
- );
- c[me >> 2] =
- (c[me >> 2] | 0) +
- (d[((c[kd >> 2] | 0) + (c[md >> 2] << 2) + 3) >> 0] | 0);
- hp() | 0;
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[dd >> 2] = c[ne >> 2];
- c[ed >> 2] = Zd;
- c[fd >> 2] = ve;
- c[gd >> 2] = ce;
- c[hd >> 2] = ip(c[ed >> 2] | 0, c[gd >> 2] | 0) | 0;
- ce = c[dd >> 2] | 0;
- ve = ((c[fd >> 2] | 0) + (c[hd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[ed >> 2] | 0,
- d[((c[fd >> 2] | 0) + (c[hd >> 2] << 2) + 2) >> 0] | 0
- );
- c[ne >> 2] =
- (c[ne >> 2] | 0) +
- (d[((c[fd >> 2] | 0) + (c[hd >> 2] << 2) + 3) >> 0] | 0);
- hp() | 0;
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[_c >> 2] = c[oe >> 2];
- c[$c >> 2] = _d;
- c[ad >> 2] = ve;
- c[bd >> 2] = ce;
- c[cd >> 2] = ip(c[$c >> 2] | 0, c[bd >> 2] | 0) | 0;
- ce = c[_c >> 2] | 0;
- ve = ((c[ad >> 2] | 0) + (c[cd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[$c >> 2] | 0,
- d[((c[ad >> 2] | 0) + (c[cd >> 2] << 2) + 2) >> 0] | 0
- );
- c[oe >> 2] =
- (c[oe >> 2] | 0) +
- (d[((c[ad >> 2] | 0) + (c[cd >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Vc >> 2] = c[le >> 2];
- c[Wc >> 2] = Xd;
- c[Xc >> 2] = ve;
- c[Yc >> 2] = ce;
- c[Zc >> 2] = ip(c[Wc >> 2] | 0, c[Yc >> 2] | 0) | 0;
- ce = c[Vc >> 2] | 0;
- ve = ((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Wc >> 2] | 0,
- d[((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2) + 2) >> 0] | 0
- );
- c[le >> 2] =
- (c[le >> 2] | 0) +
- (d[((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Qc >> 2] = c[me >> 2];
- c[Rc >> 2] = Yd;
- c[Sc >> 2] = ve;
- c[Tc >> 2] = ce;
- c[Uc >> 2] = ip(c[Rc >> 2] | 0, c[Tc >> 2] | 0) | 0;
- ce = c[Qc >> 2] | 0;
- ve = ((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Rc >> 2] | 0,
- d[((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2) + 2) >> 0] | 0
- );
- c[me >> 2] =
- (c[me >> 2] | 0) +
- (d[((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Lc >> 2] = c[ne >> 2];
- c[Mc >> 2] = Zd;
- c[Nc >> 2] = ve;
- c[Oc >> 2] = ce;
- c[Pc >> 2] = ip(c[Mc >> 2] | 0, c[Oc >> 2] | 0) | 0;
- ce = c[Lc >> 2] | 0;
- ve = ((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Mc >> 2] | 0,
- d[((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2) + 2) >> 0] | 0
- );
- c[ne >> 2] =
- (c[ne >> 2] | 0) +
- (d[((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Gc >> 2] = c[oe >> 2];
- c[Hc >> 2] = _d;
- c[Ic >> 2] = ve;
- c[Jc >> 2] = ce;
- c[Kc >> 2] = ip(c[Hc >> 2] | 0, c[Jc >> 2] | 0) | 0;
- ce = c[Gc >> 2] | 0;
- ve = ((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Hc >> 2] | 0,
- d[((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2) + 2) >> 0] | 0
- );
- c[oe >> 2] =
- (c[oe >> 2] | 0) +
- (d[((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Bc >> 2] = c[le >> 2];
- c[Cc >> 2] = Xd;
- c[Dc >> 2] = ve;
- c[Ec >> 2] = ce;
- c[Fc >> 2] = ip(c[Cc >> 2] | 0, c[Ec >> 2] | 0) | 0;
- ce = c[Bc >> 2] | 0;
- ve = ((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Cc >> 2] | 0,
- d[((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2) + 2) >> 0] | 0
- );
- c[le >> 2] =
- (c[le >> 2] | 0) +
- (d[((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2) + 3) >> 0] | 0);
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[wc >> 2] = c[me >> 2];
- c[xc >> 2] = Yd;
- c[yc >> 2] = ve;
- c[zc >> 2] = ce;
- c[Ac >> 2] = ip(c[xc >> 2] | 0, c[zc >> 2] | 0) | 0;
- ce = c[wc >> 2] | 0;
- ve = ((c[yc >> 2] | 0) + (c[Ac >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[xc >> 2] | 0,
- d[((c[yc >> 2] | 0) + (c[Ac >> 2] << 2) + 2) >> 0] | 0
- );
- c[me >> 2] =
- (c[me >> 2] | 0) +
- (d[((c[yc >> 2] | 0) + (c[Ac >> 2] << 2) + 3) >> 0] | 0);
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[rc >> 2] = c[ne >> 2];
- c[sc >> 2] = Zd;
- c[tc >> 2] = ve;
- c[uc >> 2] = ce;
- c[vc >> 2] = ip(c[sc >> 2] | 0, c[uc >> 2] | 0) | 0;
- ce = c[rc >> 2] | 0;
- ve = ((c[tc >> 2] | 0) + (c[vc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[sc >> 2] | 0,
- d[((c[tc >> 2] | 0) + (c[vc >> 2] << 2) + 2) >> 0] | 0
- );
- c[ne >> 2] =
- (c[ne >> 2] | 0) +
- (d[((c[tc >> 2] | 0) + (c[vc >> 2] << 2) + 3) >> 0] | 0);
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[mc >> 2] = c[oe >> 2];
- c[nc >> 2] = _d;
- c[oc >> 2] = ve;
- c[pc >> 2] = ce;
- c[qc >> 2] = ip(c[nc >> 2] | 0, c[pc >> 2] | 0) | 0;
- ce = c[mc >> 2] | 0;
- ve = ((c[oc >> 2] | 0) + (c[qc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[nc >> 2] | 0,
- d[((c[oc >> 2] | 0) + (c[qc >> 2] << 2) + 2) >> 0] | 0
- );
- c[oe >> 2] =
- (c[oe >> 2] | 0) +
- (d[((c[oc >> 2] | 0) + (c[qc >> 2] << 2) + 3) >> 0] | 0);
- ve = gp(Xd) | 0;
- ce = ve | (gp(Yd) | 0);
- ve = ce | (gp(Zd) | 0);
- c[pe >> 2] = ve | (gp(_d) | 0);
- }
- if ((c[le >> 2] | 0) >>> 0 > (c[ie >> 2] | 0) >>> 0) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- if ((c[me >> 2] | 0) >>> 0 > (c[je >> 2] | 0) >>> 0) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- if ((c[ne >> 2] | 0) >>> 0 > (c[ke >> 2] | 0) >>> 0) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- pe = c[ie >> 2] | 0;
- ie = c[Wd >> 2] | 0;
- qc = c[re >> 2] | 0;
- c[gc >> 2] = c[le >> 2];
- c[hc >> 2] = Xd;
- c[ic >> 2] = pe;
- c[jc >> 2] = ie;
- c[kc >> 2] = qc;
- c[lc >> 2] = c[gc >> 2];
- while (1) {
- lc = ((gp(c[hc >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- lc &
- ((c[gc >> 2] | 0) >>> 0 <
- (((c[ic >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- lc = c[hc >> 2] | 0;
- qc = c[jc >> 2] | 0;
- ie = c[kc >> 2] | 0;
- c[bc >> 2] = c[gc >> 2];
- c[cc >> 2] = lc;
- c[dc >> 2] = qc;
- c[ec >> 2] = ie;
- c[fc >> 2] = ip(c[cc >> 2] | 0, c[ec >> 2] | 0) | 0;
- ie = c[bc >> 2] | 0;
- qc = ((c[dc >> 2] | 0) + (c[fc >> 2] << 2)) | 0;
- a[ie >> 0] = a[qc >> 0] | 0;
- a[(ie + 1) >> 0] = a[(qc + 1) >> 0] | 0;
- jp(
- c[cc >> 2] | 0,
- d[((c[dc >> 2] | 0) + (c[fc >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[dc >> 2] | 0) + (c[fc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- hp() | 0;
- qc = c[hc >> 2] | 0;
- ie = c[jc >> 2] | 0;
- lc = c[kc >> 2] | 0;
- c[Yb >> 2] = c[gc >> 2];
- c[Zb >> 2] = qc;
- c[_b >> 2] = ie;
- c[$b >> 2] = lc;
- c[ac >> 2] = ip(c[Zb >> 2] | 0, c[$b >> 2] | 0) | 0;
- lc = c[Yb >> 2] | 0;
- ie = ((c[_b >> 2] | 0) + (c[ac >> 2] << 2)) | 0;
- a[lc >> 0] = a[ie >> 0] | 0;
- a[(lc + 1) >> 0] = a[(ie + 1) >> 0] | 0;
- jp(
- c[Zb >> 2] | 0,
- d[((c[_b >> 2] | 0) + (c[ac >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[_b >> 2] | 0) + (c[ac >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- ie = c[hc >> 2] | 0;
- lc = c[jc >> 2] | 0;
- qc = c[kc >> 2] | 0;
- c[Tb >> 2] = c[gc >> 2];
- c[Ub >> 2] = ie;
- c[Vb >> 2] = lc;
- c[Wb >> 2] = qc;
- c[Xb >> 2] = ip(c[Ub >> 2] | 0, c[Wb >> 2] | 0) | 0;
- qc = c[Tb >> 2] | 0;
- lc = ((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2)) | 0;
- a[qc >> 0] = a[lc >> 0] | 0;
- a[(qc + 1) >> 0] = a[(lc + 1) >> 0] | 0;
- jp(
- c[Ub >> 2] | 0,
- d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2) + 3) >> 0] |
- 0);
- }
- lc = c[hc >> 2] | 0;
- qc = c[jc >> 2] | 0;
- ie = c[kc >> 2] | 0;
- c[Ob >> 2] = c[gc >> 2];
- c[Pb >> 2] = lc;
- c[Qb >> 2] = qc;
- c[Rb >> 2] = ie;
- c[Sb >> 2] = ip(c[Pb >> 2] | 0, c[Rb >> 2] | 0) | 0;
- ie = c[Ob >> 2] | 0;
- qc = ((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2)) | 0;
- a[ie >> 0] = a[qc >> 0] | 0;
- a[(ie + 1) >> 0] = a[(qc + 1) >> 0] | 0;
- jp(
- c[Pb >> 2] | 0,
- d[((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- Sb = ((gp(c[hc >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Sb &
- ((c[gc >> 2] | 0) >>> 0 <=
- (((c[ic >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- Sb = c[hc >> 2] | 0;
- Qb = c[jc >> 2] | 0;
- Pb = c[kc >> 2] | 0;
- c[Jb >> 2] = c[gc >> 2];
- c[Kb >> 2] = Sb;
- c[Lb >> 2] = Qb;
- c[Mb >> 2] = Pb;
- c[Nb >> 2] = ip(c[Kb >> 2] | 0, c[Mb >> 2] | 0) | 0;
- Pb = c[Jb >> 2] | 0;
- Qb = ((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2)) | 0;
- a[Pb >> 0] = a[Qb >> 0] | 0;
- a[(Pb + 1) >> 0] = a[(Qb + 1) >> 0] | 0;
- jp(
- c[Kb >> 2] | 0,
- d[((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- De = c[gc >> 2] | 0;
- if (
- (c[gc >> 2] | 0) >>> 0 >
- (((c[ic >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- Nb = c[hc >> 2] | 0;
- Lb = c[jc >> 2] | 0;
- Kb = c[kc >> 2] | 0;
- c[Eb >> 2] = De;
- c[Fb >> 2] = Nb;
- c[Gb >> 2] = Lb;
- c[Hb >> 2] = Kb;
- c[Ib >> 2] = ip(c[Fb >> 2] | 0, c[Hb >> 2] | 0) | 0;
- Kb = c[Eb >> 2] | 0;
- Lb = ((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2)) | 0;
- a[Kb >> 0] = a[Lb >> 0] | 0;
- a[(Kb + 1) >> 0] = a[(Lb + 1) >> 0] | 0;
- jp(
- c[Fb >> 2] | 0,
- d[((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2) + 3) >> 0] | 0);
- }
- if (De >>> 0 < (c[ic >> 2] | 0) >>> 0) {
- ic = c[hc >> 2] | 0;
- hc = c[jc >> 2] | 0;
- jc = c[kc >> 2] | 0;
- c[zb >> 2] = c[gc >> 2];
- c[Ab >> 2] = ic;
- c[Bb >> 2] = hc;
- c[Cb >> 2] = jc;
- c[Db >> 2] = ip(c[Ab >> 2] | 0, c[Cb >> 2] | 0) | 0;
- a[c[zb >> 2] >> 0] =
- a[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2)) >> 0] | 0;
- zb = c[Ab >> 2] | 0;
- if (
- (d[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(zb + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[Ab >> 2] | 0,
- d[
- ((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 2) >> 0
- ] | 0
- ),
- (c[((c[Ab >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[Ab >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- zb,
- d[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] = (c[gc >> 2] | 0) + 1;
- }
- gc = c[je >> 2] | 0;
- je = c[Wd >> 2] | 0;
- Db = c[re >> 2] | 0;
- c[tb >> 2] = c[me >> 2];
- c[ub >> 2] = Yd;
- c[vb >> 2] = gc;
- c[wb >> 2] = je;
- c[xb >> 2] = Db;
- c[yb >> 2] = c[tb >> 2];
- while (1) {
- yb = ((gp(c[ub >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- yb &
- ((c[tb >> 2] | 0) >>> 0 <
- (((c[vb >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- yb = c[ub >> 2] | 0;
- Db = c[wb >> 2] | 0;
- je = c[xb >> 2] | 0;
- c[ob >> 2] = c[tb >> 2];
- c[pb >> 2] = yb;
- c[qb >> 2] = Db;
- c[rb >> 2] = je;
- c[sb >> 2] = ip(c[pb >> 2] | 0, c[rb >> 2] | 0) | 0;
- je = c[ob >> 2] | 0;
- Db = ((c[qb >> 2] | 0) + (c[sb >> 2] << 2)) | 0;
- a[je >> 0] = a[Db >> 0] | 0;
- a[(je + 1) >> 0] = a[(Db + 1) >> 0] | 0;
- jp(
- c[pb >> 2] | 0,
- d[((c[qb >> 2] | 0) + (c[sb >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[qb >> 2] | 0) + (c[sb >> 2] << 2) + 3) >> 0] |
- 0);
- }
- hp() | 0;
- Db = c[ub >> 2] | 0;
- je = c[wb >> 2] | 0;
- yb = c[xb >> 2] | 0;
- c[jb >> 2] = c[tb >> 2];
- c[kb >> 2] = Db;
- c[lb >> 2] = je;
- c[mb >> 2] = yb;
- c[nb >> 2] = ip(c[kb >> 2] | 0, c[mb >> 2] | 0) | 0;
- yb = c[jb >> 2] | 0;
- je = ((c[lb >> 2] | 0) + (c[nb >> 2] << 2)) | 0;
- a[yb >> 0] = a[je >> 0] | 0;
- a[(yb + 1) >> 0] = a[(je + 1) >> 0] | 0;
- jp(
- c[kb >> 2] | 0,
- d[((c[lb >> 2] | 0) + (c[nb >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[lb >> 2] | 0) + (c[nb >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- je = c[ub >> 2] | 0;
- yb = c[wb >> 2] | 0;
- Db = c[xb >> 2] | 0;
- c[eb >> 2] = c[tb >> 2];
- c[fb >> 2] = je;
- c[gb >> 2] = yb;
- c[hb >> 2] = Db;
- c[ib >> 2] = ip(c[fb >> 2] | 0, c[hb >> 2] | 0) | 0;
- Db = c[eb >> 2] | 0;
- yb = ((c[gb >> 2] | 0) + (c[ib >> 2] << 2)) | 0;
- a[Db >> 0] = a[yb >> 0] | 0;
- a[(Db + 1) >> 0] = a[(yb + 1) >> 0] | 0;
- jp(
- c[fb >> 2] | 0,
- d[((c[gb >> 2] | 0) + (c[ib >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[gb >> 2] | 0) + (c[ib >> 2] << 2) + 3) >> 0] |
- 0);
- }
- yb = c[ub >> 2] | 0;
- Db = c[wb >> 2] | 0;
- je = c[xb >> 2] | 0;
- c[$a >> 2] = c[tb >> 2];
- c[ab >> 2] = yb;
- c[bb >> 2] = Db;
- c[cb >> 2] = je;
- c[db >> 2] = ip(c[ab >> 2] | 0, c[cb >> 2] | 0) | 0;
- je = c[$a >> 2] | 0;
- Db = ((c[bb >> 2] | 0) + (c[db >> 2] << 2)) | 0;
- a[je >> 0] = a[Db >> 0] | 0;
- a[(je + 1) >> 0] = a[(Db + 1) >> 0] | 0;
- jp(
- c[ab >> 2] | 0,
- d[((c[bb >> 2] | 0) + (c[db >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[bb >> 2] | 0) + (c[db >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- db = ((gp(c[ub >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- db &
- ((c[tb >> 2] | 0) >>> 0 <=
- (((c[vb >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- db = c[ub >> 2] | 0;
- bb = c[wb >> 2] | 0;
- ab = c[xb >> 2] | 0;
- c[Wa >> 2] = c[tb >> 2];
- c[Xa >> 2] = db;
- c[Ya >> 2] = bb;
- c[Za >> 2] = ab;
- c[_a >> 2] = ip(c[Xa >> 2] | 0, c[Za >> 2] | 0) | 0;
- ab = c[Wa >> 2] | 0;
- bb = ((c[Ya >> 2] | 0) + (c[_a >> 2] << 2)) | 0;
- a[ab >> 0] = a[bb >> 0] | 0;
- a[(ab + 1) >> 0] = a[(bb + 1) >> 0] | 0;
- jp(
- c[Xa >> 2] | 0,
- d[((c[Ya >> 2] | 0) + (c[_a >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[Ya >> 2] | 0) + (c[_a >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- Ee = c[tb >> 2] | 0;
- if (
- (c[tb >> 2] | 0) >>> 0 >
- (((c[vb >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- _a = c[ub >> 2] | 0;
- Ya = c[wb >> 2] | 0;
- Xa = c[xb >> 2] | 0;
- c[Ra >> 2] = Ee;
- c[Sa >> 2] = _a;
- c[Ta >> 2] = Ya;
- c[Ua >> 2] = Xa;
- c[Va >> 2] = ip(c[Sa >> 2] | 0, c[Ua >> 2] | 0) | 0;
- Xa = c[Ra >> 2] | 0;
- Ya = ((c[Ta >> 2] | 0) + (c[Va >> 2] << 2)) | 0;
- a[Xa >> 0] = a[Ya >> 0] | 0;
- a[(Xa + 1) >> 0] = a[(Ya + 1) >> 0] | 0;
- jp(
- c[Sa >> 2] | 0,
- d[((c[Ta >> 2] | 0) + (c[Va >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[Ta >> 2] | 0) + (c[Va >> 2] << 2) + 3) >> 0] | 0);
- }
- if (Ee >>> 0 < (c[vb >> 2] | 0) >>> 0) {
- vb = c[ub >> 2] | 0;
- ub = c[wb >> 2] | 0;
- wb = c[xb >> 2] | 0;
- c[Ma >> 2] = c[tb >> 2];
- c[Na >> 2] = vb;
- c[Oa >> 2] = ub;
- c[Pa >> 2] = wb;
- c[Qa >> 2] = ip(c[Na >> 2] | 0, c[Pa >> 2] | 0) | 0;
- a[c[Ma >> 2] >> 0] =
- a[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2)) >> 0] | 0;
- Ma = c[Na >> 2] | 0;
- if (
- (d[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(Ma + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[Na >> 2] | 0,
- d[
- ((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 2) >> 0
- ] | 0
- ),
- (c[((c[Na >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[Na >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- Ma,
- d[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] = (c[tb >> 2] | 0) + 1;
- }
- tb = c[ke >> 2] | 0;
- ke = c[Wd >> 2] | 0;
- Qa = c[re >> 2] | 0;
- c[Ga >> 2] = c[ne >> 2];
- c[Ha >> 2] = Zd;
- c[Ia >> 2] = tb;
- c[Ja >> 2] = ke;
- c[Ka >> 2] = Qa;
- c[La >> 2] = c[Ga >> 2];
- while (1) {
- La = ((gp(c[Ha >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- La &
- ((c[Ga >> 2] | 0) >>> 0 <
- (((c[Ia >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- La = c[Ha >> 2] | 0;
- Qa = c[Ja >> 2] | 0;
- ke = c[Ka >> 2] | 0;
- c[Ba >> 2] = c[Ga >> 2];
- c[Ca >> 2] = La;
- c[Da >> 2] = Qa;
- c[Ea >> 2] = ke;
- c[Fa >> 2] = ip(c[Ca >> 2] | 0, c[Ea >> 2] | 0) | 0;
- ke = c[Ba >> 2] | 0;
- Qa = ((c[Da >> 2] | 0) + (c[Fa >> 2] << 2)) | 0;
- a[ke >> 0] = a[Qa >> 0] | 0;
- a[(ke + 1) >> 0] = a[(Qa + 1) >> 0] | 0;
- jp(
- c[Ca >> 2] | 0,
- d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 2) + 3) >> 0] |
- 0);
- }
- hp() | 0;
- Qa = c[Ha >> 2] | 0;
- ke = c[Ja >> 2] | 0;
- La = c[Ka >> 2] | 0;
- c[wa >> 2] = c[Ga >> 2];
- c[xa >> 2] = Qa;
- c[ya >> 2] = ke;
- c[za >> 2] = La;
- c[Aa >> 2] = ip(c[xa >> 2] | 0, c[za >> 2] | 0) | 0;
- La = c[wa >> 2] | 0;
- ke = ((c[ya >> 2] | 0) + (c[Aa >> 2] << 2)) | 0;
- a[La >> 0] = a[ke >> 0] | 0;
- a[(La + 1) >> 0] = a[(ke + 1) >> 0] | 0;
- jp(
- c[xa >> 2] | 0,
- d[((c[ya >> 2] | 0) + (c[Aa >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[ya >> 2] | 0) + (c[Aa >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- ke = c[Ha >> 2] | 0;
- La = c[Ja >> 2] | 0;
- Qa = c[Ka >> 2] | 0;
- c[ra >> 2] = c[Ga >> 2];
- c[sa >> 2] = ke;
- c[ta >> 2] = La;
- c[ua >> 2] = Qa;
- c[va >> 2] = ip(c[sa >> 2] | 0, c[ua >> 2] | 0) | 0;
- Qa = c[ra >> 2] | 0;
- La = ((c[ta >> 2] | 0) + (c[va >> 2] << 2)) | 0;
- a[Qa >> 0] = a[La >> 0] | 0;
- a[(Qa + 1) >> 0] = a[(La + 1) >> 0] | 0;
- jp(
- c[sa >> 2] | 0,
- d[((c[ta >> 2] | 0) + (c[va >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[ta >> 2] | 0) + (c[va >> 2] << 2) + 3) >> 0] |
- 0);
- }
- La = c[Ha >> 2] | 0;
- Qa = c[Ja >> 2] | 0;
- ke = c[Ka >> 2] | 0;
- c[ma >> 2] = c[Ga >> 2];
- c[na >> 2] = La;
- c[oa >> 2] = Qa;
- c[pa >> 2] = ke;
- c[qa >> 2] = ip(c[na >> 2] | 0, c[pa >> 2] | 0) | 0;
- ke = c[ma >> 2] | 0;
- Qa = ((c[oa >> 2] | 0) + (c[qa >> 2] << 2)) | 0;
- a[ke >> 0] = a[Qa >> 0] | 0;
- a[(ke + 1) >> 0] = a[(Qa + 1) >> 0] | 0;
- jp(
- c[na >> 2] | 0,
- d[((c[oa >> 2] | 0) + (c[qa >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[oa >> 2] | 0) + (c[qa >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- qa = ((gp(c[Ha >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- qa &
- ((c[Ga >> 2] | 0) >>> 0 <=
- (((c[Ia >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- qa = c[Ha >> 2] | 0;
- oa = c[Ja >> 2] | 0;
- na = c[Ka >> 2] | 0;
- c[ha >> 2] = c[Ga >> 2];
- c[ia >> 2] = qa;
- c[ja >> 2] = oa;
- c[ka >> 2] = na;
- c[la >> 2] = ip(c[ia >> 2] | 0, c[ka >> 2] | 0) | 0;
- na = c[ha >> 2] | 0;
- oa = ((c[ja >> 2] | 0) + (c[la >> 2] << 2)) | 0;
- a[na >> 0] = a[oa >> 0] | 0;
- a[(na + 1) >> 0] = a[(oa + 1) >> 0] | 0;
- jp(
- c[ia >> 2] | 0,
- d[((c[ja >> 2] | 0) + (c[la >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[ja >> 2] | 0) + (c[la >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- Fe = c[Ga >> 2] | 0;
- if (
- (c[Ga >> 2] | 0) >>> 0 >
- (((c[Ia >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- la = c[Ha >> 2] | 0;
- ja = c[Ja >> 2] | 0;
- ia = c[Ka >> 2] | 0;
- c[ca >> 2] = Fe;
- c[da >> 2] = la;
- c[ea >> 2] = ja;
- c[fa >> 2] = ia;
- c[ga >> 2] = ip(c[da >> 2] | 0, c[fa >> 2] | 0) | 0;
- ia = c[ca >> 2] | 0;
- ja = ((c[ea >> 2] | 0) + (c[ga >> 2] << 2)) | 0;
- a[ia >> 0] = a[ja >> 0] | 0;
- a[(ia + 1) >> 0] = a[(ja + 1) >> 0] | 0;
- jp(
- c[da >> 2] | 0,
- d[((c[ea >> 2] | 0) + (c[ga >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[ea >> 2] | 0) + (c[ga >> 2] << 2) + 3) >> 0] | 0);
- }
- if (Fe >>> 0 < (c[Ia >> 2] | 0) >>> 0) {
- Ia = c[Ha >> 2] | 0;
- Ha = c[Ja >> 2] | 0;
- Ja = c[Ka >> 2] | 0;
- c[Z >> 2] = c[Ga >> 2];
- c[_ >> 2] = Ia;
- c[$ >> 2] = Ha;
- c[aa >> 2] = Ja;
- c[ba >> 2] = ip(c[_ >> 2] | 0, c[aa >> 2] | 0) | 0;
- a[c[Z >> 2] >> 0] =
- a[((c[$ >> 2] | 0) + (c[ba >> 2] << 2)) >> 0] | 0;
- Z = c[_ >> 2] | 0;
- if (
- (d[((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(Z + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[_ >> 2] | 0,
- d[
- ((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 2) >> 0
- ] | 0
- ),
- (c[((c[_ >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[_ >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- Z,
- d[((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] = (c[Ga >> 2] | 0) + 1;
- }
- Ga = c[Ud >> 2] | 0;
- Ud = c[Wd >> 2] | 0;
- Wd = c[re >> 2] | 0;
- c[T >> 2] = c[oe >> 2];
- c[U >> 2] = _d;
- c[V >> 2] = Ga;
- c[W >> 2] = Ud;
- c[X >> 2] = Wd;
- c[Y >> 2] = c[T >> 2];
- while (1) {
- Y = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Y &
- ((c[T >> 2] | 0) >>> 0 <
- (((c[V >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- Y = c[U >> 2] | 0;
- Wd = c[W >> 2] | 0;
- Ud = c[X >> 2] | 0;
- c[O >> 2] = c[T >> 2];
- c[P >> 2] = Y;
- c[Q >> 2] = Wd;
- c[R >> 2] = Ud;
- c[S >> 2] = ip(c[P >> 2] | 0, c[R >> 2] | 0) | 0;
- Ud = c[O >> 2] | 0;
- Wd = ((c[Q >> 2] | 0) + (c[S >> 2] << 2)) | 0;
- a[Ud >> 0] = a[Wd >> 0] | 0;
- a[(Ud + 1) >> 0] = a[(Wd + 1) >> 0] | 0;
- jp(
- c[P >> 2] | 0,
- d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 3) >> 0] | 0);
- }
- hp() | 0;
- Wd = c[U >> 2] | 0;
- Ud = c[W >> 2] | 0;
- Y = c[X >> 2] | 0;
- c[J >> 2] = c[T >> 2];
- c[K >> 2] = Wd;
- c[L >> 2] = Ud;
- c[M >> 2] = Y;
- c[N >> 2] = ip(c[K >> 2] | 0, c[M >> 2] | 0) | 0;
- Y = c[J >> 2] | 0;
- Ud = ((c[L >> 2] | 0) + (c[N >> 2] << 2)) | 0;
- a[Y >> 0] = a[Ud >> 0] | 0;
- a[(Y + 1) >> 0] = a[(Ud + 1) >> 0] | 0;
- jp(
- c[K >> 2] | 0,
- d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- Ud = c[U >> 2] | 0;
- Y = c[W >> 2] | 0;
- Wd = c[X >> 2] | 0;
- c[E >> 2] = c[T >> 2];
- c[F >> 2] = Ud;
- c[G >> 2] = Y;
- c[H >> 2] = Wd;
- c[I >> 2] = ip(c[F >> 2] | 0, c[H >> 2] | 0) | 0;
- Wd = c[E >> 2] | 0;
- Y = ((c[G >> 2] | 0) + (c[I >> 2] << 2)) | 0;
- a[Wd >> 0] = a[Y >> 0] | 0;
- a[(Wd + 1) >> 0] = a[(Y + 1) >> 0] | 0;
- jp(
- c[F >> 2] | 0,
- d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 3) >> 0] | 0);
- }
- Y = c[U >> 2] | 0;
- Wd = c[W >> 2] | 0;
- Ud = c[X >> 2] | 0;
- c[z >> 2] = c[T >> 2];
- c[A >> 2] = Y;
- c[B >> 2] = Wd;
- c[C >> 2] = Ud;
- c[D >> 2] = ip(c[A >> 2] | 0, c[C >> 2] | 0) | 0;
- Ud = c[z >> 2] | 0;
- Wd = ((c[B >> 2] | 0) + (c[D >> 2] << 2)) | 0;
- a[Ud >> 0] = a[Wd >> 0] | 0;
- a[(Ud + 1) >> 0] = a[(Wd + 1) >> 0] | 0;
- jp(
- c[A >> 2] | 0,
- d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- D = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- D &
- ((c[T >> 2] | 0) >>> 0 <=
- (((c[V >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- D = c[U >> 2] | 0;
- B = c[W >> 2] | 0;
- A = c[X >> 2] | 0;
- c[u >> 2] = c[T >> 2];
- c[v >> 2] = D;
- c[w >> 2] = B;
- c[x >> 2] = A;
- c[y >> 2] = ip(c[v >> 2] | 0, c[x >> 2] | 0) | 0;
- A = c[u >> 2] | 0;
- B = ((c[w >> 2] | 0) + (c[y >> 2] << 2)) | 0;
- a[A >> 0] = a[B >> 0] | 0;
- a[(A + 1) >> 0] = a[(B + 1) >> 0] | 0;
- jp(
- c[v >> 2] | 0,
- d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- Ge = c[T >> 2] | 0;
- if (
- (c[T >> 2] | 0) >>> 0 >
- (((c[V >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- y = c[U >> 2] | 0;
- w = c[W >> 2] | 0;
- v = c[X >> 2] | 0;
- c[p >> 2] = Ge;
- c[q >> 2] = y;
- c[r >> 2] = w;
- c[s >> 2] = v;
- c[t >> 2] = ip(c[q >> 2] | 0, c[s >> 2] | 0) | 0;
- v = c[p >> 2] | 0;
- w = ((c[r >> 2] | 0) + (c[t >> 2] << 2)) | 0;
- a[v >> 0] = a[w >> 0] | 0;
- a[(v + 1) >> 0] = a[(w + 1) >> 0] | 0;
- jp(
- c[q >> 2] | 0,
- d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 3) >> 0] | 0);
- }
- if (Ge >>> 0 < (c[V >> 2] | 0) >>> 0) {
- V = c[U >> 2] | 0;
- U = c[W >> 2] | 0;
- W = c[X >> 2] | 0;
- c[j >> 2] = c[T >> 2];
- c[k >> 2] = V;
- c[m >> 2] = U;
- c[n >> 2] = W;
- c[o >> 2] = ip(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
- a[c[j >> 2] >> 0] =
- a[((c[m >> 2] | 0) + (c[o >> 2] << 2)) >> 0] | 0;
- j = c[k >> 2] | 0;
- if (
- (d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(j + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[k >> 2] | 0,
- d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] |
- 0
- ),
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[k >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- j,
- d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] = (c[T >> 2] | 0) + 1;
- }
- T = lp(Xd) | 0;
- Xd = T & (lp(Yd) | 0);
- Yd = Xd & (lp(Zd) | 0);
- c[we >> 2] = Yd & (lp(_d) | 0);
- if (c[we >> 2] | 0) {
- c[Md >> 2] = c[Od >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- } else {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- return 0;
- }
- function Lp(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0,
- Kc = 0,
- Lc = 0,
- Mc = 0,
- Nc = 0,
- Oc = 0,
- Pc = 0,
- Qc = 0,
- Rc = 0,
- Sc = 0,
- Tc = 0,
- Uc = 0,
- Vc = 0,
- Wc = 0,
- Xc = 0,
- Yc = 0,
- Zc = 0,
- _c = 0,
- $c = 0,
- ad = 0,
- bd = 0,
- cd = 0,
- dd = 0,
- ed = 0,
- fd = 0,
- gd = 0,
- hd = 0,
- id = 0,
- jd = 0,
- kd = 0,
- ld = 0,
- md = 0,
- nd = 0,
- od = 0,
- pd = 0,
- qd = 0,
- rd = 0,
- sd = 0,
- td = 0,
- ud = 0,
- vd = 0,
- wd = 0,
- xd = 0,
- yd = 0,
- zd = 0,
- Ad = 0,
- Bd = 0,
- Cd = 0,
- Dd = 0,
- Ed = 0,
- Fd = 0,
- Gd = 0,
- Hd = 0,
- Id = 0,
- Jd = 0,
- Kd = 0,
- Ld = 0,
- Md = 0,
- Nd = 0,
- Od = 0,
- Pd = 0,
- Qd = 0,
- Rd = 0,
- Sd = 0,
- Td = 0,
- Ud = 0,
- Vd = 0,
- Wd = 0,
- Xd = 0,
- Yd = 0,
- Zd = 0,
- _d = 0,
- $d = 0,
- ae = 0,
- be = 0,
- ce = 0,
- de = 0,
- ee = 0,
- fe = 0,
- ge = 0,
- he = 0,
- ie = 0,
- je = 0,
- ke = 0,
- le = 0,
- me = 0,
- ne = 0,
- oe = 0,
- pe = 0,
- qe = 0,
- re = 0,
- se = 0,
- te = 0,
- ue = 0,
- ve = 0,
- we = 0,
- xe = 0,
- ye = 0,
- ze = 0,
- Ae = 0,
- Be = 0,
- Ce = 0,
- De = 0,
- Ee = 0,
- Fe = 0,
- Ge = 0;
- i = l;
- l = (l + 1216) | 0;
- j = (i + 1208) | 0;
- k = (i + 1204) | 0;
- m = (i + 1200) | 0;
- n = (i + 1196) | 0;
- o = (i + 1192) | 0;
- p = (i + 1188) | 0;
- q = (i + 1184) | 0;
- r = (i + 1180) | 0;
- s = (i + 1176) | 0;
- t = (i + 1172) | 0;
- u = (i + 1168) | 0;
- v = (i + 1164) | 0;
- w = (i + 1160) | 0;
- x = (i + 1156) | 0;
- y = (i + 1152) | 0;
- z = (i + 1148) | 0;
- A = (i + 1144) | 0;
- B = (i + 1140) | 0;
- C = (i + 1136) | 0;
- D = (i + 1132) | 0;
- E = (i + 1128) | 0;
- F = (i + 1124) | 0;
- G = (i + 1120) | 0;
- H = (i + 1116) | 0;
- I = (i + 1112) | 0;
- J = (i + 1108) | 0;
- K = (i + 1104) | 0;
- L = (i + 1100) | 0;
- M = (i + 1096) | 0;
- N = (i + 1092) | 0;
- O = (i + 1088) | 0;
- P = (i + 1084) | 0;
- Q = (i + 1080) | 0;
- R = (i + 1076) | 0;
- S = (i + 1072) | 0;
- T = (i + 1068) | 0;
- U = (i + 1064) | 0;
- V = (i + 1060) | 0;
- W = (i + 1056) | 0;
- X = (i + 1052) | 0;
- Y = (i + 1048) | 0;
- Z = (i + 1044) | 0;
- _ = (i + 1040) | 0;
- $ = (i + 1036) | 0;
- aa = (i + 1032) | 0;
- ba = (i + 1028) | 0;
- ca = (i + 1024) | 0;
- da = (i + 1020) | 0;
- ea = (i + 1016) | 0;
- fa = (i + 1012) | 0;
- ga = (i + 1008) | 0;
- ha = (i + 1004) | 0;
- ia = (i + 1e3) | 0;
- ja = (i + 996) | 0;
- ka = (i + 992) | 0;
- la = (i + 988) | 0;
- ma = (i + 984) | 0;
- na = (i + 980) | 0;
- oa = (i + 976) | 0;
- pa = (i + 972) | 0;
- qa = (i + 968) | 0;
- ra = (i + 964) | 0;
- sa = (i + 960) | 0;
- ta = (i + 956) | 0;
- ua = (i + 952) | 0;
- va = (i + 948) | 0;
- wa = (i + 944) | 0;
- xa = (i + 940) | 0;
- ya = (i + 936) | 0;
- za = (i + 932) | 0;
- Aa = (i + 928) | 0;
- Ba = (i + 924) | 0;
- Ca = (i + 920) | 0;
- Da = (i + 916) | 0;
- Ea = (i + 912) | 0;
- Fa = (i + 908) | 0;
- Ga = (i + 904) | 0;
- Ha = (i + 900) | 0;
- Ia = (i + 896) | 0;
- Ja = (i + 892) | 0;
- Ka = (i + 888) | 0;
- La = (i + 884) | 0;
- Ma = (i + 880) | 0;
- Na = (i + 876) | 0;
- Oa = (i + 872) | 0;
- Pa = (i + 868) | 0;
- Qa = (i + 864) | 0;
- Ra = (i + 860) | 0;
- Sa = (i + 856) | 0;
- Ta = (i + 852) | 0;
- Ua = (i + 848) | 0;
- Va = (i + 844) | 0;
- Wa = (i + 840) | 0;
- Xa = (i + 836) | 0;
- Ya = (i + 832) | 0;
- Za = (i + 828) | 0;
- _a = (i + 824) | 0;
- $a = (i + 820) | 0;
- ab = (i + 816) | 0;
- bb = (i + 812) | 0;
- cb = (i + 808) | 0;
- db = (i + 804) | 0;
- eb = (i + 800) | 0;
- fb = (i + 796) | 0;
- gb = (i + 792) | 0;
- hb = (i + 788) | 0;
- ib = (i + 784) | 0;
- jb = (i + 780) | 0;
- kb = (i + 776) | 0;
- lb = (i + 772) | 0;
- mb = (i + 768) | 0;
- nb = (i + 764) | 0;
- ob = (i + 760) | 0;
- pb = (i + 756) | 0;
- qb = (i + 752) | 0;
- rb = (i + 748) | 0;
- sb = (i + 744) | 0;
- tb = (i + 740) | 0;
- ub = (i + 736) | 0;
- vb = (i + 732) | 0;
- wb = (i + 728) | 0;
- xb = (i + 724) | 0;
- yb = (i + 720) | 0;
- zb = (i + 716) | 0;
- Ab = (i + 712) | 0;
- Bb = (i + 708) | 0;
- Cb = (i + 704) | 0;
- Db = (i + 700) | 0;
- Eb = (i + 696) | 0;
- Fb = (i + 692) | 0;
- Gb = (i + 688) | 0;
- Hb = (i + 684) | 0;
- Ib = (i + 680) | 0;
- Jb = (i + 676) | 0;
- Kb = (i + 672) | 0;
- Lb = (i + 668) | 0;
- Mb = (i + 664) | 0;
- Nb = (i + 660) | 0;
- Ob = (i + 656) | 0;
- Pb = (i + 652) | 0;
- Qb = (i + 648) | 0;
- Rb = (i + 644) | 0;
- Sb = (i + 640) | 0;
- Tb = (i + 636) | 0;
- Ub = (i + 632) | 0;
- Vb = (i + 628) | 0;
- Wb = (i + 624) | 0;
- Xb = (i + 620) | 0;
- Yb = (i + 616) | 0;
- Zb = (i + 612) | 0;
- _b = (i + 608) | 0;
- $b = (i + 604) | 0;
- ac = (i + 600) | 0;
- bc = (i + 596) | 0;
- cc = (i + 592) | 0;
- dc = (i + 588) | 0;
- ec = (i + 584) | 0;
- fc = (i + 580) | 0;
- gc = (i + 576) | 0;
- hc = (i + 572) | 0;
- ic = (i + 568) | 0;
- jc = (i + 564) | 0;
- kc = (i + 560) | 0;
- lc = (i + 556) | 0;
- mc = (i + 552) | 0;
- nc = (i + 548) | 0;
- oc = (i + 544) | 0;
- pc = (i + 540) | 0;
- qc = (i + 536) | 0;
- rc = (i + 532) | 0;
- sc = (i + 528) | 0;
- tc = (i + 524) | 0;
- uc = (i + 520) | 0;
- vc = (i + 516) | 0;
- wc = (i + 512) | 0;
- xc = (i + 508) | 0;
- yc = (i + 504) | 0;
- zc = (i + 500) | 0;
- Ac = (i + 496) | 0;
- Bc = (i + 492) | 0;
- Cc = (i + 488) | 0;
- Dc = (i + 484) | 0;
- Ec = (i + 480) | 0;
- Fc = (i + 476) | 0;
- Gc = (i + 472) | 0;
- Hc = (i + 468) | 0;
- Ic = (i + 464) | 0;
- Jc = (i + 460) | 0;
- Kc = (i + 456) | 0;
- Lc = (i + 452) | 0;
- Mc = (i + 448) | 0;
- Nc = (i + 444) | 0;
- Oc = (i + 440) | 0;
- Pc = (i + 436) | 0;
- Qc = (i + 432) | 0;
- Rc = (i + 428) | 0;
- Sc = (i + 424) | 0;
- Tc = (i + 420) | 0;
- Uc = (i + 416) | 0;
- Vc = (i + 412) | 0;
- Wc = (i + 408) | 0;
- Xc = (i + 404) | 0;
- Yc = (i + 400) | 0;
- Zc = (i + 396) | 0;
- _c = (i + 392) | 0;
- $c = (i + 388) | 0;
- ad = (i + 384) | 0;
- bd = (i + 380) | 0;
- cd = (i + 376) | 0;
- dd = (i + 372) | 0;
- ed = (i + 368) | 0;
- fd = (i + 364) | 0;
- gd = (i + 360) | 0;
- hd = (i + 356) | 0;
- id = (i + 352) | 0;
- jd = (i + 348) | 0;
- kd = (i + 344) | 0;
- ld = (i + 340) | 0;
- md = (i + 336) | 0;
- nd = (i + 332) | 0;
- od = (i + 328) | 0;
- pd = (i + 324) | 0;
- qd = (i + 320) | 0;
- rd = (i + 316) | 0;
- sd = (i + 312) | 0;
- td = (i + 308) | 0;
- ud = (i + 304) | 0;
- vd = (i + 300) | 0;
- wd = (i + 296) | 0;
- xd = (i + 292) | 0;
- yd = (i + 288) | 0;
- zd = (i + 284) | 0;
- Ad = (i + 280) | 0;
- Bd = (i + 276) | 0;
- Cd = (i + 272) | 0;
- Dd = (i + 268) | 0;
- Ed = (i + 264) | 0;
- Fd = (i + 260) | 0;
- Gd = (i + 256) | 0;
- Hd = (i + 252) | 0;
- Id = (i + 248) | 0;
- Jd = (i + 244) | 0;
- Kd = (i + 240) | 0;
- Ld = (i + 236) | 0;
- Md = (i + 232) | 0;
- Nd = (i + 228) | 0;
- Od = (i + 224) | 0;
- Pd = (i + 220) | 0;
- Qd = (i + 216) | 0;
- Rd = (i + 212) | 0;
- Sd = (i + 208) | 0;
- Td = (i + 204) | 0;
- Ud = (i + 200) | 0;
- Vd = (i + 196) | 0;
- Wd = (i + 192) | 0;
- Xd = (i + 172) | 0;
- Yd = (i + 152) | 0;
- Zd = (i + 132) | 0;
- _d = (i + 112) | 0;
- $d = (i + 108) | 0;
- ae = (i + 104) | 0;
- be = (i + 100) | 0;
- ce = (i + 96) | 0;
- de = (i + 92) | 0;
- ee = (i + 88) | 0;
- fe = (i + 84) | 0;
- ge = (i + 80) | 0;
- he = (i + 76) | 0;
- ie = (i + 72) | 0;
- je = (i + 68) | 0;
- ke = (i + 64) | 0;
- le = (i + 60) | 0;
- me = (i + 56) | 0;
- ne = (i + 52) | 0;
- oe = (i + 48) | 0;
- pe = (i + 44) | 0;
- qe = (i + 1212) | 0;
- re = (i + 40) | 0;
- se = (i + 36) | 0;
- te = (i + 32) | 0;
- ue = (i + 28) | 0;
- ve = (i + 24) | 0;
- we = (i + 20) | 0;
- xe = (i + 16) | 0;
- ye = (i + 12) | 0;
- ze = (i + 8) | 0;
- Ae = (i + 4) | 0;
- Be = i;
- c[xe >> 2] = b;
- c[ye >> 2] = e;
- c[ze >> 2] = f;
- c[Ae >> 2] = g;
- c[Be >> 2] = h;
- h = c[ye >> 2] | 0;
- ye = c[ze >> 2] | 0;
- ze = c[Ae >> 2] | 0;
- Ae = c[Be >> 2] | 0;
- c[Nd >> 2] = c[xe >> 2];
- c[Od >> 2] = h;
- c[Pd >> 2] = ye;
- c[Qd >> 2] = ze;
- c[Rd >> 2] = Ae;
- if ((c[Qd >> 2] | 0) >>> 0 < 10) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[Sd >> 2] = c[Pd >> 2];
- c[Td >> 2] = c[Nd >> 2];
- c[Ud >> 2] = (c[Td >> 2] | 0) + (c[Od >> 2] | 0);
- c[Vd >> 2] = (c[Rd >> 2] | 0) + 4;
- c[Wd >> 2] = c[Vd >> 2];
- c[$d >> 2] = (yp(c[Sd >> 2] | 0) | 0) & 65535;
- c[ae >> 2] = (yp(((c[Sd >> 2] | 0) + 2) | 0) | 0) & 65535;
- c[be >> 2] = (yp(((c[Sd >> 2] | 0) + 4) | 0) | 0) & 65535;
- c[ce >> 2] =
- (c[Qd >> 2] | 0) -
- ((c[$d >> 2] | 0) +
- (c[ae >> 2] | 0) +
- (c[be >> 2] | 0) +
- 6);
- c[de >> 2] = (c[Sd >> 2] | 0) + 6;
- c[ee >> 2] = (c[de >> 2] | 0) + (c[$d >> 2] | 0);
- c[fe >> 2] = (c[ee >> 2] | 0) + (c[ae >> 2] | 0);
- c[ge >> 2] = (c[fe >> 2] | 0) + (c[be >> 2] | 0);
- c[he >> 2] = (((((c[Od >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[ie >> 2] = (c[Td >> 2] | 0) + (c[he >> 2] | 0);
- c[je >> 2] = (c[ie >> 2] | 0) + (c[he >> 2] | 0);
- c[ke >> 2] = (c[je >> 2] | 0) + (c[he >> 2] | 0);
- c[le >> 2] = c[Td >> 2];
- c[me >> 2] = c[ie >> 2];
- c[ne >> 2] = c[je >> 2];
- c[oe >> 2] = c[ke >> 2];
- bp(qe, c[Rd >> 2] | 0);
- c[re >> 2] = d[(qe + 2) >> 0];
- if ((c[ce >> 2] | 0) >>> 0 > (c[Qd >> 2] | 0) >>> 0) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[se >> 2] = fp(Xd, c[de >> 2] | 0, c[$d >> 2] | 0) | 0;
- if (ap(c[se >> 2] | 0) | 0) {
- c[Md >> 2] = c[se >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[te >> 2] = fp(Yd, c[ee >> 2] | 0, c[ae >> 2] | 0) | 0;
- if (ap(c[te >> 2] | 0) | 0) {
- c[Md >> 2] = c[te >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[ue >> 2] = fp(Zd, c[fe >> 2] | 0, c[be >> 2] | 0) | 0;
- if (ap(c[ue >> 2] | 0) | 0) {
- c[Md >> 2] = c[ue >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- c[ve >> 2] = fp(_d, c[ge >> 2] | 0, c[ce >> 2] | 0) | 0;
- if (ap(c[ve >> 2] | 0) | 0) {
- c[Md >> 2] = c[ve >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- ve = gp(Xd) | 0;
- ce = ve | (gp(Yd) | 0);
- ve = ce | (gp(Zd) | 0);
- c[pe >> 2] = ve | (gp(_d) | 0);
- while (1) {
- if (
- !(
- ((c[pe >> 2] | 0) == 0
- ? (c[oe >> 2] | 0) >>> 0 <
- (((c[Ud >> 2] | 0) + -3) | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Hd >> 2] = c[le >> 2];
- c[Id >> 2] = Xd;
- c[Jd >> 2] = ve;
- c[Kd >> 2] = ce;
- c[Ld >> 2] = ip(c[Id >> 2] | 0, c[Kd >> 2] | 0) | 0;
- ce = c[Hd >> 2] | 0;
- ve = ((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Id >> 2] | 0,
- d[((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2) + 2) >> 0] | 0
- );
- c[le >> 2] =
- (c[le >> 2] | 0) +
- (d[((c[Jd >> 2] | 0) + (c[Ld >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Cd >> 2] = c[me >> 2];
- c[Dd >> 2] = Yd;
- c[Ed >> 2] = ve;
- c[Fd >> 2] = ce;
- c[Gd >> 2] = ip(c[Dd >> 2] | 0, c[Fd >> 2] | 0) | 0;
- ce = c[Cd >> 2] | 0;
- ve = ((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Dd >> 2] | 0,
- d[((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2) + 2) >> 0] | 0
- );
- c[me >> 2] =
- (c[me >> 2] | 0) +
- (d[((c[Ed >> 2] | 0) + (c[Gd >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[xd >> 2] = c[ne >> 2];
- c[yd >> 2] = Zd;
- c[zd >> 2] = ve;
- c[Ad >> 2] = ce;
- c[Bd >> 2] = ip(c[yd >> 2] | 0, c[Ad >> 2] | 0) | 0;
- ce = c[xd >> 2] | 0;
- ve = ((c[zd >> 2] | 0) + (c[Bd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[yd >> 2] | 0,
- d[((c[zd >> 2] | 0) + (c[Bd >> 2] << 2) + 2) >> 0] | 0
- );
- c[ne >> 2] =
- (c[ne >> 2] | 0) +
- (d[((c[zd >> 2] | 0) + (c[Bd >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[sd >> 2] = c[oe >> 2];
- c[td >> 2] = _d;
- c[ud >> 2] = ve;
- c[vd >> 2] = ce;
- c[wd >> 2] = ip(c[td >> 2] | 0, c[vd >> 2] | 0) | 0;
- ce = c[sd >> 2] | 0;
- ve = ((c[ud >> 2] | 0) + (c[wd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[td >> 2] | 0,
- d[((c[ud >> 2] | 0) + (c[wd >> 2] << 2) + 2) >> 0] | 0
- );
- c[oe >> 2] =
- (c[oe >> 2] | 0) +
- (d[((c[ud >> 2] | 0) + (c[wd >> 2] << 2) + 3) >> 0] |
- 0);
- }
- hp() | 0;
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[nd >> 2] = c[le >> 2];
- c[od >> 2] = Xd;
- c[pd >> 2] = ve;
- c[qd >> 2] = ce;
- c[rd >> 2] = ip(c[od >> 2] | 0, c[qd >> 2] | 0) | 0;
- ce = c[nd >> 2] | 0;
- ve = ((c[pd >> 2] | 0) + (c[rd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[od >> 2] | 0,
- d[((c[pd >> 2] | 0) + (c[rd >> 2] << 2) + 2) >> 0] | 0
- );
- c[le >> 2] =
- (c[le >> 2] | 0) +
- (d[((c[pd >> 2] | 0) + (c[rd >> 2] << 2) + 3) >> 0] | 0);
- hp() | 0;
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[id >> 2] = c[me >> 2];
- c[jd >> 2] = Yd;
- c[kd >> 2] = ve;
- c[ld >> 2] = ce;
- c[md >> 2] = ip(c[jd >> 2] | 0, c[ld >> 2] | 0) | 0;
- ce = c[id >> 2] | 0;
- ve = ((c[kd >> 2] | 0) + (c[md >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[jd >> 2] | 0,
- d[((c[kd >> 2] | 0) + (c[md >> 2] << 2) + 2) >> 0] | 0
- );
- c[me >> 2] =
- (c[me >> 2] | 0) +
- (d[((c[kd >> 2] | 0) + (c[md >> 2] << 2) + 3) >> 0] | 0);
- hp() | 0;
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[dd >> 2] = c[ne >> 2];
- c[ed >> 2] = Zd;
- c[fd >> 2] = ve;
- c[gd >> 2] = ce;
- c[hd >> 2] = ip(c[ed >> 2] | 0, c[gd >> 2] | 0) | 0;
- ce = c[dd >> 2] | 0;
- ve = ((c[fd >> 2] | 0) + (c[hd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[ed >> 2] | 0,
- d[((c[fd >> 2] | 0) + (c[hd >> 2] << 2) + 2) >> 0] | 0
- );
- c[ne >> 2] =
- (c[ne >> 2] | 0) +
- (d[((c[fd >> 2] | 0) + (c[hd >> 2] << 2) + 3) >> 0] | 0);
- hp() | 0;
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[_c >> 2] = c[oe >> 2];
- c[$c >> 2] = _d;
- c[ad >> 2] = ve;
- c[bd >> 2] = ce;
- c[cd >> 2] = ip(c[$c >> 2] | 0, c[bd >> 2] | 0) | 0;
- ce = c[_c >> 2] | 0;
- ve = ((c[ad >> 2] | 0) + (c[cd >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[$c >> 2] | 0,
- d[((c[ad >> 2] | 0) + (c[cd >> 2] << 2) + 2) >> 0] | 0
- );
- c[oe >> 2] =
- (c[oe >> 2] | 0) +
- (d[((c[ad >> 2] | 0) + (c[cd >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Vc >> 2] = c[le >> 2];
- c[Wc >> 2] = Xd;
- c[Xc >> 2] = ve;
- c[Yc >> 2] = ce;
- c[Zc >> 2] = ip(c[Wc >> 2] | 0, c[Yc >> 2] | 0) | 0;
- ce = c[Vc >> 2] | 0;
- ve = ((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Wc >> 2] | 0,
- d[((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2) + 2) >> 0] | 0
- );
- c[le >> 2] =
- (c[le >> 2] | 0) +
- (d[((c[Xc >> 2] | 0) + (c[Zc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Qc >> 2] = c[me >> 2];
- c[Rc >> 2] = Yd;
- c[Sc >> 2] = ve;
- c[Tc >> 2] = ce;
- c[Uc >> 2] = ip(c[Rc >> 2] | 0, c[Tc >> 2] | 0) | 0;
- ce = c[Qc >> 2] | 0;
- ve = ((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Rc >> 2] | 0,
- d[((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2) + 2) >> 0] | 0
- );
- c[me >> 2] =
- (c[me >> 2] | 0) +
- (d[((c[Sc >> 2] | 0) + (c[Uc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Lc >> 2] = c[ne >> 2];
- c[Mc >> 2] = Zd;
- c[Nc >> 2] = ve;
- c[Oc >> 2] = ce;
- c[Pc >> 2] = ip(c[Mc >> 2] | 0, c[Oc >> 2] | 0) | 0;
- ce = c[Lc >> 2] | 0;
- ve = ((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Mc >> 2] | 0,
- d[((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2) + 2) >> 0] | 0
- );
- c[ne >> 2] =
- (c[ne >> 2] | 0) +
- (d[((c[Nc >> 2] | 0) + (c[Pc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- if (hp() | 0) {
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Gc >> 2] = c[oe >> 2];
- c[Hc >> 2] = _d;
- c[Ic >> 2] = ve;
- c[Jc >> 2] = ce;
- c[Kc >> 2] = ip(c[Hc >> 2] | 0, c[Jc >> 2] | 0) | 0;
- ce = c[Gc >> 2] | 0;
- ve = ((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Hc >> 2] | 0,
- d[((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2) + 2) >> 0] | 0
- );
- c[oe >> 2] =
- (c[oe >> 2] | 0) +
- (d[((c[Ic >> 2] | 0) + (c[Kc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[Bc >> 2] = c[le >> 2];
- c[Cc >> 2] = Xd;
- c[Dc >> 2] = ve;
- c[Ec >> 2] = ce;
- c[Fc >> 2] = ip(c[Cc >> 2] | 0, c[Ec >> 2] | 0) | 0;
- ce = c[Bc >> 2] | 0;
- ve = ((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[Cc >> 2] | 0,
- d[((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2) + 2) >> 0] | 0
- );
- c[le >> 2] =
- (c[le >> 2] | 0) +
- (d[((c[Dc >> 2] | 0) + (c[Fc >> 2] << 2) + 3) >> 0] | 0);
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[wc >> 2] = c[me >> 2];
- c[xc >> 2] = Yd;
- c[yc >> 2] = ve;
- c[zc >> 2] = ce;
- c[Ac >> 2] = ip(c[xc >> 2] | 0, c[zc >> 2] | 0) | 0;
- ce = c[wc >> 2] | 0;
- ve = ((c[yc >> 2] | 0) + (c[Ac >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[xc >> 2] | 0,
- d[((c[yc >> 2] | 0) + (c[Ac >> 2] << 2) + 2) >> 0] | 0
- );
- c[me >> 2] =
- (c[me >> 2] | 0) +
- (d[((c[yc >> 2] | 0) + (c[Ac >> 2] << 2) + 3) >> 0] | 0);
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[rc >> 2] = c[ne >> 2];
- c[sc >> 2] = Zd;
- c[tc >> 2] = ve;
- c[uc >> 2] = ce;
- c[vc >> 2] = ip(c[sc >> 2] | 0, c[uc >> 2] | 0) | 0;
- ce = c[rc >> 2] | 0;
- ve = ((c[tc >> 2] | 0) + (c[vc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[sc >> 2] | 0,
- d[((c[tc >> 2] | 0) + (c[vc >> 2] << 2) + 2) >> 0] | 0
- );
- c[ne >> 2] =
- (c[ne >> 2] | 0) +
- (d[((c[tc >> 2] | 0) + (c[vc >> 2] << 2) + 3) >> 0] | 0);
- ve = c[Wd >> 2] | 0;
- ce = c[re >> 2] | 0;
- c[mc >> 2] = c[oe >> 2];
- c[nc >> 2] = _d;
- c[oc >> 2] = ve;
- c[pc >> 2] = ce;
- c[qc >> 2] = ip(c[nc >> 2] | 0, c[pc >> 2] | 0) | 0;
- ce = c[mc >> 2] | 0;
- ve = ((c[oc >> 2] | 0) + (c[qc >> 2] << 2)) | 0;
- a[ce >> 0] = a[ve >> 0] | 0;
- a[(ce + 1) >> 0] = a[(ve + 1) >> 0] | 0;
- jp(
- c[nc >> 2] | 0,
- d[((c[oc >> 2] | 0) + (c[qc >> 2] << 2) + 2) >> 0] | 0
- );
- c[oe >> 2] =
- (c[oe >> 2] | 0) +
- (d[((c[oc >> 2] | 0) + (c[qc >> 2] << 2) + 3) >> 0] | 0);
- ve = gp(Xd) | 0;
- ce = ve | (gp(Yd) | 0);
- ve = ce | (gp(Zd) | 0);
- c[pe >> 2] = ve | (gp(_d) | 0);
- }
- if ((c[le >> 2] | 0) >>> 0 > (c[ie >> 2] | 0) >>> 0) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- if ((c[me >> 2] | 0) >>> 0 > (c[je >> 2] | 0) >>> 0) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- if ((c[ne >> 2] | 0) >>> 0 > (c[ke >> 2] | 0) >>> 0) {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- pe = c[ie >> 2] | 0;
- ie = c[Wd >> 2] | 0;
- qc = c[re >> 2] | 0;
- c[gc >> 2] = c[le >> 2];
- c[hc >> 2] = Xd;
- c[ic >> 2] = pe;
- c[jc >> 2] = ie;
- c[kc >> 2] = qc;
- c[lc >> 2] = c[gc >> 2];
- while (1) {
- lc = ((gp(c[hc >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- lc &
- ((c[gc >> 2] | 0) >>> 0 <
- (((c[ic >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- lc = c[hc >> 2] | 0;
- qc = c[jc >> 2] | 0;
- ie = c[kc >> 2] | 0;
- c[bc >> 2] = c[gc >> 2];
- c[cc >> 2] = lc;
- c[dc >> 2] = qc;
- c[ec >> 2] = ie;
- c[fc >> 2] = ip(c[cc >> 2] | 0, c[ec >> 2] | 0) | 0;
- ie = c[bc >> 2] | 0;
- qc = ((c[dc >> 2] | 0) + (c[fc >> 2] << 2)) | 0;
- a[ie >> 0] = a[qc >> 0] | 0;
- a[(ie + 1) >> 0] = a[(qc + 1) >> 0] | 0;
- jp(
- c[cc >> 2] | 0,
- d[((c[dc >> 2] | 0) + (c[fc >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[dc >> 2] | 0) + (c[fc >> 2] << 2) + 3) >> 0] |
- 0);
- }
- hp() | 0;
- qc = c[hc >> 2] | 0;
- ie = c[jc >> 2] | 0;
- lc = c[kc >> 2] | 0;
- c[Yb >> 2] = c[gc >> 2];
- c[Zb >> 2] = qc;
- c[_b >> 2] = ie;
- c[$b >> 2] = lc;
- c[ac >> 2] = ip(c[Zb >> 2] | 0, c[$b >> 2] | 0) | 0;
- lc = c[Yb >> 2] | 0;
- ie = ((c[_b >> 2] | 0) + (c[ac >> 2] << 2)) | 0;
- a[lc >> 0] = a[ie >> 0] | 0;
- a[(lc + 1) >> 0] = a[(ie + 1) >> 0] | 0;
- jp(
- c[Zb >> 2] | 0,
- d[((c[_b >> 2] | 0) + (c[ac >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[_b >> 2] | 0) + (c[ac >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- ie = c[hc >> 2] | 0;
- lc = c[jc >> 2] | 0;
- qc = c[kc >> 2] | 0;
- c[Tb >> 2] = c[gc >> 2];
- c[Ub >> 2] = ie;
- c[Vb >> 2] = lc;
- c[Wb >> 2] = qc;
- c[Xb >> 2] = ip(c[Ub >> 2] | 0, c[Wb >> 2] | 0) | 0;
- qc = c[Tb >> 2] | 0;
- lc = ((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2)) | 0;
- a[qc >> 0] = a[lc >> 0] | 0;
- a[(qc + 1) >> 0] = a[(lc + 1) >> 0] | 0;
- jp(
- c[Ub >> 2] | 0,
- d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[Vb >> 2] | 0) + (c[Xb >> 2] << 2) + 3) >> 0] |
- 0);
- }
- lc = c[hc >> 2] | 0;
- qc = c[jc >> 2] | 0;
- ie = c[kc >> 2] | 0;
- c[Ob >> 2] = c[gc >> 2];
- c[Pb >> 2] = lc;
- c[Qb >> 2] = qc;
- c[Rb >> 2] = ie;
- c[Sb >> 2] = ip(c[Pb >> 2] | 0, c[Rb >> 2] | 0) | 0;
- ie = c[Ob >> 2] | 0;
- qc = ((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2)) | 0;
- a[ie >> 0] = a[qc >> 0] | 0;
- a[(ie + 1) >> 0] = a[(qc + 1) >> 0] | 0;
- jp(
- c[Pb >> 2] | 0,
- d[((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[Qb >> 2] | 0) + (c[Sb >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- Sb = ((gp(c[hc >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Sb &
- ((c[gc >> 2] | 0) >>> 0 <=
- (((c[ic >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- Sb = c[hc >> 2] | 0;
- Qb = c[jc >> 2] | 0;
- Pb = c[kc >> 2] | 0;
- c[Jb >> 2] = c[gc >> 2];
- c[Kb >> 2] = Sb;
- c[Lb >> 2] = Qb;
- c[Mb >> 2] = Pb;
- c[Nb >> 2] = ip(c[Kb >> 2] | 0, c[Mb >> 2] | 0) | 0;
- Pb = c[Jb >> 2] | 0;
- Qb = ((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2)) | 0;
- a[Pb >> 0] = a[Qb >> 0] | 0;
- a[(Pb + 1) >> 0] = a[(Qb + 1) >> 0] | 0;
- jp(
- c[Kb >> 2] | 0,
- d[((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[Lb >> 2] | 0) + (c[Nb >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- De = c[gc >> 2] | 0;
- if (
- (c[gc >> 2] | 0) >>> 0 >
- (((c[ic >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- Nb = c[hc >> 2] | 0;
- Lb = c[jc >> 2] | 0;
- Kb = c[kc >> 2] | 0;
- c[Eb >> 2] = De;
- c[Fb >> 2] = Nb;
- c[Gb >> 2] = Lb;
- c[Hb >> 2] = Kb;
- c[Ib >> 2] = ip(c[Fb >> 2] | 0, c[Hb >> 2] | 0) | 0;
- Kb = c[Eb >> 2] | 0;
- Lb = ((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2)) | 0;
- a[Kb >> 0] = a[Lb >> 0] | 0;
- a[(Kb + 1) >> 0] = a[(Lb + 1) >> 0] | 0;
- jp(
- c[Fb >> 2] | 0,
- d[((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] =
- (c[gc >> 2] | 0) +
- (d[((c[Gb >> 2] | 0) + (c[Ib >> 2] << 2) + 3) >> 0] | 0);
- }
- if (De >>> 0 < (c[ic >> 2] | 0) >>> 0) {
- ic = c[hc >> 2] | 0;
- hc = c[jc >> 2] | 0;
- jc = c[kc >> 2] | 0;
- c[zb >> 2] = c[gc >> 2];
- c[Ab >> 2] = ic;
- c[Bb >> 2] = hc;
- c[Cb >> 2] = jc;
- c[Db >> 2] = ip(c[Ab >> 2] | 0, c[Cb >> 2] | 0) | 0;
- a[c[zb >> 2] >> 0] =
- a[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2)) >> 0] | 0;
- zb = c[Ab >> 2] | 0;
- if (
- (d[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(zb + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[Ab >> 2] | 0,
- d[
- ((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 2) >> 0
- ] | 0
- ),
- (c[((c[Ab >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[Ab >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- zb,
- d[((c[Bb >> 2] | 0) + (c[Db >> 2] << 2) + 2) >> 0] | 0
- );
- c[gc >> 2] = (c[gc >> 2] | 0) + 1;
- }
- gc = c[je >> 2] | 0;
- je = c[Wd >> 2] | 0;
- Db = c[re >> 2] | 0;
- c[tb >> 2] = c[me >> 2];
- c[ub >> 2] = Yd;
- c[vb >> 2] = gc;
- c[wb >> 2] = je;
- c[xb >> 2] = Db;
- c[yb >> 2] = c[tb >> 2];
- while (1) {
- yb = ((gp(c[ub >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- yb &
- ((c[tb >> 2] | 0) >>> 0 <
- (((c[vb >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- yb = c[ub >> 2] | 0;
- Db = c[wb >> 2] | 0;
- je = c[xb >> 2] | 0;
- c[ob >> 2] = c[tb >> 2];
- c[pb >> 2] = yb;
- c[qb >> 2] = Db;
- c[rb >> 2] = je;
- c[sb >> 2] = ip(c[pb >> 2] | 0, c[rb >> 2] | 0) | 0;
- je = c[ob >> 2] | 0;
- Db = ((c[qb >> 2] | 0) + (c[sb >> 2] << 2)) | 0;
- a[je >> 0] = a[Db >> 0] | 0;
- a[(je + 1) >> 0] = a[(Db + 1) >> 0] | 0;
- jp(
- c[pb >> 2] | 0,
- d[((c[qb >> 2] | 0) + (c[sb >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[qb >> 2] | 0) + (c[sb >> 2] << 2) + 3) >> 0] |
- 0);
- }
- hp() | 0;
- Db = c[ub >> 2] | 0;
- je = c[wb >> 2] | 0;
- yb = c[xb >> 2] | 0;
- c[jb >> 2] = c[tb >> 2];
- c[kb >> 2] = Db;
- c[lb >> 2] = je;
- c[mb >> 2] = yb;
- c[nb >> 2] = ip(c[kb >> 2] | 0, c[mb >> 2] | 0) | 0;
- yb = c[jb >> 2] | 0;
- je = ((c[lb >> 2] | 0) + (c[nb >> 2] << 2)) | 0;
- a[yb >> 0] = a[je >> 0] | 0;
- a[(yb + 1) >> 0] = a[(je + 1) >> 0] | 0;
- jp(
- c[kb >> 2] | 0,
- d[((c[lb >> 2] | 0) + (c[nb >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[lb >> 2] | 0) + (c[nb >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- je = c[ub >> 2] | 0;
- yb = c[wb >> 2] | 0;
- Db = c[xb >> 2] | 0;
- c[eb >> 2] = c[tb >> 2];
- c[fb >> 2] = je;
- c[gb >> 2] = yb;
- c[hb >> 2] = Db;
- c[ib >> 2] = ip(c[fb >> 2] | 0, c[hb >> 2] | 0) | 0;
- Db = c[eb >> 2] | 0;
- yb = ((c[gb >> 2] | 0) + (c[ib >> 2] << 2)) | 0;
- a[Db >> 0] = a[yb >> 0] | 0;
- a[(Db + 1) >> 0] = a[(yb + 1) >> 0] | 0;
- jp(
- c[fb >> 2] | 0,
- d[((c[gb >> 2] | 0) + (c[ib >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[gb >> 2] | 0) + (c[ib >> 2] << 2) + 3) >> 0] |
- 0);
- }
- yb = c[ub >> 2] | 0;
- Db = c[wb >> 2] | 0;
- je = c[xb >> 2] | 0;
- c[$a >> 2] = c[tb >> 2];
- c[ab >> 2] = yb;
- c[bb >> 2] = Db;
- c[cb >> 2] = je;
- c[db >> 2] = ip(c[ab >> 2] | 0, c[cb >> 2] | 0) | 0;
- je = c[$a >> 2] | 0;
- Db = ((c[bb >> 2] | 0) + (c[db >> 2] << 2)) | 0;
- a[je >> 0] = a[Db >> 0] | 0;
- a[(je + 1) >> 0] = a[(Db + 1) >> 0] | 0;
- jp(
- c[ab >> 2] | 0,
- d[((c[bb >> 2] | 0) + (c[db >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[bb >> 2] | 0) + (c[db >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- db = ((gp(c[ub >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- db &
- ((c[tb >> 2] | 0) >>> 0 <=
- (((c[vb >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- db = c[ub >> 2] | 0;
- bb = c[wb >> 2] | 0;
- ab = c[xb >> 2] | 0;
- c[Wa >> 2] = c[tb >> 2];
- c[Xa >> 2] = db;
- c[Ya >> 2] = bb;
- c[Za >> 2] = ab;
- c[_a >> 2] = ip(c[Xa >> 2] | 0, c[Za >> 2] | 0) | 0;
- ab = c[Wa >> 2] | 0;
- bb = ((c[Ya >> 2] | 0) + (c[_a >> 2] << 2)) | 0;
- a[ab >> 0] = a[bb >> 0] | 0;
- a[(ab + 1) >> 0] = a[(bb + 1) >> 0] | 0;
- jp(
- c[Xa >> 2] | 0,
- d[((c[Ya >> 2] | 0) + (c[_a >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[Ya >> 2] | 0) + (c[_a >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- Ee = c[tb >> 2] | 0;
- if (
- (c[tb >> 2] | 0) >>> 0 >
- (((c[vb >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- _a = c[ub >> 2] | 0;
- Ya = c[wb >> 2] | 0;
- Xa = c[xb >> 2] | 0;
- c[Ra >> 2] = Ee;
- c[Sa >> 2] = _a;
- c[Ta >> 2] = Ya;
- c[Ua >> 2] = Xa;
- c[Va >> 2] = ip(c[Sa >> 2] | 0, c[Ua >> 2] | 0) | 0;
- Xa = c[Ra >> 2] | 0;
- Ya = ((c[Ta >> 2] | 0) + (c[Va >> 2] << 2)) | 0;
- a[Xa >> 0] = a[Ya >> 0] | 0;
- a[(Xa + 1) >> 0] = a[(Ya + 1) >> 0] | 0;
- jp(
- c[Sa >> 2] | 0,
- d[((c[Ta >> 2] | 0) + (c[Va >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] =
- (c[tb >> 2] | 0) +
- (d[((c[Ta >> 2] | 0) + (c[Va >> 2] << 2) + 3) >> 0] | 0);
- }
- if (Ee >>> 0 < (c[vb >> 2] | 0) >>> 0) {
- vb = c[ub >> 2] | 0;
- ub = c[wb >> 2] | 0;
- wb = c[xb >> 2] | 0;
- c[Ma >> 2] = c[tb >> 2];
- c[Na >> 2] = vb;
- c[Oa >> 2] = ub;
- c[Pa >> 2] = wb;
- c[Qa >> 2] = ip(c[Na >> 2] | 0, c[Pa >> 2] | 0) | 0;
- a[c[Ma >> 2] >> 0] =
- a[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2)) >> 0] | 0;
- Ma = c[Na >> 2] | 0;
- if (
- (d[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(Ma + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[Na >> 2] | 0,
- d[
- ((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 2) >> 0
- ] | 0
- ),
- (c[((c[Na >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[Na >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- Ma,
- d[((c[Oa >> 2] | 0) + (c[Qa >> 2] << 2) + 2) >> 0] | 0
- );
- c[tb >> 2] = (c[tb >> 2] | 0) + 1;
- }
- tb = c[ke >> 2] | 0;
- ke = c[Wd >> 2] | 0;
- Qa = c[re >> 2] | 0;
- c[Ga >> 2] = c[ne >> 2];
- c[Ha >> 2] = Zd;
- c[Ia >> 2] = tb;
- c[Ja >> 2] = ke;
- c[Ka >> 2] = Qa;
- c[La >> 2] = c[Ga >> 2];
- while (1) {
- La = ((gp(c[Ha >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- La &
- ((c[Ga >> 2] | 0) >>> 0 <
- (((c[Ia >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- La = c[Ha >> 2] | 0;
- Qa = c[Ja >> 2] | 0;
- ke = c[Ka >> 2] | 0;
- c[Ba >> 2] = c[Ga >> 2];
- c[Ca >> 2] = La;
- c[Da >> 2] = Qa;
- c[Ea >> 2] = ke;
- c[Fa >> 2] = ip(c[Ca >> 2] | 0, c[Ea >> 2] | 0) | 0;
- ke = c[Ba >> 2] | 0;
- Qa = ((c[Da >> 2] | 0) + (c[Fa >> 2] << 2)) | 0;
- a[ke >> 0] = a[Qa >> 0] | 0;
- a[(ke + 1) >> 0] = a[(Qa + 1) >> 0] | 0;
- jp(
- c[Ca >> 2] | 0,
- d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[Da >> 2] | 0) + (c[Fa >> 2] << 2) + 3) >> 0] |
- 0);
- }
- hp() | 0;
- Qa = c[Ha >> 2] | 0;
- ke = c[Ja >> 2] | 0;
- La = c[Ka >> 2] | 0;
- c[wa >> 2] = c[Ga >> 2];
- c[xa >> 2] = Qa;
- c[ya >> 2] = ke;
- c[za >> 2] = La;
- c[Aa >> 2] = ip(c[xa >> 2] | 0, c[za >> 2] | 0) | 0;
- La = c[wa >> 2] | 0;
- ke = ((c[ya >> 2] | 0) + (c[Aa >> 2] << 2)) | 0;
- a[La >> 0] = a[ke >> 0] | 0;
- a[(La + 1) >> 0] = a[(ke + 1) >> 0] | 0;
- jp(
- c[xa >> 2] | 0,
- d[((c[ya >> 2] | 0) + (c[Aa >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[ya >> 2] | 0) + (c[Aa >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- ke = c[Ha >> 2] | 0;
- La = c[Ja >> 2] | 0;
- Qa = c[Ka >> 2] | 0;
- c[ra >> 2] = c[Ga >> 2];
- c[sa >> 2] = ke;
- c[ta >> 2] = La;
- c[ua >> 2] = Qa;
- c[va >> 2] = ip(c[sa >> 2] | 0, c[ua >> 2] | 0) | 0;
- Qa = c[ra >> 2] | 0;
- La = ((c[ta >> 2] | 0) + (c[va >> 2] << 2)) | 0;
- a[Qa >> 0] = a[La >> 0] | 0;
- a[(Qa + 1) >> 0] = a[(La + 1) >> 0] | 0;
- jp(
- c[sa >> 2] | 0,
- d[((c[ta >> 2] | 0) + (c[va >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[ta >> 2] | 0) + (c[va >> 2] << 2) + 3) >> 0] |
- 0);
- }
- La = c[Ha >> 2] | 0;
- Qa = c[Ja >> 2] | 0;
- ke = c[Ka >> 2] | 0;
- c[ma >> 2] = c[Ga >> 2];
- c[na >> 2] = La;
- c[oa >> 2] = Qa;
- c[pa >> 2] = ke;
- c[qa >> 2] = ip(c[na >> 2] | 0, c[pa >> 2] | 0) | 0;
- ke = c[ma >> 2] | 0;
- Qa = ((c[oa >> 2] | 0) + (c[qa >> 2] << 2)) | 0;
- a[ke >> 0] = a[Qa >> 0] | 0;
- a[(ke + 1) >> 0] = a[(Qa + 1) >> 0] | 0;
- jp(
- c[na >> 2] | 0,
- d[((c[oa >> 2] | 0) + (c[qa >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[oa >> 2] | 0) + (c[qa >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- qa = ((gp(c[Ha >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- qa &
- ((c[Ga >> 2] | 0) >>> 0 <=
- (((c[Ia >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- qa = c[Ha >> 2] | 0;
- oa = c[Ja >> 2] | 0;
- na = c[Ka >> 2] | 0;
- c[ha >> 2] = c[Ga >> 2];
- c[ia >> 2] = qa;
- c[ja >> 2] = oa;
- c[ka >> 2] = na;
- c[la >> 2] = ip(c[ia >> 2] | 0, c[ka >> 2] | 0) | 0;
- na = c[ha >> 2] | 0;
- oa = ((c[ja >> 2] | 0) + (c[la >> 2] << 2)) | 0;
- a[na >> 0] = a[oa >> 0] | 0;
- a[(na + 1) >> 0] = a[(oa + 1) >> 0] | 0;
- jp(
- c[ia >> 2] | 0,
- d[((c[ja >> 2] | 0) + (c[la >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[ja >> 2] | 0) + (c[la >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- Fe = c[Ga >> 2] | 0;
- if (
- (c[Ga >> 2] | 0) >>> 0 >
- (((c[Ia >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- la = c[Ha >> 2] | 0;
- ja = c[Ja >> 2] | 0;
- ia = c[Ka >> 2] | 0;
- c[ca >> 2] = Fe;
- c[da >> 2] = la;
- c[ea >> 2] = ja;
- c[fa >> 2] = ia;
- c[ga >> 2] = ip(c[da >> 2] | 0, c[fa >> 2] | 0) | 0;
- ia = c[ca >> 2] | 0;
- ja = ((c[ea >> 2] | 0) + (c[ga >> 2] << 2)) | 0;
- a[ia >> 0] = a[ja >> 0] | 0;
- a[(ia + 1) >> 0] = a[(ja + 1) >> 0] | 0;
- jp(
- c[da >> 2] | 0,
- d[((c[ea >> 2] | 0) + (c[ga >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] =
- (c[Ga >> 2] | 0) +
- (d[((c[ea >> 2] | 0) + (c[ga >> 2] << 2) + 3) >> 0] | 0);
- }
- if (Fe >>> 0 < (c[Ia >> 2] | 0) >>> 0) {
- Ia = c[Ha >> 2] | 0;
- Ha = c[Ja >> 2] | 0;
- Ja = c[Ka >> 2] | 0;
- c[Z >> 2] = c[Ga >> 2];
- c[_ >> 2] = Ia;
- c[$ >> 2] = Ha;
- c[aa >> 2] = Ja;
- c[ba >> 2] = ip(c[_ >> 2] | 0, c[aa >> 2] | 0) | 0;
- a[c[Z >> 2] >> 0] =
- a[((c[$ >> 2] | 0) + (c[ba >> 2] << 2)) >> 0] | 0;
- Z = c[_ >> 2] | 0;
- if (
- (d[((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(Z + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[_ >> 2] | 0,
- d[
- ((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 2) >> 0
- ] | 0
- ),
- (c[((c[_ >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[_ >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- Z,
- d[((c[$ >> 2] | 0) + (c[ba >> 2] << 2) + 2) >> 0] | 0
- );
- c[Ga >> 2] = (c[Ga >> 2] | 0) + 1;
- }
- Ga = c[Ud >> 2] | 0;
- Ud = c[Wd >> 2] | 0;
- Wd = c[re >> 2] | 0;
- c[T >> 2] = c[oe >> 2];
- c[U >> 2] = _d;
- c[V >> 2] = Ga;
- c[W >> 2] = Ud;
- c[X >> 2] = Wd;
- c[Y >> 2] = c[T >> 2];
- while (1) {
- Y = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- Y &
- ((c[T >> 2] | 0) >>> 0 <
- (((c[V >> 2] | 0) + -3) | 0) >>> 0)
- )
- )
- break;
- if (hp() | 0) {
- Y = c[U >> 2] | 0;
- Wd = c[W >> 2] | 0;
- Ud = c[X >> 2] | 0;
- c[O >> 2] = c[T >> 2];
- c[P >> 2] = Y;
- c[Q >> 2] = Wd;
- c[R >> 2] = Ud;
- c[S >> 2] = ip(c[P >> 2] | 0, c[R >> 2] | 0) | 0;
- Ud = c[O >> 2] | 0;
- Wd = ((c[Q >> 2] | 0) + (c[S >> 2] << 2)) | 0;
- a[Ud >> 0] = a[Wd >> 0] | 0;
- a[(Ud + 1) >> 0] = a[(Wd + 1) >> 0] | 0;
- jp(
- c[P >> 2] | 0,
- d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[Q >> 2] | 0) + (c[S >> 2] << 2) + 3) >> 0] | 0);
- }
- hp() | 0;
- Wd = c[U >> 2] | 0;
- Ud = c[W >> 2] | 0;
- Y = c[X >> 2] | 0;
- c[J >> 2] = c[T >> 2];
- c[K >> 2] = Wd;
- c[L >> 2] = Ud;
- c[M >> 2] = Y;
- c[N >> 2] = ip(c[K >> 2] | 0, c[M >> 2] | 0) | 0;
- Y = c[J >> 2] | 0;
- Ud = ((c[L >> 2] | 0) + (c[N >> 2] << 2)) | 0;
- a[Y >> 0] = a[Ud >> 0] | 0;
- a[(Y + 1) >> 0] = a[(Ud + 1) >> 0] | 0;
- jp(
- c[K >> 2] | 0,
- d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[L >> 2] | 0) + (c[N >> 2] << 2) + 3) >> 0] | 0);
- if (hp() | 0) {
- Ud = c[U >> 2] | 0;
- Y = c[W >> 2] | 0;
- Wd = c[X >> 2] | 0;
- c[E >> 2] = c[T >> 2];
- c[F >> 2] = Ud;
- c[G >> 2] = Y;
- c[H >> 2] = Wd;
- c[I >> 2] = ip(c[F >> 2] | 0, c[H >> 2] | 0) | 0;
- Wd = c[E >> 2] | 0;
- Y = ((c[G >> 2] | 0) + (c[I >> 2] << 2)) | 0;
- a[Wd >> 0] = a[Y >> 0] | 0;
- a[(Wd + 1) >> 0] = a[(Y + 1) >> 0] | 0;
- jp(
- c[F >> 2] | 0,
- d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[G >> 2] | 0) + (c[I >> 2] << 2) + 3) >> 0] | 0);
- }
- Y = c[U >> 2] | 0;
- Wd = c[W >> 2] | 0;
- Ud = c[X >> 2] | 0;
- c[z >> 2] = c[T >> 2];
- c[A >> 2] = Y;
- c[B >> 2] = Wd;
- c[C >> 2] = Ud;
- c[D >> 2] = ip(c[A >> 2] | 0, c[C >> 2] | 0) | 0;
- Ud = c[z >> 2] | 0;
- Wd = ((c[B >> 2] | 0) + (c[D >> 2] << 2)) | 0;
- a[Ud >> 0] = a[Wd >> 0] | 0;
- a[(Ud + 1) >> 0] = a[(Wd + 1) >> 0] | 0;
- jp(
- c[A >> 2] | 0,
- d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[B >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- D = ((gp(c[U >> 2] | 0) | 0) == 0) & 1;
- if (
- !(
- D &
- ((c[T >> 2] | 0) >>> 0 <=
- (((c[V >> 2] | 0) + -2) | 0) >>> 0)
- )
- )
- break;
- D = c[U >> 2] | 0;
- B = c[W >> 2] | 0;
- A = c[X >> 2] | 0;
- c[u >> 2] = c[T >> 2];
- c[v >> 2] = D;
- c[w >> 2] = B;
- c[x >> 2] = A;
- c[y >> 2] = ip(c[v >> 2] | 0, c[x >> 2] | 0) | 0;
- A = c[u >> 2] | 0;
- B = ((c[w >> 2] | 0) + (c[y >> 2] << 2)) | 0;
- a[A >> 0] = a[B >> 0] | 0;
- a[(A + 1) >> 0] = a[(B + 1) >> 0] | 0;
- jp(
- c[v >> 2] | 0,
- d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[w >> 2] | 0) + (c[y >> 2] << 2) + 3) >> 0] | 0);
- }
- while (1) {
- Ge = c[T >> 2] | 0;
- if (
- (c[T >> 2] | 0) >>> 0 >
- (((c[V >> 2] | 0) + -2) | 0) >>> 0
- )
- break;
- y = c[U >> 2] | 0;
- w = c[W >> 2] | 0;
- v = c[X >> 2] | 0;
- c[p >> 2] = Ge;
- c[q >> 2] = y;
- c[r >> 2] = w;
- c[s >> 2] = v;
- c[t >> 2] = ip(c[q >> 2] | 0, c[s >> 2] | 0) | 0;
- v = c[p >> 2] | 0;
- w = ((c[r >> 2] | 0) + (c[t >> 2] << 2)) | 0;
- a[v >> 0] = a[w >> 0] | 0;
- a[(v + 1) >> 0] = a[(w + 1) >> 0] | 0;
- jp(
- c[q >> 2] | 0,
- d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (d[((c[r >> 2] | 0) + (c[t >> 2] << 2) + 3) >> 0] | 0);
- }
- if (Ge >>> 0 < (c[V >> 2] | 0) >>> 0) {
- V = c[U >> 2] | 0;
- U = c[W >> 2] | 0;
- W = c[X >> 2] | 0;
- c[j >> 2] = c[T >> 2];
- c[k >> 2] = V;
- c[m >> 2] = U;
- c[n >> 2] = W;
- c[o >> 2] = ip(c[k >> 2] | 0, c[n >> 2] | 0) | 0;
- a[c[j >> 2] >> 0] =
- a[((c[m >> 2] | 0) + (c[o >> 2] << 2)) >> 0] | 0;
- j = c[k >> 2] | 0;
- if (
- (d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 3) >> 0] |
- 0 |
- 0) !=
- 1
- ) {
- if (
- (c[(j + 4) >> 2] | 0) >>> 0 < 32
- ? (jp(
- c[k >> 2] | 0,
- d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] |
- 0
- ),
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32)
- : 0
- )
- c[((c[k >> 2] | 0) + 4) >> 2] = 32;
- } else
- jp(
- j,
- d[((c[m >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
- );
- c[T >> 2] = (c[T >> 2] | 0) + 1;
- }
- T = lp(Xd) | 0;
- Xd = T & (lp(Yd) | 0);
- Yd = Xd & (lp(Zd) | 0);
- c[we >> 2] = Yd & (lp(_d) | 0);
- if (c[we >> 2] | 0) {
- c[Md >> 2] = c[Od >> 2];
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- } else {
- c[Md >> 2] = -20;
- Ce = c[Md >> 2] | 0;
- l = i;
- return Ce | 0;
- }
- return 0;
- }
- function Mp(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- j = l;
- l = (l + 48) | 0;
- k = (j + 40) | 0;
- m = (j + 36) | 0;
- n = (j + 32) | 0;
- o = (j + 28) | 0;
- p = (j + 24) | 0;
- q = (j + 20) | 0;
- r = (j + 16) | 0;
- s = (j + 12) | 0;
- t = (j + 8) | 0;
- u = (j + 4) | 0;
- v = j;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = c[p >> 2];
- c[v >> 2] =
- Bp(
- c[m >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0
- ) | 0;
- s = (ap(c[v >> 2] | 0) | 0) != 0;
- r = c[v >> 2] | 0;
- if (s) {
- c[k >> 2] = r;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- if (r >>> 0 >= (c[q >> 2] | 0) >>> 0) {
- c[k >> 2] = -72;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- } else {
- c[u >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
- c[q >> 2] = (c[q >> 2] | 0) - (c[v >> 2] | 0);
- c[k >> 2] =
- Jp(
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[u >> 2] | 0,
- c[q >> 2] | 0,
- c[m >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- return 0;
- }
- function Np(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 20) | 0;
- f = (d + 16) | 0;
- g = (d + 12) | 0;
- h = (d + 8) | 0;
- i = (d + 4) | 0;
- j = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- if ((c[f >> 2] | 0) >>> 0 >= (c[e >> 2] | 0) >>> 0) k = 15;
- else
- k =
- (((c[f >> 2] << 4) >>> 0) / ((c[e >> 2] | 0) >>> 0)) | 0;
- c[g >> 2] = k;
- c[h >> 2] = (c[e >> 2] | 0) >>> 8;
- c[i >> 2] =
- (c[(7008 + (((c[g >> 2] | 0) * 24) | 0)) >> 2] | 0) +
- (N(
- c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 4) >> 2] | 0,
- c[h >> 2] | 0
- ) |
- 0);
- c[j >> 2] =
- (c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 8) >> 2] | 0) +
- (N(
- c[(7008 + (((c[g >> 2] | 0) * 24) | 0) + 8 + 4) >> 2] | 0,
- c[h >> 2] | 0
- ) |
- 0);
- c[j >> 2] = (c[j >> 2] | 0) + ((c[j >> 2] | 0) >>> 3);
- l = d;
- return ((c[j >> 2] | 0) >>> 0 < (c[i >> 2] | 0) >>> 0) | 0;
- }
- function Op(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 20) | 0;
- k = (i + 16) | 0;
- m = (i + 12) | 0;
- n = (i + 8) | 0;
- o = (i + 4) | 0;
- p = i;
- q = (i + 24) | 0;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- bp(q, c[o >> 2] | 0);
- h = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- if (d[(q + 1) >> 0] | 0 | 0) {
- r = Gp(h, j, k, m, n, o) | 0;
- l = i;
- return r | 0;
- } else {
- r = cp(h, j, k, m, n, o) | 0;
- l = i;
- return r | 0;
- }
- return 0;
- }
- function Pp(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- j = l;
- l = (l + 48) | 0;
- k = (j + 40) | 0;
- m = (j + 36) | 0;
- n = (j + 32) | 0;
- o = (j + 28) | 0;
- p = (j + 24) | 0;
- q = (j + 20) | 0;
- r = (j + 16) | 0;
- s = (j + 12) | 0;
- t = (j + 8) | 0;
- u = (j + 4) | 0;
- v = j;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = c[p >> 2];
- c[v >> 2] =
- $o(
- c[m >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0
- ) | 0;
- s = (ap(c[v >> 2] | 0) | 0) != 0;
- r = c[v >> 2] | 0;
- if (s) {
- c[k >> 2] = r;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- if (r >>> 0 >= (c[q >> 2] | 0) >>> 0) {
- c[k >> 2] = -72;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- } else {
- c[u >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
- c[q >> 2] = (c[q >> 2] | 0) - (c[v >> 2] | 0);
- c[k >> 2] =
- cp(
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[u >> 2] | 0,
- c[q >> 2] | 0,
- c[m >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- return 0;
- }
- function Qp(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 20) | 0;
- k = (i + 16) | 0;
- m = (i + 12) | 0;
- n = (i + 8) | 0;
- o = (i + 4) | 0;
- p = i;
- q = (i + 24) | 0;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- bp(q, c[o >> 2] | 0);
- h = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- if (d[(q + 1) >> 0] | 0 | 0) {
- r = Jp(h, j, k, m, n, o) | 0;
- l = i;
- return r | 0;
- } else {
- r = vp(h, j, k, m, n, o) | 0;
- l = i;
- return r | 0;
- }
- return 0;
- }
- function Rp(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- j = l;
- l = (l + 48) | 0;
- k = (j + 36) | 0;
- m = (j + 32) | 0;
- n = (j + 28) | 0;
- o = (j + 24) | 0;
- p = (j + 20) | 0;
- q = (j + 16) | 0;
- r = (j + 12) | 0;
- s = (j + 8) | 0;
- t = (j + 4) | 0;
- u = j;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- if (!(c[o >> 2] | 0)) {
- c[k >> 2] = -70;
- v = c[k >> 2] | 0;
- l = j;
- return v | 0;
- }
- if (!(c[q >> 2] | 0)) {
- c[k >> 2] = -20;
- v = c[k >> 2] | 0;
- l = j;
- return v | 0;
- }
- c[u >> 2] = Np(c[o >> 2] | 0, c[q >> 2] | 0) | 0;
- i = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- p = c[q >> 2] | 0;
- q = c[r >> 2] | 0;
- r = c[s >> 2] | 0;
- s = c[t >> 2] | 0;
- if (c[u >> 2] | 0) w = Mp(i, m, n, o, p, q, r, s) | 0;
- else w = Ap(i, m, n, o, p, q, r, s) | 0;
- c[k >> 2] = w;
- v = c[k >> 2] | 0;
- l = j;
- return v | 0;
- }
- function Sp(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 48) | 0;
- d = (b + 24) | 0;
- e = (b + 16) | 0;
- f = b;
- c[e >> 2] = a;
- c[((c[e >> 2] | 0) + 28912) >> 2] = 0;
- c[((c[e >> 2] | 0) + 28940) >> 2] = 0;
- c[((c[e >> 2] | 0) + 28972) >> 2] = 134217729;
- c[((c[e >> 2] | 0) + 28952) >> 2] = 0;
- c[((c[e >> 2] | 0) + 28948) >> 2] = 0;
- c[((c[e >> 2] | 0) + 28960) >> 2] = 0;
- c[((c[e >> 2] | 0) + 28964) >> 2] = 0;
- c[((c[e >> 2] | 0) + 28980) >> 2] = 0;
- c[((c[e >> 2] | 0) + 28956) >> 2] = 0;
- Tp(f);
- c[d >> 2] = c[f >> 2];
- c[(d + 4) >> 2] = c[(f + 4) >> 2];
- c[(d + 8) >> 2] = c[(f + 8) >> 2];
- c[(d + 12) >> 2] = c[(f + 12) >> 2];
- f = Up(d) | 0;
- c[((c[e >> 2] | 0) + 28944) >> 2] = f;
- l = b;
- return;
- }
- function Tp(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- b = l;
- l = (l + 32) | 0;
- d = (b + 28) | 0;
- e = (b + 24) | 0;
- f = (b + 20) | 0;
- g = (b + 16) | 0;
- h = b;
- c[d >> 2] = 0;
- c[e >> 2] = 0;
- c[f >> 2] = 0;
- c[g >> 2] = 0;
- c[h >> 2] = c[d >> 2];
- c[(h + 4) >> 2] = c[e >> 2];
- c[(h + 8) >> 2] = c[f >> 2];
- c[(h + 12) >> 2] = c[g >> 2];
- c[a >> 2] = c[h >> 2];
- c[(a + 4) >> 2] = c[(h + 4) >> 2];
- c[(a + 8) >> 2] = c[(h + 8) >> 2];
- c[(a + 12) >> 2] = c[(h + 12) >> 2];
- l = b;
- return;
- }
- function Up(a) {
- a = a | 0;
- return (((c[(a + 8) >> 2] & 256) | 0) != 0) | 0;
- }
- function Vp(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 32) | 0;
- d = (b + 8) | 0;
- e = (b + 4) | 0;
- f = b;
- if (
- (((((c[a >> 2] | 0) != 0) ^ 1) & 1) ^
- ((((c[(a + 4) >> 2] | 0) != 0) ^ 1) & 1)) |
- 0
- ) {
- c[e >> 2] = 0;
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- }
- c[d >> 2] = c[a >> 2];
- c[(d + 4) >> 2] = c[(a + 4) >> 2];
- c[(d + 8) >> 2] = c[(a + 8) >> 2];
- c[f >> 2] = Rh(160112, d) | 0;
- if (c[f >> 2] | 0) {
- d = ((c[f >> 2] | 0) + 28920) | 0;
- c[d >> 2] = c[a >> 2];
- c[(d + 4) >> 2] = c[(a + 4) >> 2];
- c[(d + 8) >> 2] = c[(a + 8) >> 2];
- c[((c[f >> 2] | 0) + 28996) >> 2] = 0;
- c[((c[f >> 2] | 0) + 29e3) >> 2] = 0;
- Sp(c[f >> 2] | 0);
- c[e >> 2] = c[f >> 2];
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[e >> 2] = 0;
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Wp() {
- var a = 0,
- b = 0,
- d = 0;
- a = l;
- l = (l + 16) | 0;
- b = a;
- c[b >> 2] = c[5412];
- c[(b + 4) >> 2] = c[5413];
- c[(b + 8) >> 2] = c[5414];
- d = Vp(b) | 0;
- l = a;
- return d | 0;
- }
- function Xp(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- b = l;
- l = (l + 32) | 0;
- d = (b + 20) | 0;
- e = (b + 16) | 0;
- f = (b + 12) | 0;
- g = b;
- c[f >> 2] = a;
- if (!(c[f >> 2] | 0)) {
- c[e >> 2] = 0;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- }
- if (c[((c[f >> 2] | 0) + 28940) >> 2] | 0) {
- c[e >> 2] = -64;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- }
- a = ((c[f >> 2] | 0) + 28920) | 0;
- c[g >> 2] = c[a >> 2];
- c[(g + 4) >> 2] = c[(a + 4) >> 2];
- c[(g + 8) >> 2] = c[(a + 8) >> 2];
- Yp(c[((c[f >> 2] | 0) + 28948) >> 2] | 0) | 0;
- c[((c[f >> 2] | 0) + 28948) >> 2] = 0;
- a = c[((c[f >> 2] | 0) + 28960) >> 2] | 0;
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- Th(a, d);
- c[((c[f >> 2] | 0) + 28960) >> 2] = 0;
- if (c[((c[f >> 2] | 0) + 28996) >> 2] | 0)
- Zp(
- c[((c[f >> 2] | 0) + 28996) >> 2] | 0,
- c[((c[f >> 2] | 0) + 29e3) >> 2] | 0
- ) | 0;
- a = c[f >> 2] | 0;
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- Th(a, d);
- c[e >> 2] = 0;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- }
- function Yp(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- b = l;
- l = (l + 32) | 0;
- d = (b + 20) | 0;
- e = (b + 16) | 0;
- f = (b + 12) | 0;
- g = b;
- c[f >> 2] = a;
- if (!(c[f >> 2] | 0)) {
- c[e >> 2] = 0;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- a = ((c[f >> 2] | 0) + 28732) | 0;
- c[g >> 2] = c[a >> 2];
- c[(g + 4) >> 2] = c[(a + 4) >> 2];
- c[(g + 8) >> 2] = c[(a + 8) >> 2];
- a = c[c[f >> 2] >> 2] | 0;
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- Th(a, d);
- a = c[f >> 2] | 0;
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- Th(a, d);
- c[e >> 2] = 0;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function Zp(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- switch (c[g >> 2] | 0) {
- case 7: {
- c[e >> 2] = bq(c[f >> 2] | 0) | 0;
- break;
- }
- case 6: {
- c[e >> 2] = aq(c[f >> 2] | 0) | 0;
- break;
- }
- case 5: {
- c[e >> 2] = $p(c[f >> 2] | 0) | 0;
- break;
- }
- case 4: {
- c[e >> 2] = _p(c[f >> 2] | 0) | 0;
- break;
- }
- default:
- c[e >> 2] = -12;
- }
- l = d;
- return c[e >> 2] | 0;
- }
- function _p(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = fq(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function $p(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- if (!(c[e >> 2] | 0)) {
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- } else {
- eq(c[c[e >> 2] >> 2] | 0) | 0;
- Dy(c[((c[e >> 2] | 0) + 48) >> 2] | 0);
- Dy(c[((c[e >> 2] | 0) + 60) >> 2] | 0);
- Dy(c[e >> 2] | 0);
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function aq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- if (!(c[e >> 2] | 0)) {
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- } else {
- dq(c[c[e >> 2] >> 2] | 0) | 0;
- Dy(c[((c[e >> 2] | 0) + 28) >> 2] | 0);
- Dy(c[((c[e >> 2] | 0) + 40) >> 2] | 0);
- Dy(c[e >> 2] | 0);
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function bq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- if (!(c[e >> 2] | 0)) {
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- cq(c[c[e >> 2] >> 2] | 0) | 0;
- if (c[((c[e >> 2] | 0) + 36) >> 2] | 0)
- xc[c[((c[e >> 2] | 0) + 92 + 4) >> 2] & 31](
- c[((c[e >> 2] | 0) + 92 + 8) >> 2] | 0,
- c[((c[e >> 2] | 0) + 36) >> 2] | 0
- );
- if (c[((c[e >> 2] | 0) + 48) >> 2] | 0)
- xc[c[((c[e >> 2] | 0) + 92 + 4) >> 2] & 31](
- c[((c[e >> 2] | 0) + 92 + 8) >> 2] | 0,
- c[((c[e >> 2] | 0) + 48) >> 2] | 0
- );
- xc[c[((c[e >> 2] | 0) + 92 + 4) >> 2] & 31](
- c[((c[e >> 2] | 0) + 92 + 8) >> 2] | 0,
- c[e >> 2] | 0
- );
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- function cq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- if (!(c[e >> 2] | 0)) {
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- } else {
- xc[c[((c[e >> 2] | 0) + 21692 + 4) >> 2] & 31](
- c[((c[e >> 2] | 0) + 21692 + 8) >> 2] | 0,
- c[e >> 2] | 0
- );
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function dq(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- Dy(c[d >> 2] | 0);
- l = b;
- return 0;
- }
- function eq(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- Dy(c[d >> 2] | 0);
- l = b;
- return 0;
- }
- function fq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- if (!(c[e >> 2] | 0)) {
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- } else {
- gq(c[c[e >> 2] >> 2] | 0) | 0;
- Dy(c[((c[e >> 2] | 0) + 40) >> 2] | 0);
- Dy(c[((c[e >> 2] | 0) + 52) >> 2] | 0);
- Dy(c[e >> 2] | 0);
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function gq(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- Dy(c[d >> 2] | 0);
- l = b;
- return 0;
- }
- function hq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (jq() | 0) != 0;
- f = kq(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = lq(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function iq(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 12) | 0;
- f = (d + 8) | 0;
- g = (d + 4) | 0;
- h = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- a: do {
- if ((c[g >> 2] | 0) >>> 0 < 4) c[e >> 2] = 0;
- else {
- c[h >> 2] = hq(c[f >> 2] | 0) | 0;
- switch (c[h >> 2] | 0) {
- case -47205084: {
- c[e >> 2] = 4;
- break a;
- break;
- }
- case -47205083: {
- c[e >> 2] = 5;
- break a;
- break;
- }
- case -47205082: {
- c[e >> 2] = 6;
- break a;
- break;
- }
- case -47205081: {
- c[e >> 2] = 7;
- break a;
- break;
- }
- default: {
- c[e >> 2] = 0;
- break a;
- }
- }
- }
- } while (0);
- l = d;
- return c[e >> 2] | 0;
- }
- function jq() {
- return d[11936] | 0 | 0;
- }
- function kq(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function lq(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function mq(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = nq(c[e >> 2] | 0, c[f >> 2] | 0, 0) | 0;
- l = d;
- return b | 0;
- }
- function nq(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 32) | 0;
- o = (g + 8) | 0;
- p = (g + 4) | 0;
- q = g;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = oq(c[k >> 2] | 0) | 0;
- if ((c[j >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
- c[h >> 2] = -72;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- a[n >> 0] =
- a[((c[i >> 2] | 0) + ((c[m >> 2] | 0) - 1)) >> 0] | 0;
- c[o >> 2] = (d[n >> 0] | 0) & 3;
- c[p >> 2] = ((d[n >> 0] | 0) >> 5) & 1;
- c[q >> 2] = (d[n >> 0] | 0) >> 6;
- if (c[p >> 2] | 0) s = ((c[q >> 2] | 0) != 0) ^ 1;
- else s = 0;
- c[h >> 2] =
- (c[m >> 2] | 0) +
- ((((c[p >> 2] | 0) != 0) ^ 1) & 1) +
- (c[(3456 + (c[o >> 2] << 2)) >> 2] | 0) +
- (c[(3472 + (c[q >> 2] << 2)) >> 2] | 0) +
- (s & 1);
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- function oq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[d >> 2] = a;
- c[e >> 2] = (c[d >> 2] | 0) == 1 ? 1 : 5;
- l = b;
- return c[e >> 2] | 0;
- }
- function pq(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = qq(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0, 0) | 0;
- l = e;
- return d | 0;
- }
- function qq(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 72) | 0;
- j = (h + 68) | 0;
- k = (h + 64) | 0;
- m = (h + 60) | 0;
- n = (h + 56) | 0;
- o = (h + 52) | 0;
- p = (h + 48) | 0;
- q = (h + 44) | 0;
- r = (h + 77) | 0;
- s = (h + 40) | 0;
- t = (h + 36) | 0;
- u = (h + 32) | 0;
- v = (h + 28) | 0;
- w = (h + 24) | 0;
- x = (h + 8) | 0;
- z = (h + 20) | 0;
- A = h;
- B = (h + 76) | 0;
- C = (h + 16) | 0;
- c[j >> 2] = b;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = c[k >> 2];
- c[p >> 2] = oq(c[n >> 2] | 0) | 0;
- if ((c[m >> 2] | 0) >>> 0 < (c[p >> 2] | 0) >>> 0) {
- c[i >> 2] = c[p >> 2];
- D = c[i >> 2] | 0;
- l = h;
- return D | 0;
- }
- if (
- (c[n >> 2] | 0) != 1
- ? (hq(c[k >> 2] | 0) | 0) != -47205080
- : 0
- ) {
- if ((((hq(c[k >> 2] | 0) | 0) & -16) | 0) != 407710288) {
- c[i >> 2] = -10;
- D = c[i >> 2] | 0;
- l = h;
- return D | 0;
- }
- if ((c[m >> 2] | 0) >>> 0 < 8) {
- c[i >> 2] = 8;
- D = c[i >> 2] | 0;
- l = h;
- return D | 0;
- } else {
- g = c[j >> 2] | 0;
- f = (g + 40) | 0;
- do {
- c[g >> 2] = 0;
- g = (g + 4) | 0;
- } while ((g | 0) < (f | 0));
- g = hq(((c[k >> 2] | 0) + 4) | 0) | 0;
- f = c[j >> 2] | 0;
- c[f >> 2] = g;
- c[(f + 4) >> 2] = 0;
- c[((c[j >> 2] | 0) + 20) >> 2] = 1;
- c[i >> 2] = 0;
- D = c[i >> 2] | 0;
- l = h;
- return D | 0;
- }
- }
- c[q >> 2] =
- nq(c[k >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- n = c[q >> 2] | 0;
- if ((c[m >> 2] | 0) >>> 0 < (c[q >> 2] | 0) >>> 0) {
- c[i >> 2] = n;
- D = c[i >> 2] | 0;
- l = h;
- return D | 0;
- }
- c[((c[j >> 2] | 0) + 24) >> 2] = n;
- a[r >> 0] =
- a[((c[o >> 2] | 0) + ((c[p >> 2] | 0) - 1)) >> 0] | 0;
- c[s >> 2] = c[p >> 2];
- c[t >> 2] = (d[r >> 0] | 0) & 3;
- c[u >> 2] = ((d[r >> 0] | 0) >> 2) & 1;
- c[v >> 2] = ((d[r >> 0] | 0) >> 5) & 1;
- c[w >> 2] = (d[r >> 0] | 0) >> 6;
- p = x;
- c[p >> 2] = 0;
- c[(p + 4) >> 2] = 0;
- c[z >> 2] = 0;
- p = A;
- c[p >> 2] = -1;
- c[(p + 4) >> 2] = -1;
- if (((d[r >> 0] | 0) & 8) | 0) {
- c[i >> 2] = -14;
- D = c[i >> 2] | 0;
- l = h;
- return D | 0;
- }
- do {
- if (!(c[v >> 2] | 0)) {
- r = c[o >> 2] | 0;
- p = c[s >> 2] | 0;
- c[s >> 2] = p + 1;
- a[B >> 0] = a[(r + p) >> 0] | 0;
- c[C >> 2] = ((d[B >> 0] | 0) >> 3) + 10;
- if ((c[C >> 2] | 0) >>> 0 <= 30) {
- p = jE(1, 0, c[C >> 2] | 0) | 0;
- r = x;
- c[r >> 2] = p;
- c[(r + 4) >> 2] = y;
- r = x;
- p = iE(c[r >> 2] | 0, c[(r + 4) >> 2] | 0, 3) | 0;
- r = (d[B >> 0] | 0) & 7;
- n =
- cE(
- p | 0,
- y | 0,
- r | 0,
- ((((r | 0) < 0) << 31) >> 31) | 0
- ) | 0;
- r = x;
- p =
- dE(c[r >> 2] | 0, c[(r + 4) >> 2] | 0, n | 0, y | 0) |
- 0;
- n = x;
- c[n >> 2] = p;
- c[(n + 4) >> 2] = y;
- break;
- }
- c[i >> 2] = -16;
- D = c[i >> 2] | 0;
- l = h;
- return D | 0;
- }
- } while (0);
- switch (c[t >> 2] | 0) {
- case 3: {
- c[z >> 2] =
- hq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0;
- c[s >> 2] = (c[s >> 2] | 0) + 4;
- break;
- }
- case 1: {
- c[z >> 2] = d[((c[o >> 2] | 0) + (c[s >> 2] | 0)) >> 0];
- c[s >> 2] = (c[s >> 2] | 0) + 1;
- break;
- }
- case 2: {
- c[z >> 2] =
- (rq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0) &
- 65535;
- c[s >> 2] = (c[s >> 2] | 0) + 2;
- break;
- }
- default: {
- }
- }
- switch (c[w >> 2] | 0) {
- case 3: {
- w = A;
- c[w >> 2] =
- sq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0;
- c[(w + 4) >> 2] = y;
- break;
- }
- case 1: {
- w =
- (((rq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0) &
- 65535) +
- 256) |
- 0;
- t = A;
- c[t >> 2] = w;
- c[(t + 4) >> 2] = (((w | 0) < 0) << 31) >> 31;
- break;
- }
- case 2: {
- w = A;
- c[w >> 2] =
- hq(((c[o >> 2] | 0) + (c[s >> 2] | 0)) | 0) | 0;
- c[(w + 4) >> 2] = 0;
- break;
- }
- default:
- if (c[v >> 2] | 0) {
- w = A;
- c[w >> 2] = d[((c[o >> 2] | 0) + (c[s >> 2] | 0)) >> 0];
- c[(w + 4) >> 2] = 0;
- }
- }
- if (c[v >> 2] | 0) {
- v = A;
- w = c[(v + 4) >> 2] | 0;
- s = x;
- c[s >> 2] = c[v >> 2];
- c[(s + 4) >> 2] = w;
- }
- c[((c[j >> 2] | 0) + 20) >> 2] = 0;
- w = A;
- A = c[(w + 4) >> 2] | 0;
- s = c[j >> 2] | 0;
- c[s >> 2] = c[w >> 2];
- c[(s + 4) >> 2] = A;
- A = x;
- s = c[(A + 4) >> 2] | 0;
- w = ((c[j >> 2] | 0) + 8) | 0;
- c[w >> 2] = c[A >> 2];
- c[(w + 4) >> 2] = s;
- s = x;
- w = c[(s + 4) >> 2] | 0;
- A =
- (w >>> 0 < 0) |
- (((w | 0) == 0) & ((c[s >> 2] | 0) >>> 0 < 131072));
- s = x;
- x = c[(s + 4) >> 2] | 0;
- x = A ? c[s >> 2] | 0 : 131072;
- c[((c[j >> 2] | 0) + 16) >> 2] = x;
- c[((c[j >> 2] | 0) + 28) >> 2] = c[z >> 2];
- c[((c[j >> 2] | 0) + 32) >> 2] = c[u >> 2];
- c[i >> 2] = 0;
- D = c[i >> 2] | 0;
- l = h;
- return D | 0;
- }
- function rq(a) {
- a = a | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[g >> 2] = a;
- a = (jq() | 0) != 0;
- i = c[g >> 2] | 0;
- if (a) {
- b[f >> 1] = vq(i) | 0;
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- } else {
- c[h >> 2] = i;
- b[f >> 1] =
- (d[c[h >> 2] >> 0] | 0) +
- ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function sq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (jq() | 0) != 0;
- f = tq(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = uq(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function tq(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- e = a;
- f = (a + 4) | 0;
- y =
- d[f >> 0] |
- (d[(f + 1) >> 0] << 8) |
- (d[(f + 2) >> 0] << 16) |
- (d[(f + 3) >> 0] << 24);
- l = b;
- return (
- d[e >> 0] |
- (d[(e + 1) >> 0] << 8) |
- (d[(e + 2) >> 0] << 16) |
- (d[(e + 3) >> 0] << 24) |
- 0
- );
- }
- function uq(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function vq(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function wq(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- d = l;
- l = (l + 64) | 0;
- e = (d + 48) | 0;
- f = (d + 60) | 0;
- g = (d + 56) | 0;
- h = (d + 40) | 0;
- i = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- b = (iq(c[f >> 2] | 0, c[g >> 2] | 0) | 0) != 0;
- a = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- do {
- if (!b) {
- if (pq(i, a, f) | 0) {
- g = e;
- c[g >> 2] = -2;
- c[(g + 4) >> 2] = -1;
- break;
- }
- if ((c[(i + 20) >> 2] | 0) == 1) {
- g = e;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- break;
- } else {
- g = i;
- j = c[(g + 4) >> 2] | 0;
- k = e;
- c[k >> 2] = c[g >> 2];
- c[(k + 4) >> 2] = j;
- break;
- }
- } else {
- j = xq(a, f) | 0;
- k = h;
- c[k >> 2] = j;
- c[(k + 4) >> 2] = y;
- k = h;
- j = ((c[k >> 2] | 0) == 0) & ((c[(k + 4) >> 2] | 0) == 0);
- k = h;
- g = j ? -1 : c[(k + 4) >> 2] | 0;
- m = e;
- c[m >> 2] = j ? -1 : c[k >> 2] | 0;
- c[(m + 4) >> 2] = g;
- }
- } while (0);
- h = e;
- y = c[(h + 4) >> 2] | 0;
- l = d;
- return c[h >> 2] | 0;
- }
- function xq(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- d = l;
- l = (l + 112) | 0;
- e = (d + 80) | 0;
- f = (d + 108) | 0;
- g = (d + 104) | 0;
- h = (d + 100) | 0;
- i = (d + 40) | 0;
- j = (d + 96) | 0;
- k = (d + 24) | 0;
- m = (d + 92) | 0;
- n = d;
- o = (d + 88) | 0;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = iq(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- do {
- if ((c[h >> 2] | 0) >>> 0 >= 5) {
- if ((c[h >> 2] | 0) == 5) {
- c[j >> 2] = yq(i, c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- if (c[j >> 2] | 0) {
- b = e;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- break;
- } else {
- b = i;
- a = c[(b + 4) >> 2] | 0;
- p = e;
- c[p >> 2] = c[b >> 2];
- c[(p + 4) >> 2] = a;
- break;
- }
- }
- if ((c[h >> 2] | 0) == 6) {
- c[m >> 2] = zq(k, c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- if (c[m >> 2] | 0) {
- a = e;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- break;
- } else {
- a = k;
- p = c[(a + 4) >> 2] | 0;
- b = e;
- c[b >> 2] = c[a >> 2];
- c[(b + 4) >> 2] = p;
- break;
- }
- }
- if ((c[h >> 2] | 0) != 7) {
- p = e;
- c[p >> 2] = 0;
- c[(p + 4) >> 2] = 0;
- break;
- }
- c[o >> 2] = Aq(n, c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- if (c[o >> 2] | 0) {
- p = e;
- c[p >> 2] = 0;
- c[(p + 4) >> 2] = 0;
- break;
- } else {
- p = n;
- b = c[(p + 4) >> 2] | 0;
- a = e;
- c[a >> 2] = c[p >> 2];
- c[(a + 4) >> 2] = b;
- break;
- }
- } else {
- b = e;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- }
- } while (0);
- n = e;
- y = c[(n + 4) >> 2] | 0;
- l = d;
- return c[n >> 2] | 0;
- }
- function yq(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- if ((c[j >> 2] | 0) >>> 0 < 5) {
- c[g >> 2] = 5;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- c[k >> 2] = Wq(c[i >> 2] | 0) | 0;
- if ((c[k >> 2] | 0) != -47205083) {
- c[g >> 2] = -10;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- k = c[h >> 2] | 0;
- j = (k + 40) | 0;
- do {
- c[k >> 2] = 0;
- k = (k + 4) | 0;
- } while ((k | 0) < (j | 0));
- c[((c[h >> 2] | 0) + 8) >> 2] =
- ((d[((c[i >> 2] | 0) + 4) >> 0] | 0) & 15) + 11;
- if (((d[((c[i >> 2] | 0) + 4) >> 0] | 0) >> 4) | 0) {
- c[g >> 2] = -14;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else {
- c[g >> 2] = 0;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function zq(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- o = (g + 24) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[j >> 2];
- if ((c[k >> 2] | 0) >>> 0 < 5) {
- c[h >> 2] = 5;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- if ((Mq(c[j >> 2] | 0) | 0) != -47205082) {
- c[h >> 2] = -10;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- c[n >> 2] = Nq(c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- if ((c[k >> 2] | 0) >>> 0 < (c[n >> 2] | 0) >>> 0) {
- c[h >> 2] = c[n >> 2];
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- n = c[i >> 2] | 0;
- c[n >> 2] = 0;
- c[(n + 4) >> 2] = 0;
- c[(n + 8) >> 2] = 0;
- c[(n + 12) >> 2] = 0;
- a[o >> 0] = a[((c[m >> 2] | 0) + 4) >> 0] | 0;
- c[((c[i >> 2] | 0) + 8) >> 2] = ((d[o >> 0] | 0) & 15) + 12;
- if (((d[o >> 0] | 0) & 32) | 0) {
- c[h >> 2] = -14;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- switch (((d[o >> 0] | 0) >> 6) | 0) {
- case 0: {
- o = c[i >> 2] | 0;
- c[o >> 2] = 0;
- c[(o + 4) >> 2] = 0;
- break;
- }
- case 1: {
- o = c[i >> 2] | 0;
- c[o >> 2] = d[((c[m >> 2] | 0) + 5) >> 0];
- c[(o + 4) >> 2] = 0;
- break;
- }
- case 2: {
- o =
- (((Oq(((c[m >> 2] | 0) + 5) | 0) | 0) & 65535) + 256) |
- 0;
- n = c[i >> 2] | 0;
- c[n >> 2] = o;
- c[(n + 4) >> 2] = (((o | 0) < 0) << 31) >> 31;
- break;
- }
- case 3: {
- o = Pq(((c[m >> 2] | 0) + 5) | 0) | 0;
- m = c[i >> 2] | 0;
- c[m >> 2] = o;
- c[(m + 4) >> 2] = y;
- break;
- }
- default: {
- }
- }
- c[h >> 2] = 0;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- function Aq(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 64) | 0;
- i = (g + 60) | 0;
- j = (g + 56) | 0;
- k = (g + 52) | 0;
- m = (g + 48) | 0;
- n = (g + 44) | 0;
- o = (g + 69) | 0;
- p = (g + 40) | 0;
- q = (g + 36) | 0;
- r = (g + 32) | 0;
- s = (g + 28) | 0;
- t = (g + 24) | 0;
- u = (g + 20) | 0;
- v = (g + 16) | 0;
- w = (g + 12) | 0;
- x = g;
- z = (g + 68) | 0;
- A = (g + 8) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[j >> 2];
- if ((c[k >> 2] | 0) >>> 0 < 5) {
- c[h >> 2] = 5;
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- }
- f = (Bq(c[j >> 2] | 0) | 0) != -47205081;
- e = c[j >> 2] | 0;
- if (f) {
- if ((((Bq(e) | 0) & -16) | 0) != 407710288) {
- c[h >> 2] = -10;
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- }
- if ((c[k >> 2] | 0) >>> 0 < 8) {
- c[h >> 2] = 8;
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- } else {
- f = c[i >> 2] | 0;
- c[f >> 2] = 0;
- c[(f + 4) >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- c[(f + 12) >> 2] = 0;
- c[(f + 16) >> 2] = 0;
- c[(f + 20) >> 2] = 0;
- f = Bq(((c[j >> 2] | 0) + 4) | 0) | 0;
- j = c[i >> 2] | 0;
- c[j >> 2] = f;
- c[(j + 4) >> 2] = 0;
- c[((c[i >> 2] | 0) + 8) >> 2] = 0;
- c[h >> 2] = 0;
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- }
- }
- c[n >> 2] = Cq(e, c[k >> 2] | 0) | 0;
- if ((c[k >> 2] | 0) >>> 0 < (c[n >> 2] | 0) >>> 0) {
- c[h >> 2] = c[n >> 2];
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- }
- a[o >> 0] = a[((c[m >> 2] | 0) + 4) >> 0] | 0;
- c[p >> 2] = 5;
- c[q >> 2] = (d[o >> 0] | 0) & 3;
- c[r >> 2] = ((d[o >> 0] | 0) >> 2) & 1;
- c[s >> 2] = ((d[o >> 0] | 0) >> 5) & 1;
- c[t >> 2] = (d[o >> 0] | 0) >> 6;
- n = (Dq() | 0) != 0;
- c[u >> 2] = 1 << (n ? 25 : 27);
- c[v >> 2] = 0;
- c[w >> 2] = 0;
- n = x;
- c[n >> 2] = 0;
- c[(n + 4) >> 2] = 0;
- if (((d[o >> 0] | 0) & 8) | 0) {
- c[h >> 2] = -14;
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- }
- do {
- if (!(c[s >> 2] | 0)) {
- o = c[m >> 2] | 0;
- n = c[p >> 2] | 0;
- c[p >> 2] = n + 1;
- a[z >> 0] = a[(o + n) >> 0] | 0;
- c[A >> 2] = ((d[z >> 0] | 0) >> 3) + 10;
- n = c[A >> 2] | 0;
- o = (Dq() | 0) != 0;
- if (n >>> 0 <= (o ? 25 : 27) >>> 0) {
- c[v >> 2] = 1 << c[A >> 2];
- o = N((c[v >> 2] | 0) >>> 3, (d[z >> 0] | 0) & 7) | 0;
- c[v >> 2] = (c[v >> 2] | 0) + o;
- break;
- }
- c[h >> 2] = -14;
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- }
- } while (0);
- switch (c[q >> 2] | 0) {
- case 3: {
- c[w >> 2] =
- Bq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0;
- c[p >> 2] = (c[p >> 2] | 0) + 4;
- break;
- }
- case 1: {
- c[w >> 2] = d[((c[m >> 2] | 0) + (c[p >> 2] | 0)) >> 0];
- c[p >> 2] = (c[p >> 2] | 0) + 1;
- break;
- }
- case 2: {
- c[w >> 2] =
- (Eq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0) &
- 65535;
- c[p >> 2] = (c[p >> 2] | 0) + 2;
- break;
- }
- default: {
- }
- }
- switch (c[t >> 2] | 0) {
- case 3: {
- t = x;
- c[t >> 2] =
- Fq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0;
- c[(t + 4) >> 2] = y;
- break;
- }
- case 1: {
- t =
- (((Eq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0) &
- 65535) +
- 256) |
- 0;
- q = x;
- c[q >> 2] = t;
- c[(q + 4) >> 2] = (((t | 0) < 0) << 31) >> 31;
- break;
- }
- case 2: {
- t = x;
- c[t >> 2] =
- Bq(((c[m >> 2] | 0) + (c[p >> 2] | 0)) | 0) | 0;
- c[(t + 4) >> 2] = 0;
- break;
- }
- default:
- if (c[s >> 2] | 0) {
- s = x;
- c[s >> 2] = d[((c[m >> 2] | 0) + (c[p >> 2] | 0)) >> 0];
- c[(s + 4) >> 2] = 0;
- }
- }
- if (!(c[v >> 2] | 0)) c[v >> 2] = c[x >> 2];
- if ((c[v >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0) {
- c[h >> 2] = -14;
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- } else {
- u = x;
- x = c[(u + 4) >> 2] | 0;
- s = c[i >> 2] | 0;
- c[s >> 2] = c[u >> 2];
- c[(s + 4) >> 2] = x;
- c[((c[i >> 2] | 0) + 8) >> 2] = c[v >> 2];
- c[((c[i >> 2] | 0) + 12) >> 2] = c[w >> 2];
- c[((c[i >> 2] | 0) + 16) >> 2] = c[r >> 2];
- c[h >> 2] = 0;
- B = c[h >> 2] | 0;
- l = g;
- return B | 0;
- }
- return 0;
- }
- function Bq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (Gq() | 0) != 0;
- f = Kq(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = Lq(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Cq(b, e) {
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 20) | 0;
- h = (f + 16) | 0;
- i = (f + 12) | 0;
- j = (f + 24) | 0;
- k = (f + 8) | 0;
- m = (f + 4) | 0;
- n = f;
- c[h >> 2] = b;
- c[i >> 2] = e;
- if ((c[i >> 2] | 0) >>> 0 < 5) {
- c[g >> 2] = -72;
- o = c[g >> 2] | 0;
- l = f;
- return o | 0;
- }
- a[j >> 0] = a[((c[h >> 2] | 0) + 4) >> 0] | 0;
- c[k >> 2] = (d[j >> 0] | 0) & 3;
- c[m >> 2] = ((d[j >> 0] | 0) >> 5) & 1;
- c[n >> 2] = (d[j >> 0] | 0) >> 6;
- if (c[m >> 2] | 0)
- p = ((c[(3472 + (c[n >> 2] << 2)) >> 2] | 0) != 0) ^ 1;
- else p = 0;
- c[g >> 2] =
- 5 +
- ((((c[m >> 2] | 0) != 0) ^ 1) & 1) +
- (c[(3456 + (c[k >> 2] << 2)) >> 2] | 0) +
- (c[(3472 + (c[n >> 2] << 2)) >> 2] | 0) +
- (p & 1);
- o = c[g >> 2] | 0;
- l = f;
- return o | 0;
- }
- function Dq() {
- return 1;
- }
- function Eq(a) {
- a = a | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[g >> 2] = a;
- a = (Gq() | 0) != 0;
- i = c[g >> 2] | 0;
- if (a) {
- b[f >> 1] = Jq(i) | 0;
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- } else {
- c[h >> 2] = i;
- b[f >> 1] =
- (d[c[h >> 2] >> 0] | 0) +
- ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function Fq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (Gq() | 0) != 0;
- f = Hq(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = Iq(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function Gq() {
- return d[11936] | 0 | 0;
- }
- function Hq(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = d;
- c[e >> 2] = b;
- b = c[e >> 2] | 0;
- a[f >> 0] = a[b >> 0] | 0;
- a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
- a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
- a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
- a[(f + 4) >> 0] = a[(b + 4) >> 0] | 0;
- a[(f + 5) >> 0] = a[(b + 5) >> 0] | 0;
- a[(f + 6) >> 0] = a[(b + 6) >> 0] | 0;
- a[(f + 7) >> 0] = a[(b + 7) >> 0] | 0;
- b = f;
- y = c[(b + 4) >> 2] | 0;
- l = d;
- return c[b >> 2] | 0;
- }
- function Iq(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function Jq(d) {
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 4) | 0;
- c[f >> 2] = d;
- d = c[f >> 2] | 0;
- a[g >> 0] = a[d >> 0] | 0;
- a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
- l = e;
- return b[g >> 1] | 0;
- }
- function Kq(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = b;
- b = c[e >> 2] | 0;
- a[f >> 0] = a[b >> 0] | 0;
- a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
- a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
- a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
- l = d;
- return c[f >> 2] | 0;
- }
- function Lq(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function Mq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (Qq() | 0) != 0;
- f = Uq(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = Vq(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Nq(a, b) {
- a = a | 0;
- b = b | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- if ((c[h >> 2] | 0) >>> 0 < 5) {
- c[f >> 2] = -72;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- } else {
- c[i >> 2] = (d[((c[g >> 2] | 0) + 4) >> 0] | 0) >> 6;
- c[f >> 2] = 5 + (c[(3488 + (c[i >> 2] << 2)) >> 2] | 0);
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function Oq(a) {
- a = a | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[g >> 2] = a;
- a = (Qq() | 0) != 0;
- i = c[g >> 2] | 0;
- if (a) {
- b[f >> 1] = Tq(i) | 0;
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- } else {
- c[h >> 2] = i;
- b[f >> 1] =
- (d[c[h >> 2] >> 0] | 0) +
- ((d[((c[h >> 2] | 0) + 1) >> 0] | 0) << 8);
- j = b[f >> 1] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function Pq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (Qq() | 0) != 0;
- f = Rq(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = Sq(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function Qq() {
- return d[11936] | 0 | 0;
- }
- function Rq(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = d;
- c[e >> 2] = b;
- b = c[e >> 2] | 0;
- a[f >> 0] = a[b >> 0] | 0;
- a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
- a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
- a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
- a[(f + 4) >> 0] = a[(b + 4) >> 0] | 0;
- a[(f + 5) >> 0] = a[(b + 5) >> 0] | 0;
- a[(f + 6) >> 0] = a[(b + 6) >> 0] | 0;
- a[(f + 7) >> 0] = a[(b + 7) >> 0] | 0;
- b = f;
- y = c[(b + 4) >> 2] | 0;
- l = d;
- return c[b >> 2] | 0;
- }
- function Sq(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function Tq(d) {
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 4) | 0;
- c[f >> 2] = d;
- d = c[f >> 2] | 0;
- a[g >> 0] = a[d >> 0] | 0;
- a[(g + 1) >> 0] = a[(d + 1) >> 0] | 0;
- l = e;
- return b[g >> 1] | 0;
- }
- function Uq(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = b;
- b = c[e >> 2] | 0;
- a[f >> 0] = a[b >> 0] | 0;
- a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
- a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
- a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
- l = d;
- return c[f >> 2] | 0;
- }
- function Vq(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function Wq(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (Xq() | 0) != 0;
- f = Yq(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = Zq(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Xq() {
- return d[11936] | 0 | 0;
- }
- function Yq(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function Zq(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function _q(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- d = l;
- l = (l + 96) | 0;
- e = (d + 80) | 0;
- f = (d + 76) | 0;
- g = (d + 72) | 0;
- h = (d + 68) | 0;
- i = (d + 64) | 0;
- j = (d + 60) | 0;
- k = d;
- m = (d + 56) | 0;
- n = (d + 44) | 0;
- o = (d + 40) | 0;
- c[f >> 2] = a;
- c[g >> 2] = b;
- if (iq(c[f >> 2] | 0, c[g >> 2] | 0) | 0) {
- c[e >> 2] = ar(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- p = c[e >> 2] | 0;
- l = d;
- return p | 0;
- }
- if (
- (c[g >> 2] | 0) >>> 0 >= 8
- ? (((hq(c[f >> 2] | 0) | 0) & -16) | 0) == 407710288
- : 0
- ) {
- c[e >> 2] = 8 + (hq(((c[f >> 2] | 0) + 4) | 0) | 0);
- p = c[e >> 2] | 0;
- l = d;
- return p | 0;
- }
- c[h >> 2] = c[f >> 2];
- c[i >> 2] = c[h >> 2];
- c[j >> 2] = c[g >> 2];
- c[m >> 2] = pq(k, c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- g = ($q(c[m >> 2] | 0) | 0) != 0;
- f = c[m >> 2] | 0;
- if (g) {
- c[e >> 2] = f;
- p = c[e >> 2] | 0;
- l = d;
- return p | 0;
- }
- if (f >>> 0 > 0) {
- c[e >> 2] = -72;
- p = c[e >> 2] | 0;
- l = d;
- return p | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[(k + 24) >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) - (c[(k + 24) >> 2] | 0);
- while (1) {
- c[o >> 2] = br(c[h >> 2] | 0, c[j >> 2] | 0, n) | 0;
- f = ($q(c[o >> 2] | 0) | 0) != 0;
- q = c[o >> 2] | 0;
- if (f) {
- r = 12;
- break;
- }
- if (((3 + q) | 0) >>> 0 > (c[j >> 2] | 0) >>> 0) {
- r = 14;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (3 + (c[o >> 2] | 0));
- c[j >> 2] = (c[j >> 2] | 0) - (3 + (c[o >> 2] | 0));
- if (c[(n + 4) >> 2] | 0) {
- r = 17;
- break;
- }
- }
- if ((r | 0) == 12) {
- c[e >> 2] = q;
- p = c[e >> 2] | 0;
- l = d;
- return p | 0;
- } else if ((r | 0) == 14) {
- c[e >> 2] = -72;
- p = c[e >> 2] | 0;
- l = d;
- return p | 0;
- } else if ((r | 0) == 17) {
- do {
- if (c[(k + 32) >> 2] | 0) {
- if ((c[j >> 2] | 0) >>> 0 >= 4) {
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[j >> 2] = (c[j >> 2] | 0) - 4;
- break;
- }
- c[e >> 2] = -72;
- p = c[e >> 2] | 0;
- l = d;
- return p | 0;
- }
- } while (0);
- c[e >> 2] = (c[h >> 2] | 0) - (c[i >> 2] | 0);
- p = c[e >> 2] | 0;
- l = d;
- return p | 0;
- }
- return 0;
- }
- function $q(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function ar(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 12) | 0;
- f = (d + 8) | 0;
- g = (d + 4) | 0;
- h = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = iq(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- switch (c[h >> 2] | 0) {
- case 4: {
- c[e >> 2] = dr(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- break;
- }
- case 5: {
- c[e >> 2] = er(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- break;
- }
- case 6: {
- c[e >> 2] = fr(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- break;
- }
- case 7: {
- c[e >> 2] = gr(c[f >> 2] | 0, c[g >> 2] | 0) | 0;
- break;
- }
- default:
- c[e >> 2] = -10;
- }
- l = d;
- return c[e >> 2] | 0;
- }
- function br(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if ((c[h >> 2] | 0) >>> 0 < 3) {
- c[f >> 2] = -72;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- c[j >> 2] = cr(c[g >> 2] | 0) | 0;
- c[k >> 2] = (c[j >> 2] | 0) >>> 3;
- c[((c[i >> 2] | 0) + 4) >> 2] = c[j >> 2] & 1;
- c[c[i >> 2] >> 2] = ((c[j >> 2] | 0) >>> 1) & 3;
- c[((c[i >> 2] | 0) + 8) >> 2] = c[k >> 2];
- if ((c[c[i >> 2] >> 2] | 0) == 1) {
- c[f >> 2] = 1;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- if ((c[c[i >> 2] >> 2] | 0) == 3) {
- c[f >> 2] = -20;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- } else {
- c[f >> 2] = c[k >> 2];
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- return 0;
- }
- function cr(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = (rq(c[e >> 2] | 0) | 0) & 65535;
- l = b;
- return (a + ((d[((c[e >> 2] | 0) + 2) >> 0] | 0) << 16)) | 0;
- }
- function dr(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = or(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- l = d;
- return b | 0;
- }
- function er(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- d = l;
- l = (l + 48) | 0;
- e = (d + 32) | 0;
- f = (d + 28) | 0;
- g = (d + 24) | 0;
- h = (d + 20) | 0;
- i = (d + 16) | 0;
- j = (d + 8) | 0;
- k = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = c[f >> 2];
- c[i >> 2] = c[g >> 2];
- if ((c[g >> 2] | 0) >>> 0 < 5) {
- c[e >> 2] = -72;
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- }
- if ((Wq(c[f >> 2] | 0) | 0) != -47205083) {
- c[e >> 2] = -10;
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 5;
- c[i >> 2] = (c[i >> 2] | 0) - 5;
- while (1) {
- c[k >> 2] = lr(c[h >> 2] | 0, c[i >> 2] | 0, j) | 0;
- if (mr(c[k >> 2] | 0) | 0) {
- n = 7;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 3;
- c[i >> 2] = (c[i >> 2] | 0) - 3;
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- n = 9;
- break;
- }
- if (!(c[k >> 2] | 0)) {
- n = 12;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
- }
- if ((n | 0) == 7) {
- c[e >> 2] = c[k >> 2];
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- } else if ((n | 0) == 9) {
- c[e >> 2] = -72;
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- } else if ((n | 0) == 12) {
- c[e >> 2] = (c[h >> 2] | 0) - (c[f >> 2] | 0);
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- }
- return 0;
- }
- function fr(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- d = l;
- l = (l + 48) | 0;
- e = (d + 32) | 0;
- f = (d + 28) | 0;
- g = (d + 24) | 0;
- h = (d + 20) | 0;
- i = (d + 16) | 0;
- j = (d + 8) | 0;
- k = (d + 4) | 0;
- m = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = c[f >> 2];
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = 0;
- c[(j + 4) >> 2] = 0;
- c[k >> 2] = Nq(c[f >> 2] | 0, 5) | 0;
- if (jr(c[k >> 2] | 0) | 0) {
- c[e >> 2] = c[k >> 2];
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- if ((Mq(c[f >> 2] | 0) | 0) != -47205082) {
- c[e >> 2] = -10;
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- if (
- (c[g >> 2] | 0) >>> 0 <
- (((c[k >> 2] | 0) + 3) | 0) >>> 0
- ) {
- c[e >> 2] = -72;
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
- while (1) {
- c[m >> 2] = kr(c[h >> 2] | 0, c[i >> 2] | 0, j) | 0;
- if (jr(c[m >> 2] | 0) | 0) {
- o = 9;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 3;
- c[i >> 2] = (c[i >> 2] | 0) - 3;
- if ((c[m >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- o = 11;
- break;
- }
- if (!(c[m >> 2] | 0)) {
- o = 14;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[m >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[m >> 2] | 0);
- }
- if ((o | 0) == 9) {
- c[e >> 2] = c[m >> 2];
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- } else if ((o | 0) == 11) {
- c[e >> 2] = -72;
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- } else if ((o | 0) == 14) {
- c[e >> 2] = (c[h >> 2] | 0) - (c[f >> 2] | 0);
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- return 0;
- }
- function gr(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- d = l;
- l = (l + 48) | 0;
- e = (d + 36) | 0;
- f = (d + 32) | 0;
- g = (d + 28) | 0;
- h = (d + 24) | 0;
- i = (d + 20) | 0;
- j = (d + 16) | 0;
- k = (d + 8) | 0;
- m = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = c[f >> 2];
- c[i >> 2] = c[g >> 2];
- if ((c[g >> 2] | 0) >>> 0 < 8) {
- c[e >> 2] = -72;
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- c[j >> 2] = Cq(c[f >> 2] | 0, 5) | 0;
- if (hr(c[j >> 2] | 0) | 0) {
- c[e >> 2] = c[j >> 2];
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- if ((Bq(c[f >> 2] | 0) | 0) != -47205081) {
- c[e >> 2] = -10;
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- if (
- (c[g >> 2] | 0) >>> 0 <
- (((c[j >> 2] | 0) + 3) | 0) >>> 0
- ) {
- c[e >> 2] = -72;
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[j >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[j >> 2] | 0);
- while (1) {
- c[m >> 2] = ir(c[h >> 2] | 0, c[i >> 2] | 0, k) | 0;
- if (hr(c[m >> 2] | 0) | 0) {
- o = 11;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 3;
- c[i >> 2] = (c[i >> 2] | 0) - 3;
- if ((c[k >> 2] | 0) == 3) {
- o = 16;
- break;
- }
- if ((c[m >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- o = 14;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[m >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[m >> 2] | 0);
- }
- if ((o | 0) == 11) {
- c[e >> 2] = c[m >> 2];
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- } else if ((o | 0) == 14) {
- c[e >> 2] = -72;
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- } else if ((o | 0) == 16) {
- c[e >> 2] = (c[h >> 2] | 0) - (c[f >> 2] | 0);
- n = c[e >> 2] | 0;
- l = d;
- return n | 0;
- }
- return 0;
- }
- function hr(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function ir(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 20) | 0;
- h = (f + 16) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = c[h >> 2];
- if ((c[i >> 2] | 0) >>> 0 < 3) {
- c[g >> 2] = -72;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- c[c[j >> 2] >> 2] = (d[c[k >> 2] >> 0] | 0) >> 6;
- c[m >> 2] =
- (d[((c[k >> 2] | 0) + 2) >> 0] | 0) +
- ((d[((c[k >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (((d[c[k >> 2] >> 0] | 0) & 7) << 16);
- c[((c[j >> 2] | 0) + 4) >> 2] =
- (c[c[j >> 2] >> 2] | 0) == 2 ? c[m >> 2] | 0 : 0;
- if ((c[c[j >> 2] >> 2] | 0) == 3) {
- c[g >> 2] = 0;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- if ((c[c[j >> 2] >> 2] | 0) == 2) {
- c[g >> 2] = 1;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- } else {
- c[g >> 2] = c[m >> 2];
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- return 0;
- }
- function jr(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function kr(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 20) | 0;
- h = (f + 16) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = c[h >> 2];
- if ((c[i >> 2] | 0) >>> 0 < 3) {
- c[g >> 2] = -72;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- c[c[j >> 2] >> 2] = (d[c[k >> 2] >> 0] | 0) >> 6;
- c[m >> 2] =
- (d[((c[k >> 2] | 0) + 2) >> 0] | 0) +
- ((d[((c[k >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (((d[c[k >> 2] >> 0] | 0) & 7) << 16);
- c[((c[j >> 2] | 0) + 4) >> 2] =
- (c[c[j >> 2] >> 2] | 0) == 2 ? c[m >> 2] | 0 : 0;
- if ((c[c[j >> 2] >> 2] | 0) == 3) {
- c[g >> 2] = 0;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- if ((c[c[j >> 2] >> 2] | 0) == 2) {
- c[g >> 2] = 1;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- } else {
- c[g >> 2] = c[m >> 2];
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- return 0;
- }
- function lr(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = (g + 24) | 0;
- o = g;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[i >> 2];
- if ((c[j >> 2] | 0) >>> 0 < 3) {
- c[h >> 2] = -72;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- a[n >> 0] = a[c[m >> 2] >> 0] | 0;
- c[o >> 2] =
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (((d[c[m >> 2] >> 0] | 0) & 7) << 16);
- c[c[k >> 2] >> 2] = (d[n >> 0] | 0) >> 6;
- c[((c[k >> 2] | 0) + 4) >> 2] =
- (c[c[k >> 2] >> 2] | 0) == 2 ? c[o >> 2] | 0 : 0;
- if ((c[c[k >> 2] >> 2] | 0) == 3) {
- c[h >> 2] = 0;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- if ((c[c[k >> 2] >> 2] | 0) == 2) {
- c[h >> 2] = 1;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- } else {
- c[h >> 2] = c[o >> 2];
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- return 0;
- }
- function mr(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = nr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function nr(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function or(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- d = l;
- l = (l + 48) | 0;
- e = (d + 32) | 0;
- f = (d + 28) | 0;
- g = (d + 24) | 0;
- h = (d + 20) | 0;
- i = (d + 16) | 0;
- j = (d + 8) | 0;
- k = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = c[f >> 2];
- c[i >> 2] = c[g >> 2];
- if ((c[g >> 2] | 0) >>> 0 < 5) {
- c[e >> 2] = -72;
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- }
- if ((pr(c[f >> 2] | 0) | 0) != -47205084) {
- c[e >> 2] = -10;
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 5;
- c[i >> 2] = (c[i >> 2] | 0) - 5;
- while (1) {
- c[k >> 2] = qr(c[h >> 2] | 0, c[i >> 2] | 0, j) | 0;
- if (rr(c[k >> 2] | 0) | 0) {
- n = 7;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 3;
- c[i >> 2] = (c[i >> 2] | 0) - 3;
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- n = 9;
- break;
- }
- if (!(c[k >> 2] | 0)) {
- n = 12;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
- }
- if ((n | 0) == 7) {
- c[e >> 2] = c[k >> 2];
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- } else if ((n | 0) == 9) {
- c[e >> 2] = -72;
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- } else if ((n | 0) == 12) {
- c[e >> 2] = (c[h >> 2] | 0) - (c[f >> 2] | 0);
- m = c[e >> 2] | 0;
- l = d;
- return m | 0;
- }
- return 0;
- }
- function pr(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[f >> 2] = a;
- a = (tr() | 0) != 0;
- h = c[f >> 2] | 0;
- if (a) {
- c[e >> 2] = ur(h) | 0;
- i = c[e >> 2] | 0;
- l = b;
- return i | 0;
- } else {
- c[g >> 2] = h;
- c[e >> 2] =
- (d[c[g >> 2] >> 0] | 0) +
- ((d[((c[g >> 2] | 0) + 1) >> 0] | 0) << 8) +
- ((d[((c[g >> 2] | 0) + 2) >> 0] | 0) << 16) +
- ((d[((c[g >> 2] | 0) + 3) >> 0] | 0) << 24);
- i = c[e >> 2] | 0;
- l = b;
- return i | 0;
- }
- return 0;
- }
- function qr(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = (g + 24) | 0;
- o = g;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[i >> 2];
- if ((c[j >> 2] | 0) >>> 0 < 3) {
- c[h >> 2] = -72;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- a[n >> 0] = a[c[m >> 2] >> 0] | 0;
- c[o >> 2] =
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (((d[c[m >> 2] >> 0] | 0) & 7) << 16);
- c[c[k >> 2] >> 2] = (d[n >> 0] | 0) >> 6;
- c[((c[k >> 2] | 0) + 4) >> 2] =
- (c[c[k >> 2] >> 2] | 0) == 2 ? c[o >> 2] | 0 : 0;
- if ((c[c[k >> 2] >> 2] | 0) == 3) {
- c[h >> 2] = 0;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- if ((c[c[k >> 2] >> 2] | 0) == 2) {
- c[h >> 2] = 1;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- } else {
- c[h >> 2] = c[o >> 2];
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- return 0;
- }
- function rr(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = sr(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function sr(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function tr() {
- return d[11936] | 0 | 0;
- }
- function ur(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = b;
- b = c[e >> 2] | 0;
- a[f >> 0] = a[b >> 0] | 0;
- a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
- a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
- a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
- l = d;
- return c[f >> 2] | 0;
- }
- function vr(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 68) | 0;
- i = (g + 64) | 0;
- j = (g + 60) | 0;
- k = (g + 56) | 0;
- m = (g + 52) | 0;
- n = (g + 48) | 0;
- o = (g + 44) | 0;
- p = (g + 40) | 0;
- q = (g + 36) | 0;
- r = (g + 32) | 0;
- s = (g + 28) | 0;
- t = (g + 24) | 0;
- u = (g + 20) | 0;
- v = (g + 16) | 0;
- w = (g + 12) | 0;
- x = (g + 8) | 0;
- y = (g + 4) | 0;
- z = g;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- if ((c[k >> 2] | 0) >>> 0 < 3) {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- c[m >> 2] = c[j >> 2];
- c[n >> 2] = (d[c[m >> 2] >> 0] | 0) & 3;
- switch (c[n >> 2] | 0) {
- case 3: {
- if (!(c[((c[i >> 2] | 0) + 28808) >> 2] | 0)) {
- c[h >> 2] = -30;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- break;
- }
- case 2:
- break;
- case 0: {
- c[w >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 2) & 3;
- switch (c[w >> 2] | 0) {
- case 3: {
- c[v >> 2] = 3;
- c[u >> 2] = (cr(c[m >> 2] | 0) | 0) >>> 4;
- break;
- }
- case 1: {
- c[v >> 2] = 2;
- c[u >> 2] = ((rq(c[m >> 2] | 0) | 0) & 65535) >> 4;
- break;
- }
- default: {
- c[v >> 2] = 1;
- c[u >> 2] = (d[c[m >> 2] >> 0] | 0) >> 3;
- }
- }
- if (
- (((c[v >> 2] | 0) + (c[u >> 2] | 0) + 8) | 0) >>> 0 <=
- (c[k >> 2] | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 28916) >> 2] =
- (c[m >> 2] | 0) + (c[v >> 2] | 0);
- c[((c[i >> 2] | 0) + 28932) >> 2] = c[u >> 2];
- c[h >> 2] = (c[v >> 2] | 0) + (c[u >> 2] | 0);
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- if (
- (((c[u >> 2] | 0) + (c[v >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- } else {
- mE(
- ((c[i >> 2] | 0) + 29012) | 0,
- ((c[m >> 2] | 0) + (c[v >> 2] | 0)) | 0,
- c[u >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 28916) >> 2] =
- (c[i >> 2] | 0) + 29012;
- c[((c[i >> 2] | 0) + 28932) >> 2] = c[u >> 2];
- w =
- ((c[i >> 2] | 0) +
- 29012 +
- (c[((c[i >> 2] | 0) + 28932) >> 2] | 0)) |
- 0;
- a[w >> 0] = 0;
- a[(w + 1) >> 0] = 0;
- a[(w + 2) >> 0] = 0;
- a[(w + 3) >> 0] = 0;
- a[(w + 4) >> 0] = 0;
- a[(w + 5) >> 0] = 0;
- a[(w + 6) >> 0] = 0;
- a[(w + 7) >> 0] = 0;
- c[h >> 2] = (c[v >> 2] | 0) + (c[u >> 2] | 0);
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- break;
- }
- case 1: {
- c[x >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 2) & 3;
- switch (c[x >> 2] | 0) {
- case 3: {
- c[z >> 2] = 3;
- c[y >> 2] = (cr(c[m >> 2] | 0) | 0) >>> 4;
- if ((c[k >> 2] | 0) >>> 0 < 4) {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- break;
- }
- case 1: {
- c[z >> 2] = 2;
- c[y >> 2] = ((rq(c[m >> 2] | 0) | 0) & 65535) >> 4;
- break;
- }
- default: {
- c[z >> 2] = 1;
- c[y >> 2] = (d[c[m >> 2] >> 0] | 0) >> 3;
- }
- }
- if ((c[y >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- } else {
- oE(
- ((c[i >> 2] | 0) + 29012) | 0,
- ((d[((c[m >> 2] | 0) + (c[z >> 2] | 0)) >> 0] | 0) &
- 255) |
- 0,
- ((c[y >> 2] | 0) + 8) | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 28916) >> 2] =
- (c[i >> 2] | 0) + 29012;
- c[((c[i >> 2] | 0) + 28932) >> 2] = c[y >> 2];
- c[h >> 2] = (c[z >> 2] | 0) + 1;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- break;
- }
- default: {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- }
- if ((c[k >> 2] | 0) >>> 0 < 5) {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- c[r >> 2] = 0;
- c[s >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 2) & 3;
- c[t >> 2] = hq(c[m >> 2] | 0) | 0;
- switch (c[s >> 2] | 0) {
- case 3: {
- c[o >> 2] = 5;
- c[p >> 2] = ((c[t >> 2] | 0) >>> 4) & 262143;
- c[q >> 2] =
- ((c[t >> 2] | 0) >>> 22) +
- ((d[((c[m >> 2] | 0) + 4) >> 0] | 0) << 10);
- break;
- }
- case 2: {
- c[o >> 2] = 4;
- c[p >> 2] = ((c[t >> 2] | 0) >>> 4) & 16383;
- c[q >> 2] = (c[t >> 2] | 0) >>> 18;
- break;
- }
- default: {
- c[r >> 2] = (((c[s >> 2] | 0) != 0) ^ 1) & 1;
- c[o >> 2] = 3;
- c[p >> 2] = ((c[t >> 2] | 0) >>> 4) & 1023;
- c[q >> 2] = ((c[t >> 2] | 0) >>> 14) & 1023;
- }
- }
- if ((c[p >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- if (
- (((c[q >> 2] | 0) + (c[o >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- k = (c[r >> 2] | 0) != 0;
- r = c[i >> 2] | 0;
- do {
- if ((c[n >> 2] | 0) == 3) {
- t = (r + 29012) | 0;
- s = c[p >> 2] | 0;
- z = ((c[m >> 2] | 0) + (c[o >> 2] | 0)) | 0;
- y = c[q >> 2] | 0;
- x = c[((c[i >> 2] | 0) + 12) >> 2] | 0;
- u = c[((c[i >> 2] | 0) + 28944) >> 2] | 0;
- if (k) {
- B = Op(t, s, z, y, x, u) | 0;
- break;
- } else {
- B = Qp(t, s, z, y, x, u) | 0;
- break;
- }
- } else {
- u = (r + 16 + 10264) | 0;
- x = ((c[i >> 2] | 0) + 29012) | 0;
- y = c[p >> 2] | 0;
- z = ((c[m >> 2] | 0) + (c[o >> 2] | 0)) | 0;
- s = c[q >> 2] | 0;
- t = ((c[i >> 2] | 0) + 16 + 26652) | 0;
- v = c[((c[i >> 2] | 0) + 28944) >> 2] | 0;
- if (k) {
- B = Pp(u, x, y, z, s, t, 2048, v) | 0;
- break;
- } else {
- B = Rp(u, x, y, z, s, t, 2048, v) | 0;
- break;
- }
- }
- } while (0);
- if ($q(B) | 0) {
- c[h >> 2] = -20;
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- c[((c[i >> 2] | 0) + 28916) >> 2] = (c[i >> 2] | 0) + 29012;
- c[((c[i >> 2] | 0) + 28932) >> 2] = c[p >> 2];
- c[((c[i >> 2] | 0) + 28808) >> 2] = 1;
- if ((c[n >> 2] | 0) == 2)
- c[((c[i >> 2] | 0) + 12) >> 2] =
- (c[i >> 2] | 0) + 16 + 10264;
- n =
- ((c[i >> 2] | 0) +
- 29012 +
- (c[((c[i >> 2] | 0) + 28932) >> 2] | 0)) |
- 0;
- a[n >> 0] = 0;
- a[(n + 1) >> 0] = 0;
- a[(n + 2) >> 0] = 0;
- a[(n + 3) >> 0] = 0;
- a[(n + 4) >> 0] = 0;
- a[(n + 5) >> 0] = 0;
- a[(n + 6) >> 0] = 0;
- a[(n + 7) >> 0] = 0;
- c[h >> 2] = (c[q >> 2] | 0) + (c[o >> 2] | 0);
- A = c[h >> 2] | 0;
- l = g;
- return A | 0;
- }
- function wr(a, b, e, f) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- g = l;
- l = (l + 64) | 0;
- h = (g + 56) | 0;
- i = (g + 52) | 0;
- j = (g + 48) | 0;
- k = (g + 44) | 0;
- m = (g + 40) | 0;
- n = (g + 36) | 0;
- o = (g + 32) | 0;
- p = (g + 28) | 0;
- q = (g + 24) | 0;
- r = (g + 20) | 0;
- s = (g + 16) | 0;
- t = (g + 12) | 0;
- u = (g + 8) | 0;
- v = (g + 4) | 0;
- w = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = c[k >> 2];
- c[o >> 2] = (c[n >> 2] | 0) + (c[m >> 2] | 0);
- c[p >> 2] = c[n >> 2];
- if ((c[m >> 2] | 0) >>> 0 < 1) {
- c[h >> 2] = -72;
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- }
- m = c[p >> 2] | 0;
- c[p >> 2] = m + 1;
- c[q >> 2] = d[m >> 0];
- if (!(c[q >> 2] | 0)) {
- c[c[j >> 2] >> 2] = 0;
- c[h >> 2] = 1;
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- }
- do {
- if ((c[q >> 2] | 0) > 127) {
- m = c[p >> 2] | 0;
- if ((c[q >> 2] | 0) == 255) {
- if (((m + 2) | 0) >>> 0 <= (c[o >> 2] | 0) >>> 0) {
- c[q >> 2] = ((rq(c[p >> 2] | 0) | 0) & 65535) + 32512;
- c[p >> 2] = (c[p >> 2] | 0) + 2;
- break;
- }
- c[h >> 2] = -72;
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- } else {
- if (m >>> 0 < (c[o >> 2] | 0) >>> 0) {
- m = ((c[q >> 2] | 0) - 128) << 8;
- k = c[p >> 2] | 0;
- c[p >> 2] = k + 1;
- c[q >> 2] = m + (d[k >> 0] | 0);
- break;
- }
- c[h >> 2] = -72;
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- }
- }
- } while (0);
- c[c[j >> 2] >> 2] = c[q >> 2];
- if (
- (((c[p >> 2] | 0) + 4) | 0) >>> 0 >
- (c[o >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -72;
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- }
- c[r >> 2] = (d[c[p >> 2] >> 0] | 0) >> 6;
- c[s >> 2] = ((d[c[p >> 2] >> 0] | 0) >> 4) & 3;
- c[t >> 2] = ((d[c[p >> 2] >> 0] | 0) >> 2) & 3;
- c[p >> 2] = (c[p >> 2] | 0) + 1;
- c[u >> 2] =
- xr(
- ((c[i >> 2] | 0) + 16) | 0,
- c[i >> 2] | 0,
- c[r >> 2] | 0,
- 35,
- 9,
- c[p >> 2] | 0,
- ((c[o >> 2] | 0) - (c[p >> 2] | 0)) | 0,
- 6416,
- 5696,
- 3504,
- c[((c[i >> 2] | 0) + 28812) >> 2] | 0
- ) | 0;
- if ($q(c[u >> 2] | 0) | 0) {
- c[h >> 2] = -20;
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- }
- c[p >> 2] = (c[p >> 2] | 0) + (c[u >> 2] | 0);
- c[v >> 2] =
- xr(
- ((c[i >> 2] | 0) + 16 + 4104) | 0,
- ((c[i >> 2] | 0) + 8) | 0,
- c[s >> 2] | 0,
- 31,
- 8,
- c[p >> 2] | 0,
- ((c[o >> 2] | 0) - (c[p >> 2] | 0)) | 0,
- 4032,
- 4160,
- 4288,
- c[((c[i >> 2] | 0) + 28812) >> 2] | 0
- ) | 0;
- if ($q(c[v >> 2] | 0) | 0) {
- c[h >> 2] = -20;
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- }
- c[p >> 2] = (c[p >> 2] | 0) + (c[v >> 2] | 0);
- c[w >> 2] =
- xr(
- ((c[i >> 2] | 0) + 16 + 6160) | 0,
- ((c[i >> 2] | 0) + 4) | 0,
- c[t >> 2] | 0,
- 52,
- 9,
- c[p >> 2] | 0,
- ((c[o >> 2] | 0) - (c[p >> 2] | 0)) | 0,
- 5216,
- 5840,
- 4560,
- c[((c[i >> 2] | 0) + 28812) >> 2] | 0
- ) | 0;
- if ($q(c[w >> 2] | 0) | 0) {
- c[h >> 2] = -20;
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- } else {
- c[p >> 2] = (c[p >> 2] | 0) + (c[w >> 2] | 0);
- c[h >> 2] = (c[p >> 2] | 0) - (c[n >> 2] | 0);
- x = c[h >> 2] | 0;
- l = g;
- return x | 0;
- }
- return 0;
- }
- function xr(a, b, e, f, g, h, i, j, k, m, n) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- var o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0;
- o = l;
- l = (l + 176) | 0;
- p = (o + 172) | 0;
- q = (o + 168) | 0;
- r = (o + 164) | 0;
- s = (o + 160) | 0;
- t = (o + 156) | 0;
- u = (o + 152) | 0;
- v = (o + 148) | 0;
- w = (o + 144) | 0;
- x = (o + 140) | 0;
- y = (o + 136) | 0;
- z = (o + 132) | 0;
- A = (o + 128) | 0;
- B = (o + 124) | 0;
- C = (o + 120) | 0;
- D = (o + 116) | 0;
- E = (o + 112) | 0;
- F = o;
- G = (o + 108) | 0;
- c[q >> 2] = a;
- c[r >> 2] = b;
- c[s >> 2] = e;
- c[t >> 2] = f;
- c[u >> 2] = g;
- c[v >> 2] = h;
- c[w >> 2] = i;
- c[x >> 2] = j;
- c[y >> 2] = k;
- c[z >> 2] = m;
- c[A >> 2] = n;
- a: do {
- switch (c[s >> 2] | 0) {
- case 1: {
- if (!(c[w >> 2] | 0)) {
- c[p >> 2] = -72;
- break a;
- }
- if (
- (d[c[v >> 2] >> 0] | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[p >> 2] = -20;
- break a;
- } else {
- c[B >> 2] = d[c[v >> 2] >> 0];
- c[C >> 2] =
- c[((c[x >> 2] | 0) + (c[B >> 2] << 2)) >> 2];
- c[D >> 2] =
- c[((c[y >> 2] | 0) + (c[B >> 2] << 2)) >> 2];
- yr(c[q >> 2] | 0, c[C >> 2] | 0, c[D >> 2] | 0);
- c[c[r >> 2] >> 2] = c[q >> 2];
- c[p >> 2] = 1;
- break a;
- }
- break;
- }
- case 0: {
- c[c[r >> 2] >> 2] = c[z >> 2];
- c[p >> 2] = 0;
- break;
- }
- case 3: {
- if (c[A >> 2] | 0) {
- c[p >> 2] = 0;
- break a;
- } else {
- c[p >> 2] = -20;
- break a;
- }
- break;
- }
- case 2: {
- c[G >> 2] =
- ah(F, t, E, c[v >> 2] | 0, c[w >> 2] | 0) | 0;
- if ($q(c[G >> 2] | 0) | 0) {
- c[p >> 2] = -20;
- break a;
- }
- if ((c[E >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0) {
- c[p >> 2] = -20;
- break a;
- } else {
- zr(
- c[q >> 2] | 0,
- F,
- c[t >> 2] | 0,
- c[x >> 2] | 0,
- c[y >> 2] | 0,
- c[E >> 2] | 0
- );
- c[c[r >> 2] >> 2] = c[q >> 2];
- c[p >> 2] = c[G >> 2];
- break a;
- }
- break;
- }
- default:
- c[p >> 2] = -1;
- }
- } while (0);
- l = o;
- return c[p >> 2] | 0;
- }
- function yr(d, e, f) {
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[h >> 2] = d;
- c[i >> 2] = e;
- c[j >> 2] = f;
- c[k >> 2] = c[h >> 2];
- c[m >> 2] = c[k >> 2];
- c[n >> 2] = (c[h >> 2] | 0) + 8;
- c[((c[m >> 2] | 0) + 4) >> 2] = 0;
- c[c[m >> 2] >> 2] = 0;
- a[((c[n >> 2] | 0) + 3) >> 0] = 0;
- b[c[n >> 2] >> 1] = 0;
- a[((c[n >> 2] | 0) + 2) >> 0] = c[j >> 2];
- c[((c[n >> 2] | 0) + 4) >> 2] = c[i >> 2];
- l = g;
- return;
- }
- function zr(e, f, g, h, i, j) {
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0;
- k = l;
- l = (l + 208) | 0;
- m = (k + 188) | 0;
- n = (k + 184) | 0;
- o = (k + 180) | 0;
- p = (k + 176) | 0;
- q = (k + 172) | 0;
- r = (k + 168) | 0;
- s = (k + 164) | 0;
- t = k;
- u = (k + 160) | 0;
- v = (k + 156) | 0;
- w = (k + 152) | 0;
- x = (k + 144) | 0;
- y = (k + 192) | 0;
- z = (k + 140) | 0;
- A = (k + 136) | 0;
- B = (k + 132) | 0;
- C = (k + 128) | 0;
- D = (k + 124) | 0;
- E = (k + 120) | 0;
- F = (k + 116) | 0;
- G = (k + 112) | 0;
- H = (k + 108) | 0;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- c[q >> 2] = i;
- c[r >> 2] = j;
- c[s >> 2] = (c[m >> 2] | 0) + 8;
- c[u >> 2] = (c[o >> 2] | 0) + 1;
- c[v >> 2] = 1 << c[r >> 2];
- c[w >> 2] = (c[v >> 2] | 0) - 1;
- c[(x + 4) >> 2] = c[r >> 2];
- c[x >> 2] = 1;
- b[y >> 1] = 1 << ((c[r >> 2] | 0) - 1);
- c[z >> 2] = 0;
- while (1) {
- if ((c[z >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
- if (
- (b[((c[n >> 2] | 0) + (c[z >> 2] << 1)) >> 1] | 0) ==
- -1
- ) {
- o = c[z >> 2] | 0;
- j = c[s >> 2] | 0;
- i = c[w >> 2] | 0;
- c[w >> 2] = i + -1;
- c[(j + (i << 3) + 4) >> 2] = o;
- b[(t + (c[z >> 2] << 1)) >> 1] = 1;
- } else {
- if (
- (b[((c[n >> 2] | 0) + (c[z >> 2] << 1)) >> 1] | 0) >=
- (b[y >> 1] | 0)
- )
- c[x >> 2] = 0;
- b[(t + (c[z >> 2] << 1)) >> 1] =
- b[((c[n >> 2] | 0) + (c[z >> 2] << 1)) >> 1] | 0;
- }
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- z = c[m >> 2] | 0;
- c[z >> 2] = c[x >> 2];
- c[(z + 4) >> 2] = c[(x + 4) >> 2];
- c[A >> 2] = (c[v >> 2] | 0) - 1;
- c[B >> 2] =
- ((c[v >> 2] | 0) >>> 1) + ((c[v >> 2] | 0) >>> 3) + 3;
- c[D >> 2] = 0;
- c[C >> 2] = 0;
- while (1) {
- if ((c[C >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
- c[E >> 2] = 0;
- while (1) {
- I = c[C >> 2] | 0;
- if (
- (c[E >> 2] | 0) >=
- (b[((c[n >> 2] | 0) + (c[C >> 2] << 1)) >> 1] | 0)
- )
- break;
- c[((c[s >> 2] | 0) + (c[D >> 2] << 3) + 4) >> 2] = I;
- c[D >> 2] =
- ((c[D >> 2] | 0) + (c[B >> 2] | 0)) & c[A >> 2];
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0)
- break;
- c[D >> 2] =
- ((c[D >> 2] | 0) + (c[B >> 2] | 0)) & c[A >> 2];
- }
- c[E >> 2] = (c[E >> 2] | 0) + 1;
- }
- c[C >> 2] = I + 1;
- }
- c[F >> 2] = 0;
- while (1) {
- if ((c[F >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
- c[G >> 2] =
- c[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 4) >> 2];
- I = (t + (c[G >> 2] << 1)) | 0;
- C = b[I >> 1] | 0;
- b[I >> 1] = ((C + 1) << 16) >> 16;
- c[H >> 2] = C & 65535;
- C = c[r >> 2] | 0;
- I = (C - (Ar(c[H >> 2] | 0) | 0)) & 255;
- a[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 3) >> 0] = I;
- b[((c[s >> 2] | 0) + (c[F >> 2] << 3)) >> 1] =
- (c[H >> 2] <<
- d[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 3) >> 0]) -
- (c[v >> 2] | 0);
- a[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 2) >> 0] =
- c[((c[q >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
- c[((c[s >> 2] | 0) + (c[F >> 2] << 3) + 4) >> 2] =
- c[((c[p >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
- c[F >> 2] = (c[F >> 2] | 0) + 1;
- }
- l = k;
- return;
- }
- function Ar(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function Br(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- if (
- (c[f >> 2] | 0) ==
- (c[((c[e >> 2] | 0) + 28728) >> 2] | 0)
- ) {
- l = d;
- return;
- }
- c[((c[e >> 2] | 0) + 28740) >> 2] =
- c[((c[e >> 2] | 0) + 28728) >> 2];
- c[((c[e >> 2] | 0) + 28736) >> 2] =
- (c[f >> 2] | 0) +
- (0 -
- ((c[((c[e >> 2] | 0) + 28728) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 28732) >> 2] | 0)));
- c[((c[e >> 2] | 0) + 28732) >> 2] = c[f >> 2];
- c[((c[e >> 2] | 0) + 28728) >> 2] = c[f >> 2];
- l = d;
- return;
- }
- function Cr(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0;
- h = l;
- l = (l + 64) | 0;
- i = (h + 52) | 0;
- j = (h + 48) | 0;
- k = (h + 44) | 0;
- m = (h + 40) | 0;
- n = (h + 36) | 0;
- o = (h + 32) | 0;
- p = (h + 28) | 0;
- q = (h + 24) | 0;
- r = (h + 20) | 0;
- s = (h + 16) | 0;
- t = (h + 12) | 0;
- u = (h + 8) | 0;
- v = (h + 4) | 0;
- w = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = c[n >> 2];
- if (Dr() | 0) {
- if (c[p >> 2] | 0) {
- g = ((c[j >> 2] | 0) + 28752 + 8) | 0;
- f = c[g >> 2] | 0;
- e = c[(g + 4) >> 2] | 0;
- g = (Dr() | 0) != 0;
- d = jE(1, 0, (g ? 25 : 57) | 0) | 0;
- g = y;
- x =
- (e >>> 0 > g >>> 0) |
- (((e | 0) == (g | 0)) & (f >>> 0 > d >>> 0));
- } else x = 1;
- } else x = 0;
- c[r >> 2] = x & 1;
- if ((c[o >> 2] | 0) >>> 0 >= 131072) {
- c[i >> 2] = -72;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- c[s >> 2] =
- vr(c[j >> 2] | 0, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
- n = ($q(c[s >> 2] | 0) | 0) != 0;
- x = c[s >> 2] | 0;
- if (n) {
- c[i >> 2] = x;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- c[q >> 2] = (c[q >> 2] | 0) + x;
- c[o >> 2] = (c[o >> 2] | 0) - (c[s >> 2] | 0);
- c[u >> 2] =
- wr(c[j >> 2] | 0, t, c[q >> 2] | 0, c[o >> 2] | 0) | 0;
- s = ($q(c[u >> 2] | 0) | 0) != 0;
- x = c[u >> 2] | 0;
- if (s) {
- c[i >> 2] = x;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- c[q >> 2] = (c[q >> 2] | 0) + x;
- c[o >> 2] = (c[o >> 2] | 0) - (c[u >> 2] | 0);
- if (c[p >> 2] | 0) {
- p = ((c[j >> 2] | 0) + 28752 + 8) | 0;
- u = c[(p + 4) >> 2] | 0;
- if (
- ((u >>> 0 > 0) |
- (((u | 0) == 0) & ((c[p >> 2] | 0) >>> 0 > 16777216))) &
- ((c[t >> 2] | 0) > 0)
- )
- A = 13;
- } else if ((c[t >> 2] | 0) > 0) A = 13;
- if (
- (A | 0) == 13
- ? ((c[v >> 2] =
- Er(c[((c[j >> 2] | 0) + 8) >> 2] | 0) | 0),
- (A = (Fr() | 0) != 0),
- (c[w >> 2] = A ? 7 : 20),
- (c[v >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- : 0
- ) {
- c[i >> 2] =
- Gr(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[q >> 2] | 0,
- c[o >> 2] | 0,
- c[t >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- c[i >> 2] =
- Hr(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[q >> 2] | 0,
- c[o >> 2] | 0,
- c[t >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- function Dr() {
- return 1;
- }
- function Er(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- b = l;
- l = (l + 32) | 0;
- e = (b + 24) | 0;
- f = (b + 20) | 0;
- g = (b + 16) | 0;
- h = (b + 12) | 0;
- i = (b + 8) | 0;
- j = (b + 4) | 0;
- k = b;
- c[e >> 2] = a;
- c[f >> 2] = c[e >> 2];
- c[g >> 2] = c[((c[f >> 2] | 0) + 4) >> 2];
- c[h >> 2] = (c[e >> 2] | 0) + 8;
- c[i >> 2] = 1 << c[g >> 2];
- c[k >> 2] = 0;
- c[j >> 2] = 0;
- while (1) {
- if ((c[j >> 2] | 0) >>> 0 >= (c[i >> 2] | 0) >>> 0) break;
- if (
- (d[((c[h >> 2] | 0) + (c[j >> 2] << 3) + 2) >> 0] |
- 0 |
- 0) >
- 22
- )
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- }
- c[k >> 2] = c[k >> 2] << (8 - (c[g >> 2] | 0));
- l = b;
- return c[k >> 2] | 0;
- }
- function Fr() {
- return 0;
- }
- function Gr(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 28) | 0;
- k = (i + 24) | 0;
- m = (i + 20) | 0;
- n = (i + 16) | 0;
- o = (i + 12) | 0;
- p = (i + 8) | 0;
- q = (i + 4) | 0;
- r = i;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- h = c[k >> 2] | 0;
- g = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- p = c[q >> 2] | 0;
- q = c[r >> 2] | 0;
- if (c[((c[k >> 2] | 0) + 28944) >> 2] | 0) {
- c[j >> 2] = Xr(h, g, m, n, o, p, q) | 0;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- } else {
- c[j >> 2] = Yr(h, g, m, n, o, p, q) | 0;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- }
- return 0;
- }
- function Hr(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 28) | 0;
- k = (i + 24) | 0;
- m = (i + 20) | 0;
- n = (i + 16) | 0;
- o = (i + 12) | 0;
- p = (i + 8) | 0;
- q = (i + 4) | 0;
- r = i;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- h = c[k >> 2] | 0;
- g = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- p = c[q >> 2] | 0;
- q = c[r >> 2] | 0;
- if (c[((c[k >> 2] | 0) + 28944) >> 2] | 0) {
- c[j >> 2] = Ir(h, g, m, n, o, p, q) | 0;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- } else {
- c[j >> 2] = Jr(h, g, m, n, o, p, q) | 0;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- }
- return 0;
- }
- function Ir(b, f, g, h, i, j, k) {
- b = b | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- var m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0;
- m = l;
- l = (l + 448) | 0;
- n = (m + 432) | 0;
- o = (m + 424) | 0;
- p = (m + 420) | 0;
- q = (m + 416) | 0;
- r = (m + 412) | 0;
- s = (m + 408) | 0;
- t = (m + 404) | 0;
- u = (m + 400) | 0;
- v = (m + 396) | 0;
- w = (m + 392) | 0;
- x = (m + 388) | 0;
- y = (m + 384) | 0;
- z = (m + 380) | 0;
- A = (m + 376) | 0;
- B = (m + 372) | 0;
- C = (m + 368) | 0;
- D = (m + 364) | 0;
- E = (m + 360) | 0;
- F = m;
- G = (m + 356) | 0;
- H = (m + 352) | 0;
- I = (m + 344) | 0;
- J = (m + 340) | 0;
- K = (m + 336) | 0;
- L = (m + 332) | 0;
- M = (m + 328) | 0;
- N = (m + 320) | 0;
- O = (m + 316) | 0;
- P = (m + 312) | 0;
- Q = (m + 308) | 0;
- R = (m + 304) | 0;
- S = (m + 296) | 0;
- T = (m + 292) | 0;
- U = (m + 288) | 0;
- V = (m + 284) | 0;
- W = (m + 280) | 0;
- X = (m + 264) | 0;
- Y = (m + 256) | 0;
- Z = (m + 252) | 0;
- _ = (m + 248) | 0;
- $ = (m + 244) | 0;
- aa = (m + 240) | 0;
- ba = (m + 236) | 0;
- ca = (m + 232) | 0;
- da = (m + 228) | 0;
- ea = (m + 224) | 0;
- fa = (m + 220) | 0;
- ga = (m + 216) | 0;
- ha = (m + 212) | 0;
- ia = (m + 208) | 0;
- ja = (m + 204) | 0;
- ka = (m + 200) | 0;
- la = (m + 196) | 0;
- ma = (m + 192) | 0;
- na = (m + 188) | 0;
- oa = (m + 184) | 0;
- pa = (m + 180) | 0;
- qa = (m + 176) | 0;
- ra = (m + 172) | 0;
- sa = (m + 168) | 0;
- ta = (m + 164) | 0;
- ua = (m + 160) | 0;
- va = (m + 156) | 0;
- wa = (m + 152) | 0;
- xa = (m + 148) | 0;
- ya = (m + 80) | 0;
- za = (m + 76) | 0;
- Aa = (m + 72) | 0;
- Ba = (m + 56) | 0;
- Ca = (m + 52) | 0;
- Da = (m + 48) | 0;
- Ea = (m + 44) | 0;
- Fa = (m + 40) | 0;
- Ga = (m + 36) | 0;
- Ha = (m + 32) | 0;
- Ia = (m + 28) | 0;
- Ja = (m + 24) | 0;
- Ka = (m + 20) | 0;
- La = (m + 16) | 0;
- c[Fa >> 2] = b;
- c[Ga >> 2] = f;
- c[Ha >> 2] = g;
- c[Ia >> 2] = h;
- c[Ja >> 2] = i;
- c[Ka >> 2] = j;
- c[La >> 2] = k;
- k = c[Ga >> 2] | 0;
- Ga = c[Ha >> 2] | 0;
- Ha = c[Ia >> 2] | 0;
- Ia = c[Ja >> 2] | 0;
- Ja = c[Ka >> 2] | 0;
- Ka = c[La >> 2] | 0;
- c[ha >> 2] = c[Fa >> 2];
- c[ia >> 2] = k;
- c[ja >> 2] = Ga;
- c[ka >> 2] = Ha;
- c[la >> 2] = Ia;
- c[ma >> 2] = Ja;
- c[na >> 2] = Ka;
- c[oa >> 2] = c[ka >> 2];
- c[pa >> 2] = (c[oa >> 2] | 0) + (c[la >> 2] | 0);
- c[qa >> 2] = c[ia >> 2];
- c[ra >> 2] = (c[qa >> 2] | 0) + (c[ja >> 2] | 0);
- c[sa >> 2] = c[qa >> 2];
- c[ta >> 2] = c[((c[ha >> 2] | 0) + 28916) >> 2];
- c[ua >> 2] =
- (c[ta >> 2] | 0) + (c[((c[ha >> 2] | 0) + 28932) >> 2] | 0);
- c[va >> 2] = c[((c[ha >> 2] | 0) + 28732) >> 2];
- c[wa >> 2] = c[((c[ha >> 2] | 0) + 28736) >> 2];
- c[xa >> 2] = c[((c[ha >> 2] | 0) + 28740) >> 2];
- a: do {
- if (c[ma >> 2] | 0) {
- c[((c[ha >> 2] | 0) + 28812) >> 2] = 1;
- c[za >> 2] = 0;
- while (1) {
- if ((c[za >> 2] | 0) >>> 0 >= 3) break;
- c[(ya + 44 + (c[za >> 2] << 2)) >> 2] =
- c[
- ((c[ha >> 2] | 0) +
- 16 +
- 28700 +
- (c[za >> 2] << 2)) >>
- 2
- ];
- c[za >> 2] = (c[za >> 2] | 0) + 1;
- }
- c[Aa >> 2] =
- Kr(
- ya,
- c[oa >> 2] | 0,
- ((c[pa >> 2] | 0) - (c[oa >> 2] | 0)) | 0
- ) | 0;
- if ($q(c[Aa >> 2] | 0) | 0) {
- c[ga >> 2] = -20;
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- }
- Lr((ya + 20) | 0, ya, c[c[ha >> 2] >> 2] | 0);
- Lr((ya + 28) | 0, ya, c[((c[ha >> 2] | 0) + 8) >> 2] | 0);
- Lr((ya + 36) | 0, ya, c[((c[ha >> 2] | 0) + 4) >> 2] | 0);
- while (1) {
- ja = (Mr(ya) | 0) >>> 0 <= 2;
- Na = c[ma >> 2] | 0;
- if (!(ja ? (c[ma >> 2] | 0) != 0 : 0)) break;
- c[ma >> 2] = Na + -1;
- ja = c[na >> 2] | 0;
- c[V >> 2] = ya;
- c[W >> 2] = ja;
- c[Y >> 2] =
- d[
- ((c[((c[V >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 20) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[Z >> 2] =
- d[
- ((c[((c[V >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 36) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[_ >> 2] =
- d[
- ((c[((c[V >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 28) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[$ >> 2] =
- (c[Y >> 2] | 0) + (c[Z >> 2] | 0) + (c[_ >> 2] | 0);
- c[aa >> 2] =
- c[
- ((c[((c[V >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 20) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[ba >> 2] =
- c[
- ((c[((c[V >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 36) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[ca >> 2] =
- c[
- ((c[((c[V >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 28) >> 2] << 3) +
- 4) >>
- 2
- ];
- do {
- if (c[_ >> 2] | 0) {
- ja = (Dr() | 0) != 0;
- if (
- !(
- ja &
- ((c[W >> 2] | 0) != 0) &
- ((c[_ >> 2] | 0) >>> 0 >= 25)
- )
- ) {
- ja = c[ca >> 2] | 0;
- c[da >> 2] =
- ja + (Nr(c[V >> 2] | 0, c[_ >> 2] | 0) | 0);
- if (!(Dr() | 0)) break;
- Mr(c[V >> 2] | 0) | 0;
- break;
- }
- if (
- (c[_ >> 2] | 0) >>> 0 <
- ((32 - (c[((c[V >> 2] | 0) + 4) >> 2] | 0)) |
- 0) >>>
- 0
- )
- Oa = c[_ >> 2] | 0;
- else
- Oa =
- (32 - (c[((c[V >> 2] | 0) + 4) >> 2] | 0)) | 0;
- c[ea >> 2] = (c[_ >> 2] | 0) - Oa;
- ja = c[ca >> 2] | 0;
- ia =
- Nr(
- c[V >> 2] | 0,
- ((c[_ >> 2] | 0) - (c[ea >> 2] | 0)) | 0
- ) | 0;
- c[da >> 2] = ja + (ia << c[ea >> 2]);
- Mr(c[V >> 2] | 0) | 0;
- if (c[ea >> 2] | 0) {
- ia = Nr(c[V >> 2] | 0, c[ea >> 2] | 0) | 0;
- c[da >> 2] = (c[da >> 2] | 0) + ia;
- }
- } else c[da >> 2] = 0;
- } while (0);
- do {
- if ((c[_ >> 2] | 0) >>> 0 <= 1) {
- c[da >> 2] =
- (c[da >> 2] | 0) + (((c[aa >> 2] | 0) == 0) & 1);
- if (!(c[da >> 2] | 0)) {
- c[da >> 2] = c[((c[V >> 2] | 0) + 44) >> 2];
- break;
- }
- ia = ((c[V >> 2] | 0) + 44) | 0;
- if ((c[da >> 2] | 0) == 3)
- Pa = ((c[ia >> 2] | 0) - 1) | 0;
- else Pa = c[(ia + (c[da >> 2] << 2)) >> 2] | 0;
- c[fa >> 2] = Pa;
- c[fa >> 2] =
- (c[fa >> 2] | 0) +
- ((((c[fa >> 2] | 0) != 0) ^ 1) & 1);
- if ((c[da >> 2] | 0) != 1)
- c[((c[V >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[V >> 2] | 0) + 44 + 4) >> 2];
- c[((c[V >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[V >> 2] | 0) + 44) >> 2];
- ia = c[fa >> 2] | 0;
- c[da >> 2] = ia;
- c[((c[V >> 2] | 0) + 44) >> 2] = ia;
- } else {
- c[((c[V >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[V >> 2] | 0) + 44 + 4) >> 2];
- c[((c[V >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[V >> 2] | 0) + 44) >> 2];
- c[((c[V >> 2] | 0) + 44) >> 2] = c[da >> 2];
- }
- } while (0);
- c[(X + 8) >> 2] = c[da >> 2];
- ia = c[ba >> 2] | 0;
- if ((c[Z >> 2] | 0) >>> 0 > 0)
- Qa = Nr(c[V >> 2] | 0, c[Z >> 2] | 0) | 0;
- else Qa = 0;
- c[(X + 4) >> 2] = ia + Qa;
- if (
- Dr() | 0
- ? (((c[Z >> 2] | 0) + (c[Y >> 2] | 0)) | 0) >>> 0 >=
- 20
- : 0
- )
- Mr(c[V >> 2] | 0) | 0;
- ia = (Fr() | 0) != 0;
- if (ia & ((c[$ >> 2] | 0) >>> 0 >= 31))
- Mr(c[V >> 2] | 0) | 0;
- ia = c[aa >> 2] | 0;
- if ((c[Y >> 2] | 0) >>> 0 > 0)
- Ra = Nr(c[V >> 2] | 0, c[Y >> 2] | 0) | 0;
- else Ra = 0;
- c[X >> 2] = ia + Ra;
- if (Dr() | 0) Mr(c[V >> 2] | 0) | 0;
- ia = c[V >> 2] | 0;
- c[Q >> 2] = (c[V >> 2] | 0) + 20;
- c[R >> 2] = ia;
- ia =
- ((c[((c[Q >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Q >> 2] >> 2] << 3)) |
- 0;
- c[S >> 2] = c[ia >> 2];
- c[(S + 4) >> 2] = c[(ia + 4) >> 2];
- c[T >> 2] = d[(S + 3) >> 0];
- c[U >> 2] = Or(c[R >> 2] | 0, c[T >> 2] | 0) | 0;
- c[c[Q >> 2] >> 2] = (e[S >> 1] | 0) + (c[U >> 2] | 0);
- ia = c[V >> 2] | 0;
- c[L >> 2] = (c[V >> 2] | 0) + 36;
- c[M >> 2] = ia;
- ia =
- ((c[((c[L >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[L >> 2] >> 2] << 3)) |
- 0;
- c[N >> 2] = c[ia >> 2];
- c[(N + 4) >> 2] = c[(ia + 4) >> 2];
- c[O >> 2] = d[(N + 3) >> 0];
- c[P >> 2] = Or(c[M >> 2] | 0, c[O >> 2] | 0) | 0;
- c[c[L >> 2] >> 2] = (e[N >> 1] | 0) + (c[P >> 2] | 0);
- if (Dr() | 0) Mr(c[V >> 2] | 0) | 0;
- ia = c[V >> 2] | 0;
- c[G >> 2] = (c[V >> 2] | 0) + 28;
- c[H >> 2] = ia;
- ia =
- ((c[((c[G >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[G >> 2] >> 2] << 3)) |
- 0;
- c[I >> 2] = c[ia >> 2];
- c[(I + 4) >> 2] = c[(ia + 4) >> 2];
- c[J >> 2] = d[(I + 3) >> 0];
- c[K >> 2] = Or(c[H >> 2] | 0, c[J >> 2] | 0) | 0;
- c[c[G >> 2] >> 2] = (e[I >> 1] | 0) + (c[K >> 2] | 0);
- c[Ba >> 2] = c[X >> 2];
- c[(Ba + 4) >> 2] = c[(X + 4) >> 2];
- c[(Ba + 8) >> 2] = c[(X + 8) >> 2];
- c[(Ba + 12) >> 2] = c[(X + 12) >> 2];
- ia = c[sa >> 2] | 0;
- ja = c[ra >> 2] | 0;
- la = c[ua >> 2] | 0;
- ka = c[va >> 2] | 0;
- Ka = c[wa >> 2] | 0;
- Ja = c[xa >> 2] | 0;
- Ia = F;
- Ha = Ba;
- Ga = (Ia + 16) | 0;
- do {
- a[Ia >> 0] = a[Ha >> 0] | 0;
- Ia = (Ia + 1) | 0;
- Ha = (Ha + 1) | 0;
- } while ((Ia | 0) < (Ga | 0));
- c[p >> 2] = ia;
- c[q >> 2] = ja;
- c[r >> 2] = ta;
- c[s >> 2] = la;
- c[t >> 2] = ka;
- c[u >> 2] = Ka;
- c[v >> 2] = Ja;
- c[w >> 2] = (c[p >> 2] | 0) + (c[F >> 2] | 0);
- c[x >> 2] = (c[F >> 2] | 0) + (c[(F + 4) >> 2] | 0);
- c[y >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
- c[z >> 2] = (c[q >> 2] | 0) + -8;
- c[A >> 2] = (c[c[r >> 2] >> 2] | 0) + (c[F >> 2] | 0);
- c[B >> 2] =
- (c[w >> 2] | 0) + (0 - (c[(F + 8) >> 2] | 0));
- b: do {
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0)
- c[o >> 2] = -70;
- else {
- if ((c[A >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
- c[o >> 2] = -20;
- break;
- }
- Ha = c[p >> 2] | 0;
- if ((c[w >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0) {
- Ia = c[q >> 2] | 0;
- Ga = c[r >> 2] | 0;
- k = c[s >> 2] | 0;
- Fa = c[t >> 2] | 0;
- La = c[u >> 2] | 0;
- j = c[v >> 2] | 0;
- c[n >> 2] = c[F >> 2];
- c[(n + 4) >> 2] = c[(F + 4) >> 2];
- c[(n + 8) >> 2] = c[(F + 8) >> 2];
- c[(n + 12) >> 2] = c[(F + 12) >> 2];
- c[o >> 2] = Pr(Ha, Ia, n, Ga, k, Fa, La, j) | 0;
- break;
- }
- Qr(Ha, c[c[r >> 2] >> 2] | 0);
- if ((c[F >> 2] | 0) >>> 0 > 8)
- Rr(
- ((c[p >> 2] | 0) + 8) | 0,
- ((c[c[r >> 2] >> 2] | 0) + 8) | 0,
- ((c[F >> 2] | 0) - 8) | 0
- );
- c[p >> 2] = c[w >> 2];
- c[c[r >> 2] >> 2] = c[A >> 2];
- do {
- if (
- (c[(F + 8) >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(F + 8) >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[u >> 2] | 0)) | 0) >>>
- 0
- ) {
- c[o >> 2] = -20;
- break b;
- }
- c[B >> 2] =
- (c[v >> 2] | 0) +
- ((c[B >> 2] | 0) - (c[t >> 2] | 0));
- if (
- (((c[B >> 2] | 0) + (c[(F + 4) >> 2] | 0)) |
- 0) >>>
- 0 <=
- (c[v >> 2] | 0) >>> 0
- ) {
- nE(
- c[w >> 2] | 0,
- c[B >> 2] | 0,
- c[(F + 4) >> 2] | 0
- ) | 0;
- c[o >> 2] = c[x >> 2];
- break b;
- }
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- nE(
- c[w >> 2] | 0,
- c[B >> 2] | 0,
- c[C >> 2] | 0
- ) | 0;
- c[p >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
- Ha = (F + 4) | 0;
- c[Ha >> 2] = (c[Ha >> 2] | 0) - (c[C >> 2] | 0);
- c[B >> 2] = c[t >> 2];
- if (
- (c[p >> 2] | 0) >>> 0 <= (c[z >> 2] | 0) >>> 0
- ? (c[(F + 4) >> 2] | 0) >>> 0 >= 3
- : 0
- )
- break;
- c[D >> 2] = 0;
- while (1) {
- if (
- (c[D >> 2] | 0) >>> 0 >=
- (c[(F + 4) >> 2] | 0) >>> 0
- )
- break;
- a[((c[p >> 2] | 0) + (c[D >> 2] | 0)) >> 0] =
- a[
- ((c[B >> 2] | 0) + (c[D >> 2] | 0)) >> 0
- ] | 0;
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[o >> 2] = c[x >> 2];
- break b;
- }
- } while (0);
- if ((c[(F + 8) >> 2] | 0) >>> 0 < 8) {
- c[E >> 2] =
- c[(6816 + (c[(F + 8) >> 2] << 2)) >> 2];
- a[c[p >> 2] >> 0] = a[c[B >> 2] >> 0] | 0;
- a[((c[p >> 2] | 0) + 1) >> 0] =
- a[((c[B >> 2] | 0) + 1) >> 0] | 0;
- a[((c[p >> 2] | 0) + 2) >> 0] =
- a[((c[B >> 2] | 0) + 2) >> 0] | 0;
- a[((c[p >> 2] | 0) + 3) >> 0] =
- a[((c[B >> 2] | 0) + 3) >> 0] | 0;
- c[B >> 2] =
- (c[B >> 2] | 0) +
- (c[(6848 + (c[(F + 8) >> 2] << 2)) >> 2] | 0);
- Sr(((c[p >> 2] | 0) + 4) | 0, c[B >> 2] | 0);
- c[B >> 2] =
- (c[B >> 2] | 0) + (0 - (c[E >> 2] | 0));
- } else Qr(c[p >> 2] | 0, c[B >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + 8;
- c[B >> 2] = (c[B >> 2] | 0) + 8;
- Ha = c[p >> 2] | 0;
- c: do {
- if (
- (c[y >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -13) | 0) >>> 0
- ) {
- if (Ha >>> 0 < (c[z >> 2] | 0) >>> 0) {
- Rr(
- c[p >> 2] | 0,
- c[B >> 2] | 0,
- ((c[z >> 2] | 0) - (c[p >> 2] | 0)) | 0
- );
- c[B >> 2] =
- (c[B >> 2] | 0) +
- ((c[z >> 2] | 0) - (c[p >> 2] | 0));
- c[p >> 2] = c[z >> 2];
- }
- while (1) {
- if (
- (c[p >> 2] | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- )
- break c;
- j = c[B >> 2] | 0;
- c[B >> 2] = j + 1;
- La = a[j >> 0] | 0;
- j = c[p >> 2] | 0;
- c[p >> 2] = j + 1;
- a[j >> 0] = La;
- }
- } else
- Rr(
- Ha,
- c[B >> 2] | 0,
- ((c[(F + 4) >> 2] | 0) - 8) | 0
- );
- } while (0);
- c[o >> 2] = c[x >> 2];
- }
- } while (0);
- c[Ca >> 2] = c[o >> 2];
- Ja = ($q(c[Ca >> 2] | 0) | 0) != 0;
- Sa = c[Ca >> 2] | 0;
- if (Ja) {
- Ta = 73;
- break;
- }
- c[sa >> 2] = (c[sa >> 2] | 0) + Sa;
- }
- if ((Ta | 0) == 73) {
- c[ga >> 2] = Sa;
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- }
- if (Na | 0) {
- c[ga >> 2] = -20;
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- }
- c[Da >> 2] = 0;
- while (1) {
- if ((c[Da >> 2] | 0) >>> 0 >= 3) break a;
- c[
- ((c[ha >> 2] | 0) + 16 + 28700 + (c[Da >> 2] << 2)) >>
- 2
- ] = c[(ya + 44 + (c[Da >> 2] << 2)) >> 2];
- c[Da >> 2] = (c[Da >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[Ea >> 2] = (c[ua >> 2] | 0) - (c[ta >> 2] | 0);
- if (
- (c[Ea >> 2] | 0) >>> 0 >
- (((c[ra >> 2] | 0) - (c[sa >> 2] | 0)) | 0) >>> 0
- ) {
- c[ga >> 2] = -70;
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- } else {
- mE(c[sa >> 2] | 0, c[ta >> 2] | 0, c[Ea >> 2] | 0) | 0;
- c[sa >> 2] = (c[sa >> 2] | 0) + (c[Ea >> 2] | 0);
- c[ga >> 2] = (c[sa >> 2] | 0) - (c[qa >> 2] | 0);
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- }
- return 0;
- }
- function Jr(b, f, g, h, i, j, k) {
- b = b | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- var m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0;
- m = l;
- l = (l + 448) | 0;
- n = (m + 432) | 0;
- o = (m + 424) | 0;
- p = (m + 420) | 0;
- q = (m + 416) | 0;
- r = (m + 412) | 0;
- s = (m + 408) | 0;
- t = (m + 404) | 0;
- u = (m + 400) | 0;
- v = (m + 396) | 0;
- w = (m + 392) | 0;
- x = (m + 388) | 0;
- y = (m + 384) | 0;
- z = (m + 380) | 0;
- A = (m + 376) | 0;
- B = (m + 372) | 0;
- C = (m + 368) | 0;
- D = (m + 364) | 0;
- E = (m + 360) | 0;
- F = m;
- G = (m + 356) | 0;
- H = (m + 352) | 0;
- I = (m + 344) | 0;
- J = (m + 340) | 0;
- K = (m + 336) | 0;
- L = (m + 332) | 0;
- M = (m + 328) | 0;
- N = (m + 320) | 0;
- O = (m + 316) | 0;
- P = (m + 312) | 0;
- Q = (m + 308) | 0;
- R = (m + 304) | 0;
- S = (m + 296) | 0;
- T = (m + 292) | 0;
- U = (m + 288) | 0;
- V = (m + 284) | 0;
- W = (m + 280) | 0;
- X = (m + 264) | 0;
- Y = (m + 256) | 0;
- Z = (m + 252) | 0;
- _ = (m + 248) | 0;
- $ = (m + 244) | 0;
- aa = (m + 240) | 0;
- ba = (m + 236) | 0;
- ca = (m + 232) | 0;
- da = (m + 228) | 0;
- ea = (m + 224) | 0;
- fa = (m + 220) | 0;
- ga = (m + 216) | 0;
- ha = (m + 212) | 0;
- ia = (m + 208) | 0;
- ja = (m + 204) | 0;
- ka = (m + 200) | 0;
- la = (m + 196) | 0;
- ma = (m + 192) | 0;
- na = (m + 188) | 0;
- oa = (m + 184) | 0;
- pa = (m + 180) | 0;
- qa = (m + 176) | 0;
- ra = (m + 172) | 0;
- sa = (m + 168) | 0;
- ta = (m + 164) | 0;
- ua = (m + 160) | 0;
- va = (m + 156) | 0;
- wa = (m + 152) | 0;
- xa = (m + 148) | 0;
- ya = (m + 80) | 0;
- za = (m + 76) | 0;
- Aa = (m + 72) | 0;
- Ba = (m + 56) | 0;
- Ca = (m + 52) | 0;
- Da = (m + 48) | 0;
- Ea = (m + 44) | 0;
- Fa = (m + 40) | 0;
- Ga = (m + 36) | 0;
- Ha = (m + 32) | 0;
- Ia = (m + 28) | 0;
- Ja = (m + 24) | 0;
- Ka = (m + 20) | 0;
- La = (m + 16) | 0;
- c[Fa >> 2] = b;
- c[Ga >> 2] = f;
- c[Ha >> 2] = g;
- c[Ia >> 2] = h;
- c[Ja >> 2] = i;
- c[Ka >> 2] = j;
- c[La >> 2] = k;
- k = c[Ga >> 2] | 0;
- Ga = c[Ha >> 2] | 0;
- Ha = c[Ia >> 2] | 0;
- Ia = c[Ja >> 2] | 0;
- Ja = c[Ka >> 2] | 0;
- Ka = c[La >> 2] | 0;
- c[ha >> 2] = c[Fa >> 2];
- c[ia >> 2] = k;
- c[ja >> 2] = Ga;
- c[ka >> 2] = Ha;
- c[la >> 2] = Ia;
- c[ma >> 2] = Ja;
- c[na >> 2] = Ka;
- c[oa >> 2] = c[ka >> 2];
- c[pa >> 2] = (c[oa >> 2] | 0) + (c[la >> 2] | 0);
- c[qa >> 2] = c[ia >> 2];
- c[ra >> 2] = (c[qa >> 2] | 0) + (c[ja >> 2] | 0);
- c[sa >> 2] = c[qa >> 2];
- c[ta >> 2] = c[((c[ha >> 2] | 0) + 28916) >> 2];
- c[ua >> 2] =
- (c[ta >> 2] | 0) + (c[((c[ha >> 2] | 0) + 28932) >> 2] | 0);
- c[va >> 2] = c[((c[ha >> 2] | 0) + 28732) >> 2];
- c[wa >> 2] = c[((c[ha >> 2] | 0) + 28736) >> 2];
- c[xa >> 2] = c[((c[ha >> 2] | 0) + 28740) >> 2];
- a: do {
- if (c[ma >> 2] | 0) {
- c[((c[ha >> 2] | 0) + 28812) >> 2] = 1;
- c[za >> 2] = 0;
- while (1) {
- if ((c[za >> 2] | 0) >>> 0 >= 3) break;
- c[(ya + 44 + (c[za >> 2] << 2)) >> 2] =
- c[
- ((c[ha >> 2] | 0) +
- 16 +
- 28700 +
- (c[za >> 2] << 2)) >>
- 2
- ];
- c[za >> 2] = (c[za >> 2] | 0) + 1;
- }
- c[Aa >> 2] =
- Kr(
- ya,
- c[oa >> 2] | 0,
- ((c[pa >> 2] | 0) - (c[oa >> 2] | 0)) | 0
- ) | 0;
- if ($q(c[Aa >> 2] | 0) | 0) {
- c[ga >> 2] = -20;
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- }
- Lr((ya + 20) | 0, ya, c[c[ha >> 2] >> 2] | 0);
- Lr((ya + 28) | 0, ya, c[((c[ha >> 2] | 0) + 8) >> 2] | 0);
- Lr((ya + 36) | 0, ya, c[((c[ha >> 2] | 0) + 4) >> 2] | 0);
- while (1) {
- ja = (Mr(ya) | 0) >>> 0 <= 2;
- Na = c[ma >> 2] | 0;
- if (!(ja ? (c[ma >> 2] | 0) != 0 : 0)) break;
- c[ma >> 2] = Na + -1;
- ja = c[na >> 2] | 0;
- c[V >> 2] = ya;
- c[W >> 2] = ja;
- c[Y >> 2] =
- d[
- ((c[((c[V >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 20) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[Z >> 2] =
- d[
- ((c[((c[V >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 36) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[_ >> 2] =
- d[
- ((c[((c[V >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 28) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[$ >> 2] =
- (c[Y >> 2] | 0) + (c[Z >> 2] | 0) + (c[_ >> 2] | 0);
- c[aa >> 2] =
- c[
- ((c[((c[V >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 20) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[ba >> 2] =
- c[
- ((c[((c[V >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 36) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[ca >> 2] =
- c[
- ((c[((c[V >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[V >> 2] | 0) + 28) >> 2] << 3) +
- 4) >>
- 2
- ];
- do {
- if (c[_ >> 2] | 0) {
- ja = (Dr() | 0) != 0;
- if (
- !(
- ja &
- ((c[W >> 2] | 0) != 0) &
- ((c[_ >> 2] | 0) >>> 0 >= 25)
- )
- ) {
- ja = c[ca >> 2] | 0;
- c[da >> 2] =
- ja + (Nr(c[V >> 2] | 0, c[_ >> 2] | 0) | 0);
- if (!(Dr() | 0)) break;
- Mr(c[V >> 2] | 0) | 0;
- break;
- }
- if (
- (c[_ >> 2] | 0) >>> 0 <
- ((32 - (c[((c[V >> 2] | 0) + 4) >> 2] | 0)) |
- 0) >>>
- 0
- )
- Oa = c[_ >> 2] | 0;
- else
- Oa =
- (32 - (c[((c[V >> 2] | 0) + 4) >> 2] | 0)) | 0;
- c[ea >> 2] = (c[_ >> 2] | 0) - Oa;
- ja = c[ca >> 2] | 0;
- ia =
- Nr(
- c[V >> 2] | 0,
- ((c[_ >> 2] | 0) - (c[ea >> 2] | 0)) | 0
- ) | 0;
- c[da >> 2] = ja + (ia << c[ea >> 2]);
- Mr(c[V >> 2] | 0) | 0;
- if (c[ea >> 2] | 0) {
- ia = Nr(c[V >> 2] | 0, c[ea >> 2] | 0) | 0;
- c[da >> 2] = (c[da >> 2] | 0) + ia;
- }
- } else c[da >> 2] = 0;
- } while (0);
- do {
- if ((c[_ >> 2] | 0) >>> 0 <= 1) {
- c[da >> 2] =
- (c[da >> 2] | 0) + (((c[aa >> 2] | 0) == 0) & 1);
- if (!(c[da >> 2] | 0)) {
- c[da >> 2] = c[((c[V >> 2] | 0) + 44) >> 2];
- break;
- }
- ia = ((c[V >> 2] | 0) + 44) | 0;
- if ((c[da >> 2] | 0) == 3)
- Pa = ((c[ia >> 2] | 0) - 1) | 0;
- else Pa = c[(ia + (c[da >> 2] << 2)) >> 2] | 0;
- c[fa >> 2] = Pa;
- c[fa >> 2] =
- (c[fa >> 2] | 0) +
- ((((c[fa >> 2] | 0) != 0) ^ 1) & 1);
- if ((c[da >> 2] | 0) != 1)
- c[((c[V >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[V >> 2] | 0) + 44 + 4) >> 2];
- c[((c[V >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[V >> 2] | 0) + 44) >> 2];
- ia = c[fa >> 2] | 0;
- c[da >> 2] = ia;
- c[((c[V >> 2] | 0) + 44) >> 2] = ia;
- } else {
- c[((c[V >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[V >> 2] | 0) + 44 + 4) >> 2];
- c[((c[V >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[V >> 2] | 0) + 44) >> 2];
- c[((c[V >> 2] | 0) + 44) >> 2] = c[da >> 2];
- }
- } while (0);
- c[(X + 8) >> 2] = c[da >> 2];
- ia = c[ba >> 2] | 0;
- if ((c[Z >> 2] | 0) >>> 0 > 0)
- Qa = Nr(c[V >> 2] | 0, c[Z >> 2] | 0) | 0;
- else Qa = 0;
- c[(X + 4) >> 2] = ia + Qa;
- if (
- Dr() | 0
- ? (((c[Z >> 2] | 0) + (c[Y >> 2] | 0)) | 0) >>> 0 >=
- 20
- : 0
- )
- Mr(c[V >> 2] | 0) | 0;
- ia = (Fr() | 0) != 0;
- if (ia & ((c[$ >> 2] | 0) >>> 0 >= 31))
- Mr(c[V >> 2] | 0) | 0;
- ia = c[aa >> 2] | 0;
- if ((c[Y >> 2] | 0) >>> 0 > 0)
- Ra = Nr(c[V >> 2] | 0, c[Y >> 2] | 0) | 0;
- else Ra = 0;
- c[X >> 2] = ia + Ra;
- if (Dr() | 0) Mr(c[V >> 2] | 0) | 0;
- ia = c[V >> 2] | 0;
- c[Q >> 2] = (c[V >> 2] | 0) + 20;
- c[R >> 2] = ia;
- ia =
- ((c[((c[Q >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Q >> 2] >> 2] << 3)) |
- 0;
- c[S >> 2] = c[ia >> 2];
- c[(S + 4) >> 2] = c[(ia + 4) >> 2];
- c[T >> 2] = d[(S + 3) >> 0];
- c[U >> 2] = Or(c[R >> 2] | 0, c[T >> 2] | 0) | 0;
- c[c[Q >> 2] >> 2] = (e[S >> 1] | 0) + (c[U >> 2] | 0);
- ia = c[V >> 2] | 0;
- c[L >> 2] = (c[V >> 2] | 0) + 36;
- c[M >> 2] = ia;
- ia =
- ((c[((c[L >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[L >> 2] >> 2] << 3)) |
- 0;
- c[N >> 2] = c[ia >> 2];
- c[(N + 4) >> 2] = c[(ia + 4) >> 2];
- c[O >> 2] = d[(N + 3) >> 0];
- c[P >> 2] = Or(c[M >> 2] | 0, c[O >> 2] | 0) | 0;
- c[c[L >> 2] >> 2] = (e[N >> 1] | 0) + (c[P >> 2] | 0);
- if (Dr() | 0) Mr(c[V >> 2] | 0) | 0;
- ia = c[V >> 2] | 0;
- c[G >> 2] = (c[V >> 2] | 0) + 28;
- c[H >> 2] = ia;
- ia =
- ((c[((c[G >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[G >> 2] >> 2] << 3)) |
- 0;
- c[I >> 2] = c[ia >> 2];
- c[(I + 4) >> 2] = c[(ia + 4) >> 2];
- c[J >> 2] = d[(I + 3) >> 0];
- c[K >> 2] = Or(c[H >> 2] | 0, c[J >> 2] | 0) | 0;
- c[c[G >> 2] >> 2] = (e[I >> 1] | 0) + (c[K >> 2] | 0);
- c[Ba >> 2] = c[X >> 2];
- c[(Ba + 4) >> 2] = c[(X + 4) >> 2];
- c[(Ba + 8) >> 2] = c[(X + 8) >> 2];
- c[(Ba + 12) >> 2] = c[(X + 12) >> 2];
- ia = c[sa >> 2] | 0;
- ja = c[ra >> 2] | 0;
- la = c[ua >> 2] | 0;
- ka = c[va >> 2] | 0;
- Ka = c[wa >> 2] | 0;
- Ja = c[xa >> 2] | 0;
- Ia = F;
- Ha = Ba;
- Ga = (Ia + 16) | 0;
- do {
- a[Ia >> 0] = a[Ha >> 0] | 0;
- Ia = (Ia + 1) | 0;
- Ha = (Ha + 1) | 0;
- } while ((Ia | 0) < (Ga | 0));
- c[p >> 2] = ia;
- c[q >> 2] = ja;
- c[r >> 2] = ta;
- c[s >> 2] = la;
- c[t >> 2] = ka;
- c[u >> 2] = Ka;
- c[v >> 2] = Ja;
- c[w >> 2] = (c[p >> 2] | 0) + (c[F >> 2] | 0);
- c[x >> 2] = (c[F >> 2] | 0) + (c[(F + 4) >> 2] | 0);
- c[y >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
- c[z >> 2] = (c[q >> 2] | 0) + -8;
- c[A >> 2] = (c[c[r >> 2] >> 2] | 0) + (c[F >> 2] | 0);
- c[B >> 2] =
- (c[w >> 2] | 0) + (0 - (c[(F + 8) >> 2] | 0));
- b: do {
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0)
- c[o >> 2] = -70;
- else {
- if ((c[A >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
- c[o >> 2] = -20;
- break;
- }
- Ha = c[p >> 2] | 0;
- if ((c[w >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0) {
- Ia = c[q >> 2] | 0;
- Ga = c[r >> 2] | 0;
- k = c[s >> 2] | 0;
- Fa = c[t >> 2] | 0;
- La = c[u >> 2] | 0;
- j = c[v >> 2] | 0;
- c[n >> 2] = c[F >> 2];
- c[(n + 4) >> 2] = c[(F + 4) >> 2];
- c[(n + 8) >> 2] = c[(F + 8) >> 2];
- c[(n + 12) >> 2] = c[(F + 12) >> 2];
- c[o >> 2] = Pr(Ha, Ia, n, Ga, k, Fa, La, j) | 0;
- break;
- }
- Qr(Ha, c[c[r >> 2] >> 2] | 0);
- if ((c[F >> 2] | 0) >>> 0 > 8)
- Rr(
- ((c[p >> 2] | 0) + 8) | 0,
- ((c[c[r >> 2] >> 2] | 0) + 8) | 0,
- ((c[F >> 2] | 0) - 8) | 0
- );
- c[p >> 2] = c[w >> 2];
- c[c[r >> 2] >> 2] = c[A >> 2];
- do {
- if (
- (c[(F + 8) >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(F + 8) >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[u >> 2] | 0)) | 0) >>>
- 0
- ) {
- c[o >> 2] = -20;
- break b;
- }
- c[B >> 2] =
- (c[v >> 2] | 0) +
- ((c[B >> 2] | 0) - (c[t >> 2] | 0));
- if (
- (((c[B >> 2] | 0) + (c[(F + 4) >> 2] | 0)) |
- 0) >>>
- 0 <=
- (c[v >> 2] | 0) >>> 0
- ) {
- nE(
- c[w >> 2] | 0,
- c[B >> 2] | 0,
- c[(F + 4) >> 2] | 0
- ) | 0;
- c[o >> 2] = c[x >> 2];
- break b;
- }
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- nE(
- c[w >> 2] | 0,
- c[B >> 2] | 0,
- c[C >> 2] | 0
- ) | 0;
- c[p >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
- Ha = (F + 4) | 0;
- c[Ha >> 2] = (c[Ha >> 2] | 0) - (c[C >> 2] | 0);
- c[B >> 2] = c[t >> 2];
- if (
- (c[p >> 2] | 0) >>> 0 <= (c[z >> 2] | 0) >>> 0
- ? (c[(F + 4) >> 2] | 0) >>> 0 >= 3
- : 0
- )
- break;
- c[D >> 2] = 0;
- while (1) {
- if (
- (c[D >> 2] | 0) >>> 0 >=
- (c[(F + 4) >> 2] | 0) >>> 0
- )
- break;
- a[((c[p >> 2] | 0) + (c[D >> 2] | 0)) >> 0] =
- a[
- ((c[B >> 2] | 0) + (c[D >> 2] | 0)) >> 0
- ] | 0;
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[o >> 2] = c[x >> 2];
- break b;
- }
- } while (0);
- if ((c[(F + 8) >> 2] | 0) >>> 0 < 8) {
- c[E >> 2] =
- c[(6816 + (c[(F + 8) >> 2] << 2)) >> 2];
- a[c[p >> 2] >> 0] = a[c[B >> 2] >> 0] | 0;
- a[((c[p >> 2] | 0) + 1) >> 0] =
- a[((c[B >> 2] | 0) + 1) >> 0] | 0;
- a[((c[p >> 2] | 0) + 2) >> 0] =
- a[((c[B >> 2] | 0) + 2) >> 0] | 0;
- a[((c[p >> 2] | 0) + 3) >> 0] =
- a[((c[B >> 2] | 0) + 3) >> 0] | 0;
- c[B >> 2] =
- (c[B >> 2] | 0) +
- (c[(6848 + (c[(F + 8) >> 2] << 2)) >> 2] | 0);
- Sr(((c[p >> 2] | 0) + 4) | 0, c[B >> 2] | 0);
- c[B >> 2] =
- (c[B >> 2] | 0) + (0 - (c[E >> 2] | 0));
- } else Qr(c[p >> 2] | 0, c[B >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + 8;
- c[B >> 2] = (c[B >> 2] | 0) + 8;
- Ha = c[p >> 2] | 0;
- c: do {
- if (
- (c[y >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -13) | 0) >>> 0
- ) {
- if (Ha >>> 0 < (c[z >> 2] | 0) >>> 0) {
- Rr(
- c[p >> 2] | 0,
- c[B >> 2] | 0,
- ((c[z >> 2] | 0) - (c[p >> 2] | 0)) | 0
- );
- c[B >> 2] =
- (c[B >> 2] | 0) +
- ((c[z >> 2] | 0) - (c[p >> 2] | 0));
- c[p >> 2] = c[z >> 2];
- }
- while (1) {
- if (
- (c[p >> 2] | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- )
- break c;
- j = c[B >> 2] | 0;
- c[B >> 2] = j + 1;
- La = a[j >> 0] | 0;
- j = c[p >> 2] | 0;
- c[p >> 2] = j + 1;
- a[j >> 0] = La;
- }
- } else
- Rr(
- Ha,
- c[B >> 2] | 0,
- ((c[(F + 4) >> 2] | 0) - 8) | 0
- );
- } while (0);
- c[o >> 2] = c[x >> 2];
- }
- } while (0);
- c[Ca >> 2] = c[o >> 2];
- Ja = ($q(c[Ca >> 2] | 0) | 0) != 0;
- Sa = c[Ca >> 2] | 0;
- if (Ja) {
- Ta = 73;
- break;
- }
- c[sa >> 2] = (c[sa >> 2] | 0) + Sa;
- }
- if ((Ta | 0) == 73) {
- c[ga >> 2] = Sa;
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- }
- if (Na | 0) {
- c[ga >> 2] = -20;
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- }
- c[Da >> 2] = 0;
- while (1) {
- if ((c[Da >> 2] | 0) >>> 0 >= 3) break a;
- c[
- ((c[ha >> 2] | 0) + 16 + 28700 + (c[Da >> 2] << 2)) >>
- 2
- ] = c[(ya + 44 + (c[Da >> 2] << 2)) >> 2];
- c[Da >> 2] = (c[Da >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[Ea >> 2] = (c[ua >> 2] | 0) - (c[ta >> 2] | 0);
- if (
- (c[Ea >> 2] | 0) >>> 0 >
- (((c[ra >> 2] | 0) - (c[sa >> 2] | 0)) | 0) >>> 0
- ) {
- c[ga >> 2] = -70;
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- } else {
- mE(c[sa >> 2] | 0, c[ta >> 2] | 0, c[Ea >> 2] | 0) | 0;
- c[sa >> 2] = (c[sa >> 2] | 0) + (c[Ea >> 2] | 0);
- c[ga >> 2] = (c[sa >> 2] | 0) - (c[qa >> 2] | 0);
- Ma = c[ga >> 2] | 0;
- l = m;
- return Ma | 0;
- }
- return 0;
- }
- function Kr(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 17) | 0;
- n = (g + 16) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- if ((c[k >> 2] | 0) >>> 0 < 1) {
- f = c[i >> 2] | 0;
- c[f >> 2] = 0;
- c[(f + 4) >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- c[(f + 12) >> 2] = 0;
- c[(f + 16) >> 2] = 0;
- c[h >> 2] = -72;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
- c[((c[i >> 2] | 0) + 16) >> 2] =
- (c[((c[i >> 2] | 0) + 12) >> 2] | 0) + 4;
- do {
- if ((c[k >> 2] | 0) >>> 0 >= 4) {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
- f = Wr(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = f;
- a[m >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[m >> 0] | 0 | 0)
- p = (8 - (Ar(d[m >> 0] | 0) | 0)) | 0;
- else p = 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = p;
- if (!(d[m >> 0] | 0)) {
- c[h >> 2] = -1;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } else {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- c[((c[i >> 2] | 0) + 12) >> 2];
- c[c[i >> 2] >> 2] =
- d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
- switch (c[k >> 2] | 0) {
- case 7: {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
- q = 10;
- break;
- }
- case 6: {
- q = 10;
- break;
- }
- case 5: {
- q = 11;
- break;
- }
- case 4: {
- q = 12;
- break;
- }
- case 3: {
- q = 13;
- break;
- }
- case 2: {
- q = 14;
- break;
- }
- default: {
- }
- }
- if ((q | 0) == 10) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
- q = 11;
- }
- if ((q | 0) == 11) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
- q = 12;
- }
- if ((q | 0) == 12) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
- q = 13;
- }
- if ((q | 0) == 13) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
- q = 14;
- }
- if ((q | 0) == 14) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
- }
- a[n >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[n >> 0] | 0 | 0)
- r = (8 - (Ar(d[n >> 0] | 0) | 0)) | 0;
- else r = 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = r;
- if (d[n >> 0] | 0 | 0) {
- f = ((c[i >> 2] | 0) + 4) | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
- break;
- }
- c[h >> 2] = -20;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } while (0);
- c[h >> 2] = c[k >> 2];
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- function Lr(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[h >> 2];
- c[j >> 2] = c[i >> 2];
- i = Or(c[g >> 2] | 0, c[((c[j >> 2] | 0) + 4) >> 2] | 0) | 0;
- c[c[f >> 2] >> 2] = i;
- Mr(c[g >> 2] | 0) | 0;
- c[((c[f >> 2] | 0) + 4) >> 2] = (c[h >> 2] | 0) + 8;
- l = e;
- return;
- }
- function Mr(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 12) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[e >> 2] = a;
- if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
- c[d >> 2] = 3;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- a = c[e >> 2] | 0;
- if (
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
- ) {
- i = ((c[e >> 2] | 0) + 8) | 0;
- c[i >> 2] =
- (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
- i = ((c[e >> 2] | 0) + 4) | 0;
- c[i >> 2] = c[i >> 2] & 7;
- i = Wr(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = i;
- c[d >> 2] = 0;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
- if (
- (c[(a + 8) >> 2] | 0) !=
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
- ) {
- c[f >> 2] = i >>> 3;
- c[g >> 2] = 0;
- if (
- (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (0 - (c[f >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] =
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
- c[g >> 2] = 1;
- }
- a = ((c[e >> 2] | 0) + 8) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
- a = ((c[e >> 2] | 0) + 4) | 0;
- c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
- f = Wr(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = f;
- c[d >> 2] = c[g >> 2];
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- if (i >>> 0 < 32) {
- c[d >> 2] = 1;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- c[d >> 2] = 2;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function Nr(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = Vr(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- Ur(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function Or(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = Tr(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- Ur(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function Pr(b, d, e, f, g, h, i, j) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0;
- k = l;
- l = (l + 64) | 0;
- m = (k + 56) | 0;
- n = (k + 52) | 0;
- o = (k + 48) | 0;
- p = (k + 44) | 0;
- q = (k + 40) | 0;
- r = (k + 36) | 0;
- s = (k + 32) | 0;
- t = (k + 28) | 0;
- u = (k + 24) | 0;
- v = (k + 20) | 0;
- w = (k + 16) | 0;
- x = (k + 12) | 0;
- y = (k + 8) | 0;
- z = (k + 4) | 0;
- A = k;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = (c[n >> 2] | 0) + (c[e >> 2] | 0);
- c[v >> 2] = (c[e >> 2] | 0) + (c[(e + 4) >> 2] | 0);
- c[w >> 2] = (c[n >> 2] | 0) + (c[v >> 2] | 0);
- c[x >> 2] = (c[o >> 2] | 0) + -8;
- c[y >> 2] = (c[c[p >> 2] >> 2] | 0) + (c[e >> 2] | 0);
- c[z >> 2] = (c[u >> 2] | 0) + (0 - (c[(e + 8) >> 2] | 0));
- if ((c[w >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -70;
- B = c[m >> 2] | 0;
- l = k;
- return B | 0;
- }
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- B = c[m >> 2] | 0;
- l = k;
- return B | 0;
- }
- if ((c[u >> 2] | 0) >>> 0 <= (c[x >> 2] | 0) >>> 0) {
- c[m >> 2] = -1;
- B = c[m >> 2] | 0;
- l = k;
- return B | 0;
- }
- if ((c[n >> 2] | 0) >>> 0 < (c[x >> 2] | 0) >>> 0) {
- Rr(
- c[n >> 2] | 0,
- c[c[p >> 2] >> 2] | 0,
- ((c[x >> 2] | 0) - (c[n >> 2] | 0)) | 0
- );
- q = c[p >> 2] | 0;
- c[q >> 2] =
- (c[q >> 2] | 0) + ((c[x >> 2] | 0) - (c[n >> 2] | 0));
- c[n >> 2] = c[x >> 2];
- }
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[u >> 2] | 0) >>> 0) break;
- x = c[p >> 2] | 0;
- q = c[x >> 2] | 0;
- c[x >> 2] = q + 1;
- x = a[q >> 0] | 0;
- q = c[n >> 2] | 0;
- c[n >> 2] = q + 1;
- a[q >> 0] = x;
- }
- do {
- if (
- (c[(e + 8) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(e + 8) >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) - (c[s >> 2] | 0)) | 0) >>> 0
- ) {
- c[m >> 2] = -20;
- B = c[m >> 2] | 0;
- l = k;
- return B | 0;
- }
- c[z >> 2] =
- (c[t >> 2] | 0) +
- (0 - ((c[r >> 2] | 0) - (c[z >> 2] | 0)));
- if (
- (((c[z >> 2] | 0) + (c[(e + 4) >> 2] | 0)) | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[A >> 2] = (c[t >> 2] | 0) - (c[z >> 2] | 0);
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[A >> 2] | 0) | 0;
- c[n >> 2] = (c[u >> 2] | 0) + (c[A >> 2] | 0);
- p = (e + 4) | 0;
- c[p >> 2] = (c[p >> 2] | 0) - (c[A >> 2] | 0);
- c[z >> 2] = c[r >> 2];
- break;
- }
- nE(c[u >> 2] | 0, c[z >> 2] | 0, c[(e + 4) >> 2] | 0) | 0;
- c[m >> 2] = c[v >> 2];
- B = c[m >> 2] | 0;
- l = k;
- return B | 0;
- }
- } while (0);
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- e = c[z >> 2] | 0;
- c[z >> 2] = e + 1;
- u = a[e >> 0] | 0;
- e = c[n >> 2] | 0;
- c[n >> 2] = e + 1;
- a[e >> 0] = u;
- }
- c[m >> 2] = c[v >> 2];
- B = c[m >> 2] | 0;
- l = k;
- return B | 0;
- }
- function Qr(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function Rr(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- Qr(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function Sr(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- l = e;
- return;
- }
- function Tr(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- (((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- 1) >>>
- ((31 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function Ur(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ((c[e >> 2] | 0) + 4) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
- l = d;
- return;
- }
- function Vr(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- ((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- ((32 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function Wr(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (Dr() | 0) != 0;
- f = c[e >> 2] | 0;
- if (a) {
- c[d >> 2] = hq(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- a = sq(f) | 0;
- c[d >> 2] = a;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Xr(b, f, g, h, i, j, k) {
- b = b | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- var m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0;
- m = l;
- l = (l + 784) | 0;
- n = (m + 760) | 0;
- o = (m + 756) | 0;
- p = (m + 752) | 0;
- q = (m + 748) | 0;
- r = (m + 744) | 0;
- s = (m + 740) | 0;
- t = (m + 736) | 0;
- u = (m + 732) | 0;
- v = (m + 728) | 0;
- w = (m + 724) | 0;
- x = (m + 720) | 0;
- y = (m + 716) | 0;
- z = (m + 712) | 0;
- A = (m + 708) | 0;
- B = (m + 704) | 0;
- C = (m + 700) | 0;
- D = (m + 696) | 0;
- E = (m + 692) | 0;
- F = (m + 80) | 0;
- G = (m + 688) | 0;
- H = (m + 684) | 0;
- I = (m + 680) | 0;
- J = (m + 676) | 0;
- K = (m + 672) | 0;
- L = (m + 668) | 0;
- M = (m + 664) | 0;
- N = (m + 660) | 0;
- O = (m + 656) | 0;
- P = (m + 652) | 0;
- Q = (m + 648) | 0;
- R = (m + 644) | 0;
- S = (m + 640) | 0;
- T = (m + 636) | 0;
- U = (m + 632) | 0;
- V = (m + 628) | 0;
- W = (m + 624) | 0;
- X = (m + 64) | 0;
- Y = (m + 620) | 0;
- Z = (m + 616) | 0;
- _ = (m + 608) | 0;
- $ = (m + 604) | 0;
- aa = (m + 600) | 0;
- ba = (m + 596) | 0;
- ca = (m + 592) | 0;
- da = (m + 584) | 0;
- ea = (m + 580) | 0;
- fa = (m + 576) | 0;
- ga = (m + 572) | 0;
- ha = (m + 568) | 0;
- ia = (m + 560) | 0;
- ja = (m + 556) | 0;
- ka = (m + 552) | 0;
- la = (m + 548) | 0;
- ma = (m + 544) | 0;
- na = (m + 528) | 0;
- oa = (m + 524) | 0;
- pa = (m + 520) | 0;
- qa = (m + 516) | 0;
- ra = (m + 512) | 0;
- sa = (m + 508) | 0;
- ta = (m + 504) | 0;
- ua = (m + 500) | 0;
- va = (m + 496) | 0;
- wa = (m + 492) | 0;
- xa = (m + 488) | 0;
- ya = (m + 484) | 0;
- za = (m + 480) | 0;
- Aa = (m + 476) | 0;
- Ba = (m + 472) | 0;
- Ca = (m + 464) | 0;
- Da = (m + 460) | 0;
- Ea = (m + 456) | 0;
- Fa = (m + 452) | 0;
- Ga = (m + 448) | 0;
- Ha = (m + 440) | 0;
- Ia = (m + 436) | 0;
- Ja = (m + 432) | 0;
- Ka = (m + 428) | 0;
- La = (m + 424) | 0;
- Ma = (m + 416) | 0;
- Na = (m + 412) | 0;
- Oa = (m + 408) | 0;
- Pa = (m + 404) | 0;
- Qa = (m + 400) | 0;
- Ra = (m + 384) | 0;
- Sa = (m + 376) | 0;
- Ta = (m + 372) | 0;
- Ua = (m + 368) | 0;
- Va = (m + 364) | 0;
- Wa = (m + 360) | 0;
- Xa = (m + 356) | 0;
- Ya = (m + 352) | 0;
- Za = (m + 348) | 0;
- _a = (m + 344) | 0;
- $a = (m + 340) | 0;
- ab = (m + 336) | 0;
- bb = (m + 332) | 0;
- cb = (m + 328) | 0;
- db = (m + 324) | 0;
- eb = (m + 320) | 0;
- fb = (m + 316) | 0;
- gb = (m + 312) | 0;
- hb = (m + 308) | 0;
- ib = (m + 304) | 0;
- jb = (m + 300) | 0;
- kb = (m + 296) | 0;
- lb = (m + 292) | 0;
- mb = (m + 288) | 0;
- nb = (m + 284) | 0;
- ob = (m + 280) | 0;
- pb = (m + 276) | 0;
- qb = (m + 272) | 0;
- rb = (m + 268) | 0;
- sb = (m + 264) | 0;
- tb = (m + 260) | 0;
- ub = m;
- vb = (m + 256) | 0;
- wb = (m + 188) | 0;
- xb = (m + 184) | 0;
- yb = (m + 180) | 0;
- zb = (m + 176) | 0;
- Ab = (m + 160) | 0;
- Bb = (m + 144) | 0;
- Cb = (m + 136) | 0;
- Db = (m + 132) | 0;
- Eb = (m + 128) | 0;
- Fb = (m + 124) | 0;
- Gb = (m + 120) | 0;
- Hb = (m + 116) | 0;
- Ib = (m + 112) | 0;
- Jb = (m + 108) | 0;
- Kb = (m + 104) | 0;
- Lb = (m + 100) | 0;
- Mb = (m + 96) | 0;
- c[Gb >> 2] = b;
- c[Hb >> 2] = f;
- c[Ib >> 2] = g;
- c[Jb >> 2] = h;
- c[Kb >> 2] = i;
- c[Lb >> 2] = j;
- c[Mb >> 2] = k;
- k = c[Hb >> 2] | 0;
- Hb = c[Ib >> 2] | 0;
- Ib = c[Jb >> 2] | 0;
- Jb = c[Kb >> 2] | 0;
- Kb = c[Lb >> 2] | 0;
- Lb = c[Mb >> 2] | 0;
- c[db >> 2] = c[Gb >> 2];
- c[eb >> 2] = k;
- c[fb >> 2] = Hb;
- c[gb >> 2] = Ib;
- c[hb >> 2] = Jb;
- c[ib >> 2] = Kb;
- c[jb >> 2] = Lb;
- c[kb >> 2] = c[gb >> 2];
- c[lb >> 2] = (c[kb >> 2] | 0) + (c[hb >> 2] | 0);
- c[mb >> 2] = c[eb >> 2];
- c[nb >> 2] = (c[mb >> 2] | 0) + (c[fb >> 2] | 0);
- c[ob >> 2] = c[mb >> 2];
- c[pb >> 2] = c[((c[db >> 2] | 0) + 28916) >> 2];
- c[qb >> 2] =
- (c[pb >> 2] | 0) + (c[((c[db >> 2] | 0) + 28932) >> 2] | 0);
- c[rb >> 2] = c[((c[db >> 2] | 0) + 28732) >> 2];
- c[sb >> 2] = c[((c[db >> 2] | 0) + 28736) >> 2];
- c[tb >> 2] = c[((c[db >> 2] | 0) + 28740) >> 2];
- a: do {
- if (c[ib >> 2] | 0) {
- c[vb >> 2] = (c[ib >> 2] | 0) < 4 ? c[ib >> 2] | 0 : 4;
- c[((c[db >> 2] | 0) + 28812) >> 2] = 1;
- c[yb >> 2] = 0;
- while (1) {
- if ((c[yb >> 2] | 0) >>> 0 >= 3) break;
- c[(wb + 44 + (c[yb >> 2] << 2)) >> 2] =
- c[
- ((c[db >> 2] | 0) +
- 16 +
- 28700 +
- (c[yb >> 2] << 2)) >>
- 2
- ];
- c[yb >> 2] = (c[yb >> 2] | 0) + 1;
- }
- c[(wb + 56) >> 2] = c[rb >> 2];
- c[(wb + 64) >> 2] = (c[ob >> 2] | 0) - (c[rb >> 2] | 0);
- c[(wb + 60) >> 2] = c[tb >> 2];
- c[zb >> 2] =
- Kr(
- wb,
- c[kb >> 2] | 0,
- ((c[lb >> 2] | 0) - (c[kb >> 2] | 0)) | 0
- ) | 0;
- if ($q(c[zb >> 2] | 0) | 0) {
- c[cb >> 2] = -20;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- Lr((wb + 20) | 0, wb, c[c[db >> 2] >> 2] | 0);
- Lr((wb + 28) | 0, wb, c[((c[db >> 2] | 0) + 8) >> 2] | 0);
- Lr((wb + 36) | 0, wb, c[((c[db >> 2] | 0) + 4) >> 2] | 0);
- c[xb >> 2] = 0;
- while (1) {
- if ((Mr(wb) | 0) >>> 0 <= 2)
- Ob = (c[xb >> 2] | 0) < (c[vb >> 2] | 0);
- else Ob = 0;
- Pb = c[xb >> 2] | 0;
- if (!Ob) break;
- fb = (ub + (Pb << 4)) | 0;
- eb = c[jb >> 2] | 0;
- c[Pa >> 2] = wb;
- c[Qa >> 2] = eb;
- c[Sa >> 2] =
- d[
- ((c[((c[Pa >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 20) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[Ta >> 2] =
- d[
- ((c[((c[Pa >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 36) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[Ua >> 2] =
- d[
- ((c[((c[Pa >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 28) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[Va >> 2] =
- (c[Sa >> 2] | 0) +
- (c[Ta >> 2] | 0) +
- (c[Ua >> 2] | 0);
- c[Wa >> 2] =
- c[
- ((c[((c[Pa >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 20) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[Xa >> 2] =
- c[
- ((c[((c[Pa >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 36) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[Ya >> 2] =
- c[
- ((c[((c[Pa >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 28) >> 2] << 3) +
- 4) >>
- 2
- ];
- do {
- if (c[Ua >> 2] | 0) {
- eb = (Dr() | 0) != 0;
- if (!(eb & ((c[Qa >> 2] | 0) != 0))) {
- eb = c[Ya >> 2] | 0;
- c[Za >> 2] =
- eb + (Nr(c[Pa >> 2] | 0, c[Ua >> 2] | 0) | 0);
- if (!(Dr() | 0)) break;
- Mr(c[Pa >> 2] | 0) | 0;
- break;
- }
- c[_a >> 2] =
- (c[Ua >> 2] | 0) -
- ((c[Ua >> 2] | 0) >>> 0 < 24
- ? c[Ua >> 2] | 0
- : 24);
- eb = c[Ya >> 2] | 0;
- hb =
- Nr(
- c[Pa >> 2] | 0,
- ((c[Ua >> 2] | 0) - (c[_a >> 2] | 0)) | 0
- ) | 0;
- c[Za >> 2] = eb + (hb << c[_a >> 2]);
- hb = (Dr() | 0) != 0;
- if (hb | ((c[_a >> 2] | 0) != 0))
- Mr(c[Pa >> 2] | 0) | 0;
- if (c[_a >> 2] | 0) {
- hb = Nr(c[Pa >> 2] | 0, c[_a >> 2] | 0) | 0;
- c[Za >> 2] = (c[Za >> 2] | 0) + hb;
- }
- } else c[Za >> 2] = 0;
- } while (0);
- do {
- if ((c[Ua >> 2] | 0) >>> 0 <= 1) {
- c[Za >> 2] =
- (c[Za >> 2] | 0) + (((c[Wa >> 2] | 0) == 0) & 1);
- if (!(c[Za >> 2] | 0)) {
- c[Za >> 2] = c[((c[Pa >> 2] | 0) + 44) >> 2];
- break;
- }
- hb = ((c[Pa >> 2] | 0) + 44) | 0;
- if ((c[Za >> 2] | 0) == 3)
- Qb = ((c[hb >> 2] | 0) - 1) | 0;
- else Qb = c[(hb + (c[Za >> 2] << 2)) >> 2] | 0;
- c[$a >> 2] = Qb;
- c[$a >> 2] =
- (c[$a >> 2] | 0) +
- ((((c[$a >> 2] | 0) != 0) ^ 1) & 1);
- if ((c[Za >> 2] | 0) != 1)
- c[((c[Pa >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[Pa >> 2] | 0) + 44 + 4) >> 2];
- c[((c[Pa >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[Pa >> 2] | 0) + 44) >> 2];
- hb = c[$a >> 2] | 0;
- c[Za >> 2] = hb;
- c[((c[Pa >> 2] | 0) + 44) >> 2] = hb;
- } else {
- c[((c[Pa >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[Pa >> 2] | 0) + 44 + 4) >> 2];
- c[((c[Pa >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[Pa >> 2] | 0) + 44) >> 2];
- c[((c[Pa >> 2] | 0) + 44) >> 2] = c[Za >> 2];
- }
- } while (0);
- c[(Ra + 8) >> 2] = c[Za >> 2];
- hb = c[Xa >> 2] | 0;
- if ((c[Ta >> 2] | 0) >>> 0 > 0)
- Rb = Nr(c[Pa >> 2] | 0, c[Ta >> 2] | 0) | 0;
- else Rb = 0;
- c[(Ra + 4) >> 2] = hb + Rb;
- if (
- Dr() | 0
- ? (((c[Ta >> 2] | 0) + (c[Sa >> 2] | 0)) | 0) >>>
- 0 >=
- 20
- : 0
- )
- Mr(c[Pa >> 2] | 0) | 0;
- hb = (Fr() | 0) != 0;
- if (hb & ((c[Va >> 2] | 0) >>> 0 >= 31))
- Mr(c[Pa >> 2] | 0) | 0;
- hb = c[Wa >> 2] | 0;
- if ((c[Sa >> 2] | 0) >>> 0 > 0)
- Sb = Nr(c[Pa >> 2] | 0, c[Sa >> 2] | 0) | 0;
- else Sb = 0;
- c[Ra >> 2] = hb + Sb;
- if (Dr() | 0) Mr(c[Pa >> 2] | 0) | 0;
- c[ab >> 2] =
- (c[((c[Pa >> 2] | 0) + 64) >> 2] | 0) +
- (c[Ra >> 2] | 0);
- hb = c[Pa >> 2] | 0;
- if (
- (c[(Ra + 8) >> 2] | 0) >>> 0 >
- (c[ab >> 2] | 0) >>> 0
- )
- Tb = c[(hb + 60) >> 2] | 0;
- else Tb = c[(hb + 56) >> 2] | 0;
- c[bb >> 2] = Tb;
- c[(Ra + 12) >> 2] =
- (c[bb >> 2] | 0) +
- (c[ab >> 2] | 0) +
- (0 - (c[(Ra + 8) >> 2] | 0));
- c[((c[Pa >> 2] | 0) + 64) >> 2] =
- (c[ab >> 2] | 0) + (c[(Ra + 4) >> 2] | 0);
- hb = c[Pa >> 2] | 0;
- c[Ka >> 2] = (c[Pa >> 2] | 0) + 20;
- c[La >> 2] = hb;
- hb =
- ((c[((c[Ka >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Ka >> 2] >> 2] << 3)) |
- 0;
- c[Ma >> 2] = c[hb >> 2];
- c[(Ma + 4) >> 2] = c[(hb + 4) >> 2];
- c[Na >> 2] = d[(Ma + 3) >> 0];
- c[Oa >> 2] = Or(c[La >> 2] | 0, c[Na >> 2] | 0) | 0;
- c[c[Ka >> 2] >> 2] =
- (e[Ma >> 1] | 0) + (c[Oa >> 2] | 0);
- hb = c[Pa >> 2] | 0;
- c[Fa >> 2] = (c[Pa >> 2] | 0) + 36;
- c[Ga >> 2] = hb;
- hb =
- ((c[((c[Fa >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Fa >> 2] >> 2] << 3)) |
- 0;
- c[Ha >> 2] = c[hb >> 2];
- c[(Ha + 4) >> 2] = c[(hb + 4) >> 2];
- c[Ia >> 2] = d[(Ha + 3) >> 0];
- c[Ja >> 2] = Or(c[Ga >> 2] | 0, c[Ia >> 2] | 0) | 0;
- c[c[Fa >> 2] >> 2] =
- (e[Ha >> 1] | 0) + (c[Ja >> 2] | 0);
- if (Dr() | 0) Mr(c[Pa >> 2] | 0) | 0;
- hb = c[Pa >> 2] | 0;
- c[Aa >> 2] = (c[Pa >> 2] | 0) + 28;
- c[Ba >> 2] = hb;
- hb =
- ((c[((c[Aa >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Aa >> 2] >> 2] << 3)) |
- 0;
- c[Ca >> 2] = c[hb >> 2];
- c[(Ca + 4) >> 2] = c[(hb + 4) >> 2];
- c[Da >> 2] = d[(Ca + 3) >> 0];
- c[Ea >> 2] = Or(c[Ba >> 2] | 0, c[Da >> 2] | 0) | 0;
- c[c[Aa >> 2] >> 2] =
- (e[Ca >> 1] | 0) + (c[Ea >> 2] | 0);
- c[Ab >> 2] = c[Ra >> 2];
- c[(Ab + 4) >> 2] = c[(Ra + 4) >> 2];
- c[(Ab + 8) >> 2] = c[(Ra + 8) >> 2];
- c[(Ab + 12) >> 2] = c[(Ra + 12) >> 2];
- c[fb >> 2] = c[Ab >> 2];
- c[(fb + 4) >> 2] = c[(Ab + 4) >> 2];
- c[(fb + 8) >> 2] = c[(Ab + 8) >> 2];
- c[(fb + 12) >> 2] = c[(Ab + 12) >> 2];
- c[xb >> 2] = (c[xb >> 2] | 0) + 1;
- }
- if ((Pb | 0) < (c[vb >> 2] | 0)) {
- c[cb >> 2] = -20;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- while (1) {
- if ((Mr(wb) | 0) >>> 0 > 2) break;
- if ((c[xb >> 2] | 0) >= (c[ib >> 2] | 0)) break;
- hb = c[jb >> 2] | 0;
- c[la >> 2] = wb;
- c[ma >> 2] = hb;
- c[oa >> 2] =
- d[
- ((c[((c[la >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 20) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[pa >> 2] =
- d[
- ((c[((c[la >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 36) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[qa >> 2] =
- d[
- ((c[((c[la >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 28) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[ra >> 2] =
- (c[oa >> 2] | 0) +
- (c[pa >> 2] | 0) +
- (c[qa >> 2] | 0);
- c[sa >> 2] =
- c[
- ((c[((c[la >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 20) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[ta >> 2] =
- c[
- ((c[((c[la >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 36) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[ua >> 2] =
- c[
- ((c[((c[la >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 28) >> 2] << 3) +
- 4) >>
- 2
- ];
- do {
- if (c[qa >> 2] | 0) {
- hb = (Dr() | 0) != 0;
- if (!(hb & ((c[ma >> 2] | 0) != 0))) {
- hb = c[ua >> 2] | 0;
- c[va >> 2] =
- hb + (Nr(c[la >> 2] | 0, c[qa >> 2] | 0) | 0);
- if (!(Dr() | 0)) break;
- Mr(c[la >> 2] | 0) | 0;
- break;
- }
- c[wa >> 2] =
- (c[qa >> 2] | 0) -
- ((c[qa >> 2] | 0) >>> 0 < 24
- ? c[qa >> 2] | 0
- : 24);
- hb = c[ua >> 2] | 0;
- eb =
- Nr(
- c[la >> 2] | 0,
- ((c[qa >> 2] | 0) - (c[wa >> 2] | 0)) | 0
- ) | 0;
- c[va >> 2] = hb + (eb << c[wa >> 2]);
- eb = (Dr() | 0) != 0;
- if (eb | ((c[wa >> 2] | 0) != 0))
- Mr(c[la >> 2] | 0) | 0;
- if (c[wa >> 2] | 0) {
- eb = Nr(c[la >> 2] | 0, c[wa >> 2] | 0) | 0;
- c[va >> 2] = (c[va >> 2] | 0) + eb;
- }
- } else c[va >> 2] = 0;
- } while (0);
- do {
- if ((c[qa >> 2] | 0) >>> 0 <= 1) {
- c[va >> 2] =
- (c[va >> 2] | 0) + (((c[sa >> 2] | 0) == 0) & 1);
- if (!(c[va >> 2] | 0)) {
- c[va >> 2] = c[((c[la >> 2] | 0) + 44) >> 2];
- break;
- }
- fb = ((c[la >> 2] | 0) + 44) | 0;
- if ((c[va >> 2] | 0) == 3)
- Ub = ((c[fb >> 2] | 0) - 1) | 0;
- else Ub = c[(fb + (c[va >> 2] << 2)) >> 2] | 0;
- c[xa >> 2] = Ub;
- c[xa >> 2] =
- (c[xa >> 2] | 0) +
- ((((c[xa >> 2] | 0) != 0) ^ 1) & 1);
- if ((c[va >> 2] | 0) != 1)
- c[((c[la >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[la >> 2] | 0) + 44 + 4) >> 2];
- c[((c[la >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[la >> 2] | 0) + 44) >> 2];
- fb = c[xa >> 2] | 0;
- c[va >> 2] = fb;
- c[((c[la >> 2] | 0) + 44) >> 2] = fb;
- } else {
- c[((c[la >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[la >> 2] | 0) + 44 + 4) >> 2];
- c[((c[la >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[la >> 2] | 0) + 44) >> 2];
- c[((c[la >> 2] | 0) + 44) >> 2] = c[va >> 2];
- }
- } while (0);
- c[(na + 8) >> 2] = c[va >> 2];
- fb = c[ta >> 2] | 0;
- if ((c[pa >> 2] | 0) >>> 0 > 0)
- Vb = Nr(c[la >> 2] | 0, c[pa >> 2] | 0) | 0;
- else Vb = 0;
- c[(na + 4) >> 2] = fb + Vb;
- if (
- Dr() | 0
- ? (((c[pa >> 2] | 0) + (c[oa >> 2] | 0)) | 0) >>>
- 0 >=
- 20
- : 0
- )
- Mr(c[la >> 2] | 0) | 0;
- fb = (Fr() | 0) != 0;
- if (fb & ((c[ra >> 2] | 0) >>> 0 >= 31))
- Mr(c[la >> 2] | 0) | 0;
- fb = c[sa >> 2] | 0;
- if ((c[oa >> 2] | 0) >>> 0 > 0)
- Wb = Nr(c[la >> 2] | 0, c[oa >> 2] | 0) | 0;
- else Wb = 0;
- c[na >> 2] = fb + Wb;
- if (Dr() | 0) Mr(c[la >> 2] | 0) | 0;
- c[ya >> 2] =
- (c[((c[la >> 2] | 0) + 64) >> 2] | 0) +
- (c[na >> 2] | 0);
- fb = c[la >> 2] | 0;
- if (
- (c[(na + 8) >> 2] | 0) >>> 0 >
- (c[ya >> 2] | 0) >>> 0
- )
- Xb = c[(fb + 60) >> 2] | 0;
- else Xb = c[(fb + 56) >> 2] | 0;
- c[za >> 2] = Xb;
- c[(na + 12) >> 2] =
- (c[za >> 2] | 0) +
- (c[ya >> 2] | 0) +
- (0 - (c[(na + 8) >> 2] | 0));
- c[((c[la >> 2] | 0) + 64) >> 2] =
- (c[ya >> 2] | 0) + (c[(na + 4) >> 2] | 0);
- fb = c[la >> 2] | 0;
- c[ga >> 2] = (c[la >> 2] | 0) + 20;
- c[ha >> 2] = fb;
- fb =
- ((c[((c[ga >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[ga >> 2] >> 2] << 3)) |
- 0;
- c[ia >> 2] = c[fb >> 2];
- c[(ia + 4) >> 2] = c[(fb + 4) >> 2];
- c[ja >> 2] = d[(ia + 3) >> 0];
- c[ka >> 2] = Or(c[ha >> 2] | 0, c[ja >> 2] | 0) | 0;
- c[c[ga >> 2] >> 2] =
- (e[ia >> 1] | 0) + (c[ka >> 2] | 0);
- fb = c[la >> 2] | 0;
- c[ba >> 2] = (c[la >> 2] | 0) + 36;
- c[ca >> 2] = fb;
- fb =
- ((c[((c[ba >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[ba >> 2] >> 2] << 3)) |
- 0;
- c[da >> 2] = c[fb >> 2];
- c[(da + 4) >> 2] = c[(fb + 4) >> 2];
- c[ea >> 2] = d[(da + 3) >> 0];
- c[fa >> 2] = Or(c[ca >> 2] | 0, c[ea >> 2] | 0) | 0;
- c[c[ba >> 2] >> 2] =
- (e[da >> 1] | 0) + (c[fa >> 2] | 0);
- if (Dr() | 0) Mr(c[la >> 2] | 0) | 0;
- fb = c[la >> 2] | 0;
- c[Y >> 2] = (c[la >> 2] | 0) + 28;
- c[Z >> 2] = fb;
- fb =
- ((c[((c[Y >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Y >> 2] >> 2] << 3)) |
- 0;
- c[_ >> 2] = c[fb >> 2];
- c[(_ + 4) >> 2] = c[(fb + 4) >> 2];
- c[$ >> 2] = d[(_ + 3) >> 0];
- c[aa >> 2] = Or(c[Z >> 2] | 0, c[$ >> 2] | 0) | 0;
- c[c[Y >> 2] >> 2] = (e[_ >> 1] | 0) + (c[aa >> 2] | 0);
- c[Bb >> 2] = c[na >> 2];
- c[(Bb + 4) >> 2] = c[(na + 4) >> 2];
- c[(Bb + 8) >> 2] = c[(na + 8) >> 2];
- c[(Bb + 12) >> 2] = c[(na + 12) >> 2];
- fb = c[ob >> 2] | 0;
- eb = c[nb >> 2] | 0;
- hb = c[qb >> 2] | 0;
- gb = c[rb >> 2] | 0;
- Lb = c[sb >> 2] | 0;
- Kb = c[tb >> 2] | 0;
- Yb = X;
- Zb = (ub + ((((c[xb >> 2] | 0) - 4) & 3) << 4)) | 0;
- _b = (Yb + 16) | 0;
- do {
- a[Yb >> 0] = a[Zb >> 0] | 0;
- Yb = (Yb + 1) | 0;
- Zb = (Zb + 1) | 0;
- } while ((Yb | 0) < (_b | 0));
- c[H >> 2] = fb;
- c[I >> 2] = eb;
- c[J >> 2] = pb;
- c[K >> 2] = hb;
- c[L >> 2] = gb;
- c[M >> 2] = Lb;
- c[N >> 2] = Kb;
- c[O >> 2] = (c[H >> 2] | 0) + (c[X >> 2] | 0);
- c[P >> 2] = (c[X >> 2] | 0) + (c[(X + 4) >> 2] | 0);
- c[Q >> 2] = (c[H >> 2] | 0) + (c[P >> 2] | 0);
- c[R >> 2] = (c[I >> 2] | 0) + -8;
- c[S >> 2] = (c[c[J >> 2] >> 2] | 0) + (c[X >> 2] | 0);
- c[T >> 2] = c[(X + 12) >> 2];
- b: do {
- if ((c[Q >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0)
- c[G >> 2] = -70;
- else {
- if ((c[S >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[G >> 2] = -20;
- break;
- }
- Jb = c[H >> 2] | 0;
- if ((c[O >> 2] | 0) >>> 0 > (c[R >> 2] | 0) >>> 0) {
- Ib = c[I >> 2] | 0;
- Hb = c[J >> 2] | 0;
- k = c[K >> 2] | 0;
- Gb = c[L >> 2] | 0;
- Mb = c[M >> 2] | 0;
- j = c[N >> 2] | 0;
- c[n >> 2] = c[X >> 2];
- c[(n + 4) >> 2] = c[(X + 4) >> 2];
- c[(n + 8) >> 2] = c[(X + 8) >> 2];
- c[(n + 12) >> 2] = c[(X + 12) >> 2];
- c[G >> 2] = Pr(Jb, Ib, n, Hb, k, Gb, Mb, j) | 0;
- break;
- }
- Qr(Jb, c[c[J >> 2] >> 2] | 0);
- if ((c[X >> 2] | 0) >>> 0 > 8)
- Rr(
- ((c[H >> 2] | 0) + 8) | 0,
- ((c[c[J >> 2] >> 2] | 0) + 8) | 0,
- ((c[X >> 2] | 0) - 8) | 0
- );
- c[H >> 2] = c[O >> 2];
- c[c[J >> 2] >> 2] = c[S >> 2];
- do {
- if (
- (c[(X + 8) >> 2] | 0) >>> 0 >
- (((c[O >> 2] | 0) - (c[L >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(X + 8) >> 2] | 0) >>> 0 >
- (((c[O >> 2] | 0) - (c[M >> 2] | 0)) | 0) >>>
- 0
- ) {
- c[G >> 2] = -20;
- break b;
- }
- if (
- (((c[T >> 2] | 0) + (c[(X + 4) >> 2] | 0)) |
- 0) >>>
- 0 <=
- (c[N >> 2] | 0) >>> 0
- ) {
- nE(
- c[O >> 2] | 0,
- c[T >> 2] | 0,
- c[(X + 4) >> 2] | 0
- ) | 0;
- c[G >> 2] = c[P >> 2];
- break b;
- }
- c[U >> 2] = (c[N >> 2] | 0) - (c[T >> 2] | 0);
- nE(
- c[O >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[H >> 2] = (c[O >> 2] | 0) + (c[U >> 2] | 0);
- Jb = (X + 4) | 0;
- c[Jb >> 2] = (c[Jb >> 2] | 0) - (c[U >> 2] | 0);
- c[T >> 2] = c[L >> 2];
- if (
- (c[H >> 2] | 0) >>> 0 <= (c[R >> 2] | 0) >>> 0
- ? (c[(X + 4) >> 2] | 0) >>> 0 >= 3
- : 0
- )
- break;
- c[V >> 2] = 0;
- while (1) {
- if (
- (c[V >> 2] | 0) >>> 0 >=
- (c[(X + 4) >> 2] | 0) >>> 0
- )
- break;
- a[((c[H >> 2] | 0) + (c[V >> 2] | 0)) >> 0] =
- a[
- ((c[T >> 2] | 0) + (c[V >> 2] | 0)) >> 0
- ] | 0;
- c[V >> 2] = (c[V >> 2] | 0) + 1;
- }
- c[G >> 2] = c[P >> 2];
- break b;
- }
- } while (0);
- if ((c[(X + 8) >> 2] | 0) >>> 0 < 8) {
- c[W >> 2] =
- c[(6816 + (c[(X + 8) >> 2] << 2)) >> 2];
- a[c[H >> 2] >> 0] = a[c[T >> 2] >> 0] | 0;
- a[((c[H >> 2] | 0) + 1) >> 0] =
- a[((c[T >> 2] | 0) + 1) >> 0] | 0;
- a[((c[H >> 2] | 0) + 2) >> 0] =
- a[((c[T >> 2] | 0) + 2) >> 0] | 0;
- a[((c[H >> 2] | 0) + 3) >> 0] =
- a[((c[T >> 2] | 0) + 3) >> 0] | 0;
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (c[(6848 + (c[(X + 8) >> 2] << 2)) >> 2] | 0);
- Sr(((c[H >> 2] | 0) + 4) | 0, c[T >> 2] | 0);
- c[T >> 2] =
- (c[T >> 2] | 0) + (0 - (c[W >> 2] | 0));
- } else Qr(c[H >> 2] | 0, c[T >> 2] | 0);
- c[H >> 2] = (c[H >> 2] | 0) + 8;
- c[T >> 2] = (c[T >> 2] | 0) + 8;
- Jb = c[H >> 2] | 0;
- c: do {
- if (
- (c[Q >> 2] | 0) >>> 0 >
- (((c[I >> 2] | 0) + -13) | 0) >>> 0
- ) {
- if (Jb >>> 0 < (c[R >> 2] | 0) >>> 0) {
- Rr(
- c[H >> 2] | 0,
- c[T >> 2] | 0,
- ((c[R >> 2] | 0) - (c[H >> 2] | 0)) | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- ((c[R >> 2] | 0) - (c[H >> 2] | 0));
- c[H >> 2] = c[R >> 2];
- }
- while (1) {
- if (
- (c[H >> 2] | 0) >>> 0 >=
- (c[Q >> 2] | 0) >>> 0
- )
- break c;
- j = c[T >> 2] | 0;
- c[T >> 2] = j + 1;
- Mb = a[j >> 0] | 0;
- j = c[H >> 2] | 0;
- c[H >> 2] = j + 1;
- a[j >> 0] = Mb;
- }
- } else
- Rr(
- Jb,
- c[T >> 2] | 0,
- ((c[(X + 4) >> 2] | 0) - 8) | 0
- );
- } while (0);
- c[G >> 2] = c[P >> 2];
- }
- } while (0);
- c[Cb >> 2] = c[G >> 2];
- if ($q(c[Cb >> 2] | 0) | 0) {
- $b = 118;
- break;
- }
- Kb = (ub + ((c[xb >> 2] & 3) << 4)) | 0;
- c[Kb >> 2] = c[Bb >> 2];
- c[(Kb + 4) >> 2] = c[(Bb + 4) >> 2];
- c[(Kb + 8) >> 2] = c[(Bb + 8) >> 2];
- c[(Kb + 12) >> 2] = c[(Bb + 12) >> 2];
- c[ob >> 2] = (c[ob >> 2] | 0) + (c[Cb >> 2] | 0);
- c[xb >> 2] = (c[xb >> 2] | 0) + 1;
- }
- if (($b | 0) == 118) {
- c[cb >> 2] = c[Cb >> 2];
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- if ((c[xb >> 2] | 0) < (c[ib >> 2] | 0)) {
- c[cb >> 2] = -20;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- c[xb >> 2] = (c[xb >> 2] | 0) - (c[vb >> 2] | 0);
- while (1) {
- if ((c[xb >> 2] | 0) >= (c[ib >> 2] | 0)) break;
- Kb = c[ob >> 2] | 0;
- Lb = c[nb >> 2] | 0;
- gb = c[qb >> 2] | 0;
- hb = c[rb >> 2] | 0;
- eb = c[sb >> 2] | 0;
- fb = c[tb >> 2] | 0;
- Yb = F;
- Zb = (ub + ((c[xb >> 2] & 3) << 4)) | 0;
- _b = (Yb + 16) | 0;
- do {
- a[Yb >> 0] = a[Zb >> 0] | 0;
- Yb = (Yb + 1) | 0;
- Zb = (Zb + 1) | 0;
- } while ((Yb | 0) < (_b | 0));
- c[p >> 2] = Kb;
- c[q >> 2] = Lb;
- c[r >> 2] = pb;
- c[s >> 2] = gb;
- c[t >> 2] = hb;
- c[u >> 2] = eb;
- c[v >> 2] = fb;
- c[w >> 2] = (c[p >> 2] | 0) + (c[F >> 2] | 0);
- c[x >> 2] = (c[F >> 2] | 0) + (c[(F + 4) >> 2] | 0);
- c[y >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
- c[z >> 2] = (c[q >> 2] | 0) + -8;
- c[A >> 2] = (c[c[r >> 2] >> 2] | 0) + (c[F >> 2] | 0);
- c[B >> 2] = c[(F + 12) >> 2];
- d: do {
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0)
- c[o >> 2] = -70;
- else {
- if ((c[A >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
- c[o >> 2] = -20;
- break;
- }
- Jb = c[p >> 2] | 0;
- if ((c[w >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0) {
- Mb = c[q >> 2] | 0;
- j = c[r >> 2] | 0;
- Gb = c[s >> 2] | 0;
- k = c[t >> 2] | 0;
- Hb = c[u >> 2] | 0;
- Ib = c[v >> 2] | 0;
- c[n >> 2] = c[F >> 2];
- c[(n + 4) >> 2] = c[(F + 4) >> 2];
- c[(n + 8) >> 2] = c[(F + 8) >> 2];
- c[(n + 12) >> 2] = c[(F + 12) >> 2];
- c[o >> 2] = Pr(Jb, Mb, n, j, Gb, k, Hb, Ib) | 0;
- break;
- }
- Qr(Jb, c[c[r >> 2] >> 2] | 0);
- if ((c[F >> 2] | 0) >>> 0 > 8)
- Rr(
- ((c[p >> 2] | 0) + 8) | 0,
- ((c[c[r >> 2] >> 2] | 0) + 8) | 0,
- ((c[F >> 2] | 0) - 8) | 0
- );
- c[p >> 2] = c[w >> 2];
- c[c[r >> 2] >> 2] = c[A >> 2];
- do {
- if (
- (c[(F + 8) >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(F + 8) >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[u >> 2] | 0)) | 0) >>>
- 0
- ) {
- c[o >> 2] = -20;
- break d;
- }
- if (
- (((c[B >> 2] | 0) + (c[(F + 4) >> 2] | 0)) |
- 0) >>>
- 0 <=
- (c[v >> 2] | 0) >>> 0
- ) {
- nE(
- c[w >> 2] | 0,
- c[B >> 2] | 0,
- c[(F + 4) >> 2] | 0
- ) | 0;
- c[o >> 2] = c[x >> 2];
- break d;
- }
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- nE(
- c[w >> 2] | 0,
- c[B >> 2] | 0,
- c[C >> 2] | 0
- ) | 0;
- c[p >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
- Jb = (F + 4) | 0;
- c[Jb >> 2] = (c[Jb >> 2] | 0) - (c[C >> 2] | 0);
- c[B >> 2] = c[t >> 2];
- if (
- (c[p >> 2] | 0) >>> 0 <= (c[z >> 2] | 0) >>> 0
- ? (c[(F + 4) >> 2] | 0) >>> 0 >= 3
- : 0
- )
- break;
- c[D >> 2] = 0;
- while (1) {
- if (
- (c[D >> 2] | 0) >>> 0 >=
- (c[(F + 4) >> 2] | 0) >>> 0
- )
- break;
- a[((c[p >> 2] | 0) + (c[D >> 2] | 0)) >> 0] =
- a[
- ((c[B >> 2] | 0) + (c[D >> 2] | 0)) >> 0
- ] | 0;
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[o >> 2] = c[x >> 2];
- break d;
- }
- } while (0);
- if ((c[(F + 8) >> 2] | 0) >>> 0 < 8) {
- c[E >> 2] =
- c[(6816 + (c[(F + 8) >> 2] << 2)) >> 2];
- a[c[p >> 2] >> 0] = a[c[B >> 2] >> 0] | 0;
- a[((c[p >> 2] | 0) + 1) >> 0] =
- a[((c[B >> 2] | 0) + 1) >> 0] | 0;
- a[((c[p >> 2] | 0) + 2) >> 0] =
- a[((c[B >> 2] | 0) + 2) >> 0] | 0;
- a[((c[p >> 2] | 0) + 3) >> 0] =
- a[((c[B >> 2] | 0) + 3) >> 0] | 0;
- c[B >> 2] =
- (c[B >> 2] | 0) +
- (c[(6848 + (c[(F + 8) >> 2] << 2)) >> 2] | 0);
- Sr(((c[p >> 2] | 0) + 4) | 0, c[B >> 2] | 0);
- c[B >> 2] =
- (c[B >> 2] | 0) + (0 - (c[E >> 2] | 0));
- } else Qr(c[p >> 2] | 0, c[B >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + 8;
- c[B >> 2] = (c[B >> 2] | 0) + 8;
- Jb = c[p >> 2] | 0;
- e: do {
- if (
- (c[y >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -13) | 0) >>> 0
- ) {
- if (Jb >>> 0 < (c[z >> 2] | 0) >>> 0) {
- Rr(
- c[p >> 2] | 0,
- c[B >> 2] | 0,
- ((c[z >> 2] | 0) - (c[p >> 2] | 0)) | 0
- );
- c[B >> 2] =
- (c[B >> 2] | 0) +
- ((c[z >> 2] | 0) - (c[p >> 2] | 0));
- c[p >> 2] = c[z >> 2];
- }
- while (1) {
- if (
- (c[p >> 2] | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- )
- break e;
- Ib = c[B >> 2] | 0;
- c[B >> 2] = Ib + 1;
- Hb = a[Ib >> 0] | 0;
- Ib = c[p >> 2] | 0;
- c[p >> 2] = Ib + 1;
- a[Ib >> 0] = Hb;
- }
- } else
- Rr(
- Jb,
- c[B >> 2] | 0,
- ((c[(F + 4) >> 2] | 0) - 8) | 0
- );
- } while (0);
- c[o >> 2] = c[x >> 2];
- }
- } while (0);
- c[Db >> 2] = c[o >> 2];
- fb = ($q(c[Db >> 2] | 0) | 0) != 0;
- ac = c[Db >> 2] | 0;
- if (fb) {
- $b = 155;
- break;
- }
- c[ob >> 2] = (c[ob >> 2] | 0) + ac;
- c[xb >> 2] = (c[xb >> 2] | 0) + 1;
- }
- if (($b | 0) == 155) {
- c[cb >> 2] = ac;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- c[Eb >> 2] = 0;
- while (1) {
- if ((c[Eb >> 2] | 0) >>> 0 >= 3) break a;
- c[
- ((c[db >> 2] | 0) + 16 + 28700 + (c[Eb >> 2] << 2)) >>
- 2
- ] = c[(wb + 44 + (c[Eb >> 2] << 2)) >> 2];
- c[Eb >> 2] = (c[Eb >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[Fb >> 2] = (c[qb >> 2] | 0) - (c[pb >> 2] | 0);
- if (
- (c[Fb >> 2] | 0) >>> 0 >
- (((c[nb >> 2] | 0) - (c[ob >> 2] | 0)) | 0) >>> 0
- ) {
- c[cb >> 2] = -70;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- } else {
- mE(c[ob >> 2] | 0, c[pb >> 2] | 0, c[Fb >> 2] | 0) | 0;
- c[ob >> 2] = (c[ob >> 2] | 0) + (c[Fb >> 2] | 0);
- c[cb >> 2] = (c[ob >> 2] | 0) - (c[mb >> 2] | 0);
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- return 0;
- }
- function Yr(b, f, g, h, i, j, k) {
- b = b | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- var m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0;
- m = l;
- l = (l + 784) | 0;
- n = (m + 760) | 0;
- o = (m + 756) | 0;
- p = (m + 752) | 0;
- q = (m + 748) | 0;
- r = (m + 744) | 0;
- s = (m + 740) | 0;
- t = (m + 736) | 0;
- u = (m + 732) | 0;
- v = (m + 728) | 0;
- w = (m + 724) | 0;
- x = (m + 720) | 0;
- y = (m + 716) | 0;
- z = (m + 712) | 0;
- A = (m + 708) | 0;
- B = (m + 704) | 0;
- C = (m + 700) | 0;
- D = (m + 696) | 0;
- E = (m + 692) | 0;
- F = (m + 80) | 0;
- G = (m + 688) | 0;
- H = (m + 684) | 0;
- I = (m + 680) | 0;
- J = (m + 676) | 0;
- K = (m + 672) | 0;
- L = (m + 668) | 0;
- M = (m + 664) | 0;
- N = (m + 660) | 0;
- O = (m + 656) | 0;
- P = (m + 652) | 0;
- Q = (m + 648) | 0;
- R = (m + 644) | 0;
- S = (m + 640) | 0;
- T = (m + 636) | 0;
- U = (m + 632) | 0;
- V = (m + 628) | 0;
- W = (m + 624) | 0;
- X = (m + 64) | 0;
- Y = (m + 620) | 0;
- Z = (m + 616) | 0;
- _ = (m + 608) | 0;
- $ = (m + 604) | 0;
- aa = (m + 600) | 0;
- ba = (m + 596) | 0;
- ca = (m + 592) | 0;
- da = (m + 584) | 0;
- ea = (m + 580) | 0;
- fa = (m + 576) | 0;
- ga = (m + 572) | 0;
- ha = (m + 568) | 0;
- ia = (m + 560) | 0;
- ja = (m + 556) | 0;
- ka = (m + 552) | 0;
- la = (m + 548) | 0;
- ma = (m + 544) | 0;
- na = (m + 528) | 0;
- oa = (m + 524) | 0;
- pa = (m + 520) | 0;
- qa = (m + 516) | 0;
- ra = (m + 512) | 0;
- sa = (m + 508) | 0;
- ta = (m + 504) | 0;
- ua = (m + 500) | 0;
- va = (m + 496) | 0;
- wa = (m + 492) | 0;
- xa = (m + 488) | 0;
- ya = (m + 484) | 0;
- za = (m + 480) | 0;
- Aa = (m + 476) | 0;
- Ba = (m + 472) | 0;
- Ca = (m + 464) | 0;
- Da = (m + 460) | 0;
- Ea = (m + 456) | 0;
- Fa = (m + 452) | 0;
- Ga = (m + 448) | 0;
- Ha = (m + 440) | 0;
- Ia = (m + 436) | 0;
- Ja = (m + 432) | 0;
- Ka = (m + 428) | 0;
- La = (m + 424) | 0;
- Ma = (m + 416) | 0;
- Na = (m + 412) | 0;
- Oa = (m + 408) | 0;
- Pa = (m + 404) | 0;
- Qa = (m + 400) | 0;
- Ra = (m + 384) | 0;
- Sa = (m + 376) | 0;
- Ta = (m + 372) | 0;
- Ua = (m + 368) | 0;
- Va = (m + 364) | 0;
- Wa = (m + 360) | 0;
- Xa = (m + 356) | 0;
- Ya = (m + 352) | 0;
- Za = (m + 348) | 0;
- _a = (m + 344) | 0;
- $a = (m + 340) | 0;
- ab = (m + 336) | 0;
- bb = (m + 332) | 0;
- cb = (m + 328) | 0;
- db = (m + 324) | 0;
- eb = (m + 320) | 0;
- fb = (m + 316) | 0;
- gb = (m + 312) | 0;
- hb = (m + 308) | 0;
- ib = (m + 304) | 0;
- jb = (m + 300) | 0;
- kb = (m + 296) | 0;
- lb = (m + 292) | 0;
- mb = (m + 288) | 0;
- nb = (m + 284) | 0;
- ob = (m + 280) | 0;
- pb = (m + 276) | 0;
- qb = (m + 272) | 0;
- rb = (m + 268) | 0;
- sb = (m + 264) | 0;
- tb = (m + 260) | 0;
- ub = m;
- vb = (m + 256) | 0;
- wb = (m + 188) | 0;
- xb = (m + 184) | 0;
- yb = (m + 180) | 0;
- zb = (m + 176) | 0;
- Ab = (m + 160) | 0;
- Bb = (m + 144) | 0;
- Cb = (m + 136) | 0;
- Db = (m + 132) | 0;
- Eb = (m + 128) | 0;
- Fb = (m + 124) | 0;
- Gb = (m + 120) | 0;
- Hb = (m + 116) | 0;
- Ib = (m + 112) | 0;
- Jb = (m + 108) | 0;
- Kb = (m + 104) | 0;
- Lb = (m + 100) | 0;
- Mb = (m + 96) | 0;
- c[Gb >> 2] = b;
- c[Hb >> 2] = f;
- c[Ib >> 2] = g;
- c[Jb >> 2] = h;
- c[Kb >> 2] = i;
- c[Lb >> 2] = j;
- c[Mb >> 2] = k;
- k = c[Hb >> 2] | 0;
- Hb = c[Ib >> 2] | 0;
- Ib = c[Jb >> 2] | 0;
- Jb = c[Kb >> 2] | 0;
- Kb = c[Lb >> 2] | 0;
- Lb = c[Mb >> 2] | 0;
- c[db >> 2] = c[Gb >> 2];
- c[eb >> 2] = k;
- c[fb >> 2] = Hb;
- c[gb >> 2] = Ib;
- c[hb >> 2] = Jb;
- c[ib >> 2] = Kb;
- c[jb >> 2] = Lb;
- c[kb >> 2] = c[gb >> 2];
- c[lb >> 2] = (c[kb >> 2] | 0) + (c[hb >> 2] | 0);
- c[mb >> 2] = c[eb >> 2];
- c[nb >> 2] = (c[mb >> 2] | 0) + (c[fb >> 2] | 0);
- c[ob >> 2] = c[mb >> 2];
- c[pb >> 2] = c[((c[db >> 2] | 0) + 28916) >> 2];
- c[qb >> 2] =
- (c[pb >> 2] | 0) + (c[((c[db >> 2] | 0) + 28932) >> 2] | 0);
- c[rb >> 2] = c[((c[db >> 2] | 0) + 28732) >> 2];
- c[sb >> 2] = c[((c[db >> 2] | 0) + 28736) >> 2];
- c[tb >> 2] = c[((c[db >> 2] | 0) + 28740) >> 2];
- a: do {
- if (c[ib >> 2] | 0) {
- c[vb >> 2] = (c[ib >> 2] | 0) < 4 ? c[ib >> 2] | 0 : 4;
- c[((c[db >> 2] | 0) + 28812) >> 2] = 1;
- c[yb >> 2] = 0;
- while (1) {
- if ((c[yb >> 2] | 0) >>> 0 >= 3) break;
- c[(wb + 44 + (c[yb >> 2] << 2)) >> 2] =
- c[
- ((c[db >> 2] | 0) +
- 16 +
- 28700 +
- (c[yb >> 2] << 2)) >>
- 2
- ];
- c[yb >> 2] = (c[yb >> 2] | 0) + 1;
- }
- c[(wb + 56) >> 2] = c[rb >> 2];
- c[(wb + 64) >> 2] = (c[ob >> 2] | 0) - (c[rb >> 2] | 0);
- c[(wb + 60) >> 2] = c[tb >> 2];
- c[zb >> 2] =
- Kr(
- wb,
- c[kb >> 2] | 0,
- ((c[lb >> 2] | 0) - (c[kb >> 2] | 0)) | 0
- ) | 0;
- if ($q(c[zb >> 2] | 0) | 0) {
- c[cb >> 2] = -20;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- Lr((wb + 20) | 0, wb, c[c[db >> 2] >> 2] | 0);
- Lr((wb + 28) | 0, wb, c[((c[db >> 2] | 0) + 8) >> 2] | 0);
- Lr((wb + 36) | 0, wb, c[((c[db >> 2] | 0) + 4) >> 2] | 0);
- c[xb >> 2] = 0;
- while (1) {
- if ((Mr(wb) | 0) >>> 0 <= 2)
- Ob = (c[xb >> 2] | 0) < (c[vb >> 2] | 0);
- else Ob = 0;
- Pb = c[xb >> 2] | 0;
- if (!Ob) break;
- fb = (ub + (Pb << 4)) | 0;
- eb = c[jb >> 2] | 0;
- c[Pa >> 2] = wb;
- c[Qa >> 2] = eb;
- c[Sa >> 2] =
- d[
- ((c[((c[Pa >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 20) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[Ta >> 2] =
- d[
- ((c[((c[Pa >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 36) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[Ua >> 2] =
- d[
- ((c[((c[Pa >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 28) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[Va >> 2] =
- (c[Sa >> 2] | 0) +
- (c[Ta >> 2] | 0) +
- (c[Ua >> 2] | 0);
- c[Wa >> 2] =
- c[
- ((c[((c[Pa >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 20) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[Xa >> 2] =
- c[
- ((c[((c[Pa >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 36) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[Ya >> 2] =
- c[
- ((c[((c[Pa >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[Pa >> 2] | 0) + 28) >> 2] << 3) +
- 4) >>
- 2
- ];
- do {
- if (c[Ua >> 2] | 0) {
- eb = (Dr() | 0) != 0;
- if (!(eb & ((c[Qa >> 2] | 0) != 0))) {
- eb = c[Ya >> 2] | 0;
- c[Za >> 2] =
- eb + (Nr(c[Pa >> 2] | 0, c[Ua >> 2] | 0) | 0);
- if (!(Dr() | 0)) break;
- Mr(c[Pa >> 2] | 0) | 0;
- break;
- }
- c[_a >> 2] =
- (c[Ua >> 2] | 0) -
- ((c[Ua >> 2] | 0) >>> 0 < 24
- ? c[Ua >> 2] | 0
- : 24);
- eb = c[Ya >> 2] | 0;
- hb =
- Nr(
- c[Pa >> 2] | 0,
- ((c[Ua >> 2] | 0) - (c[_a >> 2] | 0)) | 0
- ) | 0;
- c[Za >> 2] = eb + (hb << c[_a >> 2]);
- hb = (Dr() | 0) != 0;
- if (hb | ((c[_a >> 2] | 0) != 0))
- Mr(c[Pa >> 2] | 0) | 0;
- if (c[_a >> 2] | 0) {
- hb = Nr(c[Pa >> 2] | 0, c[_a >> 2] | 0) | 0;
- c[Za >> 2] = (c[Za >> 2] | 0) + hb;
- }
- } else c[Za >> 2] = 0;
- } while (0);
- do {
- if ((c[Ua >> 2] | 0) >>> 0 <= 1) {
- c[Za >> 2] =
- (c[Za >> 2] | 0) + (((c[Wa >> 2] | 0) == 0) & 1);
- if (!(c[Za >> 2] | 0)) {
- c[Za >> 2] = c[((c[Pa >> 2] | 0) + 44) >> 2];
- break;
- }
- hb = ((c[Pa >> 2] | 0) + 44) | 0;
- if ((c[Za >> 2] | 0) == 3)
- Qb = ((c[hb >> 2] | 0) - 1) | 0;
- else Qb = c[(hb + (c[Za >> 2] << 2)) >> 2] | 0;
- c[$a >> 2] = Qb;
- c[$a >> 2] =
- (c[$a >> 2] | 0) +
- ((((c[$a >> 2] | 0) != 0) ^ 1) & 1);
- if ((c[Za >> 2] | 0) != 1)
- c[((c[Pa >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[Pa >> 2] | 0) + 44 + 4) >> 2];
- c[((c[Pa >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[Pa >> 2] | 0) + 44) >> 2];
- hb = c[$a >> 2] | 0;
- c[Za >> 2] = hb;
- c[((c[Pa >> 2] | 0) + 44) >> 2] = hb;
- } else {
- c[((c[Pa >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[Pa >> 2] | 0) + 44 + 4) >> 2];
- c[((c[Pa >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[Pa >> 2] | 0) + 44) >> 2];
- c[((c[Pa >> 2] | 0) + 44) >> 2] = c[Za >> 2];
- }
- } while (0);
- c[(Ra + 8) >> 2] = c[Za >> 2];
- hb = c[Xa >> 2] | 0;
- if ((c[Ta >> 2] | 0) >>> 0 > 0)
- Rb = Nr(c[Pa >> 2] | 0, c[Ta >> 2] | 0) | 0;
- else Rb = 0;
- c[(Ra + 4) >> 2] = hb + Rb;
- if (
- Dr() | 0
- ? (((c[Ta >> 2] | 0) + (c[Sa >> 2] | 0)) | 0) >>>
- 0 >=
- 20
- : 0
- )
- Mr(c[Pa >> 2] | 0) | 0;
- hb = (Fr() | 0) != 0;
- if (hb & ((c[Va >> 2] | 0) >>> 0 >= 31))
- Mr(c[Pa >> 2] | 0) | 0;
- hb = c[Wa >> 2] | 0;
- if ((c[Sa >> 2] | 0) >>> 0 > 0)
- Sb = Nr(c[Pa >> 2] | 0, c[Sa >> 2] | 0) | 0;
- else Sb = 0;
- c[Ra >> 2] = hb + Sb;
- if (Dr() | 0) Mr(c[Pa >> 2] | 0) | 0;
- c[ab >> 2] =
- (c[((c[Pa >> 2] | 0) + 64) >> 2] | 0) +
- (c[Ra >> 2] | 0);
- hb = c[Pa >> 2] | 0;
- if (
- (c[(Ra + 8) >> 2] | 0) >>> 0 >
- (c[ab >> 2] | 0) >>> 0
- )
- Tb = c[(hb + 60) >> 2] | 0;
- else Tb = c[(hb + 56) >> 2] | 0;
- c[bb >> 2] = Tb;
- c[(Ra + 12) >> 2] =
- (c[bb >> 2] | 0) +
- (c[ab >> 2] | 0) +
- (0 - (c[(Ra + 8) >> 2] | 0));
- c[((c[Pa >> 2] | 0) + 64) >> 2] =
- (c[ab >> 2] | 0) + (c[(Ra + 4) >> 2] | 0);
- hb = c[Pa >> 2] | 0;
- c[Ka >> 2] = (c[Pa >> 2] | 0) + 20;
- c[La >> 2] = hb;
- hb =
- ((c[((c[Ka >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Ka >> 2] >> 2] << 3)) |
- 0;
- c[Ma >> 2] = c[hb >> 2];
- c[(Ma + 4) >> 2] = c[(hb + 4) >> 2];
- c[Na >> 2] = d[(Ma + 3) >> 0];
- c[Oa >> 2] = Or(c[La >> 2] | 0, c[Na >> 2] | 0) | 0;
- c[c[Ka >> 2] >> 2] =
- (e[Ma >> 1] | 0) + (c[Oa >> 2] | 0);
- hb = c[Pa >> 2] | 0;
- c[Fa >> 2] = (c[Pa >> 2] | 0) + 36;
- c[Ga >> 2] = hb;
- hb =
- ((c[((c[Fa >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Fa >> 2] >> 2] << 3)) |
- 0;
- c[Ha >> 2] = c[hb >> 2];
- c[(Ha + 4) >> 2] = c[(hb + 4) >> 2];
- c[Ia >> 2] = d[(Ha + 3) >> 0];
- c[Ja >> 2] = Or(c[Ga >> 2] | 0, c[Ia >> 2] | 0) | 0;
- c[c[Fa >> 2] >> 2] =
- (e[Ha >> 1] | 0) + (c[Ja >> 2] | 0);
- if (Dr() | 0) Mr(c[Pa >> 2] | 0) | 0;
- hb = c[Pa >> 2] | 0;
- c[Aa >> 2] = (c[Pa >> 2] | 0) + 28;
- c[Ba >> 2] = hb;
- hb =
- ((c[((c[Aa >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Aa >> 2] >> 2] << 3)) |
- 0;
- c[Ca >> 2] = c[hb >> 2];
- c[(Ca + 4) >> 2] = c[(hb + 4) >> 2];
- c[Da >> 2] = d[(Ca + 3) >> 0];
- c[Ea >> 2] = Or(c[Ba >> 2] | 0, c[Da >> 2] | 0) | 0;
- c[c[Aa >> 2] >> 2] =
- (e[Ca >> 1] | 0) + (c[Ea >> 2] | 0);
- c[Ab >> 2] = c[Ra >> 2];
- c[(Ab + 4) >> 2] = c[(Ra + 4) >> 2];
- c[(Ab + 8) >> 2] = c[(Ra + 8) >> 2];
- c[(Ab + 12) >> 2] = c[(Ra + 12) >> 2];
- c[fb >> 2] = c[Ab >> 2];
- c[(fb + 4) >> 2] = c[(Ab + 4) >> 2];
- c[(fb + 8) >> 2] = c[(Ab + 8) >> 2];
- c[(fb + 12) >> 2] = c[(Ab + 12) >> 2];
- c[xb >> 2] = (c[xb >> 2] | 0) + 1;
- }
- if ((Pb | 0) < (c[vb >> 2] | 0)) {
- c[cb >> 2] = -20;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- while (1) {
- if ((Mr(wb) | 0) >>> 0 > 2) break;
- if ((c[xb >> 2] | 0) >= (c[ib >> 2] | 0)) break;
- hb = c[jb >> 2] | 0;
- c[la >> 2] = wb;
- c[ma >> 2] = hb;
- c[oa >> 2] =
- d[
- ((c[((c[la >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 20) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[pa >> 2] =
- d[
- ((c[((c[la >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 36) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[qa >> 2] =
- d[
- ((c[((c[la >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 28) >> 2] << 3) +
- 2) >>
- 0
- ];
- c[ra >> 2] =
- (c[oa >> 2] | 0) +
- (c[pa >> 2] | 0) +
- (c[qa >> 2] | 0);
- c[sa >> 2] =
- c[
- ((c[((c[la >> 2] | 0) + 20 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 20) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[ta >> 2] =
- c[
- ((c[((c[la >> 2] | 0) + 36 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 36) >> 2] << 3) +
- 4) >>
- 2
- ];
- c[ua >> 2] =
- c[
- ((c[((c[la >> 2] | 0) + 28 + 4) >> 2] | 0) +
- (c[((c[la >> 2] | 0) + 28) >> 2] << 3) +
- 4) >>
- 2
- ];
- do {
- if (c[qa >> 2] | 0) {
- hb = (Dr() | 0) != 0;
- if (!(hb & ((c[ma >> 2] | 0) != 0))) {
- hb = c[ua >> 2] | 0;
- c[va >> 2] =
- hb + (Nr(c[la >> 2] | 0, c[qa >> 2] | 0) | 0);
- if (!(Dr() | 0)) break;
- Mr(c[la >> 2] | 0) | 0;
- break;
- }
- c[wa >> 2] =
- (c[qa >> 2] | 0) -
- ((c[qa >> 2] | 0) >>> 0 < 24
- ? c[qa >> 2] | 0
- : 24);
- hb = c[ua >> 2] | 0;
- eb =
- Nr(
- c[la >> 2] | 0,
- ((c[qa >> 2] | 0) - (c[wa >> 2] | 0)) | 0
- ) | 0;
- c[va >> 2] = hb + (eb << c[wa >> 2]);
- eb = (Dr() | 0) != 0;
- if (eb | ((c[wa >> 2] | 0) != 0))
- Mr(c[la >> 2] | 0) | 0;
- if (c[wa >> 2] | 0) {
- eb = Nr(c[la >> 2] | 0, c[wa >> 2] | 0) | 0;
- c[va >> 2] = (c[va >> 2] | 0) + eb;
- }
- } else c[va >> 2] = 0;
- } while (0);
- do {
- if ((c[qa >> 2] | 0) >>> 0 <= 1) {
- c[va >> 2] =
- (c[va >> 2] | 0) + (((c[sa >> 2] | 0) == 0) & 1);
- if (!(c[va >> 2] | 0)) {
- c[va >> 2] = c[((c[la >> 2] | 0) + 44) >> 2];
- break;
- }
- fb = ((c[la >> 2] | 0) + 44) | 0;
- if ((c[va >> 2] | 0) == 3)
- Ub = ((c[fb >> 2] | 0) - 1) | 0;
- else Ub = c[(fb + (c[va >> 2] << 2)) >> 2] | 0;
- c[xa >> 2] = Ub;
- c[xa >> 2] =
- (c[xa >> 2] | 0) +
- ((((c[xa >> 2] | 0) != 0) ^ 1) & 1);
- if ((c[va >> 2] | 0) != 1)
- c[((c[la >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[la >> 2] | 0) + 44 + 4) >> 2];
- c[((c[la >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[la >> 2] | 0) + 44) >> 2];
- fb = c[xa >> 2] | 0;
- c[va >> 2] = fb;
- c[((c[la >> 2] | 0) + 44) >> 2] = fb;
- } else {
- c[((c[la >> 2] | 0) + 44 + 8) >> 2] =
- c[((c[la >> 2] | 0) + 44 + 4) >> 2];
- c[((c[la >> 2] | 0) + 44 + 4) >> 2] =
- c[((c[la >> 2] | 0) + 44) >> 2];
- c[((c[la >> 2] | 0) + 44) >> 2] = c[va >> 2];
- }
- } while (0);
- c[(na + 8) >> 2] = c[va >> 2];
- fb = c[ta >> 2] | 0;
- if ((c[pa >> 2] | 0) >>> 0 > 0)
- Vb = Nr(c[la >> 2] | 0, c[pa >> 2] | 0) | 0;
- else Vb = 0;
- c[(na + 4) >> 2] = fb + Vb;
- if (
- Dr() | 0
- ? (((c[pa >> 2] | 0) + (c[oa >> 2] | 0)) | 0) >>>
- 0 >=
- 20
- : 0
- )
- Mr(c[la >> 2] | 0) | 0;
- fb = (Fr() | 0) != 0;
- if (fb & ((c[ra >> 2] | 0) >>> 0 >= 31))
- Mr(c[la >> 2] | 0) | 0;
- fb = c[sa >> 2] | 0;
- if ((c[oa >> 2] | 0) >>> 0 > 0)
- Wb = Nr(c[la >> 2] | 0, c[oa >> 2] | 0) | 0;
- else Wb = 0;
- c[na >> 2] = fb + Wb;
- if (Dr() | 0) Mr(c[la >> 2] | 0) | 0;
- c[ya >> 2] =
- (c[((c[la >> 2] | 0) + 64) >> 2] | 0) +
- (c[na >> 2] | 0);
- fb = c[la >> 2] | 0;
- if (
- (c[(na + 8) >> 2] | 0) >>> 0 >
- (c[ya >> 2] | 0) >>> 0
- )
- Xb = c[(fb + 60) >> 2] | 0;
- else Xb = c[(fb + 56) >> 2] | 0;
- c[za >> 2] = Xb;
- c[(na + 12) >> 2] =
- (c[za >> 2] | 0) +
- (c[ya >> 2] | 0) +
- (0 - (c[(na + 8) >> 2] | 0));
- c[((c[la >> 2] | 0) + 64) >> 2] =
- (c[ya >> 2] | 0) + (c[(na + 4) >> 2] | 0);
- fb = c[la >> 2] | 0;
- c[ga >> 2] = (c[la >> 2] | 0) + 20;
- c[ha >> 2] = fb;
- fb =
- ((c[((c[ga >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[ga >> 2] >> 2] << 3)) |
- 0;
- c[ia >> 2] = c[fb >> 2];
- c[(ia + 4) >> 2] = c[(fb + 4) >> 2];
- c[ja >> 2] = d[(ia + 3) >> 0];
- c[ka >> 2] = Or(c[ha >> 2] | 0, c[ja >> 2] | 0) | 0;
- c[c[ga >> 2] >> 2] =
- (e[ia >> 1] | 0) + (c[ka >> 2] | 0);
- fb = c[la >> 2] | 0;
- c[ba >> 2] = (c[la >> 2] | 0) + 36;
- c[ca >> 2] = fb;
- fb =
- ((c[((c[ba >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[ba >> 2] >> 2] << 3)) |
- 0;
- c[da >> 2] = c[fb >> 2];
- c[(da + 4) >> 2] = c[(fb + 4) >> 2];
- c[ea >> 2] = d[(da + 3) >> 0];
- c[fa >> 2] = Or(c[ca >> 2] | 0, c[ea >> 2] | 0) | 0;
- c[c[ba >> 2] >> 2] =
- (e[da >> 1] | 0) + (c[fa >> 2] | 0);
- if (Dr() | 0) Mr(c[la >> 2] | 0) | 0;
- fb = c[la >> 2] | 0;
- c[Y >> 2] = (c[la >> 2] | 0) + 28;
- c[Z >> 2] = fb;
- fb =
- ((c[((c[Y >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[Y >> 2] >> 2] << 3)) |
- 0;
- c[_ >> 2] = c[fb >> 2];
- c[(_ + 4) >> 2] = c[(fb + 4) >> 2];
- c[$ >> 2] = d[(_ + 3) >> 0];
- c[aa >> 2] = Or(c[Z >> 2] | 0, c[$ >> 2] | 0) | 0;
- c[c[Y >> 2] >> 2] = (e[_ >> 1] | 0) + (c[aa >> 2] | 0);
- c[Bb >> 2] = c[na >> 2];
- c[(Bb + 4) >> 2] = c[(na + 4) >> 2];
- c[(Bb + 8) >> 2] = c[(na + 8) >> 2];
- c[(Bb + 12) >> 2] = c[(na + 12) >> 2];
- fb = c[ob >> 2] | 0;
- eb = c[nb >> 2] | 0;
- hb = c[qb >> 2] | 0;
- gb = c[rb >> 2] | 0;
- Lb = c[sb >> 2] | 0;
- Kb = c[tb >> 2] | 0;
- Yb = X;
- Zb = (ub + ((((c[xb >> 2] | 0) - 4) & 3) << 4)) | 0;
- _b = (Yb + 16) | 0;
- do {
- a[Yb >> 0] = a[Zb >> 0] | 0;
- Yb = (Yb + 1) | 0;
- Zb = (Zb + 1) | 0;
- } while ((Yb | 0) < (_b | 0));
- c[H >> 2] = fb;
- c[I >> 2] = eb;
- c[J >> 2] = pb;
- c[K >> 2] = hb;
- c[L >> 2] = gb;
- c[M >> 2] = Lb;
- c[N >> 2] = Kb;
- c[O >> 2] = (c[H >> 2] | 0) + (c[X >> 2] | 0);
- c[P >> 2] = (c[X >> 2] | 0) + (c[(X + 4) >> 2] | 0);
- c[Q >> 2] = (c[H >> 2] | 0) + (c[P >> 2] | 0);
- c[R >> 2] = (c[I >> 2] | 0) + -8;
- c[S >> 2] = (c[c[J >> 2] >> 2] | 0) + (c[X >> 2] | 0);
- c[T >> 2] = c[(X + 12) >> 2];
- b: do {
- if ((c[Q >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0)
- c[G >> 2] = -70;
- else {
- if ((c[S >> 2] | 0) >>> 0 > (c[K >> 2] | 0) >>> 0) {
- c[G >> 2] = -20;
- break;
- }
- Jb = c[H >> 2] | 0;
- if ((c[O >> 2] | 0) >>> 0 > (c[R >> 2] | 0) >>> 0) {
- Ib = c[I >> 2] | 0;
- Hb = c[J >> 2] | 0;
- k = c[K >> 2] | 0;
- Gb = c[L >> 2] | 0;
- Mb = c[M >> 2] | 0;
- j = c[N >> 2] | 0;
- c[n >> 2] = c[X >> 2];
- c[(n + 4) >> 2] = c[(X + 4) >> 2];
- c[(n + 8) >> 2] = c[(X + 8) >> 2];
- c[(n + 12) >> 2] = c[(X + 12) >> 2];
- c[G >> 2] = Pr(Jb, Ib, n, Hb, k, Gb, Mb, j) | 0;
- break;
- }
- Qr(Jb, c[c[J >> 2] >> 2] | 0);
- if ((c[X >> 2] | 0) >>> 0 > 8)
- Rr(
- ((c[H >> 2] | 0) + 8) | 0,
- ((c[c[J >> 2] >> 2] | 0) + 8) | 0,
- ((c[X >> 2] | 0) - 8) | 0
- );
- c[H >> 2] = c[O >> 2];
- c[c[J >> 2] >> 2] = c[S >> 2];
- do {
- if (
- (c[(X + 8) >> 2] | 0) >>> 0 >
- (((c[O >> 2] | 0) - (c[L >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(X + 8) >> 2] | 0) >>> 0 >
- (((c[O >> 2] | 0) - (c[M >> 2] | 0)) | 0) >>>
- 0
- ) {
- c[G >> 2] = -20;
- break b;
- }
- if (
- (((c[T >> 2] | 0) + (c[(X + 4) >> 2] | 0)) |
- 0) >>>
- 0 <=
- (c[N >> 2] | 0) >>> 0
- ) {
- nE(
- c[O >> 2] | 0,
- c[T >> 2] | 0,
- c[(X + 4) >> 2] | 0
- ) | 0;
- c[G >> 2] = c[P >> 2];
- break b;
- }
- c[U >> 2] = (c[N >> 2] | 0) - (c[T >> 2] | 0);
- nE(
- c[O >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[H >> 2] = (c[O >> 2] | 0) + (c[U >> 2] | 0);
- Jb = (X + 4) | 0;
- c[Jb >> 2] = (c[Jb >> 2] | 0) - (c[U >> 2] | 0);
- c[T >> 2] = c[L >> 2];
- if (
- (c[H >> 2] | 0) >>> 0 <= (c[R >> 2] | 0) >>> 0
- ? (c[(X + 4) >> 2] | 0) >>> 0 >= 3
- : 0
- )
- break;
- c[V >> 2] = 0;
- while (1) {
- if (
- (c[V >> 2] | 0) >>> 0 >=
- (c[(X + 4) >> 2] | 0) >>> 0
- )
- break;
- a[((c[H >> 2] | 0) + (c[V >> 2] | 0)) >> 0] =
- a[
- ((c[T >> 2] | 0) + (c[V >> 2] | 0)) >> 0
- ] | 0;
- c[V >> 2] = (c[V >> 2] | 0) + 1;
- }
- c[G >> 2] = c[P >> 2];
- break b;
- }
- } while (0);
- if ((c[(X + 8) >> 2] | 0) >>> 0 < 8) {
- c[W >> 2] =
- c[(6816 + (c[(X + 8) >> 2] << 2)) >> 2];
- a[c[H >> 2] >> 0] = a[c[T >> 2] >> 0] | 0;
- a[((c[H >> 2] | 0) + 1) >> 0] =
- a[((c[T >> 2] | 0) + 1) >> 0] | 0;
- a[((c[H >> 2] | 0) + 2) >> 0] =
- a[((c[T >> 2] | 0) + 2) >> 0] | 0;
- a[((c[H >> 2] | 0) + 3) >> 0] =
- a[((c[T >> 2] | 0) + 3) >> 0] | 0;
- c[T >> 2] =
- (c[T >> 2] | 0) +
- (c[(6848 + (c[(X + 8) >> 2] << 2)) >> 2] | 0);
- Sr(((c[H >> 2] | 0) + 4) | 0, c[T >> 2] | 0);
- c[T >> 2] =
- (c[T >> 2] | 0) + (0 - (c[W >> 2] | 0));
- } else Qr(c[H >> 2] | 0, c[T >> 2] | 0);
- c[H >> 2] = (c[H >> 2] | 0) + 8;
- c[T >> 2] = (c[T >> 2] | 0) + 8;
- Jb = c[H >> 2] | 0;
- c: do {
- if (
- (c[Q >> 2] | 0) >>> 0 >
- (((c[I >> 2] | 0) + -13) | 0) >>> 0
- ) {
- if (Jb >>> 0 < (c[R >> 2] | 0) >>> 0) {
- Rr(
- c[H >> 2] | 0,
- c[T >> 2] | 0,
- ((c[R >> 2] | 0) - (c[H >> 2] | 0)) | 0
- );
- c[T >> 2] =
- (c[T >> 2] | 0) +
- ((c[R >> 2] | 0) - (c[H >> 2] | 0));
- c[H >> 2] = c[R >> 2];
- }
- while (1) {
- if (
- (c[H >> 2] | 0) >>> 0 >=
- (c[Q >> 2] | 0) >>> 0
- )
- break c;
- j = c[T >> 2] | 0;
- c[T >> 2] = j + 1;
- Mb = a[j >> 0] | 0;
- j = c[H >> 2] | 0;
- c[H >> 2] = j + 1;
- a[j >> 0] = Mb;
- }
- } else
- Rr(
- Jb,
- c[T >> 2] | 0,
- ((c[(X + 4) >> 2] | 0) - 8) | 0
- );
- } while (0);
- c[G >> 2] = c[P >> 2];
- }
- } while (0);
- c[Cb >> 2] = c[G >> 2];
- if ($q(c[Cb >> 2] | 0) | 0) {
- $b = 118;
- break;
- }
- Kb = (ub + ((c[xb >> 2] & 3) << 4)) | 0;
- c[Kb >> 2] = c[Bb >> 2];
- c[(Kb + 4) >> 2] = c[(Bb + 4) >> 2];
- c[(Kb + 8) >> 2] = c[(Bb + 8) >> 2];
- c[(Kb + 12) >> 2] = c[(Bb + 12) >> 2];
- c[ob >> 2] = (c[ob >> 2] | 0) + (c[Cb >> 2] | 0);
- c[xb >> 2] = (c[xb >> 2] | 0) + 1;
- }
- if (($b | 0) == 118) {
- c[cb >> 2] = c[Cb >> 2];
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- if ((c[xb >> 2] | 0) < (c[ib >> 2] | 0)) {
- c[cb >> 2] = -20;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- c[xb >> 2] = (c[xb >> 2] | 0) - (c[vb >> 2] | 0);
- while (1) {
- if ((c[xb >> 2] | 0) >= (c[ib >> 2] | 0)) break;
- Kb = c[ob >> 2] | 0;
- Lb = c[nb >> 2] | 0;
- gb = c[qb >> 2] | 0;
- hb = c[rb >> 2] | 0;
- eb = c[sb >> 2] | 0;
- fb = c[tb >> 2] | 0;
- Yb = F;
- Zb = (ub + ((c[xb >> 2] & 3) << 4)) | 0;
- _b = (Yb + 16) | 0;
- do {
- a[Yb >> 0] = a[Zb >> 0] | 0;
- Yb = (Yb + 1) | 0;
- Zb = (Zb + 1) | 0;
- } while ((Yb | 0) < (_b | 0));
- c[p >> 2] = Kb;
- c[q >> 2] = Lb;
- c[r >> 2] = pb;
- c[s >> 2] = gb;
- c[t >> 2] = hb;
- c[u >> 2] = eb;
- c[v >> 2] = fb;
- c[w >> 2] = (c[p >> 2] | 0) + (c[F >> 2] | 0);
- c[x >> 2] = (c[F >> 2] | 0) + (c[(F + 4) >> 2] | 0);
- c[y >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
- c[z >> 2] = (c[q >> 2] | 0) + -8;
- c[A >> 2] = (c[c[r >> 2] >> 2] | 0) + (c[F >> 2] | 0);
- c[B >> 2] = c[(F + 12) >> 2];
- d: do {
- if ((c[y >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0)
- c[o >> 2] = -70;
- else {
- if ((c[A >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) {
- c[o >> 2] = -20;
- break;
- }
- Jb = c[p >> 2] | 0;
- if ((c[w >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0) {
- Mb = c[q >> 2] | 0;
- j = c[r >> 2] | 0;
- Gb = c[s >> 2] | 0;
- k = c[t >> 2] | 0;
- Hb = c[u >> 2] | 0;
- Ib = c[v >> 2] | 0;
- c[n >> 2] = c[F >> 2];
- c[(n + 4) >> 2] = c[(F + 4) >> 2];
- c[(n + 8) >> 2] = c[(F + 8) >> 2];
- c[(n + 12) >> 2] = c[(F + 12) >> 2];
- c[o >> 2] = Pr(Jb, Mb, n, j, Gb, k, Hb, Ib) | 0;
- break;
- }
- Qr(Jb, c[c[r >> 2] >> 2] | 0);
- if ((c[F >> 2] | 0) >>> 0 > 8)
- Rr(
- ((c[p >> 2] | 0) + 8) | 0,
- ((c[c[r >> 2] >> 2] | 0) + 8) | 0,
- ((c[F >> 2] | 0) - 8) | 0
- );
- c[p >> 2] = c[w >> 2];
- c[c[r >> 2] >> 2] = c[A >> 2];
- do {
- if (
- (c[(F + 8) >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
- ) {
- if (
- (c[(F + 8) >> 2] | 0) >>> 0 >
- (((c[w >> 2] | 0) - (c[u >> 2] | 0)) | 0) >>>
- 0
- ) {
- c[o >> 2] = -20;
- break d;
- }
- if (
- (((c[B >> 2] | 0) + (c[(F + 4) >> 2] | 0)) |
- 0) >>>
- 0 <=
- (c[v >> 2] | 0) >>> 0
- ) {
- nE(
- c[w >> 2] | 0,
- c[B >> 2] | 0,
- c[(F + 4) >> 2] | 0
- ) | 0;
- c[o >> 2] = c[x >> 2];
- break d;
- }
- c[C >> 2] = (c[v >> 2] | 0) - (c[B >> 2] | 0);
- nE(
- c[w >> 2] | 0,
- c[B >> 2] | 0,
- c[C >> 2] | 0
- ) | 0;
- c[p >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
- Jb = (F + 4) | 0;
- c[Jb >> 2] = (c[Jb >> 2] | 0) - (c[C >> 2] | 0);
- c[B >> 2] = c[t >> 2];
- if (
- (c[p >> 2] | 0) >>> 0 <= (c[z >> 2] | 0) >>> 0
- ? (c[(F + 4) >> 2] | 0) >>> 0 >= 3
- : 0
- )
- break;
- c[D >> 2] = 0;
- while (1) {
- if (
- (c[D >> 2] | 0) >>> 0 >=
- (c[(F + 4) >> 2] | 0) >>> 0
- )
- break;
- a[((c[p >> 2] | 0) + (c[D >> 2] | 0)) >> 0] =
- a[
- ((c[B >> 2] | 0) + (c[D >> 2] | 0)) >> 0
- ] | 0;
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[o >> 2] = c[x >> 2];
- break d;
- }
- } while (0);
- if ((c[(F + 8) >> 2] | 0) >>> 0 < 8) {
- c[E >> 2] =
- c[(6816 + (c[(F + 8) >> 2] << 2)) >> 2];
- a[c[p >> 2] >> 0] = a[c[B >> 2] >> 0] | 0;
- a[((c[p >> 2] | 0) + 1) >> 0] =
- a[((c[B >> 2] | 0) + 1) >> 0] | 0;
- a[((c[p >> 2] | 0) + 2) >> 0] =
- a[((c[B >> 2] | 0) + 2) >> 0] | 0;
- a[((c[p >> 2] | 0) + 3) >> 0] =
- a[((c[B >> 2] | 0) + 3) >> 0] | 0;
- c[B >> 2] =
- (c[B >> 2] | 0) +
- (c[(6848 + (c[(F + 8) >> 2] << 2)) >> 2] | 0);
- Sr(((c[p >> 2] | 0) + 4) | 0, c[B >> 2] | 0);
- c[B >> 2] =
- (c[B >> 2] | 0) + (0 - (c[E >> 2] | 0));
- } else Qr(c[p >> 2] | 0, c[B >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + 8;
- c[B >> 2] = (c[B >> 2] | 0) + 8;
- Jb = c[p >> 2] | 0;
- e: do {
- if (
- (c[y >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -13) | 0) >>> 0
- ) {
- if (Jb >>> 0 < (c[z >> 2] | 0) >>> 0) {
- Rr(
- c[p >> 2] | 0,
- c[B >> 2] | 0,
- ((c[z >> 2] | 0) - (c[p >> 2] | 0)) | 0
- );
- c[B >> 2] =
- (c[B >> 2] | 0) +
- ((c[z >> 2] | 0) - (c[p >> 2] | 0));
- c[p >> 2] = c[z >> 2];
- }
- while (1) {
- if (
- (c[p >> 2] | 0) >>> 0 >=
- (c[y >> 2] | 0) >>> 0
- )
- break e;
- Ib = c[B >> 2] | 0;
- c[B >> 2] = Ib + 1;
- Hb = a[Ib >> 0] | 0;
- Ib = c[p >> 2] | 0;
- c[p >> 2] = Ib + 1;
- a[Ib >> 0] = Hb;
- }
- } else
- Rr(
- Jb,
- c[B >> 2] | 0,
- ((c[(F + 4) >> 2] | 0) - 8) | 0
- );
- } while (0);
- c[o >> 2] = c[x >> 2];
- }
- } while (0);
- c[Db >> 2] = c[o >> 2];
- fb = ($q(c[Db >> 2] | 0) | 0) != 0;
- ac = c[Db >> 2] | 0;
- if (fb) {
- $b = 155;
- break;
- }
- c[ob >> 2] = (c[ob >> 2] | 0) + ac;
- c[xb >> 2] = (c[xb >> 2] | 0) + 1;
- }
- if (($b | 0) == 155) {
- c[cb >> 2] = ac;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- c[Eb >> 2] = 0;
- while (1) {
- if ((c[Eb >> 2] | 0) >>> 0 >= 3) break a;
- c[
- ((c[db >> 2] | 0) + 16 + 28700 + (c[Eb >> 2] << 2)) >>
- 2
- ] = c[(wb + 44 + (c[Eb >> 2] << 2)) >> 2];
- c[Eb >> 2] = (c[Eb >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[Fb >> 2] = (c[qb >> 2] | 0) - (c[pb >> 2] | 0);
- if (
- (c[Fb >> 2] | 0) >>> 0 >
- (((c[nb >> 2] | 0) - (c[ob >> 2] | 0)) | 0) >>> 0
- ) {
- c[cb >> 2] = -70;
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- } else {
- mE(c[ob >> 2] | 0, c[pb >> 2] | 0, c[Fb >> 2] | 0) | 0;
- c[ob >> 2] = (c[ob >> 2] | 0) + (c[Fb >> 2] | 0);
- c[cb >> 2] = (c[ob >> 2] | 0) - (c[mb >> 2] | 0);
- Nb = c[cb >> 2] | 0;
- l = m;
- return Nb | 0;
- }
- return 0;
- }
- function Zr(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 24) | 0;
- k = (i + 20) | 0;
- m = (i + 16) | 0;
- n = (i + 12) | 0;
- o = (i + 8) | 0;
- p = (i + 4) | 0;
- q = i;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- h =
- _r(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- 0
- ) | 0;
- l = i;
- return h | 0;
- }
- function _r(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- j = l;
- l = (l + 80) | 0;
- k = (j + 64) | 0;
- m = (j + 60) | 0;
- n = (j + 56) | 0;
- o = (j + 52) | 0;
- p = (j + 48) | 0;
- q = (j + 44) | 0;
- r = (j + 40) | 0;
- s = (j + 36) | 0;
- t = (j + 32) | 0;
- u = (j + 28) | 0;
- v = (j + 24) | 0;
- w = (j + 20) | 0;
- x = (j + 16) | 0;
- y = (j + 12) | 0;
- z = (j + 8) | 0;
- A = (j + 4) | 0;
- B = j;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = c[n >> 2];
- if (c[t >> 2] | 0) {
- c[r >> 2] = $r(c[t >> 2] | 0) | 0;
- c[s >> 2] = as(c[t >> 2] | 0) | 0;
- }
- while (1) {
- if ((c[q >> 2] | 0) >>> 0 < 5) {
- C = 27;
- break;
- }
- i = (iq(c[p >> 2] | 0, c[q >> 2] | 0) | 0) != 0;
- h = c[p >> 2] | 0;
- if (i) {
- c[x >> 2] = ar(h, c[q >> 2] | 0) | 0;
- if ($q(c[x >> 2] | 0) | 0) {
- C = 7;
- break;
- }
- if (c[((c[m >> 2] | 0) + 28940) >> 2] | 0) {
- C = 9;
- break;
- }
- c[w >> 2] =
- bs(
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[x >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0
- ) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + (c[w >> 2] | 0);
- c[o >> 2] = (c[o >> 2] | 0) - (c[w >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + (c[x >> 2] | 0);
- c[q >> 2] = (c[q >> 2] | 0) - (c[x >> 2] | 0);
- continue;
- }
- c[v >> 2] = hq(h) | 0;
- if ((c[v >> 2] | 0) != -47205080) {
- if (((c[v >> 2] & -16) | 0) != 407710288) {
- C = 18;
- break;
- }
- if ((c[q >> 2] | 0) >>> 0 < 8) {
- C = 14;
- break;
- }
- c[y >> 2] = (hq(((c[p >> 2] | 0) + 4) | 0) | 0) + 8;
- if ((c[q >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0) {
- C = 16;
- break;
- }
- c[p >> 2] = (c[p >> 2] | 0) + (c[y >> 2] | 0);
- c[q >> 2] = (c[q >> 2] | 0) - (c[y >> 2] | 0);
- continue;
- }
- h = c[m >> 2] | 0;
- if (c[t >> 2] | 0) {
- c[z >> 2] = cs(h, c[t >> 2] | 0) | 0;
- if ($q(c[z >> 2] | 0) | 0) {
- C = 21;
- break;
- }
- } else {
- c[A >> 2] = ds(h, c[r >> 2] | 0, c[s >> 2] | 0) | 0;
- if ($q(c[A >> 2] | 0) | 0) {
- C = 23;
- break;
- }
- }
- Br(c[m >> 2] | 0, c[n >> 2] | 0);
- c[B >> 2] =
- es(c[m >> 2] | 0, c[n >> 2] | 0, c[o >> 2] | 0, p, q) | 0;
- if ($q(c[B >> 2] | 0) | 0) {
- C = 25;
- break;
- }
- c[n >> 2] = (c[n >> 2] | 0) + (c[B >> 2] | 0);
- c[o >> 2] = (c[o >> 2] | 0) - (c[B >> 2] | 0);
- }
- if ((C | 0) == 7) {
- c[k >> 2] = c[x >> 2];
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else if ((C | 0) == 9) {
- c[k >> 2] = -64;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else if ((C | 0) == 14) {
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else if ((C | 0) == 16) {
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else if ((C | 0) == 18) {
- c[k >> 2] = -10;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else if ((C | 0) == 21) {
- c[k >> 2] = c[z >> 2];
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else if ((C | 0) == 23) {
- c[k >> 2] = c[A >> 2];
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else if ((C | 0) == 25) {
- c[k >> 2] = c[B >> 2];
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else if ((C | 0) == 27)
- if (c[q >> 2] | 0) {
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else {
- c[k >> 2] = (c[n >> 2] | 0) - (c[u >> 2] | 0);
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- return 0;
- }
- function $r(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return c[((c[d >> 2] | 0) + 4) >> 2] | 0;
- }
- function as(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return c[((c[d >> 2] | 0) + 8) >> 2] | 0;
- }
- function bs(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- h = l;
- l = (l + 64) | 0;
- i = (h + 52) | 0;
- j = (h + 48) | 0;
- k = (h + 44) | 0;
- m = (h + 40) | 0;
- n = (h + 36) | 0;
- o = (h + 32) | 0;
- p = (h + 28) | 0;
- q = (h + 24) | 0;
- r = (h + 20) | 0;
- s = (h + 16) | 0;
- t = (h + 12) | 0;
- u = (h + 8) | 0;
- v = (h + 4) | 0;
- w = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = iq(c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- switch (c[q >> 2] | 0) {
- case 4: {
- c[i >> 2] =
- ms(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- case 5: {
- c[s >> 2] = ns() | 0;
- if (!(c[s >> 2] | 0)) {
- c[i >> 2] = -64;
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- } else {
- c[r >> 2] =
- os(
- c[s >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- eq(c[s >> 2] | 0) | 0;
- c[i >> 2] = c[r >> 2];
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- break;
- }
- case 6: {
- c[u >> 2] = ps() | 0;
- if (!(c[u >> 2] | 0)) {
- c[i >> 2] = -64;
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- } else {
- c[t >> 2] =
- qs(
- c[u >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- dq(c[u >> 2] | 0) | 0;
- c[i >> 2] = c[t >> 2];
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- break;
- }
- case 7: {
- c[w >> 2] = rs() | 0;
- if (!(c[w >> 2] | 0)) {
- c[i >> 2] = -64;
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- } else {
- c[v >> 2] =
- ss(
- c[w >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- cq(c[w >> 2] | 0) | 0;
- c[i >> 2] = c[v >> 2];
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- break;
- }
- default: {
- c[i >> 2] = -10;
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- }
- return 0;
- }
- function cs(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 12) | 0;
- f = (d + 8) | 0;
- g = (d + 4) | 0;
- h = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = is(c[f >> 2] | 0) | 0;
- if ($q(c[h >> 2] | 0) | 0) {
- c[e >> 2] = c[h >> 2];
- i = c[e >> 2] | 0;
- l = d;
- return i | 0;
- }
- do {
- if (c[g >> 2] | 0) {
- c[((c[f >> 2] | 0) + 28908) >> 2] =
- c[((c[g >> 2] | 0) + 28724) >> 2];
- c[((c[f >> 2] | 0) + 28732) >> 2] =
- c[((c[g >> 2] | 0) + 4) >> 2];
- c[((c[f >> 2] | 0) + 28736) >> 2] =
- c[((c[g >> 2] | 0) + 4) >> 2];
- c[((c[f >> 2] | 0) + 28740) >> 2] =
- (c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[g >> 2] | 0) + 8) >> 2] | 0);
- c[((c[f >> 2] | 0) + 28728) >> 2] =
- c[((c[f >> 2] | 0) + 28740) >> 2];
- h = ((c[f >> 2] | 0) + 28808) | 0;
- if (c[((c[g >> 2] | 0) + 28728) >> 2] | 0) {
- c[h >> 2] = 1;
- c[((c[f >> 2] | 0) + 28812) >> 2] = 1;
- c[c[f >> 2] >> 2] = (c[g >> 2] | 0) + 12;
- c[((c[f >> 2] | 0) + 4) >> 2] =
- (c[g >> 2] | 0) + 12 + 6160;
- c[((c[f >> 2] | 0) + 8) >> 2] =
- (c[g >> 2] | 0) + 12 + 4104;
- c[((c[f >> 2] | 0) + 12) >> 2] =
- (c[g >> 2] | 0) + 12 + 10264;
- c[((c[f >> 2] | 0) + 16 + 28700) >> 2] =
- c[((c[g >> 2] | 0) + 12 + 28700) >> 2];
- c[((c[f >> 2] | 0) + 16 + 28700 + 4) >> 2] =
- c[((c[g >> 2] | 0) + 12 + 28700 + 4) >> 2];
- c[((c[f >> 2] | 0) + 16 + 28700 + 8) >> 2] =
- c[((c[g >> 2] | 0) + 12 + 28700 + 8) >> 2];
- break;
- } else {
- c[h >> 2] = 0;
- c[((c[f >> 2] | 0) + 28812) >> 2] = 0;
- break;
- }
- }
- } while (0);
- c[e >> 2] = 0;
- i = c[e >> 2] | 0;
- l = d;
- return i | 0;
- }
- function ds(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = is(c[g >> 2] | 0) | 0;
- if ($q(c[j >> 2] | 0) | 0) {
- c[f >> 2] = c[j >> 2];
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- if (
- ((c[h >> 2] | 0) != 0) & ((c[i >> 2] | 0) != 0)
- ? ((c[k >> 2] =
- js(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0),
- $q(c[k >> 2] | 0) | 0)
- : 0
- ) {
- c[f >> 2] = -30;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- c[f >> 2] = 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- function es(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 76) | 0;
- j = (h + 72) | 0;
- k = (h + 68) | 0;
- m = (h + 64) | 0;
- n = (h + 60) | 0;
- o = (h + 56) | 0;
- p = (h + 52) | 0;
- q = (h + 48) | 0;
- r = (h + 44) | 0;
- s = (h + 40) | 0;
- t = (h + 36) | 0;
- u = (h + 32) | 0;
- v = (h + 28) | 0;
- w = (h + 24) | 0;
- x = (h + 12) | 0;
- y = (h + 8) | 0;
- z = (h + 4) | 0;
- A = h;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[c[n >> 2] >> 2];
- c[q >> 2] = c[k >> 2];
- c[r >> 2] = (c[q >> 2] | 0) + (c[m >> 2] | 0);
- c[s >> 2] = c[q >> 2];
- c[t >> 2] = c[c[o >> 2] >> 2];
- if ((c[t >> 2] | 0) >>> 0 < 9) {
- c[i >> 2] = -72;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- c[u >> 2] = mq(c[p >> 2] | 0, 5) | 0;
- if ($q(c[u >> 2] | 0) | 0) {
- c[i >> 2] = c[u >> 2];
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- if (
- (c[t >> 2] | 0) >>> 0 <
- (((c[u >> 2] | 0) + 3) | 0) >>> 0
- ) {
- c[i >> 2] = -72;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- c[v >> 2] =
- fs(c[j >> 2] | 0, c[p >> 2] | 0, c[u >> 2] | 0) | 0;
- if ($q(c[v >> 2] | 0) | 0) {
- c[i >> 2] = c[v >> 2];
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- c[p >> 2] = (c[p >> 2] | 0) + (c[u >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) - (c[u >> 2] | 0);
- a: while (1) {
- c[y >> 2] = br(c[p >> 2] | 0, c[t >> 2] | 0, x) | 0;
- if ($q(c[y >> 2] | 0) | 0) {
- C = 11;
- break;
- }
- c[p >> 2] = (c[p >> 2] | 0) + 3;
- c[t >> 2] = (c[t >> 2] | 0) - 3;
- if ((c[y >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
- C = 13;
- break;
- }
- switch (c[x >> 2] | 0) {
- case 2: {
- c[w >> 2] =
- Cr(
- c[j >> 2] | 0,
- c[s >> 2] | 0,
- ((c[r >> 2] | 0) - (c[s >> 2] | 0)) | 0,
- c[p >> 2] | 0,
- c[y >> 2] | 0,
- 1
- ) | 0;
- break;
- }
- case 0: {
- c[w >> 2] =
- gs(
- c[s >> 2] | 0,
- ((c[r >> 2] | 0) - (c[s >> 2] | 0)) | 0,
- c[p >> 2] | 0,
- c[y >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[w >> 2] =
- hs(
- c[s >> 2] | 0,
- ((c[r >> 2] | 0) - (c[s >> 2] | 0)) | 0,
- a[c[p >> 2] >> 0] | 0,
- c[(x + 8) >> 2] | 0
- ) | 0;
- break;
- }
- default: {
- C = 18;
- break a;
- }
- }
- if ($q(c[w >> 2] | 0) | 0) {
- C = 20;
- break;
- }
- if (c[((c[j >> 2] | 0) + 28752 + 32) >> 2] | 0)
- Nh(
- ((c[j >> 2] | 0) + 28816) | 0,
- c[s >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- c[s >> 2] = (c[s >> 2] | 0) + (c[w >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + (c[y >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) - (c[y >> 2] | 0);
- if (c[(x + 4) >> 2] | 0) {
- C = 25;
- break;
- }
- }
- if ((C | 0) == 11) {
- c[i >> 2] = c[y >> 2];
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- } else if ((C | 0) == 13) {
- c[i >> 2] = -72;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- } else if ((C | 0) == 18) {
- c[i >> 2] = -20;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- } else if ((C | 0) == 20) {
- c[i >> 2] = c[w >> 2];
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- } else if ((C | 0) == 25) {
- C = ((c[j >> 2] | 0) + 28752) | 0;
- if (
- ((c[C >> 2] | 0) != -1 ? 1 : (c[(C + 4) >> 2] | 0) != -1)
- ? ((C = ((c[s >> 2] | 0) - (c[q >> 2] | 0)) | 0),
- (w = ((c[j >> 2] | 0) + 28752) | 0),
- (C | 0) != (c[w >> 2] | 0)
- ? 1
- : (((((C | 0) < 0) << 31) >> 31) | 0) !=
- (c[(w + 4) >> 2] | 0))
- : 0
- ) {
- c[i >> 2] = -20;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- do {
- if (c[((c[j >> 2] | 0) + 28752 + 32) >> 2] | 0) {
- w = Oh(((c[j >> 2] | 0) + 28816) | 0) | 0;
- c[z >> 2] = w;
- if ((c[t >> 2] | 0) >>> 0 < 4) {
- c[i >> 2] = -22;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- c[A >> 2] = hq(c[p >> 2] | 0) | 0;
- if ((c[A >> 2] | 0) == (c[z >> 2] | 0)) {
- c[p >> 2] = (c[p >> 2] | 0) + 4;
- c[t >> 2] = (c[t >> 2] | 0) - 4;
- break;
- }
- c[i >> 2] = -22;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- } while (0);
- c[c[n >> 2] >> 2] = c[p >> 2];
- c[c[o >> 2] >> 2] = c[t >> 2];
- c[i >> 2] = (c[s >> 2] | 0) - (c[q >> 2] | 0);
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- return 0;
- }
- function fs(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] =
- qq(
- ((c[g >> 2] | 0) + 28752) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[((c[g >> 2] | 0) + 28912) >> 2] | 0
- ) | 0;
- i = ($q(c[j >> 2] | 0) | 0) != 0;
- h = c[j >> 2] | 0;
- if (i) {
- c[f >> 2] = h;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- if (h >>> 0 > 0) {
- c[f >> 2] = -72;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- if (
- c[((c[g >> 2] | 0) + 28752 + 28) >> 2] | 0
- ? (c[((c[g >> 2] | 0) + 28908) >> 2] | 0) !=
- (c[((c[g >> 2] | 0) + 28752 + 28) >> 2] | 0)
- : 0
- ) {
- c[f >> 2] = -32;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- if (c[((c[g >> 2] | 0) + 28752 + 32) >> 2] | 0)
- Lh(((c[g >> 2] | 0) + 28816) | 0, 0, 0) | 0;
- c[f >> 2] = 0;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- function gs(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- c[g >> 2] = -70;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else {
- mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- c[g >> 2] = c[k >> 2];
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function hs(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 4) | 0;
- m = (h + 16) | 0;
- n = h;
- c[j >> 2] = b;
- c[k >> 2] = e;
- a[m >> 0] = f;
- c[n >> 2] = g;
- if ((c[n >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0) {
- c[i >> 2] = -70;
- o = c[i >> 2] | 0;
- l = h;
- return o | 0;
- } else {
- oE(
- c[j >> 2] | 0,
- ((d[m >> 0] | 0) & 255) | 0,
- c[n >> 2] | 0
- ) | 0;
- c[i >> 2] = c[n >> 2];
- o = c[i >> 2] | 0;
- l = h;
- return o | 0;
- }
- return 0;
- }
- function is(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = oq(c[((c[d >> 2] | 0) + 28912) >> 2] | 0) | 0;
- c[((c[d >> 2] | 0) + 28744) >> 2] = a;
- c[((c[d >> 2] | 0) + 28804) >> 2] = 0;
- a = ((c[d >> 2] | 0) + 28792) | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28728) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28732) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28736) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28740) >> 2] = 0;
- c[((c[d >> 2] | 0) + 16 + 10264) >> 2] = 201326604;
- c[((c[d >> 2] | 0) + 28812) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28808) >> 2] = 0;
- c[((c[d >> 2] | 0) + 28908) >> 2] = 0;
- a = ((c[d >> 2] | 0) + 16 + 28700) | 0;
- c[a >> 2] = c[2985];
- c[(a + 4) >> 2] = c[2986];
- c[(a + 8) >> 2] = c[2987];
- c[c[d >> 2] >> 2] = (c[d >> 2] | 0) + 16;
- c[((c[d >> 2] | 0) + 4) >> 2] = (c[d >> 2] | 0) + 16 + 6160;
- c[((c[d >> 2] | 0) + 8) >> 2] = (c[d >> 2] | 0) + 16 + 4104;
- c[((c[d >> 2] | 0) + 12) >> 2] = (c[d >> 2] | 0) + 16 + 10264;
- l = b;
- return 0;
- }
- function js(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if ((c[i >> 2] | 0) >>> 0 < 8) {
- c[f >> 2] =
- ks(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- c[j >> 2] = hq(c[h >> 2] | 0) | 0;
- if ((c[j >> 2] | 0) != -332356553) {
- c[f >> 2] =
- ks(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- j = hq(((c[h >> 2] | 0) + 4) | 0) | 0;
- c[((c[g >> 2] | 0) + 28908) >> 2] = j;
- c[k >> 2] =
- ls(
- ((c[g >> 2] | 0) + 16) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- if ($q(c[k >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- } else {
- c[h >> 2] = (c[h >> 2] | 0) + (c[k >> 2] | 0);
- c[i >> 2] = (c[i >> 2] | 0) - (c[k >> 2] | 0);
- c[((c[g >> 2] | 0) + 28812) >> 2] = 1;
- c[((c[g >> 2] | 0) + 28808) >> 2] = 1;
- c[f >> 2] =
- ks(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- return 0;
- }
- function ks(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[((c[f >> 2] | 0) + 28740) >> 2] =
- c[((c[f >> 2] | 0) + 28728) >> 2];
- c[((c[f >> 2] | 0) + 28736) >> 2] =
- (c[g >> 2] | 0) +
- (0 -
- ((c[((c[f >> 2] | 0) + 28728) >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 28732) >> 2] | 0)));
- c[((c[f >> 2] | 0) + 28732) >> 2] = c[g >> 2];
- c[((c[f >> 2] | 0) + 28728) >> 2] =
- (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return 0;
- }
- function ls(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0;
- e = l;
- l = (l + 336) | 0;
- f = (e + 328) | 0;
- g = (e + 324) | 0;
- h = (e + 320) | 0;
- i = (e + 316) | 0;
- j = (e + 312) | 0;
- k = (e + 308) | 0;
- m = (e + 304) | 0;
- n = (e + 192) | 0;
- o = (e + 300) | 0;
- p = (e + 296) | 0;
- q = (e + 292) | 0;
- r = (e + 80) | 0;
- s = (e + 288) | 0;
- t = (e + 284) | 0;
- u = (e + 280) | 0;
- v = e;
- w = (e + 276) | 0;
- x = (e + 272) | 0;
- y = (e + 268) | 0;
- z = (e + 264) | 0;
- A = (e + 260) | 0;
- B = (e + 256) | 0;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = c[h >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[i >> 2] | 0);
- if ((c[i >> 2] | 0) >>> 0 <= 8) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[m >> 2] =
- Bp(
- ((c[g >> 2] | 0) + 10264) | 0,
- c[j >> 2] | 0,
- ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0,
- ((c[g >> 2] | 0) + 26652) | 0,
- 2048
- ) | 0;
- if ($q(c[m >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[j >> 2] = (c[j >> 2] | 0) + (c[m >> 2] | 0);
- c[o >> 2] = 31;
- c[q >> 2] =
- ah(
- n,
- o,
- p,
- c[j >> 2] | 0,
- ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
- ) | 0;
- if ($q(c[q >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[o >> 2] | 0) >>> 0 > 31) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[p >> 2] | 0) >>> 0 > 8) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- zr(
- ((c[g >> 2] | 0) + 4104) | 0,
- n,
- c[o >> 2] | 0,
- 4032,
- 4160,
- c[p >> 2] | 0
- );
- c[j >> 2] = (c[j >> 2] | 0) + (c[q >> 2] | 0);
- c[s >> 2] = 52;
- c[u >> 2] =
- ah(
- r,
- s,
- t,
- c[j >> 2] | 0,
- ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
- ) | 0;
- if ($q(c[u >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[s >> 2] | 0) >>> 0 > 52) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[t >> 2] | 0) >>> 0 > 9) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- zr(
- ((c[g >> 2] | 0) + 6160) | 0,
- r,
- c[s >> 2] | 0,
- 5216,
- 5840,
- c[t >> 2] | 0
- );
- c[j >> 2] = (c[j >> 2] | 0) + (c[u >> 2] | 0);
- c[w >> 2] = 35;
- c[y >> 2] =
- ah(
- v,
- w,
- x,
- c[j >> 2] | 0,
- ((c[k >> 2] | 0) - (c[j >> 2] | 0)) | 0
- ) | 0;
- if ($q(c[y >> 2] | 0) | 0) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[w >> 2] | 0) >>> 0 > 35) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- if ((c[x >> 2] | 0) >>> 0 > 9) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- zr(
- c[g >> 2] | 0,
- v,
- c[w >> 2] | 0,
- 6416,
- 5696,
- c[x >> 2] | 0
- );
- c[j >> 2] = (c[j >> 2] | 0) + (c[y >> 2] | 0);
- if (
- (((c[j >> 2] | 0) + 12) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- c[A >> 2] = (c[k >> 2] | 0) - ((c[j >> 2] | 0) + 12);
- c[z >> 2] = 0;
- while (1) {
- D = c[j >> 2] | 0;
- if ((c[z >> 2] | 0) >= 3) {
- E = 31;
- break;
- }
- c[B >> 2] = hq(D) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + 4;
- if (!(c[B >> 2] | 0)) {
- E = 29;
- break;
- }
- if ((c[B >> 2] | 0) >>> 0 >= (c[A >> 2] | 0) >>> 0) {
- E = 29;
- break;
- }
- c[((c[g >> 2] | 0) + 28700 + (c[z >> 2] << 2)) >> 2] =
- c[B >> 2];
- c[z >> 2] = (c[z >> 2] | 0) + 1;
- }
- if ((E | 0) == 29) {
- c[f >> 2] = -30;
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- } else if ((E | 0) == 31) {
- c[f >> 2] = D - (c[h >> 2] | 0);
- C = c[f >> 2] | 0;
- l = e;
- return C | 0;
- }
- return 0;
- }
- function ms(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 12) | 0;
- k = (f + 8) | 0;
- m = (f + 4) | 0;
- n = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[n >> 2] = hw() | 0;
- if (!(c[n >> 2] | 0)) {
- c[g >> 2] = -64;
- o = c[g >> 2] | 0;
- l = f;
- return o | 0;
- } else {
- c[m >> 2] =
- iw(
- c[n >> 2] | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0
- ) | 0;
- gq(c[n >> 2] | 0) | 0;
- c[g >> 2] = c[m >> 2];
- o = c[g >> 2] | 0;
- l = f;
- return o | 0;
- }
- return 0;
- }
- function ns() {
- var a = 0,
- b = 0,
- d = 0,
- e = 0;
- a = l;
- l = (l + 16) | 0;
- b = (a + 4) | 0;
- d = a;
- c[d >> 2] = Cy(157816) | 0;
- if (!(c[d >> 2] | 0)) {
- c[b >> 2] = 0;
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- } else {
- dw(c[d >> 2] | 0) | 0;
- c[b >> 2] = c[d >> 2];
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- }
- return 0;
- }
- function os(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 24) | 0;
- k = (i + 20) | 0;
- m = (i + 16) | 0;
- n = (i + 12) | 0;
- o = (i + 8) | 0;
- p = (i + 4) | 0;
- q = i;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- Su(c[j >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0) | 0;
- Tu(c[j >> 2] | 0, c[k >> 2] | 0);
- q =
- Uu(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- l = i;
- return q | 0;
- }
- function ps() {
- var a = 0,
- b = 0,
- d = 0,
- e = 0;
- a = l;
- l = (l + 16) | 0;
- b = (a + 4) | 0;
- d = a;
- c[d >> 2] = Cy(152680) | 0;
- if (!(c[d >> 2] | 0)) {
- c[b >> 2] = 0;
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- } else {
- Ou(c[d >> 2] | 0) | 0;
- c[b >> 2] = c[d >> 2];
- e = c[b >> 2] | 0;
- l = a;
- return e | 0;
- }
- return 0;
- }
- function qs(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 24) | 0;
- k = (i + 20) | 0;
- m = (i + 16) | 0;
- n = (i + 12) | 0;
- o = (i + 8) | 0;
- p = (i + 4) | 0;
- q = i;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- Jt(c[j >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0) | 0;
- Kt(c[j >> 2] | 0, c[k >> 2] | 0);
- q =
- Lt(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- l = i;
- return q | 0;
- }
- function rs() {
- var a = 0,
- b = 0,
- d = 0;
- a = l;
- l = (l + 16) | 0;
- b = a;
- c[b >> 2] = c[2988];
- c[(b + 4) >> 2] = c[2989];
- c[(b + 8) >> 2] = c[2990];
- d = Gt(b) | 0;
- l = a;
- return d | 0;
- }
- function ss(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 24) | 0;
- k = (i + 20) | 0;
- m = (i + 16) | 0;
- n = (i + 12) | 0;
- o = (i + 8) | 0;
- p = (i + 4) | 0;
- q = i;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- ts(c[j >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0) | 0;
- us(c[j >> 2] | 0, c[k >> 2] | 0);
- q =
- vs(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- l = i;
- return q | 0;
- }
- function ts(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = Ct(c[g >> 2] | 0) | 0;
- if (hr(c[j >> 2] | 0) | 0) {
- c[f >> 2] = c[j >> 2];
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- if (
- ((c[h >> 2] | 0) != 0) & ((c[i >> 2] | 0) != 0)
- ? ((c[k >> 2] =
- Dt(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0) | 0),
- hr(c[k >> 2] | 0) | 0)
- : 0
- ) {
- c[f >> 2] = -30;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- c[f >> 2] = 0;
- m = c[f >> 2] | 0;
- l = e;
- return m | 0;
- }
- function us(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- if (
- (c[f >> 2] | 0) ==
- (c[((c[e >> 2] | 0) + 21520) >> 2] | 0)
- ) {
- l = d;
- return;
- }
- c[((c[e >> 2] | 0) + 21532) >> 2] =
- c[((c[e >> 2] | 0) + 21520) >> 2];
- c[((c[e >> 2] | 0) + 21528) >> 2] =
- (c[f >> 2] | 0) +
- (0 -
- ((c[((c[e >> 2] | 0) + 21520) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 21524) >> 2] | 0)));
- c[((c[e >> 2] | 0) + 21524) >> 2] = c[f >> 2];
- c[((c[e >> 2] | 0) + 21520) >> 2] = c[f >> 2];
- l = d;
- return;
- }
- function vs(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 68) | 0;
- j = (h + 64) | 0;
- k = (h + 60) | 0;
- m = (h + 56) | 0;
- n = (h + 52) | 0;
- o = (h + 48) | 0;
- p = (h + 44) | 0;
- q = (h + 40) | 0;
- r = (h + 36) | 0;
- s = (h + 32) | 0;
- t = (h + 28) | 0;
- u = (h + 24) | 0;
- v = (h + 20) | 0;
- w = (h + 16) | 0;
- x = (h + 8) | 0;
- y = h;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[t >> 2] = c[r >> 2];
- c[u >> 2] = c[o >> 2];
- if ((c[o >> 2] | 0) >>> 0 < 8) {
- c[i >> 2] = -72;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- c[v >> 2] = Cq(c[n >> 2] | 0, 5) | 0;
- if (hr(c[v >> 2] | 0) | 0) {
- c[i >> 2] = c[v >> 2];
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- if (
- (c[o >> 2] | 0) >>> 0 <
- (((c[v >> 2] | 0) + 3) | 0) >>> 0
- ) {
- c[i >> 2] = -72;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- if (ws(c[j >> 2] | 0, c[n >> 2] | 0, c[v >> 2] | 0) | 0) {
- c[i >> 2] = -20;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- c[p >> 2] = (c[p >> 2] | 0) + (c[v >> 2] | 0);
- c[u >> 2] = (c[u >> 2] | 0) - (c[v >> 2] | 0);
- a: while (1) {
- c[y >> 2] =
- ir(
- c[p >> 2] | 0,
- ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0,
- x
- ) | 0;
- if (hr(c[y >> 2] | 0) | 0) {
- A = 11;
- break;
- }
- c[p >> 2] = (c[p >> 2] | 0) + 3;
- c[u >> 2] = (c[u >> 2] | 0) - 3;
- if ((c[y >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0) {
- A = 13;
- break;
- }
- switch (c[x >> 2] | 0) {
- case 0: {
- c[w >> 2] =
- xs(
- c[j >> 2] | 0,
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
- c[p >> 2] | 0,
- c[y >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[w >> 2] =
- ys(
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
- c[p >> 2] | 0,
- c[y >> 2] | 0
- ) | 0;
- break;
- }
- case 2: {
- c[w >> 2] =
- zs(
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
- a[c[p >> 2] >> 0] | 0,
- c[(x + 4) >> 2] | 0
- ) | 0;
- break;
- }
- case 3: {
- if (c[u >> 2] | 0) {
- A = 19;
- break a;
- }
- c[w >> 2] = 0;
- break;
- }
- default: {
- A = 21;
- break a;
- }
- }
- if ((c[x >> 2] | 0) == 3) {
- A = 28;
- break;
- }
- if (hr(c[w >> 2] | 0) | 0) {
- A = 24;
- break;
- }
- if (c[((c[j >> 2] | 0) + 21552 + 16) >> 2] | 0)
- Nh(
- ((c[j >> 2] | 0) + 21592) | 0,
- c[t >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- c[t >> 2] = (c[t >> 2] | 0) + (c[w >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + (c[y >> 2] | 0);
- c[u >> 2] = (c[u >> 2] | 0) - (c[y >> 2] | 0);
- }
- if ((A | 0) == 11) {
- c[i >> 2] = c[y >> 2];
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- } else if ((A | 0) == 13) {
- c[i >> 2] = -72;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- } else if ((A | 0) == 19) {
- c[i >> 2] = -72;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- } else if ((A | 0) == 21) {
- c[i >> 2] = -1;
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- } else if ((A | 0) == 24) {
- c[i >> 2] = c[w >> 2];
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- } else if ((A | 0) == 28) {
- c[i >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
- z = c[i >> 2] | 0;
- l = h;
- return z | 0;
- }
- return 0;
- }
- function ws(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] =
- Aq(
- ((c[g >> 2] | 0) + 21552) | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0
- ) | 0;
- if (
- c[((c[g >> 2] | 0) + 21552 + 12) >> 2] | 0
- ? (c[((c[g >> 2] | 0) + 21684) >> 2] | 0) !=
- (c[((c[g >> 2] | 0) + 21552 + 12) >> 2] | 0)
- : 0
- ) {
- c[f >> 2] = -32;
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- if (c[((c[g >> 2] | 0) + 21552 + 16) >> 2] | 0)
- Lh(((c[g >> 2] | 0) + 21592) | 0, 0, 0) | 0;
- c[f >> 2] = c[j >> 2];
- k = c[f >> 2] | 0;
- l = e;
- return k | 0;
- }
- function xs(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- if ((c[n >> 2] | 0) >>> 0 >= 131072) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- c[p >> 2] =
- As(c[i >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- m = (hr(c[p >> 2] | 0) | 0) != 0;
- f = c[p >> 2] | 0;
- if (m) {
- c[h >> 2] = f;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- } else {
- c[o >> 2] = (c[o >> 2] | 0) + f;
- c[n >> 2] = (c[n >> 2] | 0) - (c[p >> 2] | 0);
- c[h >> 2] =
- Bs(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- return 0;
- }
- function ys(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) {
- c[g >> 2] = -70;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else {
- mE(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- c[g >> 2] = c[k >> 2];
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function zs(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 4) | 0;
- m = (h + 16) | 0;
- n = h;
- c[j >> 2] = b;
- c[k >> 2] = e;
- a[m >> 0] = f;
- c[n >> 2] = g;
- if ((c[n >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0) {
- c[i >> 2] = -70;
- o = c[i >> 2] | 0;
- l = h;
- return o | 0;
- } else {
- oE(
- c[j >> 2] | 0,
- ((d[m >> 0] | 0) & 255) | 0,
- c[n >> 2] | 0
- ) | 0;
- c[i >> 2] = c[n >> 2];
- o = c[i >> 2] | 0;
- l = h;
- return o | 0;
- }
- return 0;
- }
- function As(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 64) | 0;
- i = (g + 60) | 0;
- j = (g + 56) | 0;
- k = (g + 52) | 0;
- m = (g + 48) | 0;
- n = (g + 44) | 0;
- o = (g + 40) | 0;
- p = (g + 36) | 0;
- q = (g + 32) | 0;
- r = (g + 28) | 0;
- s = (g + 24) | 0;
- t = (g + 20) | 0;
- u = (g + 16) | 0;
- v = (g + 12) | 0;
- w = (g + 8) | 0;
- x = (g + 4) | 0;
- y = g;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[j >> 2];
- if ((c[k >> 2] | 0) >>> 0 < 3) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- switch (((d[c[m >> 2] >> 0] | 0) >> 6) | 0) {
- case 0: {
- c[p >> 2] = 0;
- c[q >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- if ((c[k >> 2] | 0) >>> 0 < 5) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- switch (c[q >> 2] | 0) {
- case 3: {
- c[q >> 2] = 5;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 14) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 6) +
- ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 2);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 3) << 16) +
- ((d[((c[m >> 2] | 0) + 3) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 4) >> 0] | 0);
- break;
- }
- case 2: {
- c[q >> 2] = 4;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 10) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 2) +
- ((d[((c[m >> 2] | 0) + 2) >> 0] | 0) >> 6);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 2) >> 0] | 0) & 63) << 8) +
- (d[((c[m >> 2] | 0) + 3) >> 0] | 0);
- break;
- }
- default: {
- c[q >> 2] = 3;
- c[p >> 2] = (d[c[m >> 2] >> 0] | 0) & 16;
- c[n >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
- c[o >> 2] =
- (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- }
- }
- if ((c[n >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (
- (((c[o >> 2] | 0) + (c[q >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- j = ((c[i >> 2] | 0) + 5132) | 0;
- f = ((c[i >> 2] | 0) + 21708) | 0;
- e = c[n >> 2] | 0;
- b = ((c[m >> 2] | 0) + (c[q >> 2] | 0)) | 0;
- A = c[o >> 2] | 0;
- if (c[p >> 2] | 0) B = Xs(j, f, e, b, A) | 0;
- else B = Ys(j, f, e, b, A) | 0;
- if (hr(B) | 0) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- c[((c[i >> 2] | 0) + 21688) >> 2] =
- (c[i >> 2] | 0) + 21708;
- c[((c[i >> 2] | 0) + 21704) >> 2] = c[n >> 2];
- c[((c[i >> 2] | 0) + 21584) >> 2] = 1;
- n =
- ((c[i >> 2] | 0) +
- 21708 +
- (c[((c[i >> 2] | 0) + 21704) >> 2] | 0)) |
- 0;
- a[n >> 0] = 0;
- a[(n + 1) >> 0] = 0;
- a[(n + 2) >> 0] = 0;
- a[(n + 3) >> 0] = 0;
- a[(n + 4) >> 0] = 0;
- a[(n + 5) >> 0] = 0;
- a[(n + 6) >> 0] = 0;
- a[(n + 7) >> 0] = 0;
- c[h >> 2] = (c[o >> 2] | 0) + (c[q >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 1: {
- c[t >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- if ((c[t >> 2] | 0) != 1) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (!(c[((c[i >> 2] | 0) + 21584) >> 2] | 0)) {
- c[h >> 2] = -30;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- c[t >> 2] = 3;
- c[r >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 6) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) >> 2);
- c[s >> 2] =
- (((d[((c[m >> 2] | 0) + 1) >> 0] | 0) & 3) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- if (
- (((c[s >> 2] | 0) + (c[t >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- c[u >> 2] =
- Zs(
- ((c[i >> 2] | 0) + 21708) | 0,
- c[r >> 2] | 0,
- ((c[m >> 2] | 0) + (c[t >> 2] | 0)) | 0,
- c[s >> 2] | 0,
- ((c[i >> 2] | 0) + 5132) | 0
- ) | 0;
- if (hr(c[u >> 2] | 0) | 0) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- c[((c[i >> 2] | 0) + 21688) >> 2] =
- (c[i >> 2] | 0) + 21708;
- c[((c[i >> 2] | 0) + 21704) >> 2] = c[r >> 2];
- r =
- ((c[i >> 2] | 0) +
- 21708 +
- (c[((c[i >> 2] | 0) + 21704) >> 2] | 0)) |
- 0;
- a[r >> 0] = 0;
- a[(r + 1) >> 0] = 0;
- a[(r + 2) >> 0] = 0;
- a[(r + 3) >> 0] = 0;
- a[(r + 4) >> 0] = 0;
- a[(r + 5) >> 0] = 0;
- a[(r + 6) >> 0] = 0;
- a[(r + 7) >> 0] = 0;
- c[h >> 2] = (c[s >> 2] | 0) + (c[t >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 2: {
- c[w >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- switch (c[w >> 2] | 0) {
- case 3: {
- c[v >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- break;
- }
- case 2: {
- c[v >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
- (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
- break;
- }
- default: {
- c[w >> 2] = 1;
- c[v >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
- }
- }
- if (
- (((c[w >> 2] | 0) + (c[v >> 2] | 0) + 8) | 0) >>> 0 <=
- (c[k >> 2] | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 21688) >> 2] =
- (c[m >> 2] | 0) + (c[w >> 2] | 0);
- c[((c[i >> 2] | 0) + 21704) >> 2] = c[v >> 2];
- c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- if (
- (((c[v >> 2] | 0) + (c[w >> 2] | 0)) | 0) >>> 0 >
- (c[k >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- mE(
- ((c[i >> 2] | 0) + 21708) | 0,
- ((c[m >> 2] | 0) + (c[w >> 2] | 0)) | 0,
- c[v >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 21688) >> 2] =
- (c[i >> 2] | 0) + 21708;
- c[((c[i >> 2] | 0) + 21704) >> 2] = c[v >> 2];
- t =
- ((c[i >> 2] | 0) +
- 21708 +
- (c[((c[i >> 2] | 0) + 21704) >> 2] | 0)) |
- 0;
- a[t >> 0] = 0;
- a[(t + 1) >> 0] = 0;
- a[(t + 2) >> 0] = 0;
- a[(t + 3) >> 0] = 0;
- a[(t + 4) >> 0] = 0;
- a[(t + 5) >> 0] = 0;
- a[(t + 6) >> 0] = 0;
- a[(t + 7) >> 0] = 0;
- c[h >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 3: {
- c[y >> 2] = ((d[c[m >> 2] >> 0] | 0) >> 4) & 3;
- switch (c[y >> 2] | 0) {
- case 3: {
- c[x >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 16) +
- ((d[((c[m >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (d[((c[m >> 2] | 0) + 2) >> 0] | 0);
- if ((c[k >> 2] | 0) >>> 0 < 4) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- case 2: {
- c[x >> 2] =
- (((d[c[m >> 2] >> 0] | 0) & 15) << 8) +
- (d[((c[m >> 2] | 0) + 1) >> 0] | 0);
- break;
- }
- default: {
- c[y >> 2] = 1;
- c[x >> 2] = (d[c[m >> 2] >> 0] | 0) & 31;
- }
- }
- if ((c[x >> 2] | 0) >>> 0 > 131072) {
- c[h >> 2] = -20;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- } else {
- oE(
- ((c[i >> 2] | 0) + 21708) | 0,
- ((d[((c[m >> 2] | 0) + (c[y >> 2] | 0)) >> 0] | 0) &
- 255) |
- 0,
- ((c[x >> 2] | 0) + 8) | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 21688) >> 2] =
- (c[i >> 2] | 0) + 21708;
- c[((c[i >> 2] | 0) + 21704) >> 2] = c[x >> 2];
- c[h >> 2] = (c[y >> 2] | 0) + 1;
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- break;
- }
- default: {
- }
- }
- return 0;
- }
- function Bs(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0;
- g = l;
- l = (l + 192) | 0;
- h = (g + 168) | 0;
- i = (g + 164) | 0;
- j = (g + 160) | 0;
- k = (g + 156) | 0;
- m = (g + 152) | 0;
- n = (g + 148) | 0;
- o = (g + 144) | 0;
- p = (g + 140) | 0;
- q = (g + 136) | 0;
- r = (g + 132) | 0;
- s = (g + 128) | 0;
- t = (g + 124) | 0;
- u = (g + 120) | 0;
- v = (g + 116) | 0;
- w = (g + 112) | 0;
- x = (g + 108) | 0;
- y = (g + 104) | 0;
- z = (g + 100) | 0;
- A = (g + 96) | 0;
- B = (g + 92) | 0;
- C = (g + 88) | 0;
- D = (g + 84) | 0;
- E = (g + 32) | 0;
- F = (g + 28) | 0;
- G = (g + 24) | 0;
- H = (g + 12) | 0;
- I = (g + 8) | 0;
- J = (g + 4) | 0;
- K = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[m >> 2] | 0);
- c[t >> 2] = c[r >> 2];
- c[u >> 2] = c[((c[j >> 2] | 0) + 21688) >> 2];
- c[v >> 2] =
- (c[u >> 2] | 0) + (c[((c[j >> 2] | 0) + 21704) >> 2] | 0);
- c[w >> 2] = c[j >> 2];
- c[x >> 2] = (c[j >> 2] | 0) + 3080;
- c[y >> 2] = (c[j >> 2] | 0) + 2052;
- c[z >> 2] = c[((c[j >> 2] | 0) + 21524) >> 2];
- c[A >> 2] = c[((c[j >> 2] | 0) + 21528) >> 2];
- c[B >> 2] = c[((c[j >> 2] | 0) + 21532) >> 2];
- c[D >> 2] =
- Cs(
- C,
- c[w >> 2] | 0,
- c[x >> 2] | 0,
- c[y >> 2] | 0,
- c[((c[j >> 2] | 0) + 21588) >> 2] | 0,
- c[p >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- o = (hr(c[D >> 2] | 0) | 0) != 0;
- m = c[D >> 2] | 0;
- if (o) {
- c[i >> 2] = m;
- L = c[i >> 2] | 0;
- l = g;
- return L | 0;
- }
- c[p >> 2] = (c[p >> 2] | 0) + m;
- a: do {
- if (c[C >> 2] | 0) {
- c[((c[j >> 2] | 0) + 21588) >> 2] = 1;
- c[F >> 2] = 0;
- while (1) {
- if ((c[F >> 2] | 0) >>> 0 >= 3) break;
- c[(E + 40 + (c[F >> 2] << 2)) >> 2] =
- c[((c[j >> 2] | 0) + 21540 + (c[F >> 2] << 2)) >> 2];
- c[F >> 2] = (c[F >> 2] | 0) + 1;
- }
- c[G >> 2] =
- Ds(
- E,
- c[p >> 2] | 0,
- ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
- ) | 0;
- if (hr(c[G >> 2] | 0) | 0) {
- c[i >> 2] = -20;
- L = c[i >> 2] | 0;
- l = g;
- return L | 0;
- }
- Es((E + 16) | 0, E, c[w >> 2] | 0);
- Es((E + 24) | 0, E, c[y >> 2] | 0);
- Es((E + 32) | 0, E, c[x >> 2] | 0);
- while (1) {
- m = (Fs(E) | 0) >>> 0 <= 2;
- M = c[C >> 2] | 0;
- if (!(m ? (c[C >> 2] | 0) != 0 : 0)) break;
- c[C >> 2] = M + -1;
- Gs(H, E);
- m = c[t >> 2] | 0;
- o = c[s >> 2] | 0;
- D = c[v >> 2] | 0;
- k = c[z >> 2] | 0;
- n = c[A >> 2] | 0;
- f = c[B >> 2] | 0;
- c[h >> 2] = c[H >> 2];
- c[(h + 4) >> 2] = c[(H + 4) >> 2];
- c[(h + 8) >> 2] = c[(H + 8) >> 2];
- c[I >> 2] = Hs(m, o, h, u, D, k, n, f) | 0;
- f = (hr(c[I >> 2] | 0) | 0) != 0;
- N = c[I >> 2] | 0;
- if (f) {
- O = 12;
- break;
- }
- c[t >> 2] = (c[t >> 2] | 0) + N;
- }
- if ((O | 0) == 12) {
- c[i >> 2] = N;
- L = c[i >> 2] | 0;
- l = g;
- return L | 0;
- }
- if (M | 0) {
- c[i >> 2] = -20;
- L = c[i >> 2] | 0;
- l = g;
- return L | 0;
- }
- c[J >> 2] = 0;
- while (1) {
- if ((c[J >> 2] | 0) >>> 0 >= 3) break a;
- c[((c[j >> 2] | 0) + 21540 + (c[J >> 2] << 2)) >> 2] =
- c[(E + 40 + (c[J >> 2] << 2)) >> 2];
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[K >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- if (
- (c[K >> 2] | 0) >>> 0 >
- (((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0) >>> 0
- ) {
- c[i >> 2] = -70;
- L = c[i >> 2] | 0;
- l = g;
- return L | 0;
- } else {
- mE(c[t >> 2] | 0, c[u >> 2] | 0, c[K >> 2] | 0) | 0;
- c[t >> 2] = (c[t >> 2] | 0) + (c[K >> 2] | 0);
- c[i >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
- L = c[i >> 2] | 0;
- l = g;
- return L | 0;
- }
- return 0;
- }
- function Cs(a, b, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- j = l;
- l = (l + 80) | 0;
- k = (j + 68) | 0;
- m = (j + 64) | 0;
- n = (j + 60) | 0;
- o = (j + 56) | 0;
- p = (j + 52) | 0;
- q = (j + 48) | 0;
- r = (j + 44) | 0;
- s = (j + 40) | 0;
- t = (j + 36) | 0;
- u = (j + 32) | 0;
- v = (j + 28) | 0;
- w = (j + 24) | 0;
- x = (j + 20) | 0;
- y = (j + 16) | 0;
- z = (j + 12) | 0;
- A = (j + 8) | 0;
- B = (j + 4) | 0;
- C = j;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = c[r >> 2];
- c[u >> 2] = (c[t >> 2] | 0) + (c[s >> 2] | 0);
- c[v >> 2] = c[t >> 2];
- if ((c[s >> 2] | 0) >>> 0 < 1) {
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- s = c[v >> 2] | 0;
- c[v >> 2] = s + 1;
- c[w >> 2] = d[s >> 0];
- if (!(c[w >> 2] | 0)) {
- c[c[m >> 2] >> 2] = 0;
- c[k >> 2] = 1;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- do {
- if ((c[w >> 2] | 0) > 127) {
- s = c[v >> 2] | 0;
- if ((c[w >> 2] | 0) == 255) {
- if (((s + 2) | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0) {
- c[w >> 2] = ((Eq(c[v >> 2] | 0) | 0) & 65535) + 32512;
- c[v >> 2] = (c[v >> 2] | 0) + 2;
- break;
- }
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else {
- if (s >>> 0 < (c[u >> 2] | 0) >>> 0) {
- s = ((c[w >> 2] | 0) - 128) << 8;
- r = c[v >> 2] | 0;
- c[v >> 2] = r + 1;
- c[w >> 2] = s + (d[r >> 0] | 0);
- break;
- }
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- }
- } while (0);
- c[c[m >> 2] >> 2] = c[w >> 2];
- c[x >> 2] = (d[c[v >> 2] >> 0] | 0) >> 6;
- c[y >> 2] = ((d[c[v >> 2] >> 0] | 0) >> 4) & 3;
- c[z >> 2] = ((d[c[v >> 2] >> 0] | 0) >> 2) & 3;
- c[v >> 2] = (c[v >> 2] | 0) + 1;
- if (
- (c[v >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) + -3) | 0) >>> 0
- ) {
- c[k >> 2] = -72;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- c[A >> 2] =
- Ss(
- c[n >> 2] | 0,
- c[x >> 2] | 0,
- 35,
- 9,
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- 5440,
- 6,
- c[q >> 2] | 0
- ) | 0;
- if (hr(c[A >> 2] | 0) | 0) {
- c[k >> 2] = -20;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) + (c[A >> 2] | 0);
- c[B >> 2] =
- Ss(
- c[p >> 2] | 0,
- c[y >> 2] | 0,
- 28,
- 8,
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- 5520,
- 5,
- c[q >> 2] | 0
- ) | 0;
- if (hr(c[B >> 2] | 0) | 0) {
- c[k >> 2] = -20;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) + (c[B >> 2] | 0);
- c[C >> 2] =
- Ss(
- c[o >> 2] | 0,
- c[z >> 2] | 0,
- 52,
- 9,
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- 5584,
- 6,
- c[q >> 2] | 0
- ) | 0;
- if (hr(c[C >> 2] | 0) | 0) {
- c[k >> 2] = -20;
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- } else {
- c[v >> 2] = (c[v >> 2] | 0) + (c[C >> 2] | 0);
- c[k >> 2] = (c[v >> 2] | 0) - (c[t >> 2] | 0);
- D = c[k >> 2] | 0;
- l = j;
- return D | 0;
- }
- return 0;
- }
- function Cc(a) {
- a = a | 0;
- var b = 0;
- b = l;
- l = (l + a) | 0;
- l = (l + 15) & -16;
- return b | 0;
- }
- function Dc() {
- return l | 0;
- }
- function Ec(a) {
- a = a | 0;
- l = a;
- }
- function Fc(a, b) {
- a = a | 0;
- b = b | 0;
- l = a;
- m = b;
- }
- function Gc(a, b) {
- a = a | 0;
- b = b | 0;
- if (!n) {
- n = a;
- o = b;
- }
- }
- function Hc(a) {
- a = a | 0;
- y = a;
- }
- function Ic() {
- return y | 0;
- }
- function Jc() {
- var a = 0;
- a = l;
- l = (l + 16) | 0;
- Kz(Cz(12856, 12862) | 0) | 0;
- Az(12856, a) | 0;
- l = a;
- return;
- }
- function Kc(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0.0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- e = l;
- l = (l + 32) | 0;
- f = e;
- g = c[d >> 2] | 0;
- h = hb(12865) | 0;
- i = db(g | 0, h | 0) | 0;
- ab(h | 0);
- j = +Za(i | 0, 11e3, f | 0);
- jb(c[f >> 2] | 0);
- h = ~~j >>> 0;
- ab(i | 0);
- i = (b + 4) | 0;
- g = c[i >> 2] | 0;
- k = c[b >> 2] | 0;
- m = (g - k) | 0;
- n = k;
- a: do {
- if (m >>> 0 < h >>> 0) {
- o = (h - m) | 0;
- p = (b + 8) | 0;
- q = c[p >> 2] | 0;
- if (((q - g) | 0) >>> 0 >= o >>> 0) {
- r = o;
- s = g;
- while (1) {
- a[s >> 0] = 0;
- s = ((c[i >> 2] | 0) + 1) | 0;
- c[i >> 2] = s;
- r = (r + -1) | 0;
- if (!r) break a;
- }
- }
- if ((h | 0) < 0) Wz(b);
- r = (q - k) | 0;
- s = r << 1;
- t =
- r >>> 0 < 1073741823
- ? s >>> 0 < h >>> 0
- ? h
- : s
- : 2147483647;
- if (!t) u = 0;
- else u = Uz(t) | 0;
- oE((u + m) | 0, 0, o | 0) | 0;
- if ((m | 0) > 0) mE(u | 0, n | 0, m | 0) | 0;
- c[b >> 2] = u;
- c[i >> 2] = u + h;
- c[p >> 2] = u + t;
- if (k | 0) Vz(n);
- } else if (m >>> 0 > h >>> 0) c[i >> 2] = n + h;
- } while (0);
- n = cb(12872) | 0;
- i = c[d >> 2] | 0;
- m = hb(12879) | 0;
- k = db(i | 0, m | 0) | 0;
- ab(m | 0);
- m = c[b >> 2] | 0;
- eb(n | 0);
- c[f >> 2] = n;
- c[(f + 8) >> 2] = m;
- c[(f + 16) >> 2] = h;
- h = gb(k | 0, 3, 11072, f | 0) | 0;
- ab(k | 0);
- cd(h, 12891, d);
- ab(h | 0);
- ab(n | 0);
- l = e;
- return;
- }
- function Lc(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- e = l;
- l = (l + 32) | 0;
- f = e;
- g = cb(12895) | 0;
- h = cb(12872) | 0;
- i = hb(12879) | 0;
- j = db(g | 0, i | 0) | 0;
- ab(i | 0);
- i = c[d >> 2] | 0;
- k = (d + 4) | 0;
- m = c[k >> 2] | 0;
- eb(h | 0);
- c[f >> 2] = h;
- c[(f + 8) >> 2] = i;
- c[(f + 16) >> 2] = m - i;
- i = gb(j | 0, 3, 11092, f | 0) | 0;
- m = i;
- ab(j | 0);
- j = hb(12879) | 0;
- n = db(h | 0, j | 0) | 0;
- ab(j | 0);
- c[f >> 2] = (c[k >> 2] | 0) - (c[d >> 2] | 0);
- d = gb(n | 0, 1, 11104, f | 0) | 0;
- ab(n | 0);
- n = hb(12879) | 0;
- k = db(g | 0, n | 0) | 0;
- ab(n | 0);
- eb(d | 0);
- c[f >> 2] = d;
- n = gb(k | 0, 1, 11108, f | 0) | 0;
- c[b >> 2] = n;
- ab(k | 0);
- if ((a[21600] | 0) == 0 ? WD(21600) | 0 : 0)
- c[5404] = bb(2, 11084) | 0;
- k = c[5404] | 0;
- eb(i | 0);
- c[f >> 2] = m;
- $a(k | 0, n | 0, 12891, f | 0);
- ab(d | 0);
- ab(i | 0);
- ab(h | 0);
- ab(g | 0);
- l = e;
- return;
- }
- function Mc(a) {
- a = a | 0;
- return ((c[(a + 4) >> 2] | 0) - (c[a >> 2] | 0)) | 0;
- }
- function Nc(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = cb(12872) | 0;
- g = cb(12895) | 0;
- h = hb(12879) | 0;
- i = db(g | 0, h | 0) | 0;
- ab(h | 0);
- h = c[b >> 2] | 0;
- j = c[(b + 4) >> 2] | 0;
- eb(f | 0);
- c[e >> 2] = f;
- c[(e + 8) >> 2] = h;
- c[(e + 16) >> 2] = j - h;
- c[a >> 2] = gb(i | 0, 3, 11092, e | 0) | 0;
- ab(i | 0);
- ab(g | 0);
- ab(f | 0);
- l = d;
- return;
- }
- function Oc(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = Uz(32) | 0;
- Pc(e, a);
- Ef(f, e, b);
- b = c[e >> 2] | 0;
- if (!b) {
- l = d;
- return f | 0;
- }
- c[(e + 4) >> 2] = b;
- Vz(b);
- l = d;
- return f | 0;
- }
- function Pc(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0.0,
- n = 0,
- o = 0,
- p = 0;
- d = l;
- l = (l + 48) | 0;
- e = d;
- f = (d + 24) | 0;
- c[f >> 2] = 0;
- g = (f + 4) | 0;
- c[g >> 2] = 0;
- h = (f + 8) | 0;
- c[h >> 2] = 0;
- i = c[b >> 2] | 0;
- j = hb(12865) | 0;
- k = db(i | 0, j | 0) | 0;
- ab(j | 0);
- m = +Za(k | 0, 11016, e | 0);
- jb(c[e >> 2] | 0);
- j = ~~m >>> 0;
- do {
- if (j | 0)
- if ((j | 0) < 0) Wz(f);
- else {
- i = Uz(j) | 0;
- oE(i | 0, 0, j | 0) | 0;
- n = (i + j) | 0;
- c[f >> 2] = i;
- c[g >> 2] = n;
- c[h >> 2] = n;
- break;
- }
- } while (0);
- ab(k | 0);
- k = c[b >> 2] | 0;
- j = hb(12865) | 0;
- n = db(k | 0, j | 0) | 0;
- ab(j | 0);
- m = +Za(n | 0, 11e3, e | 0);
- jb(c[e >> 2] | 0);
- j = ~~m >>> 0;
- ab(n | 0);
- n = cb(12872) | 0;
- k = c[b >> 2] | 0;
- i = hb(12879) | 0;
- o = db(k | 0, i | 0) | 0;
- ab(i | 0);
- i = c[f >> 2] | 0;
- eb(n | 0);
- c[e >> 2] = n;
- c[(e + 8) >> 2] = i;
- c[(e + 16) >> 2] = j;
- i = gb(o | 0, 3, 11072, e | 0) | 0;
- ab(o | 0);
- o = c[f >> 2] | 0;
- e = o;
- if ((((c[h >> 2] | 0) - o) | 0) >>> 0 < j >>> 0) {
- k = ((c[g >> 2] | 0) - o) | 0;
- p = Uz(j) | 0;
- if ((k | 0) > 0) mE(p | 0, e | 0, k | 0) | 0;
- c[f >> 2] = p;
- c[g >> 2] = p + k;
- c[h >> 2] = p + j;
- if (o | 0) Vz(e);
- }
- dd(i, 12891, b);
- ab(i | 0);
- ab(n | 0);
- c[a >> 2] = c[f >> 2];
- c[(a + 4) >> 2] = c[g >> 2];
- c[(a + 8) >> 2] = c[h >> 2];
- l = d;
- return;
- }
- function Qc(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = Uz(32) | 0;
- Pc(d, a);
- Pf(e, d);
- a = c[d >> 2] | 0;
- if (!a) {
- l = b;
- return e | 0;
- }
- c[(d + 4) >> 2] = a;
- Vz(a);
- l = b;
- return e | 0;
- }
- function Rc(a, b) {
- a = a | 0;
- b = b | 0;
- return ag(a, b) | 0;
- }
- function Sc(a, b) {
- a = a | 0;
- b = b | 0;
- return mg(a, b) | 0;
- }
- function Tc(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 48) | 0;
- f = (e + 28) | 0;
- g = (e + 24) | 0;
- h = e;
- c[f >> 2] = 0;
- i = (f + 4) | 0;
- c[i >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- j = c[b >> 2] | 0;
- c[g >> 2] = j;
- eb(j | 0);
- Kc(f, g);
- ab(c[g >> 2] | 0);
- g = (h + 16) | 0;
- c[h >> 2] = 11128;
- c[(h + 4) >> 2] = d;
- c[g >> 2] = h;
- d = vg(a, f, h) | 0;
- a = c[g >> 2] | 0;
- if ((h | 0) != (a | 0)) {
- if (a | 0) wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- } else wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- a = c[f >> 2] | 0;
- if (!a) {
- l = e;
- return d | 0;
- }
- c[i >> 2] = a;
- Vz(a);
- l = e;
- return d | 0;
- }
- function Uc(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (e + 16) | 0;
- c[e >> 2] = 11172;
- c[(e + 4) >> 2] = b;
- c[f >> 2] = e;
- b = xg(a, e) | 0;
- a = c[f >> 2] | 0;
- if ((e | 0) == (a | 0)) {
- wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- if (!a) {
- l = d;
- return b | 0;
- }
- wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- function Vc(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (e + 16) | 0;
- c[e >> 2] = 11216;
- c[(e + 4) >> 2] = b;
- c[f >> 2] = e;
- b = yg(a, e) | 0;
- a = c[f >> 2] | 0;
- if ((e | 0) == (a | 0)) {
- wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- if (!a) {
- l = d;
- return b | 0;
- }
- wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- function Wc(a) {
- a = a | 0;
- return Bg(a) | 0;
- }
- function Xc(a, b) {
- a = a | 0;
- b = b | 0;
- return Mg(a, b) | 0;
- }
- function Yc(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 48) | 0;
- f = (e + 28) | 0;
- g = (e + 24) | 0;
- h = e;
- c[f >> 2] = 0;
- i = (f + 4) | 0;
- c[i >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- j = c[b >> 2] | 0;
- c[g >> 2] = j;
- eb(j | 0);
- Kc(f, g);
- ab(c[g >> 2] | 0);
- g = (h + 16) | 0;
- c[h >> 2] = 11260;
- c[(h + 4) >> 2] = d;
- c[g >> 2] = h;
- d = Vg(a, f, h) | 0;
- a = c[g >> 2] | 0;
- if ((h | 0) != (a | 0)) {
- if (a | 0) wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- } else wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- a = c[f >> 2] | 0;
- if (!a) {
- l = e;
- return d | 0;
- }
- c[i >> 2] = a;
- Vz(a);
- l = e;
- return d | 0;
- }
- function Zc(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (e + 16) | 0;
- c[e >> 2] = 11304;
- c[(e + 4) >> 2] = b;
- c[f >> 2] = e;
- b = Xg(a, e) | 0;
- a = c[f >> 2] | 0;
- if ((e | 0) == (a | 0)) {
- wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- if (!a) {
- l = d;
- return b | 0;
- }
- wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- function _c(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (e + 16) | 0;
- c[e >> 2] = 11348;
- c[(e + 4) >> 2] = b;
- c[f >> 2] = e;
- b = Yg(a, e) | 0;
- a = c[f >> 2] | 0;
- if ((e | 0) == (a | 0)) {
- wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- if (!a) {
- l = d;
- return b | 0;
- }
- wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- function $c(a) {
- a = a | 0;
- ad(12902);
- Ra(12856, 1, 11420, 14747, 61, 2);
- Ra(12911, 3, 11424, 14750, 1, 26);
- Ra(12925, 2, 11436, 14761, 20, 27);
- Ra(12943, 2, 11436, 14761, 20, 28);
- Ma(
- 10096,
- 10112,
- 10128,
- 0,
- 14742,
- 31,
- 14745,
- 0,
- 14745,
- 0,
- 12960,
- 14747,
- 62
- );
- Ra(12980, 3, 11444, 14765, 9, 21);
- Ma(
- 10152,
- 10168,
- 10184,
- 0,
- 14742,
- 32,
- 14745,
- 0,
- 14745,
- 0,
- 13002,
- 14747,
- 63
- );
- Ra(13024, 2, 11456, 14761, 22, 33);
- Ma(
- 10200,
- 10208,
- 10224,
- 0,
- 14742,
- 34,
- 14745,
- 0,
- 14745,
- 0,
- 13048,
- 14747,
- 64
- );
- Na(10200, 1, 11464, 14742, 35, 1);
- a = Uz(8) | 0;
- c[a >> 2] = 23;
- c[(a + 4) >> 2] = 0;
- Oa(10200, 13058, 3, 11468, 14765, 10, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 24;
- c[(a + 4) >> 2] = 0;
- Oa(10200, 13072, 3, 11480, 14765, 11, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 7;
- c[(a + 4) >> 2] = 0;
- Oa(10200, 13084, 5, 48, 15008, 1, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 12;
- c[(a + 4) >> 2] = 0;
- Oa(10200, 13093, 4, 80, 14770, 8, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 9;
- c[(a + 4) >> 2] = 0;
- Oa(10200, 13104, 5, 96, 15008, 2, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 10;
- c[(a + 4) >> 2] = 0;
- Oa(10200, 13122, 5, 128, 15008, 3, a | 0, 0);
- Ma(
- 10240,
- 10248,
- 10264,
- 0,
- 14742,
- 36,
- 14745,
- 0,
- 14745,
- 0,
- 13142,
- 14747,
- 65
- );
- Na(10240, 1, 11492, 14742, 37, 2);
- a = Uz(8) | 0;
- c[a >> 2] = 25;
- c[(a + 4) >> 2] = 0;
- Oa(10240, 13168, 3, 11496, 14765, 13, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 26;
- c[(a + 4) >> 2] = 0;
- Oa(10240, 13174, 3, 11508, 14765, 14, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 15;
- c[(a + 4) >> 2] = 0;
- Oa(10240, 13189, 4, 160, 14770, 11, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 27;
- c[(a + 4) >> 2] = 0;
- Oa(10240, 13199, 3, 11520, 14765, 16, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 28;
- c[(a + 4) >> 2] = 0;
- Oa(10240, 13205, 3, 11520, 14765, 16, a | 0, 0);
- Ma(
- 10280,
- 10288,
- 10304,
- 0,
- 14742,
- 38,
- 14745,
- 0,
- 14745,
- 0,
- 13209,
- 14747,
- 66
- );
- Na(10280, 1, 11532, 14742, 39, 3);
- a = Uz(8) | 0;
- c[a >> 2] = 40;
- c[(a + 4) >> 2] = 0;
- Oa(10280, 13168, 2, 11536, 14761, 29, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 30;
- c[(a + 4) >> 2] = 0;
- Oa(10280, 13174, 3, 11544, 14765, 17, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 18;
- c[(a + 4) >> 2] = 0;
- Oa(10280, 13189, 4, 176, 14770, 12, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 31;
- c[(a + 4) >> 2] = 0;
- Oa(10280, 13199, 3, 11556, 14765, 19, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 32;
- c[(a + 4) >> 2] = 0;
- Oa(10280, 13205, 3, 11556, 14765, 19, a | 0, 0);
- return;
- }
- function ad(a) {
- a = a | 0;
- Ma(
- 10032,
- 10056,
- 10072,
- 0,
- 14742,
- 41,
- 14745,
- 0,
- 14745,
- 0,
- a | 0,
- 14747,
- 67
- );
- Na(10032, 1, 11384, 14742, 42, 4);
- a = Uz(8) | 0;
- c[a >> 2] = 29;
- c[(a + 4) >> 2] = 0;
- Oa(10032, 14524, 3, 11388, 14750, 2, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 3;
- c[(a + 4) >> 2] = 0;
- Oa(10032, 14534, 4, 16, 14755, 4, a | 0, 0);
- a = Uz(8) | 0;
- c[a >> 2] = 43;
- c[(a + 4) >> 2] = 0;
- Oa(10032, 14541, 2, 11400, 14761, 33, a | 0, 0);
- a = Uz(4) | 0;
- c[a >> 2] = 4;
- Oa(10032, 14546, 3, 11408, 14765, 20, a | 0, 0);
- a = Uz(4) | 0;
- c[a >> 2] = 21;
- Oa(10032, 12891, 4, 32, 14770, 13, a | 0, 0);
- return;
- }
- function bd(a) {
- a = a | 0;
- wa(a | 0) | 0;
- sA();
- }
- function cd(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- if ((a[21600] | 0) == 0 ? WD(21600) | 0 : 0)
- c[5404] = bb(2, 11084) | 0;
- h = c[5404] | 0;
- eb(c[e >> 2] | 0);
- c[g >> 2] = c[e >> 2];
- $a(h | 0, b | 0, d | 0, g | 0);
- l = f;
- return;
- }
- function dd(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- if ((a[21608] | 0) == 0 ? WD(21608) | 0 : 0)
- c[5405] = bb(2, 11112) | 0;
- h = c[5405] | 0;
- eb(c[e >> 2] | 0);
- c[g >> 2] = c[e >> 2];
- $a(h | 0, b | 0, d | 0, g | 0);
- l = f;
- return;
- }
- function ed(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function fd(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11128;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function gd(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11128;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function hd(a) {
- a = a | 0;
- return;
- }
- function id(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function jd(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = (d + 8) | 0;
- Lc(f, b);
- b = c[(a + 4) >> 2] | 0;
- a = c[f >> 2] | 0;
- eb(a | 0);
- c[e >> 2] = a;
- ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
- ab(a | 0);
- l = d;
- return;
- }
- function kd(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 13464 ? (a + 4) | 0 : 0) | 0;
- }
- function ld(a) {
- a = a | 0;
- return 9872;
- }
- function md(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function nd(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11172;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function od(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11172;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function pd(a) {
- a = a | 0;
- return;
- }
- function qd(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function rd(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = (d + 8) | 0;
- Lc(f, b);
- b = c[(a + 4) >> 2] | 0;
- a = c[f >> 2] | 0;
- eb(a | 0);
- c[e >> 2] = a;
- ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
- ab(a | 0);
- l = d;
- return;
- }
- function sd(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 13666 ? (a + 4) | 0 : 0) | 0;
- }
- function td(a) {
- a = a | 0;
- return 9896;
- }
- function ud(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function vd(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11216;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function wd(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11216;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function xd(a) {
- a = a | 0;
- return;
- }
- function yd(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function zd(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = (d + 8) | 0;
- Lc(f, b);
- b = c[(a + 4) >> 2] | 0;
- a = c[f >> 2] | 0;
- eb(a | 0);
- c[e >> 2] = a;
- ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
- ab(a | 0);
- l = d;
- return;
- }
- function Ad(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 13859 ? (a + 4) | 0 : 0) | 0;
- }
- function Bd(a) {
- a = a | 0;
- return 9920;
- }
- function Cd(a) {
- a = a | 0;
- return;
- }
- function Dd(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Ed(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11260;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function Fd(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11260;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function Gd(a) {
- a = a | 0;
- return;
- }
- function Hd(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Id(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = (d + 8) | 0;
- Lc(f, b);
- b = c[(a + 4) >> 2] | 0;
- a = c[f >> 2] | 0;
- eb(a | 0);
- c[e >> 2] = a;
- ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
- ab(a | 0);
- l = d;
- return;
- }
- function Jd(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 14061 ? (a + 4) | 0 : 0) | 0;
- }
- function Kd(a) {
- a = a | 0;
- return 9944;
- }
- function Ld(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Md(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11304;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function Nd(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11304;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function Od(a) {
- a = a | 0;
- return;
- }
- function Pd(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Qd(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = (d + 8) | 0;
- Lc(f, b);
- b = c[(a + 4) >> 2] | 0;
- a = c[f >> 2] | 0;
- eb(a | 0);
- c[e >> 2] = a;
- ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
- ab(a | 0);
- l = d;
- return;
- }
- function Rd(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 14267 ? (a + 4) | 0 : 0) | 0;
- }
- function Sd(a) {
- a = a | 0;
- return 9968;
- }
- function Td(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Ud(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11348;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function Vd(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11348;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function Wd(a) {
- a = a | 0;
- return;
- }
- function Xd(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Yd(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = (d + 8) | 0;
- Lc(f, b);
- b = c[(a + 4) >> 2] | 0;
- a = c[f >> 2] | 0;
- eb(a | 0);
- c[e >> 2] = a;
- ab(_a(c[b >> 2] | 0, 1, 11108, e | 0) | 0);
- ab(a | 0);
- l = d;
- return;
- }
- function Zd(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 14464 ? (a + 4) | 0 : 0) | 0;
- }
- function _d(a) {
- a = a | 0;
- return 9992;
- }
- function $d(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0;
- e = (b + 4) | 0;
- f = c[e >> 2] | 0;
- g = (b + 8) | 0;
- h = c[g >> 2] | 0;
- if ((f | 0) != (h | 0)) {
- a[f >> 0] = a[d >> 0] | 0;
- c[e >> 2] = (c[e >> 2] | 0) + 1;
- return;
- }
- i = c[b >> 2] | 0;
- j = (f - i) | 0;
- f = (j + 1) | 0;
- k = i;
- if ((f | 0) < 0) Wz(b);
- l = (h - i) | 0;
- h = l << 1;
- m =
- l >>> 0 < 1073741823
- ? h >>> 0 < f >>> 0
- ? f
- : h
- : 2147483647;
- if (!m) n = 0;
- else n = Uz(m) | 0;
- h = (n + j) | 0;
- a[h >> 0] = a[d >> 0] | 0;
- if ((j | 0) > 0) mE(n | 0, k | 0, j | 0) | 0;
- c[b >> 2] = n;
- c[e >> 2] = h + 1;
- c[g >> 2] = n + m;
- if (!i) return;
- Vz(k);
- return;
- }
- function ae(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = (a + 4) | 0;
- f = c[a >> 2] | 0;
- g = ((c[e >> 2] | 0) - f) | 0;
- if (g >>> 0 < b >>> 0) {
- de(a, (b - g) | 0, d);
- return;
- }
- if (g >>> 0 <= b >>> 0) return;
- c[e >> 2] = f + b;
- return;
- }
- function be(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = c[b >> 2] | 0;
- if ((((c[(b + 4) >> 2] | 0) - h) | 0) >>> 0 <= e >>> 0) {
- i = 1;
- c[a >> 2] = i;
- l = f;
- return;
- }
- c[g >> 2] = d[(h + e) >> 0];
- i = kb(10960, g | 0) | 0;
- c[a >> 2] = i;
- l = f;
- return;
- }
- function ce(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- a[((c[b >> 2] | 0) + d) >> 0] = a[e >> 0] | 0;
- return 1;
- }
- function de(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0;
- f = (b + 8) | 0;
- g = c[f >> 2] | 0;
- h = (b + 4) | 0;
- i = c[h >> 2] | 0;
- if (((g - i) | 0) >>> 0 >= d >>> 0) {
- j = d;
- k = i;
- do {
- a[k >> 0] = a[e >> 0] | 0;
- k = ((c[h >> 2] | 0) + 1) | 0;
- c[h >> 2] = k;
- j = (j + -1) | 0;
- } while ((j | 0) != 0);
- return;
- }
- j = c[b >> 2] | 0;
- k = (i - j) | 0;
- l = (k + d) | 0;
- if ((l | 0) < 0) Wz(b);
- m = (g - j) | 0;
- g = m << 1;
- n =
- m >>> 0 < 1073741823
- ? g >>> 0 < l >>> 0
- ? l
- : g
- : 2147483647;
- if (!n) o = 0;
- else o = Uz(n) | 0;
- g = (o + k) | 0;
- k = (o + n) | 0;
- n = (i + d - j) | 0;
- j = d;
- d = g;
- while (1) {
- a[d >> 0] = a[e >> 0] | 0;
- j = (j + -1) | 0;
- if (!j) break;
- else d = (d + 1) | 0;
- }
- d = c[b >> 2] | 0;
- j = ((c[h >> 2] | 0) - d) | 0;
- e = (g + (0 - j)) | 0;
- if ((j | 0) > 0) mE(e | 0, d | 0, j | 0) | 0;
- c[b >> 2] = e;
- c[h >> 2] = o + n;
- c[f >> 2] = k;
- if (!d) return;
- Vz(d);
- return;
- }
- function ee(a) {
- a = a | 0;
- return 10032;
- }
- function fe(a) {
- a = a | 0;
- var b = 0;
- if (!a) return;
- b = c[a >> 2] | 0;
- if (b | 0) {
- c[(a + 4) >> 2] = b;
- Vz(b);
- }
- Vz(a);
- return;
- }
- function ge() {
- var a = 0;
- a = Uz(12) | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- return a | 0;
- }
- function he(a) {
- a = a | 0;
- return oc[a & 7]() | 0;
- }
- function ie(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = c[b >> 2] | 0;
- i = c[(b + 4) >> 2] | 0;
- b = (d + (i >> 1)) | 0;
- if (!(i & 1)) j = h;
- else j = c[((c[b >> 2] | 0) + h) >> 2] | 0;
- a[g >> 0] = e;
- xc[j & 31](b, g);
- l = f;
- return;
- }
- function je(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- g = l;
- l = (l + 16) | 0;
- h = g;
- i = c[b >> 2] | 0;
- j = c[(b + 4) >> 2] | 0;
- b = (d + (j >> 1)) | 0;
- if (!(j & 1)) k = i;
- else k = c[((c[b >> 2] | 0) + i) >> 2] | 0;
- a[h >> 0] = f;
- yc[k & 7](b, e, h);
- l = g;
- return;
- }
- function ke(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = c[a >> 2] | 0;
- e = c[(a + 4) >> 2] | 0;
- a = (b + (e >> 1)) | 0;
- if (!(e & 1)) f = d;
- else f = c[((c[a >> 2] | 0) + d) >> 2] | 0;
- return pc[f & 63](a) | 0;
- }
- function le(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- yc[c[a >> 2] & 7](f, b, d);
- eb(c[f >> 2] | 0);
- d = c[f >> 2] | 0;
- ab(d | 0);
- l = e;
- return d | 0;
- }
- function me(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0;
- g = l;
- l = (l + 16) | 0;
- h = g;
- i = c[b >> 2] | 0;
- a[h >> 0] = f;
- f = rc[i & 31](d, e, h) | 0;
- l = g;
- return f | 0;
- }
- function ne(a) {
- a = a | 0;
- vc[a & 3]();
- return;
- }
- function oe(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- c[f >> 2] = d;
- xc[a & 31](b, f);
- ab(c[f >> 2] | 0);
- l = e;
- return;
- }
- function pe(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- xc[a & 31](e, b);
- eb(c[e >> 2] | 0);
- b = c[e >> 2] | 0;
- ab(b | 0);
- l = d;
- return b | 0;
- }
- function qe(a) {
- a = a | 0;
- return 10096;
- }
- function re(a) {
- a = a | 0;
- if (!a) return;
- se(a);
- Vz(a);
- return;
- }
- function se(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = c[a >> 2] | 0;
- do {
- if (e) {
- c[d >> 2] = e;
- f = (a + 24) | 0;
- g = c[f >> 2] | 0;
- if (!g) {
- h = va(4) | 0;
- c[h >> 2] = 12636;
- ya(h | 0, 10800, 50);
- } else {
- xc[c[((c[g >> 2] | 0) + 24) >> 2] & 31](g, d);
- c[a >> 2] = 0;
- i = f;
- break;
- }
- } else i = (a + 24) | 0;
- } while (0);
- d = c[i >> 2] | 0;
- if (((a + 8) | 0) == (d | 0)) {
- wc[c[((c[d >> 2] | 0) + 16) >> 2] & 127](d);
- l = b;
- return;
- }
- if (!d) {
- l = b;
- return;
- }
- wc[c[((c[d >> 2] | 0) + 20) >> 2] & 127](d);
- l = b;
- return;
- }
- function te(a) {
- a = a | 0;
- var b = 0;
- b = c[(a + 16) >> 2] | 0;
- if ((a | 0) == (b | 0)) {
- wc[c[((c[b >> 2] | 0) + 16) >> 2] & 127](b);
- return;
- }
- if (!b) return;
- wc[c[((c[b >> 2] | 0) + 20) >> 2] & 127](b);
- return;
- }
- function ue(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- c[f >> 2] = b;
- b = qc[a & 63](f, d) | 0;
- ab(c[f >> 2] | 0);
- l = e;
- return b | 0;
- }
- function ve(a) {
- a = a | 0;
- return 10152;
- }
- function we(a) {
- a = a | 0;
- if (!a) return;
- xe(a);
- Vz(a);
- return;
- }
- function xe(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = c[a >> 2] | 0;
- do {
- if (e) {
- c[d >> 2] = e;
- f = (a + 24) | 0;
- g = c[f >> 2] | 0;
- if (!g) {
- h = va(4) | 0;
- c[h >> 2] = 12636;
- ya(h | 0, 10800, 50);
- } else {
- xc[c[((c[g >> 2] | 0) + 24) >> 2] & 31](g, d);
- c[a >> 2] = 0;
- i = f;
- break;
- }
- } else i = (a + 24) | 0;
- } while (0);
- d = c[i >> 2] | 0;
- if (((a + 8) | 0) == (d | 0)) {
- wc[c[((c[d >> 2] | 0) + 16) >> 2] & 127](d);
- l = b;
- return;
- }
- if (!d) {
- l = b;
- return;
- }
- wc[c[((c[d >> 2] | 0) + 20) >> 2] & 127](d);
- l = b;
- return;
- }
- function ye(a) {
- a = a | 0;
- var b = 0;
- b = c[(a + 16) >> 2] | 0;
- if ((a | 0) == (b | 0)) {
- wc[c[((c[b >> 2] | 0) + 16) >> 2] & 127](b);
- return;
- }
- if (!b) return;
- wc[c[((c[b >> 2] | 0) + 20) >> 2] & 127](b);
- return;
- }
- function ze(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- c[e >> 2] = b;
- b = pc[a & 63](e) | 0;
- ab(c[e >> 2] | 0);
- l = d;
- return b | 0;
- }
- function Ae(a) {
- a = a | 0;
- return 10200;
- }
- function Be(a) {
- a = a | 0;
- if (!a) return;
- Vz(a);
- return;
- }
- function Ce() {
- return Uz(1) | 0;
- }
- function De(a) {
- a = a | 0;
- return oc[a & 7]() | 0;
- }
- function Ee(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = c[a >> 2] | 0;
- f = c[(a + 4) >> 2] | 0;
- a = (b + (f >> 1)) | 0;
- if (!(f & 1)) g = e;
- else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
- return qc[g & 63](a, d) | 0;
- }
- function Fe(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = c[a >> 2] | 0;
- f = c[(a + 4) >> 2] | 0;
- a = (b + (f >> 1)) | 0;
- if (!(f & 1)) g = e;
- else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
- return qc[g & 63](a, d) | 0;
- }
- function Ge(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0;
- g = c[a >> 2] | 0;
- h = c[(a + 4) >> 2] | 0;
- a = (b + (h >> 1)) | 0;
- if (!(h & 1)) i = g;
- else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
- return sc[i & 15](a, d, e, f) | 0;
- }
- function He(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = c[a >> 2] | 0;
- g = c[(a + 4) >> 2] | 0;
- a = (b + (g >> 1)) | 0;
- if (!(g & 1)) h = f;
- else h = c[((c[a >> 2] | 0) + f) >> 2] | 0;
- return rc[h & 31](a, d, e) | 0;
- }
- function Ie(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0;
- g = c[a >> 2] | 0;
- h = c[(a + 4) >> 2] | 0;
- a = (b + (h >> 1)) | 0;
- if (!(h & 1)) i = g;
- else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
- return sc[i & 15](a, d, e, f) | 0;
- }
- function Je(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0;
- g = c[a >> 2] | 0;
- h = c[(a + 4) >> 2] | 0;
- a = (b + (h >> 1)) | 0;
- if (!(h & 1)) i = g;
- else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
- return sc[i & 15](a, d, e, f) | 0;
- }
- function Ke(a) {
- a = a | 0;
- return 10240;
- }
- function Le(a) {
- a = a | 0;
- if (!a) return;
- $f(a);
- Vz(a);
- return;
- }
- function Me() {
- var a = 0;
- a = Uz(36) | 0;
- _f(a);
- return a | 0;
- }
- function Ne(a) {
- a = a | 0;
- return oc[a & 7]() | 0;
- }
- function Oe(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = c[a >> 2] | 0;
- f = c[(a + 4) >> 2] | 0;
- a = (b + (f >> 1)) | 0;
- if (!(f & 1)) g = e;
- else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
- return qc[g & 63](a, d) | 0;
- }
- function Pe(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = c[a >> 2] | 0;
- f = c[(a + 4) >> 2] | 0;
- a = (b + (f >> 1)) | 0;
- if (!(f & 1)) g = e;
- else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
- return qc[g & 63](a, d) | 0;
- }
- function Qe(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 16) | 0;
- g = (f + 4) | 0;
- h = f;
- i = c[a >> 2] | 0;
- j = c[(a + 4) >> 2] | 0;
- a = (b + (j >> 1)) | 0;
- if (!(j & 1)) k = i;
- else k = c[((c[a >> 2] | 0) + i) >> 2] | 0;
- c[g >> 2] = d;
- c[h >> 2] = e;
- e = rc[k & 31](a, g, h) | 0;
- ab(c[h >> 2] | 0);
- ab(c[g >> 2] | 0);
- l = f;
- return e | 0;
- }
- function Re(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = c[a >> 2] | 0;
- h = c[(a + 4) >> 2] | 0;
- a = (b + (h >> 1)) | 0;
- if (!(h & 1)) i = g;
- else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
- c[f >> 2] = d;
- d = qc[i & 63](a, f) | 0;
- ab(c[f >> 2] | 0);
- l = e;
- return d | 0;
- }
- function Se(a) {
- a = a | 0;
- return 10280;
- }
- function Te(a) {
- a = a | 0;
- if (!a) return;
- Ag(a);
- Vz(a);
- return;
- }
- function Ue() {
- var a = 0;
- a = Uz(36) | 0;
- zg(a);
- return a | 0;
- }
- function Ve(a) {
- a = a | 0;
- return oc[a & 7]() | 0;
- }
- function We(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = c[a >> 2] | 0;
- e = c[(a + 4) >> 2] | 0;
- a = (b + (e >> 1)) | 0;
- if (!(e & 1)) f = d;
- else f = c[((c[a >> 2] | 0) + d) >> 2] | 0;
- return pc[f & 63](a) | 0;
- }
- function Xe(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = c[a >> 2] | 0;
- f = c[(a + 4) >> 2] | 0;
- a = (b + (f >> 1)) | 0;
- if (!(f & 1)) g = e;
- else g = c[((c[a >> 2] | 0) + e) >> 2] | 0;
- return qc[g & 63](a, d) | 0;
- }
- function Ye(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 16) | 0;
- g = (f + 4) | 0;
- h = f;
- i = c[a >> 2] | 0;
- j = c[(a + 4) >> 2] | 0;
- a = (b + (j >> 1)) | 0;
- if (!(j & 1)) k = i;
- else k = c[((c[a >> 2] | 0) + i) >> 2] | 0;
- c[g >> 2] = d;
- c[h >> 2] = e;
- e = rc[k & 31](a, g, h) | 0;
- ab(c[h >> 2] | 0);
- ab(c[g >> 2] | 0);
- l = f;
- return e | 0;
- }
- function Ze(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = c[a >> 2] | 0;
- h = c[(a + 4) >> 2] | 0;
- a = (b + (h >> 1)) | 0;
- if (!(h & 1)) i = g;
- else i = c[((c[a >> 2] | 0) + g) >> 2] | 0;
- c[f >> 2] = d;
- d = qc[i & 63](a, f) | 0;
- ab(c[f >> 2] | 0);
- l = e;
- return d | 0;
- }
- function _e() {
- $c(0);
- return;
- }
- function $e(a, b) {
- a = a | 0;
- b = b | 0;
- a = lj(b) | 0;
- b = (Ph(a) | 0) == 0;
- return (b ? (a >>> 0 > 2147483646 ? -2 : a) : -1) | 0;
- }
- function af(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0;
- a = c[b >> 2] | 0;
- d = wq(a, ((c[(b + 4) >> 2] | 0) - a) | 0) | 0;
- a = (Ph(d) | 0) == 0;
- return (a ? (d >>> 0 > 2147483646 ? -2 : d) : -1) | 0;
- }
- function bf(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0;
- a = c[b >> 2] | 0;
- f = c[d >> 2] | 0;
- g =
- Go(
- a,
- ((c[(b + 4) >> 2] | 0) - a) | 0,
- f,
- ((c[(d + 4) >> 2] | 0) - f) | 0,
- e
- ) | 0;
- e = (Ph(g) | 0) == 0;
- return (e ? (g >>> 0 > 2147483646 ? -2 : g) : -1) | 0;
- }
- function cf(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0;
- a = c[b >> 2] | 0;
- e = c[d >> 2] | 0;
- f =
- ux(
- a,
- ((c[(b + 4) >> 2] | 0) - a) | 0,
- e,
- ((c[(d + 4) >> 2] | 0) - e) | 0
- ) | 0;
- e = (Ph(f) | 0) == 0;
- return (e ? (f >>> 0 > 2147483646 ? -2 : f) : -1) | 0;
- }
- function df(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- a = l;
- l = (l + 32) | 0;
- f = a;
- g = mj() | 0;
- c[f >> 2] = g;
- h = (f + 8) | 0;
- c[(f + 24) >> 2] = h;
- c[h >> 2] = 11576;
- c[(f + 12) >> 2] = 68;
- if (!g) {
- i = -3;
- ff(f);
- l = a;
- return i | 0;
- }
- h = c[b >> 2] | 0;
- j = c[d >> 2] | 0;
- k =
- Lo(
- g,
- h,
- ((c[(b + 4) >> 2] | 0) - h) | 0,
- j,
- ((c[(d + 4) >> 2] | 0) - j) | 0,
- c[e >> 2] | 0
- ) | 0;
- e = (Ph(k) | 0) == 0;
- i = e ? (k >>> 0 > 2147483646 ? -2 : k) : -1;
- ff(f);
- l = a;
- return i | 0;
- }
- function ef(a) {
- a = a | 0;
- qj(a) | 0;
- return;
- }
- function ff(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = c[a >> 2] | 0;
- do {
- if (e) {
- c[d >> 2] = e;
- f = (a + 24) | 0;
- g = c[f >> 2] | 0;
- if (!g) {
- h = va(4) | 0;
- c[h >> 2] = 12636;
- ya(h | 0, 10800, 50);
- } else {
- xc[c[((c[g >> 2] | 0) + 24) >> 2] & 31](g, d);
- c[a >> 2] = 0;
- i = f;
- break;
- }
- } else i = (a + 24) | 0;
- } while (0);
- d = c[i >> 2] | 0;
- if (((a + 8) | 0) == (d | 0)) {
- wc[c[((c[d >> 2] | 0) + 16) >> 2] & 127](d);
- l = b;
- return;
- }
- if (!d) {
- l = b;
- return;
- }
- wc[c[((c[d >> 2] | 0) + 20) >> 2] & 127](d);
- l = b;
- return;
- }
- function gf(a) {
- a = a | 0;
- var b = 0;
- b = c[(a + 16) >> 2] | 0;
- if ((a | 0) == (b | 0)) {
- wc[c[((c[b >> 2] | 0) + 16) >> 2] & 127](b);
- return;
- }
- if (!b) return;
- wc[c[((c[b >> 2] | 0) + 20) >> 2] & 127](b);
- return;
- }
- function hf(a) {
- a = a | 0;
- return;
- }
- function jf(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function kf(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11576;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function lf(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11576;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function mf(a) {
- a = a | 0;
- return;
- }
- function nf(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function of(a, b) {
- a = a | 0;
- b = b | 0;
- wc[c[(a + 4) >> 2] & 127](c[b >> 2] | 0);
- return;
- }
- function pf(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 15195 ? (a + 4) | 0 : 0) | 0;
- }
- function qf(a) {
- a = a | 0;
- return 10336;
- }
- function rf(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- a = l;
- l = (l + 32) | 0;
- f = a;
- g = Wp() | 0;
- c[f >> 2] = g;
- h = (f + 8) | 0;
- c[(f + 24) >> 2] = h;
- c[h >> 2] = 11620;
- c[(f + 12) >> 2] = 69;
- if (!g) {
- i = -4;
- tf(f);
- l = a;
- return i | 0;
- }
- h = c[b >> 2] | 0;
- j = c[d >> 2] | 0;
- k =
- Dx(
- g,
- h,
- ((c[(b + 4) >> 2] | 0) - h) | 0,
- j,
- ((c[(d + 4) >> 2] | 0) - j) | 0,
- c[e >> 2] | 0
- ) | 0;
- e = (Ph(k) | 0) == 0;
- i = e ? (k >>> 0 > 2147483646 ? -2 : k) : -1;
- tf(f);
- l = a;
- return i | 0;
- }
- function sf(a) {
- a = a | 0;
- Xp(a) | 0;
- return;
- }
- function tf(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = c[a >> 2] | 0;
- do {
- if (e) {
- c[d >> 2] = e;
- f = (a + 24) | 0;
- g = c[f >> 2] | 0;
- if (!g) {
- h = va(4) | 0;
- c[h >> 2] = 12636;
- ya(h | 0, 10800, 50);
- } else {
- xc[c[((c[g >> 2] | 0) + 24) >> 2] & 31](g, d);
- c[a >> 2] = 0;
- i = f;
- break;
- }
- } else i = (a + 24) | 0;
- } while (0);
- d = c[i >> 2] | 0;
- if (((a + 8) | 0) == (d | 0)) {
- wc[c[((c[d >> 2] | 0) + 16) >> 2] & 127](d);
- l = b;
- return;
- }
- if (!d) {
- l = b;
- return;
- }
- wc[c[((c[d >> 2] | 0) + 20) >> 2] & 127](d);
- l = b;
- return;
- }
- function uf(a) {
- a = a | 0;
- var b = 0;
- b = c[(a + 16) >> 2] | 0;
- if ((a | 0) == (b | 0)) {
- wc[c[((c[b >> 2] | 0) + 16) >> 2] & 127](b);
- return;
- }
- if (!b) return;
- wc[c[((c[b >> 2] | 0) + 20) >> 2] & 127](b);
- return;
- }
- function vf(a) {
- a = a | 0;
- return;
- }
- function wf(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function xf(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11620;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function yf(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11620;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function zf(a) {
- a = a | 0;
- return;
- }
- function Af(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Bf(a, b) {
- a = a | 0;
- b = b | 0;
- wc[c[(a + 4) >> 2] & 127](c[b >> 2] | 0);
- return;
- }
- function Cf(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 15349 ? (a + 4) | 0 : 0) | 0;
- }
- function Df(a) {
- a = a | 0;
- return 10384;
- }
- function Ef(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0;
- e = c[b >> 2] | 0;
- c[a >> 2] = Ho(e, ((c[(b + 4) >> 2] | 0) - e) | 0, d) | 0;
- d = (a + 8) | 0;
- c[(a + 24) >> 2] = d;
- c[d >> 2] = 11664;
- c[(a + 12) >> 2] = 70;
- return;
- }
- function Ff(a) {
- a = a | 0;
- rj(a) | 0;
- return;
- }
- function Gf(a) {
- a = a | 0;
- return;
- }
- function Hf(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function If(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11664;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function Jf(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11664;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function Kf(a) {
- a = a | 0;
- return;
- }
- function Lf(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Mf(a, b) {
- a = a | 0;
- b = b | 0;
- wc[c[(a + 4) >> 2] & 127](c[b >> 2] | 0);
- return;
- }
- function Nf(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 15503 ? (a + 4) | 0 : 0) | 0;
- }
- function Of(a) {
- a = a | 0;
- return 10432;
- }
- function Pf(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0;
- d = c[b >> 2] | 0;
- c[a >> 2] = Cx(d, ((c[(b + 4) >> 2] | 0) - d) | 0) | 0;
- d = (a + 8) | 0;
- c[(a + 24) >> 2] = d;
- c[d >> 2] = 11708;
- c[(a + 12) >> 2] = 71;
- return;
- }
- function Qf(a) {
- a = a | 0;
- Yp(a) | 0;
- return;
- }
- function Rf(a) {
- a = a | 0;
- return;
- }
- function Sf(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Tf(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11708;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function Uf(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11708;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function Vf(a) {
- a = a | 0;
- return;
- }
- function Wf(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Xf(a, b) {
- a = a | 0;
- b = b | 0;
- wc[c[(a + 4) >> 2] & 127](c[b >> 2] | 0);
- return;
- }
- function Yf(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 15661 ? (a + 4) | 0 : 0) | 0;
- }
- function Zf(a) {
- a = a | 0;
- return 10480;
- }
- function _f(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 44;
- b = (a + 8) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- c[(b + 12) >> 2] = 0;
- c[(b + 16) >> 2] = 0;
- c[(b + 20) >> 2] = 0;
- c[(b + 24) >> 2] = 0;
- return;
- }
- function $f(a) {
- a = a | 0;
- var b = 0;
- b = c[(a + 24) >> 2] | 0;
- if (b | 0) {
- c[(a + 28) >> 2] = b;
- Vz(b);
- }
- b = c[(a + 12) >> 2] | 0;
- if (b | 0) {
- c[(a + 16) >> 2] = b;
- Vz(b);
- }
- b = c[a >> 2] | 0;
- c[a >> 2] = 0;
- if (!b) return;
- pc[c[(a + 4) >> 2] & 63](b) | 0;
- return;
- }
- function ag(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (e + 16) | 0;
- c[e >> 2] = 11752;
- c[(e + 4) >> 2] = b;
- c[f >> 2] = e;
- b = bg(a, e) | 0;
- a = c[f >> 2] | 0;
- if ((e | 0) == (a | 0)) {
- wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- if (!a) {
- l = d;
- return b | 0;
- }
- wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- function bg(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- if (c[a >> 2] | 0) {
- f = 1;
- l = d;
- return f | 0;
- }
- g = Mo() | 0;
- if (!g) {
- f = 0;
- l = d;
- return f | 0;
- }
- c[e >> 2] = g;
- h = c[(b + 16) >> 2] | 0;
- if (!h) {
- b = va(4) | 0;
- c[b >> 2] = 12636;
- ya(b | 0, 10800, 50);
- }
- if (
- Ph(qc[c[((c[h >> 2] | 0) + 24) >> 2] & 63](h, e) | 0) | 0
- ) {
- Oo(g) | 0;
- f = 0;
- l = d;
- return f | 0;
- }
- e = c[a >> 2] | 0;
- c[a >> 2] = g;
- g = (a + 4) | 0;
- if (e | 0) pc[c[g >> 2] & 63](e) | 0;
- c[g >> 2] = 44;
- g = Po() | 0;
- e = (a + 12) | 0;
- h = (a + 20) | 0;
- b = c[e >> 2] | 0;
- i = b;
- if ((((c[h >> 2] | 0) - b) | 0) >>> 0 < g >>> 0) {
- j = (a + 16) | 0;
- k = ((c[j >> 2] | 0) - b) | 0;
- m = Uz(g) | 0;
- if ((k | 0) > 0) mE(m | 0, i | 0, k | 0) | 0;
- c[e >> 2] = m;
- c[j >> 2] = m + k;
- c[h >> 2] = m + g;
- if (b | 0) Vz(i);
- }
- cg((a + 24) | 0, Qo() | 0);
- c[(a + 8) >> 2] = (c[h >> 2] | 0) - (c[e >> 2] | 0);
- f = 1;
- l = d;
- return f | 0;
- }
- function cg(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0;
- e = (b + 4) | 0;
- f = c[e >> 2] | 0;
- g = c[b >> 2] | 0;
- h = (f - g) | 0;
- i = g;
- if (h >>> 0 >= d >>> 0) {
- if (h >>> 0 <= d >>> 0) return;
- c[e >> 2] = i + d;
- return;
- }
- j = (d - h) | 0;
- k = (b + 8) | 0;
- l = c[k >> 2] | 0;
- if (((l - f) | 0) >>> 0 >= j >>> 0) {
- m = j;
- n = f;
- do {
- a[n >> 0] = 0;
- n = ((c[e >> 2] | 0) + 1) | 0;
- c[e >> 2] = n;
- m = (m + -1) | 0;
- } while ((m | 0) != 0);
- return;
- }
- if ((d | 0) < 0) Wz(b);
- m = (l - g) | 0;
- l = m << 1;
- n =
- m >>> 0 < 1073741823
- ? l >>> 0 < d >>> 0
- ? d
- : l
- : 2147483647;
- if (!n) o = 0;
- else o = Uz(n) | 0;
- oE((o + h) | 0, 0, j | 0) | 0;
- if ((h | 0) > 0) mE(o | 0, i | 0, h | 0) | 0;
- c[b >> 2] = o;
- c[e >> 2] = o + d;
- c[k >> 2] = o + n;
- if (!g) return;
- Vz(i);
- return;
- }
- function dg(a) {
- a = a | 0;
- return;
- }
- function eg(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function fg(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11752;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function gg(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11752;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function hg(a) {
- a = a | 0;
- return;
- }
- function ig(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function jg(a, b) {
- a = a | 0;
- b = b | 0;
- return Wo(c[b >> 2] | 0, c[(a + 4) >> 2] | 0) | 0;
- }
- function kg(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 15819 ? (a + 4) | 0 : 0) | 0;
- }
- function lg(a) {
- a = a | 0;
- return 10528;
- }
- function mg(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (e + 16) | 0;
- c[e >> 2] = 11796;
- c[(e + 4) >> 2] = b;
- c[f >> 2] = e;
- b = bg(a, e) | 0;
- a = c[f >> 2] | 0;
- if ((e | 0) == (a | 0)) {
- wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- if (!a) {
- l = d;
- return b | 0;
- }
- wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- function ng(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function og(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11796;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function pg(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11796;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function qg(a) {
- a = a | 0;
- return;
- }
- function rg(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function sg(a, b) {
- a = a | 0;
- b = b | 0;
- return Uo(c[b >> 2] | 0, c[c[(a + 4) >> 2] >> 2] | 0) | 0;
- }
- function tg(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 16003 ? (a + 4) | 0 : 0) | 0;
- }
- function ug(a) {
- a = a | 0;
- return 10560;
- }
- function vg(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- if (!(c[b >> 2] | 0)) {
- f = 0;
- return f | 0;
- }
- g = (d + 4) | 0;
- h = c[d >> 2] | 0;
- i = ((c[g >> 2] | 0) - h) | 0;
- if (!i) {
- f = 1;
- return f | 0;
- }
- j = (b + 12) | 0;
- k = (b + 20) | 0;
- l = (b + 16) | 0;
- m = (b + 8) | 0;
- n = 0;
- o = h;
- h = i;
- a: while (1) {
- i = c[k >> 2] | 0;
- p = c[j >> 2] | 0;
- q = c[l >> 2] | 0;
- r = (p - q + (i - p)) | 0;
- s = (h - n) | 0;
- t = s >>> 0 < r >>> 0 ? s : r;
- s = (o + n) | 0;
- u = (s + t) | 0;
- n = (t + n) | 0;
- if (!t) {
- v = p;
- w = q;
- } else {
- p = q;
- q = i;
- i = s;
- while (1) {
- if ((p | 0) == (q | 0)) {
- s = c[j >> 2] | 0;
- t = (q - s) | 0;
- x = (t + 1) | 0;
- y = s;
- if ((x | 0) < 0) {
- z = 9;
- break a;
- }
- A = t << 1;
- B =
- t >>> 0 < 1073741823
- ? A >>> 0 < x >>> 0
- ? x
- : A
- : 2147483647;
- if (!B) C = 0;
- else C = Uz(B) | 0;
- A = (C + t) | 0;
- a[A >> 0] = a[i >> 0] | 0;
- if ((t | 0) > 0) mE(C | 0, y | 0, t | 0) | 0;
- c[j >> 2] = C;
- c[l >> 2] = A + 1;
- c[k >> 2] = C + B;
- if (s | 0) Vz(y);
- } else {
- a[p >> 0] = a[i >> 0] | 0;
- c[l >> 2] = (c[l >> 2] | 0) + 1;
- }
- y = (i + 1) | 0;
- if ((y | 0) == (u | 0)) break;
- p = c[l >> 2] | 0;
- q = c[k >> 2] | 0;
- i = y;
- }
- v = c[j >> 2] | 0;
- w = c[l >> 2] | 0;
- }
- if (
- (
- (r | 0) == 0
- ? 1
- : ((w - v) | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0
- )
- ? !(wg(b, e) | 0)
- : 0
- ) {
- f = 0;
- z = 22;
- break;
- }
- o = c[d >> 2] | 0;
- h = ((c[g >> 2] | 0) - o) | 0;
- if (h >>> 0 <= n >>> 0) {
- f = 1;
- z = 22;
- break;
- }
- }
- if ((z | 0) == 9) Wz(j);
- else if ((z | 0) == 22) return f | 0;
- return 0;
- }
- function wg(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 12) | 0;
- f = d;
- g = (a + 12) | 0;
- h = c[g >> 2] | 0;
- i = (a + 16) | 0;
- j = c[i >> 2] | 0;
- k = h;
- if ((h | 0) == (j | 0)) {
- m = 1;
- l = d;
- return m | 0;
- }
- c[e >> 2] = h;
- h = (e + 4) | 0;
- n = (j - k) | 0;
- c[h >> 2] = n;
- j = (e + 8) | 0;
- c[j >> 2] = 0;
- do {
- if (n) {
- o = (a + 24) | 0;
- p = (a + 32) | 0;
- q = (f + 4) | 0;
- r = (a + 28) | 0;
- s = (f + 8) | 0;
- t = (a + 8) | 0;
- u = (b + 16) | 0;
- while (1) {
- cg(o, ((c[p >> 2] | 0) - (c[o >> 2] | 0)) | 0);
- v = c[o >> 2] | 0;
- c[f >> 2] = v;
- c[q >> 2] = (c[r >> 2] | 0) - v;
- c[s >> 2] = 0;
- v = Zo(c[a >> 2] | 0, f, e) | 0;
- c[t >> 2] = v;
- if (Ph(v) | 0) {
- w = 8;
- break;
- }
- cg(o, c[s >> 2] | 0);
- v = c[u >> 2] | 0;
- if (!v) {
- w = 6;
- break;
- }
- xc[c[((c[v >> 2] | 0) + 24) >> 2] & 31](v, o);
- if ((c[j >> 2] | 0) >>> 0 >= (c[h >> 2] | 0) >>> 0) {
- w = 9;
- break;
- }
- }
- if ((w | 0) == 6) {
- o = va(4) | 0;
- c[o >> 2] = 12636;
- ya(o | 0, 10800, 50);
- } else if ((w | 0) == 8) {
- x = 0;
- break;
- } else if ((w | 0) == 9) {
- y = c[g >> 2] | 0;
- w = 10;
- break;
- }
- } else {
- y = k;
- w = 10;
- }
- } while (0);
- if ((w | 0) == 10) {
- c[i >> 2] = y;
- x = 1;
- }
- m = x;
- l = d;
- return m | 0;
- }
- function xg(a, b) {
- a = a | 0;
- b = b | 0;
- return wg(a, b) | 0;
- }
- function yg(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- if (!(c[a >> 2] | 0)) {
- f = 1;
- l = d;
- return f | 0;
- }
- if (
- (c[(a + 12) >> 2] | 0) != (c[(a + 16) >> 2] | 0)
- ? !(wg(a, b) | 0)
- : 0
- )
- g = 0;
- else h = 4;
- do {
- if ((h | 0) == 4) {
- i = (a + 24) | 0;
- cg(i, ((c[(a + 32) >> 2] | 0) - (c[i >> 2] | 0)) | 0);
- j = c[i >> 2] | 0;
- c[e >> 2] = j;
- c[(e + 4) >> 2] = (c[(a + 28) >> 2] | 0) - j;
- j = (e + 8) | 0;
- c[j >> 2] = 0;
- if (_o(c[a >> 2] | 0, e) | 0) {
- f = 0;
- l = d;
- return f | 0;
- }
- cg(i, c[j >> 2] | 0);
- j = c[(b + 16) >> 2] | 0;
- if (!j) {
- k = va(4) | 0;
- c[k >> 2] = 12636;
- ya(k | 0, 10800, 50);
- } else {
- xc[c[((c[j >> 2] | 0) + 24) >> 2] & 31](j, i);
- g = 1;
- break;
- }
- }
- } while (0);
- b = c[a >> 2] | 0;
- c[a >> 2] = 0;
- if (!b) {
- f = g;
- l = d;
- return f | 0;
- }
- pc[c[(a + 4) >> 2] & 63](b) | 0;
- f = g;
- l = d;
- return f | 0;
- }
- function zg(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 45;
- b = (a + 8) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- c[(b + 12) >> 2] = 0;
- c[(b + 16) >> 2] = 0;
- c[(b + 20) >> 2] = 0;
- c[(b + 24) >> 2] = 0;
- return;
- }
- function Ag(a) {
- a = a | 0;
- var b = 0;
- b = c[(a + 24) >> 2] | 0;
- if (b | 0) {
- c[(a + 28) >> 2] = b;
- Vz(b);
- }
- b = c[(a + 12) >> 2] | 0;
- if (b | 0) {
- c[(a + 16) >> 2] = b;
- Vz(b);
- }
- b = c[a >> 2] | 0;
- c[a >> 2] = 0;
- if (!b) return;
- pc[c[(a + 4) >> 2] & 63](b) | 0;
- return;
- }
- function Bg(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 32) | 0;
- d = b;
- e = (d + 16) | 0;
- c[d >> 2] = 11840;
- c[e >> 2] = d;
- f = Cg(a, d) | 0;
- a = c[e >> 2] | 0;
- if ((d | 0) == (a | 0)) {
- wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- l = b;
- return f | 0;
- }
- if (!a) {
- l = b;
- return f | 0;
- }
- wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- l = b;
- return f | 0;
- }
- function Cg(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- if (c[a >> 2] | 0) {
- f = 1;
- l = d;
- return f | 0;
- }
- g = Ex() | 0;
- if (!g) {
- f = 0;
- l = d;
- return f | 0;
- }
- c[e >> 2] = g;
- h = c[(b + 16) >> 2] | 0;
- if (!h) {
- b = va(4) | 0;
- c[b >> 2] = 12636;
- ya(b | 0, 10800, 50);
- }
- b = qc[c[((c[h >> 2] | 0) + 24) >> 2] & 63](h, e) | 0;
- if (Ph(b) | 0) {
- Gx(g) | 0;
- f = 0;
- l = d;
- return f | 0;
- }
- e = c[a >> 2] | 0;
- c[a >> 2] = g;
- g = (a + 4) | 0;
- if (e | 0) pc[c[g >> 2] & 63](e) | 0;
- c[g >> 2] = 45;
- g = Hx() | 0;
- e = (a + 12) | 0;
- h = (a + 20) | 0;
- i = c[e >> 2] | 0;
- j = i;
- if ((((c[h >> 2] | 0) - i) | 0) >>> 0 < g >>> 0) {
- k = (a + 16) | 0;
- m = ((c[k >> 2] | 0) - i) | 0;
- n = Uz(g) | 0;
- if ((m | 0) > 0) mE(n | 0, j | 0, m | 0) | 0;
- c[e >> 2] = n;
- c[k >> 2] = n + m;
- c[h >> 2] = n + g;
- if (i | 0) Vz(j);
- }
- cg((a + 24) | 0, Ix() | 0);
- c[(a + 8) >> 2] = b;
- f = 1;
- l = d;
- return f | 0;
- }
- function Dg(a) {
- a = a | 0;
- return;
- }
- function Eg(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Fg(a) {
- a = a | 0;
- a = Uz(8) | 0;
- c[a >> 2] = 11840;
- return a | 0;
- }
- function Gg(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11840;
- return;
- }
- function Hg(a) {
- a = a | 0;
- return;
- }
- function Ig(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Jg(a, b) {
- a = a | 0;
- b = b | 0;
- return Mx(c[b >> 2] | 0) | 0;
- }
- function Kg(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 16184 ? (a + 4) | 0 : 0) | 0;
- }
- function Lg(a) {
- a = a | 0;
- return 10584;
- }
- function Mg(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (e + 16) | 0;
- c[e >> 2] = 11884;
- c[(e + 4) >> 2] = b;
- c[f >> 2] = e;
- b = Cg(a, e) | 0;
- a = c[f >> 2] | 0;
- if ((e | 0) == (a | 0)) {
- wc[c[((c[a >> 2] | 0) + 16) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- if (!a) {
- l = d;
- return b | 0;
- }
- wc[c[((c[a >> 2] | 0) + 20) >> 2] & 127](a);
- l = d;
- return b | 0;
- }
- function Ng(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Og(a) {
- a = a | 0;
- var b = 0;
- b = Uz(8) | 0;
- c[b >> 2] = 11884;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return b | 0;
- }
- function Pg(a, b) {
- a = a | 0;
- b = b | 0;
- c[b >> 2] = 11884;
- c[(b + 4) >> 2] = c[(a + 4) >> 2];
- return;
- }
- function Qg(a) {
- a = a | 0;
- return;
- }
- function Rg(a) {
- a = a | 0;
- Vz(a);
- return;
- }
- function Sg(a, b) {
- a = a | 0;
- b = b | 0;
- return Nx(c[b >> 2] | 0, c[c[(a + 4) >> 2] >> 2] | 0) | 0;
- }
- function Tg(a, b) {
- a = a | 0;
- b = b | 0;
- return ((c[(b + 4) >> 2] | 0) == 16372 ? (a + 4) | 0 : 0) | 0;
- }
- function Ug(a) {
- a = a | 0;
- return 10616;
- }
- function Vg(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- if (!(c[b >> 2] | 0)) {
- f = 0;
- return f | 0;
- }
- g = (d + 4) | 0;
- h = c[d >> 2] | 0;
- i = ((c[g >> 2] | 0) - h) | 0;
- if (!i) {
- f = 1;
- return f | 0;
- }
- j = (b + 12) | 0;
- k = (b + 20) | 0;
- l = (b + 16) | 0;
- m = (b + 8) | 0;
- n = 0;
- o = h;
- h = i;
- a: while (1) {
- i = c[k >> 2] | 0;
- p = c[j >> 2] | 0;
- q = c[l >> 2] | 0;
- r = (p - q + (i - p)) | 0;
- s = (h - n) | 0;
- t = s >>> 0 < r >>> 0 ? s : r;
- s = (o + n) | 0;
- u = (s + t) | 0;
- n = (t + n) | 0;
- if (!t) {
- v = p;
- w = q;
- } else {
- p = q;
- q = i;
- i = s;
- while (1) {
- if ((p | 0) == (q | 0)) {
- s = c[j >> 2] | 0;
- t = (q - s) | 0;
- x = (t + 1) | 0;
- y = s;
- if ((x | 0) < 0) {
- z = 9;
- break a;
- }
- A = t << 1;
- B =
- t >>> 0 < 1073741823
- ? A >>> 0 < x >>> 0
- ? x
- : A
- : 2147483647;
- if (!B) C = 0;
- else C = Uz(B) | 0;
- A = (C + t) | 0;
- a[A >> 0] = a[i >> 0] | 0;
- if ((t | 0) > 0) mE(C | 0, y | 0, t | 0) | 0;
- c[j >> 2] = C;
- c[l >> 2] = A + 1;
- c[k >> 2] = C + B;
- if (s | 0) Vz(y);
- } else {
- a[p >> 0] = a[i >> 0] | 0;
- c[l >> 2] = (c[l >> 2] | 0) + 1;
- }
- y = (i + 1) | 0;
- if ((y | 0) == (u | 0)) break;
- p = c[l >> 2] | 0;
- q = c[k >> 2] | 0;
- i = y;
- }
- v = c[j >> 2] | 0;
- w = c[l >> 2] | 0;
- }
- if (
- (
- (r | 0) == 0
- ? 1
- : ((w - v) | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0
- )
- ? !(Wg(b, e) | 0)
- : 0
- ) {
- f = 0;
- z = 22;
- break;
- }
- o = c[d >> 2] | 0;
- h = ((c[g >> 2] | 0) - o) | 0;
- if (h >>> 0 <= n >>> 0) {
- f = 1;
- z = 22;
- break;
- }
- }
- if ((z | 0) == 9) Wz(j);
- else if ((z | 0) == 22) return f | 0;
- return 0;
- }
- function Wg(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 12) | 0;
- f = d;
- g = (a + 12) | 0;
- h = c[g >> 2] | 0;
- i = (a + 16) | 0;
- j = c[i >> 2] | 0;
- k = h;
- if ((h | 0) == (j | 0)) {
- m = 1;
- l = d;
- return m | 0;
- }
- c[e >> 2] = h;
- h = (e + 4) | 0;
- n = (j - k) | 0;
- c[h >> 2] = n;
- j = (e + 8) | 0;
- c[j >> 2] = 0;
- do {
- if (n) {
- o = (a + 24) | 0;
- p = (a + 32) | 0;
- q = (f + 4) | 0;
- r = (a + 28) | 0;
- s = (f + 8) | 0;
- t = (a + 8) | 0;
- u = (b + 16) | 0;
- while (1) {
- cg(o, ((c[p >> 2] | 0) - (c[o >> 2] | 0)) | 0);
- v = c[o >> 2] | 0;
- c[f >> 2] = v;
- c[q >> 2] = (c[r >> 2] | 0) - v;
- c[s >> 2] = 0;
- v = Qx(c[a >> 2] | 0, f, e) | 0;
- c[t >> 2] = v;
- if (Ph(v) | 0) {
- w = 8;
- break;
- }
- cg(o, c[s >> 2] | 0);
- v = c[u >> 2] | 0;
- if (!v) {
- w = 6;
- break;
- }
- xc[c[((c[v >> 2] | 0) + 24) >> 2] & 31](v, o);
- if ((c[j >> 2] | 0) >>> 0 >= (c[h >> 2] | 0) >>> 0) {
- w = 9;
- break;
- }
- }
- if ((w | 0) == 6) {
- o = va(4) | 0;
- c[o >> 2] = 12636;
- ya(o | 0, 10800, 50);
- } else if ((w | 0) == 8) {
- x = 0;
- break;
- } else if ((w | 0) == 9) {
- y = c[g >> 2] | 0;
- w = 10;
- break;
- }
- } else {
- y = k;
- w = 10;
- }
- } while (0);
- if ((w | 0) == 10) {
- c[i >> 2] = y;
- x = 1;
- }
- m = x;
- l = d;
- return m | 0;
- }
- function Xg(a, b) {
- a = a | 0;
- b = b | 0;
- return Wg(a, b) | 0;
- }
- function Yg(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = c[a >> 2] | 0;
- if (!d) {
- e = 1;
- return e | 0;
- }
- if ((c[(a + 12) >> 2] | 0) != (c[(a + 16) >> 2] | 0)) {
- f = Wg(a, b) | 0;
- b = c[a >> 2] | 0;
- c[a >> 2] = 0;
- if (!b) {
- e = f;
- return e | 0;
- } else {
- g = f;
- h = b;
- }
- } else {
- c[a >> 2] = 0;
- g = 1;
- h = d;
- }
- pc[c[(a + 4) >> 2] & 63](h) | 0;
- e = g;
- return e | 0;
- }
- function Zg(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = _g(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function _g(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function $g(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = _g(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function ah(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 72) | 0;
- j = (h + 68) | 0;
- k = (h + 64) | 0;
- m = (h + 60) | 0;
- n = (h + 56) | 0;
- o = (h + 52) | 0;
- p = (h + 48) | 0;
- q = (h + 44) | 0;
- r = (h + 40) | 0;
- s = (h + 36) | 0;
- t = (h + 32) | 0;
- u = (h + 28) | 0;
- v = (h + 24) | 0;
- w = (h + 20) | 0;
- x = (h + 16) | 0;
- y = (h + 12) | 0;
- z = (h + 8) | 0;
- A = (h + 4) | 0;
- B = h;
- c[j >> 2] = a;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = c[n >> 2];
- c[q >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- c[r >> 2] = c[p >> 2];
- c[x >> 2] = 0;
- c[y >> 2] = 0;
- if ((c[o >> 2] | 0) >>> 0 < 4) {
- c[i >> 2] = -72;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = bh(c[r >> 2] | 0) | 0;
- c[s >> 2] = (c[v >> 2] & 15) + 5;
- if ((c[s >> 2] | 0) > 15) {
- c[i >> 2] = -44;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) >>> 4;
- c[w >> 2] = 4;
- c[c[m >> 2] >> 2] = c[s >> 2];
- c[t >> 2] = (1 << c[s >> 2]) + 1;
- c[u >> 2] = 1 << c[s >> 2];
- c[s >> 2] = (c[s >> 2] | 0) + 1;
- a: while (1) {
- if (
- !(
- ((c[t >> 2] | 0) > 1
- ? (c[x >> 2] | 0) >>> 0 <=
- (c[c[k >> 2] >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- do {
- if (c[y >> 2] | 0) {
- c[z >> 2] = c[x >> 2];
- while (1) {
- if (((c[v >> 2] & 65535) | 0) != 65535) break;
- c[z >> 2] = (c[z >> 2] | 0) + 24;
- if (
- (c[r >> 2] | 0) >>> 0 <
- (((c[q >> 2] | 0) + -5) | 0) >>> 0
- ) {
- c[r >> 2] = (c[r >> 2] | 0) + 2;
- m = bh(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] | 0);
- } else {
- c[v >> 2] = (c[v >> 2] | 0) >>> 16;
- c[w >> 2] = (c[w >> 2] | 0) + 16;
- }
- }
- while (1) {
- if (((c[v >> 2] & 3) | 0) != 3) break;
- c[z >> 2] = (c[z >> 2] | 0) + 3;
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- }
- c[z >> 2] = (c[z >> 2] | 0) + (c[v >> 2] & 3);
- c[w >> 2] = (c[w >> 2] | 0) + 2;
- if (
- (c[z >> 2] | 0) >>> 0 >
- (c[c[k >> 2] >> 2] | 0) >>> 0
- ) {
- D = 18;
- break a;
- }
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0)
- break;
- m = c[j >> 2] | 0;
- o = c[x >> 2] | 0;
- c[x >> 2] = o + 1;
- b[(m + (o << 1)) >> 1] = 0;
- }
- if (
- (c[r >> 2] | 0) >>> 0 >
- (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[v >> 2] = (c[v >> 2] | 0) >>> 2;
- break;
- }
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- o = bh(c[r >> 2] | 0) | 0;
- c[v >> 2] = o >>> (c[w >> 2] | 0);
- }
- } while (0);
- c[A >> 2] = (c[u >> 2] << 1) - 1 - (c[t >> 2] | 0);
- o = c[v >> 2] | 0;
- m = c[u >> 2] | 0;
- if (
- (c[v >> 2] & ((c[u >> 2] | 0) - 1)) >>> 0 <
- (c[A >> 2] | 0) >>> 0
- ) {
- c[B >> 2] = o & (m - 1);
- c[w >> 2] = (c[w >> 2] | 0) + ((c[s >> 2] | 0) - 1);
- } else {
- c[B >> 2] = o & ((m << 1) - 1);
- if ((c[B >> 2] | 0) >= (c[u >> 2] | 0))
- c[B >> 2] = (c[B >> 2] | 0) - (c[A >> 2] | 0);
- c[w >> 2] = (c[w >> 2] | 0) + (c[s >> 2] | 0);
- }
- c[B >> 2] = (c[B >> 2] | 0) + -1;
- m = c[B >> 2] | 0;
- c[t >> 2] =
- (c[t >> 2] | 0) - ((c[B >> 2] | 0) < 0 ? (0 - m) | 0 : m);
- m = c[B >> 2] & 65535;
- o = c[j >> 2] | 0;
- n = c[x >> 2] | 0;
- c[x >> 2] = n + 1;
- b[(o + (n << 1)) >> 1] = m;
- c[y >> 2] = (((c[B >> 2] | 0) != 0) ^ 1) & 1;
- while (1) {
- if ((c[t >> 2] | 0) >= (c[u >> 2] | 0)) break;
- c[s >> 2] = (c[s >> 2] | 0) + -1;
- c[u >> 2] = c[u >> 2] >> 1;
- }
- if (
- (c[r >> 2] | 0) >>> 0 > (((c[q >> 2] | 0) + -7) | 0) >>> 0
- ? (((c[r >> 2] | 0) + (c[w >> 2] >> 3)) | 0) >>> 0 >
- (((c[q >> 2] | 0) + -4) | 0) >>> 0
- : 0
- ) {
- c[w >> 2] =
- (c[w >> 2] | 0) -
- (((c[q >> 2] | 0) + -4 - (c[r >> 2] | 0)) << 3);
- c[r >> 2] = (c[q >> 2] | 0) + -4;
- } else {
- c[r >> 2] = (c[r >> 2] | 0) + (c[w >> 2] >> 3);
- c[w >> 2] = c[w >> 2] & 7;
- }
- m = bh(c[r >> 2] | 0) | 0;
- c[v >> 2] = m >>> (c[w >> 2] & 31);
- }
- if ((D | 0) == 18) {
- c[i >> 2] = -48;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- if ((c[t >> 2] | 0) != 1) {
- c[i >> 2] = -20;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- if ((c[w >> 2] | 0) > 32) {
- c[i >> 2] = -20;
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- } else {
- c[c[k >> 2] >> 2] = (c[x >> 2] | 0) - 1;
- c[r >> 2] = (c[r >> 2] | 0) + (((c[w >> 2] | 0) + 7) >> 3);
- c[i >> 2] = (c[r >> 2] | 0) - (c[p >> 2] | 0);
- C = c[i >> 2] | 0;
- l = h;
- return C | 0;
- }
- return 0;
- }
- function bh(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (ch() | 0) != 0;
- f = dh(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = eh(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function ch() {
- return d[11936] | 0 | 0;
- }
- function dh(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function eh(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function fh(b, e, f, g, h, i, j) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0;
- k = l;
- l = (l + 336) | 0;
- m = (k + 332) | 0;
- n = (k + 328) | 0;
- o = (k + 324) | 0;
- p = (k + 320) | 0;
- q = (k + 316) | 0;
- r = (k + 312) | 0;
- s = (k + 308) | 0;
- t = (k + 304) | 0;
- u = (k + 300) | 0;
- v = (k + 296) | 0;
- w = (k + 292) | 0;
- x = (k + 288) | 0;
- y = (k + 284) | 0;
- z = k;
- A = (k + 280) | 0;
- B = (k + 276) | 0;
- C = (k + 272) | 0;
- D = (k + 268) | 0;
- E = (k + 264) | 0;
- F = (k + 260) | 0;
- c[n >> 2] = b;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[v >> 2] = c[s >> 2];
- if (!(c[t >> 2] | 0)) {
- c[m >> 2] = -72;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- c[w >> 2] = d[c[v >> 2] >> 0];
- s = c[w >> 2] | 0;
- a: do {
- if ((c[w >> 2] | 0) >>> 0 < 128) {
- if (((s + 1) | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) {
- c[m >> 2] = -72;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- c[x >> 2] =
- gh(
- c[n >> 2] | 0,
- ((c[o >> 2] | 0) - 1) | 0,
- ((c[v >> 2] | 0) + 1) | 0,
- c[w >> 2] | 0,
- z,
- 6
- ) | 0;
- if (Zg(c[x >> 2] | 0) | 0) {
- c[m >> 2] = c[x >> 2];
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- } else {
- c[x >> 2] = s - 127;
- c[w >> 2] = (((((c[x >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0;
- if (
- (((c[w >> 2] | 0) + 1) | 0) >>> 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[m >> 2] = -72;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- if ((c[x >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) {
- c[m >> 2] = -20;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) + 1;
- c[y >> 2] = 0;
- while (1) {
- if ((c[y >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0)
- break a;
- a[((c[n >> 2] | 0) + (c[y >> 2] | 0)) >> 0] =
- (d[
- ((c[v >> 2] | 0) +
- ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) >>
- 4;
- a[((c[n >> 2] | 0) + ((c[y >> 2] | 0) + 1)) >> 0] =
- (d[
- ((c[v >> 2] | 0) +
- ((((c[y >> 2] | 0) >>> 0) / 2) | 0)) >>
- 0
- ] |
- 0) &
- 15;
- c[y >> 2] = (c[y >> 2] | 0) + 2;
- }
- }
- } while (0);
- y = c[p >> 2] | 0;
- v = (y + 52) | 0;
- do {
- c[y >> 2] = 0;
- y = (y + 4) | 0;
- } while ((y | 0) < (v | 0));
- c[u >> 2] = 0;
- c[A >> 2] = 0;
- while (1) {
- if ((c[A >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) break;
- if (
- (d[((c[n >> 2] | 0) + (c[A >> 2] | 0)) >> 0] | 0 | 0) >=
- 12
- ) {
- H = 18;
- break;
- }
- y =
- ((c[p >> 2] | 0) +
- ((d[((c[n >> 2] | 0) + (c[A >> 2] | 0)) >> 0] | 0) <<
- 2)) |
- 0;
- c[y >> 2] = (c[y >> 2] | 0) + 1;
- c[u >> 2] =
- (c[u >> 2] | 0) +
- ((1 <<
- (d[((c[n >> 2] | 0) + (c[A >> 2] | 0)) >> 0] | 0)) >>
- 1);
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- }
- if ((H | 0) == 18) {
- c[m >> 2] = -20;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- if (!(c[u >> 2] | 0)) {
- c[m >> 2] = -20;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- c[B >> 2] = (hh(c[u >> 2] | 0) | 0) + 1;
- if ((c[B >> 2] | 0) >>> 0 > 12) {
- c[m >> 2] = -20;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- c[c[r >> 2] >> 2] = c[B >> 2];
- c[C >> 2] = 1 << c[B >> 2];
- c[D >> 2] = (c[C >> 2] | 0) - (c[u >> 2] | 0);
- c[E >> 2] = 1 << (hh(c[D >> 2] | 0) | 0);
- c[F >> 2] = (hh(c[D >> 2] | 0) | 0) + 1;
- if ((c[E >> 2] | 0) != (c[D >> 2] | 0)) {
- c[m >> 2] = -20;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- a[((c[n >> 2] | 0) + (c[x >> 2] | 0)) >> 0] = c[F >> 2];
- n = ((c[p >> 2] | 0) + (c[F >> 2] << 2)) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- if (
- (c[((c[p >> 2] | 0) + 4) >> 2] | 0) >>> 0 >= 2
- ? ((c[((c[p >> 2] | 0) + 4) >> 2] & 1) | 0) == 0
- : 0
- ) {
- c[c[q >> 2] >> 2] = (c[x >> 2] | 0) + 1;
- c[m >> 2] = (c[w >> 2] | 0) + 1;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- c[m >> 2] = -20;
- G = c[m >> 2] | 0;
- l = k;
- return G | 0;
- }
- function gh(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- h = l;
- l = (l + 576) | 0;
- i = (h + 560) | 0;
- j = (h + 556) | 0;
- k = (h + 552) | 0;
- m = (h + 548) | 0;
- n = (h + 544) | 0;
- o = (h + 540) | 0;
- p = (h + 536) | 0;
- q = (h + 532) | 0;
- r = (h + 528) | 0;
- s = h;
- t = (h + 524) | 0;
- u = (h + 520) | 0;
- v = (h + 516) | 0;
- w = (h + 512) | 0;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = c[m >> 2];
- c[r >> 2] = c[q >> 2];
- c[u >> 2] = 255;
- c[v >> 2] = ah(s, u, t, c[q >> 2] | 0, c[n >> 2] | 0) | 0;
- if (ih(c[v >> 2] | 0) | 0) {
- c[i >> 2] = c[v >> 2];
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- if ((c[t >> 2] | 0) >>> 0 > (c[p >> 2] | 0) >>> 0) {
- c[i >> 2] = -44;
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- c[r >> 2] = (c[r >> 2] | 0) + (c[v >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) - (c[v >> 2] | 0);
- c[w >> 2] =
- jh(c[o >> 2] | 0, s, c[u >> 2] | 0, c[t >> 2] | 0) | 0;
- if (ih(c[w >> 2] | 0) | 0) {
- c[i >> 2] = c[w >> 2];
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- } else {
- c[i >> 2] =
- kh(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[r >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- x = c[i >> 2] | 0;
- l = h;
- return x | 0;
- }
- return 0;
- }
- function hh(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function ih(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function jh(e, f, g, h) {
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0;
- i = l;
- l = (l + 608) | 0;
- j = (i + 580) | 0;
- k = (i + 576) | 0;
- m = (i + 572) | 0;
- n = (i + 568) | 0;
- o = (i + 564) | 0;
- p = (i + 560) | 0;
- q = (i + 556) | 0;
- r = i;
- s = (i + 552) | 0;
- t = (i + 548) | 0;
- u = (i + 544) | 0;
- v = (i + 588) | 0;
- w = (i + 584) | 0;
- x = (i + 540) | 0;
- y = (i + 536) | 0;
- z = (i + 532) | 0;
- A = (i + 528) | 0;
- B = (i + 524) | 0;
- C = (i + 520) | 0;
- D = (i + 516) | 0;
- E = (i + 592) | 0;
- F = (i + 512) | 0;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = h;
- c[p >> 2] = (c[k >> 2] | 0) + 4;
- c[q >> 2] = c[p >> 2];
- c[s >> 2] = (c[n >> 2] | 0) + 1;
- c[t >> 2] = 1 << c[o >> 2];
- c[u >> 2] = (c[t >> 2] | 0) - 1;
- if ((c[n >> 2] | 0) >>> 0 > 255) {
- c[j >> 2] = -46;
- G = c[j >> 2] | 0;
- l = i;
- return G | 0;
- }
- if ((c[o >> 2] | 0) >>> 0 > 12) {
- c[j >> 2] = -44;
- G = c[j >> 2] | 0;
- l = i;
- return G | 0;
- }
- b[v >> 1] = c[o >> 2];
- b[(v + 2) >> 1] = 1;
- b[w >> 1] = 1 << ((c[o >> 2] | 0) - 1);
- c[x >> 2] = 0;
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
- if (
- (b[((c[m >> 2] | 0) + (c[x >> 2] << 1)) >> 1] | 0) ==
- -1
- ) {
- n = c[x >> 2] & 255;
- p = c[q >> 2] | 0;
- h = c[u >> 2] | 0;
- c[u >> 2] = h + -1;
- a[(p + (h << 2) + 2) >> 0] = n;
- b[(r + (c[x >> 2] << 1)) >> 1] = 1;
- } else {
- if (
- (b[((c[m >> 2] | 0) + (c[x >> 2] << 1)) >> 1] | 0) >=
- (b[w >> 1] | 0)
- )
- b[(v + 2) >> 1] = 0;
- b[(r + (c[x >> 2] << 1)) >> 1] =
- b[((c[m >> 2] | 0) + (c[x >> 2] << 1)) >> 1] | 0;
- }
- c[x >> 2] = (c[x >> 2] | 0) + 1;
- }
- x = c[k >> 2] | 0;
- b[x >> 1] = b[v >> 1] | 0;
- b[(x + 2) >> 1] = b[(v + 2) >> 1] | 0;
- c[y >> 2] = (c[t >> 2] | 0) - 1;
- c[z >> 2] =
- ((c[t >> 2] | 0) >>> 1) + ((c[t >> 2] | 0) >>> 3) + 3;
- c[B >> 2] = 0;
- c[A >> 2] = 0;
- while (1) {
- if ((c[A >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
- c[C >> 2] = 0;
- while (1) {
- H = c[A >> 2] | 0;
- if (
- (c[C >> 2] | 0) >=
- (b[((c[m >> 2] | 0) + (c[A >> 2] << 1)) >> 1] | 0)
- )
- break;
- a[((c[q >> 2] | 0) + (c[B >> 2] << 2) + 2) >> 0] = H;
- c[B >> 2] =
- ((c[B >> 2] | 0) + (c[z >> 2] | 0)) & c[y >> 2];
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
- break;
- c[B >> 2] =
- ((c[B >> 2] | 0) + (c[z >> 2] | 0)) & c[y >> 2];
- }
- c[C >> 2] = (c[C >> 2] | 0) + 1;
- }
- c[A >> 2] = H + 1;
- }
- if (c[B >> 2] | 0) {
- c[j >> 2] = -1;
- G = c[j >> 2] | 0;
- l = i;
- return G | 0;
- }
- c[D >> 2] = 0;
- while (1) {
- if ((c[D >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- a[E >> 0] =
- a[((c[q >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0;
- B = (r + (d[E >> 0] << 1)) | 0;
- H = b[B >> 1] | 0;
- b[B >> 1] = ((H + 1) << 16) >> 16;
- c[F >> 2] = H & 65535;
- H = c[o >> 2] | 0;
- B = (H - (Eh(c[F >> 2] | 0) | 0)) & 255;
- a[((c[q >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0] = B;
- b[((c[q >> 2] | 0) + (c[D >> 2] << 2)) >> 1] =
- (c[F >> 2] <<
- d[((c[q >> 2] | 0) + (c[D >> 2] << 2) + 3) >> 0]) -
- (c[t >> 2] | 0);
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[j >> 2] = 0;
- G = c[j >> 2] | 0;
- l = i;
- return G | 0;
- }
- function kh(b, d, f, g, h) {
- b = b | 0;
- d = d | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0;
- i = l;
- l = (l + 208) | 0;
- j = (i + 204) | 0;
- k = (i + 200) | 0;
- m = (i + 196) | 0;
- n = (i + 192) | 0;
- o = (i + 188) | 0;
- p = (i + 184) | 0;
- q = (i + 180) | 0;
- r = (i + 176) | 0;
- s = (i + 172) | 0;
- t = (i + 168) | 0;
- u = (i + 164) | 0;
- v = (i + 144) | 0;
- w = (i + 136) | 0;
- x = (i + 128) | 0;
- y = (i + 120) | 0;
- z = (i + 116) | 0;
- A = (i + 112) | 0;
- B = (i + 108) | 0;
- C = (i + 104) | 0;
- D = (i + 100) | 0;
- E = (i + 96) | 0;
- F = (i + 92) | 0;
- G = (i + 88) | 0;
- H = (i + 84) | 0;
- I = (i + 80) | 0;
- J = (i + 76) | 0;
- K = (i + 56) | 0;
- L = (i + 48) | 0;
- M = (i + 40) | 0;
- N = (i + 36) | 0;
- O = (i + 32) | 0;
- P = (i + 28) | 0;
- Q = (i + 24) | 0;
- R = (i + 20) | 0;
- S = (i + 16) | 0;
- T = (i + 12) | 0;
- U = (i + 8) | 0;
- V = (i + 4) | 0;
- W = i;
- c[P >> 2] = b;
- c[Q >> 2] = d;
- c[R >> 2] = f;
- c[S >> 2] = g;
- c[T >> 2] = h;
- c[U >> 2] = c[T >> 2];
- c[V >> 2] = c[U >> 2];
- c[W >> 2] = e[((c[V >> 2] | 0) + 2) >> 1];
- V = c[P >> 2] | 0;
- P = c[Q >> 2] | 0;
- Q = c[R >> 2] | 0;
- R = c[S >> 2] | 0;
- S = c[T >> 2] | 0;
- if (c[W >> 2] | 0) {
- c[A >> 2] = V;
- c[B >> 2] = P;
- c[C >> 2] = Q;
- c[D >> 2] = R;
- c[E >> 2] = S;
- c[F >> 2] = 1;
- c[G >> 2] = c[A >> 2];
- c[H >> 2] = c[G >> 2];
- c[I >> 2] = (c[H >> 2] | 0) + (c[B >> 2] | 0);
- c[J >> 2] = (c[I >> 2] | 0) + -3;
- c[N >> 2] = lh(K, c[C >> 2] | 0, c[D >> 2] | 0) | 0;
- do {
- if (ih(c[N >> 2] | 0) | 0) c[z >> 2] = c[N >> 2];
- else {
- mh(L, K, c[E >> 2] | 0);
- mh(M, K, c[E >> 2] | 0);
- while (1) {
- D = ((nh(K) | 0) == 0) & 1;
- if (
- !(
- D &
- ((c[H >> 2] | 0) >>> 0 < (c[J >> 2] | 0) >>> 0)
- )
- )
- break;
- if (c[F >> 2] | 0) X = (oh(L, K) | 0) & 255;
- else X = (ph(L, K) | 0) & 255;
- a[c[H >> 2] >> 0] = X;
- if (c[F >> 2] | 0) Y = (oh(M, K) | 0) & 255;
- else Y = (ph(M, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 1) >> 0] = Y;
- if ((nh(K) | 0) >>> 0 > 0) {
- Z = 13;
- break;
- }
- if (c[F >> 2] | 0) _ = (oh(L, K) | 0) & 255;
- else _ = (ph(L, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 2) >> 0] = _;
- if (c[F >> 2] | 0) $ = (oh(M, K) | 0) & 255;
- else $ = (ph(M, K) | 0) & 255;
- a[((c[H >> 2] | 0) + 3) >> 0] = $;
- c[H >> 2] = (c[H >> 2] | 0) + 4;
- }
- if ((Z | 0) == 13) c[H >> 2] = (c[H >> 2] | 0) + 2;
- while (1) {
- if (
- (c[H >> 2] | 0) >>> 0 >
- (((c[I >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 23;
- break;
- }
- if (c[F >> 2] | 0) aa = (oh(L, K) | 0) & 255;
- else aa = (ph(L, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = aa;
- if ((nh(K) | 0) == 3) {
- Z = 28;
- break;
- }
- if (
- (c[H >> 2] | 0) >>> 0 >
- (((c[I >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 33;
- break;
- }
- if (c[F >> 2] | 0) ba = (oh(M, K) | 0) & 255;
- else ba = (ph(M, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = ba;
- if ((nh(K) | 0) == 3) {
- Z = 38;
- break;
- }
- }
- if ((Z | 0) == 23) {
- c[z >> 2] = -70;
- break;
- } else if ((Z | 0) == 28) {
- if (c[F >> 2] | 0) ca = (oh(M, K) | 0) & 255;
- else ca = (ph(M, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = ca;
- } else if ((Z | 0) == 33) {
- c[z >> 2] = -70;
- break;
- } else if ((Z | 0) == 38) {
- if (c[F >> 2] | 0) da = (oh(L, K) | 0) & 255;
- else da = (ph(L, K) | 0) & 255;
- D = c[H >> 2] | 0;
- c[H >> 2] = D + 1;
- a[D >> 0] = da;
- }
- c[z >> 2] = (c[H >> 2] | 0) - (c[G >> 2] | 0);
- }
- } while (0);
- c[O >> 2] = c[z >> 2];
- ea = c[O >> 2] | 0;
- l = i;
- return ea | 0;
- } else {
- c[k >> 2] = V;
- c[m >> 2] = P;
- c[n >> 2] = Q;
- c[o >> 2] = R;
- c[p >> 2] = S;
- c[q >> 2] = 0;
- c[r >> 2] = c[k >> 2];
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = (c[s >> 2] | 0) + (c[m >> 2] | 0);
- c[u >> 2] = (c[t >> 2] | 0) + -3;
- c[y >> 2] = lh(v, c[n >> 2] | 0, c[o >> 2] | 0) | 0;
- do {
- if (ih(c[y >> 2] | 0) | 0) c[j >> 2] = c[y >> 2];
- else {
- mh(w, v, c[p >> 2] | 0);
- mh(x, v, c[p >> 2] | 0);
- while (1) {
- o = ((nh(v) | 0) == 0) & 1;
- if (
- !(
- o &
- ((c[s >> 2] | 0) >>> 0 < (c[u >> 2] | 0) >>> 0)
- )
- )
- break;
- if (c[q >> 2] | 0) fa = (oh(w, v) | 0) & 255;
- else fa = (ph(w, v) | 0) & 255;
- a[c[s >> 2] >> 0] = fa;
- if (c[q >> 2] | 0) ga = (oh(x, v) | 0) & 255;
- else ga = (ph(x, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 1) >> 0] = ga;
- if ((nh(v) | 0) >>> 0 > 0) {
- Z = 56;
- break;
- }
- if (c[q >> 2] | 0) ha = (oh(w, v) | 0) & 255;
- else ha = (ph(w, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 2) >> 0] = ha;
- if (c[q >> 2] | 0) ia = (oh(x, v) | 0) & 255;
- else ia = (ph(x, v) | 0) & 255;
- a[((c[s >> 2] | 0) + 3) >> 0] = ia;
- c[s >> 2] = (c[s >> 2] | 0) + 4;
- }
- if ((Z | 0) == 56) c[s >> 2] = (c[s >> 2] | 0) + 2;
- while (1) {
- if (
- (c[s >> 2] | 0) >>> 0 >
- (((c[t >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 66;
- break;
- }
- if (c[q >> 2] | 0) ja = (oh(w, v) | 0) & 255;
- else ja = (ph(w, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ja;
- if ((nh(v) | 0) == 3) {
- Z = 71;
- break;
- }
- if (
- (c[s >> 2] | 0) >>> 0 >
- (((c[t >> 2] | 0) + -2) | 0) >>> 0
- ) {
- Z = 76;
- break;
- }
- if (c[q >> 2] | 0) ka = (oh(x, v) | 0) & 255;
- else ka = (ph(x, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ka;
- if ((nh(v) | 0) == 3) {
- Z = 81;
- break;
- }
- }
- if ((Z | 0) == 66) {
- c[j >> 2] = -70;
- break;
- } else if ((Z | 0) == 71) {
- if (c[q >> 2] | 0) la = (oh(x, v) | 0) & 255;
- else la = (ph(x, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = la;
- } else if ((Z | 0) == 76) {
- c[j >> 2] = -70;
- break;
- } else if ((Z | 0) == 81) {
- if (c[q >> 2] | 0) ma = (oh(w, v) | 0) & 255;
- else ma = (ph(w, v) | 0) & 255;
- o = c[s >> 2] | 0;
- c[s >> 2] = o + 1;
- a[o >> 0] = ma;
- }
- c[j >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- }
- } while (0);
- c[O >> 2] = c[j >> 2];
- ea = c[O >> 2] | 0;
- l = i;
- return ea | 0;
- }
- return 0;
- }
- function lh(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 12) | 0;
- i = (g + 8) | 0;
- j = (g + 4) | 0;
- k = g;
- m = (g + 17) | 0;
- n = (g + 16) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- if ((c[k >> 2] | 0) >>> 0 < 1) {
- f = c[i >> 2] | 0;
- c[f >> 2] = 0;
- c[(f + 4) >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- c[(f + 12) >> 2] = 0;
- c[(f + 16) >> 2] = 0;
- c[h >> 2] = -72;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- c[((c[i >> 2] | 0) + 12) >> 2] = c[j >> 2];
- c[((c[i >> 2] | 0) + 16) >> 2] =
- (c[((c[i >> 2] | 0) + 12) >> 2] | 0) + 4;
- do {
- if ((c[k >> 2] | 0) >>> 0 >= 4) {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- (c[j >> 2] | 0) + (c[k >> 2] | 0) + -4;
- f = vh(c[((c[i >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = f;
- a[m >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[m >> 0] | 0 | 0)
- p = (8 - (Eh(d[m >> 0] | 0) | 0)) | 0;
- else p = 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = p;
- if (!(d[m >> 0] | 0)) {
- c[h >> 2] = -1;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } else {
- c[((c[i >> 2] | 0) + 8) >> 2] =
- c[((c[i >> 2] | 0) + 12) >> 2];
- c[c[i >> 2] >> 2] =
- d[c[((c[i >> 2] | 0) + 12) >> 2] >> 0];
- switch (c[k >> 2] | 0) {
- case 7: {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 6) >> 0] | 0) << 16);
- q = 10;
- break;
- }
- case 6: {
- q = 10;
- break;
- }
- case 5: {
- q = 11;
- break;
- }
- case 4: {
- q = 12;
- break;
- }
- case 3: {
- q = 13;
- break;
- }
- case 2: {
- q = 14;
- break;
- }
- default: {
- }
- }
- if ((q | 0) == 10) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 5) >> 0] | 0) << 8);
- q = 11;
- }
- if ((q | 0) == 11) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 4) >> 0] | 0) << 0);
- q = 12;
- }
- if ((q | 0) == 12) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 3) >> 0] | 0) << 24);
- q = 13;
- }
- if ((q | 0) == 13) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 2) >> 0] | 0) << 16);
- q = 14;
- }
- if ((q | 0) == 14) {
- f = c[i >> 2] | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) +
- ((d[((c[j >> 2] | 0) + 1) >> 0] | 0) << 8);
- }
- a[n >> 0] =
- a[((c[j >> 2] | 0) + ((c[k >> 2] | 0) - 1)) >> 0] | 0;
- if (d[n >> 0] | 0 | 0)
- r = (8 - (Eh(d[n >> 0] | 0) | 0)) | 0;
- else r = 0;
- c[((c[i >> 2] | 0) + 4) >> 2] = r;
- if (d[n >> 0] | 0 | 0) {
- f = ((c[i >> 2] | 0) + 4) | 0;
- c[f >> 2] =
- (c[f >> 2] | 0) + ((4 - (c[k >> 2] | 0)) << 3);
- break;
- }
- c[h >> 2] = -20;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } while (0);
- c[h >> 2] = c[k >> 2];
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- function mh(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = c[i >> 2];
- c[k >> 2] = c[j >> 2];
- j = qh(c[h >> 2] | 0, e[c[k >> 2] >> 1] | 0) | 0;
- c[c[g >> 2] >> 2] = j;
- nh(c[h >> 2] | 0) | 0;
- c[((c[g >> 2] | 0) + 4) >> 2] = (c[i >> 2] | 0) + 4;
- l = f;
- return;
- }
- function nh(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 12) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[e >> 2] = a;
- if ((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 32) {
- c[d >> 2] = 3;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- a = c[e >> 2] | 0;
- if (
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
- ) {
- i = ((c[e >> 2] | 0) + 8) | 0;
- c[i >> 2] =
- (c[i >> 2] | 0) + (0 - ((c[(a + 4) >> 2] | 0) >>> 3));
- i = ((c[e >> 2] | 0) + 4) | 0;
- c[i >> 2] = c[i >> 2] & 7;
- i = vh(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = i;
- c[d >> 2] = 0;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- i = c[((c[e >> 2] | 0) + 4) >> 2] | 0;
- if (
- (c[(a + 8) >> 2] | 0) !=
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0)
- ) {
- c[f >> 2] = i >>> 3;
- c[g >> 2] = 0;
- if (
- (((c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (0 - (c[f >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
- ) {
- c[f >> 2] =
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0);
- c[g >> 2] = 1;
- }
- a = ((c[e >> 2] | 0) + 8) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (0 - (c[f >> 2] | 0));
- a = ((c[e >> 2] | 0) + 4) | 0;
- c[a >> 2] = (c[a >> 2] | 0) - (c[f >> 2] << 3);
- f = vh(c[((c[e >> 2] | 0) + 8) >> 2] | 0) | 0;
- c[c[e >> 2] >> 2] = f;
- c[d >> 2] = c[g >> 2];
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- if (i >>> 0 < 32) {
- c[d >> 2] = 1;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- c[d >> 2] = 2;
- h = c[d >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function oh(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = th(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function ph(f, g) {
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 12) | 0;
- j = (h + 8) | 0;
- k = (h + 16) | 0;
- m = (h + 4) | 0;
- n = (h + 20) | 0;
- o = h;
- c[i >> 2] = f;
- c[j >> 2] = g;
- g =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) +
- (c[c[i >> 2] >> 2] << 2)) |
- 0;
- b[k >> 1] = b[g >> 1] | 0;
- b[(k + 2) >> 1] = b[(g + 2) >> 1] | 0;
- c[m >> 2] = d[(k + 3) >> 0];
- a[n >> 0] = a[(k + 2) >> 0] | 0;
- c[o >> 2] = qh(c[j >> 2] | 0, c[m >> 2] | 0) | 0;
- c[c[i >> 2] >> 2] = (e[k >> 1] | 0) + (c[o >> 2] | 0);
- l = h;
- return a[n >> 0] | 0;
- }
- function qh(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = rh(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- sh(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function rh(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- (((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- 1) >>>
- ((31 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function sh(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ((c[e >> 2] | 0) + 4) | 0;
- c[b >> 2] = (c[b >> 2] | 0) + (c[f >> 2] | 0);
- l = d;
- return;
- }
- function th(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = uh(c[e >> 2] | 0, c[f >> 2] | 0) | 0;
- sh(c[e >> 2] | 0, c[f >> 2] | 0);
- l = d;
- return c[g >> 2] | 0;
- }
- function uh(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[d >> 2] = 31;
- l = d;
- return (
- ((c[c[e >> 2] >> 2] <<
- (c[((c[e >> 2] | 0) + 4) >> 2] & 31)) >>>
- ((32 - (c[f >> 2] | 0)) & 31)) |
- 0
- );
- }
- function vh(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (wh() | 0) != 0;
- f = c[e >> 2] | 0;
- if (a) {
- c[d >> 2] = xh(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- a = yh(f) | 0;
- c[d >> 2] = a;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function wh() {
- return 1;
- }
- function xh(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (zh() | 0) != 0;
- f = Ch(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = Dh(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function yh(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (zh() | 0) != 0;
- f = Ah(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = Bh(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function zh() {
- return d[11936] | 0 | 0;
- }
- function Ah(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- e = a;
- f = (a + 4) | 0;
- y =
- d[f >> 0] |
- (d[(f + 1) >> 0] << 8) |
- (d[(f + 2) >> 0] << 16) |
- (d[(f + 3) >> 0] << 24);
- l = b;
- return (
- d[e >> 0] |
- (d[(e + 1) >> 0] << 8) |
- (d[(e + 2) >> 0] << 16) |
- (d[(e + 3) >> 0] << 24) |
- 0
- );
- }
- function Bh(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function Ch(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function Dh(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function Eh(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function Fh(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = b;
- b = c[e >> 2] | 0;
- a[f >> 0] = a[b >> 0] | 0;
- a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
- a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
- a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
- l = d;
- return c[f >> 2] | 0;
- }
- function Gh(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function Hh(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = d;
- c[e >> 2] = b;
- b = c[e >> 2] | 0;
- a[f >> 0] = a[b >> 0] | 0;
- a[(f + 1) >> 0] = a[(b + 1) >> 0] | 0;
- a[(f + 2) >> 0] = a[(b + 2) >> 0] | 0;
- a[(f + 3) >> 0] = a[(b + 3) >> 0] | 0;
- a[(f + 4) >> 0] = a[(b + 4) >> 0] | 0;
- a[(f + 5) >> 0] = a[(b + 5) >> 0] | 0;
- a[(f + 6) >> 0] = a[(b + 6) >> 0] | 0;
- a[(f + 7) >> 0] = a[(b + 7) >> 0] | 0;
- b = f;
- y = c[(b + 4) >> 2] | 0;
- l = d;
- return c[b >> 2] | 0;
- }
- function Ih(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function Jh(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0;
- f = l;
- l = (l + 16) | 0;
- g = (f + 8) | 0;
- h = f;
- i = g;
- c[i >> 2] = a;
- c[(i + 4) >> 2] = b;
- b = h;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- e = h;
- h =
- cE(
- c[e >> 2] | 0,
- c[(e + 4) >> 2] | 0,
- 668265295,
- -1028477379
- ) | 0;
- e = g;
- b = dE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, h | 0, y | 0) | 0;
- h = g;
- c[h >> 2] = b;
- c[(h + 4) >> 2] = y;
- h = g;
- b = jE(c[h >> 2] | 0, c[(h + 4) >> 2] | 0, 31) | 0;
- h = y;
- e = g;
- d = iE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, 33) | 0;
- e = g;
- c[e >> 2] = b | d;
- c[(e + 4) >> 2] = h | y;
- h = g;
- e =
- cE(
- c[h >> 2] | 0,
- c[(h + 4) >> 2] | 0,
- -2048144761,
- -1640531535
- ) | 0;
- h = g;
- c[h >> 2] = e;
- c[(h + 4) >> 2] = y;
- h = g;
- y = c[(h + 4) >> 2] | 0;
- l = f;
- return c[h >> 2] | 0;
- }
- function Kh(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0;
- f = l;
- l = (l + 16) | 0;
- g = (f + 8) | 0;
- h = f;
- i = g;
- c[i >> 2] = a;
- c[(i + 4) >> 2] = b;
- b = h;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- e = h;
- b = Jh(0, 0, c[e >> 2] | 0, c[(e + 4) >> 2] | 0) | 0;
- e = h;
- c[e >> 2] = b;
- c[(e + 4) >> 2] = y;
- e = h;
- h = g;
- b = c[(h + 4) >> 2] ^ c[(e + 4) >> 2];
- d = g;
- c[d >> 2] = c[h >> 2] ^ c[e >> 2];
- c[(d + 4) >> 2] = b;
- b = g;
- d =
- cE(
- c[b >> 2] | 0,
- c[(b + 4) >> 2] | 0,
- -2048144761,
- -1640531535
- ) | 0;
- b = dE(d | 0, y | 0, -1028477341, -2048144777) | 0;
- d = g;
- c[d >> 2] = b;
- c[(d + 4) >> 2] = y;
- d = g;
- y = c[(d + 4) >> 2] | 0;
- l = f;
- return c[d >> 2] | 0;
- }
- function Lh(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 112) | 0;
- f = (e + 96) | 0;
- g = (e + 88) | 0;
- h = e;
- c[f >> 2] = a;
- a = g;
- c[a >> 2] = b;
- c[(a + 4) >> 2] = d;
- d = h;
- a = (d + 80) | 0;
- do {
- c[d >> 2] = 0;
- d = (d + 4) | 0;
- } while ((d | 0) < (a | 0));
- b = g;
- i =
- dE(
- c[b >> 2] | 0,
- c[(b + 4) >> 2] | 0,
- -2048144761,
- -1640531535
- ) | 0;
- b = dE(i | 0, y | 0, 668265295, -1028477379) | 0;
- i = (h + 8) | 0;
- c[i >> 2] = b;
- c[(i + 4) >> 2] = y;
- i = g;
- b =
- dE(
- c[i >> 2] | 0,
- c[(i + 4) >> 2] | 0,
- 668265295,
- -1028477379
- ) | 0;
- i = (h + 16) | 0;
- c[i >> 2] = b;
- c[(i + 4) >> 2] = y;
- i = g;
- b = dE(c[i >> 2] | 0, c[(i + 4) >> 2] | 0, 0, 0) | 0;
- i = (h + 24) | 0;
- c[i >> 2] = b;
- c[(i + 4) >> 2] = y;
- i = g;
- g =
- eE(
- c[i >> 2] | 0,
- c[(i + 4) >> 2] | 0,
- -2048144761,
- -1640531535
- ) | 0;
- i = (h + 32) | 0;
- c[i >> 2] = g;
- c[(i + 4) >> 2] = y;
- d = c[f >> 2] | 0;
- f = h;
- a = (d + 88) | 0;
- do {
- c[d >> 2] = c[f >> 2];
- d = (d + 4) | 0;
- f = (f + 4) | 0;
- } while ((d | 0) < (a | 0));
- l = e;
- return 0;
- }
- function Mh(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = c[f >> 2] | 0;
- mE(d | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- l = e;
- return d | 0;
- }
- function Nh(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0;
- f = l;
- l = (l + 608) | 0;
- g = (f + 184) | 0;
- h = (f + 592) | 0;
- i = (f + 588) | 0;
- j = (f + 584) | 0;
- k = (f + 580) | 0;
- m = (f + 576) | 0;
- n = (f + 176) | 0;
- o = (f + 572) | 0;
- p = (f + 568) | 0;
- q = (f + 564) | 0;
- r = (f + 560) | 0;
- s = (f + 556) | 0;
- t = (f + 168) | 0;
- u = (f + 552) | 0;
- v = (f + 548) | 0;
- w = (f + 544) | 0;
- x = (f + 540) | 0;
- z = (f + 536) | 0;
- A = (f + 160) | 0;
- B = (f + 532) | 0;
- C = (f + 528) | 0;
- D = (f + 524) | 0;
- E = (f + 520) | 0;
- F = (f + 516) | 0;
- G = (f + 152) | 0;
- H = (f + 512) | 0;
- I = (f + 508) | 0;
- J = (f + 504) | 0;
- K = (f + 500) | 0;
- L = (f + 496) | 0;
- M = (f + 144) | 0;
- N = (f + 492) | 0;
- O = (f + 488) | 0;
- P = (f + 484) | 0;
- Q = (f + 480) | 0;
- R = (f + 476) | 0;
- S = (f + 136) | 0;
- T = (f + 472) | 0;
- U = (f + 468) | 0;
- V = (f + 464) | 0;
- W = (f + 460) | 0;
- X = (f + 456) | 0;
- Y = (f + 128) | 0;
- Z = (f + 452) | 0;
- _ = (f + 448) | 0;
- $ = (f + 444) | 0;
- aa = (f + 440) | 0;
- ba = (f + 436) | 0;
- ca = (f + 432) | 0;
- da = (f + 428) | 0;
- ea = (f + 424) | 0;
- fa = (f + 420) | 0;
- ga = (f + 416) | 0;
- ha = (f + 412) | 0;
- ia = (f + 408) | 0;
- ja = (f + 404) | 0;
- ka = (f + 120) | 0;
- la = (f + 112) | 0;
- ma = (f + 104) | 0;
- na = (f + 96) | 0;
- oa = (f + 88) | 0;
- pa = (f + 400) | 0;
- qa = (f + 396) | 0;
- ra = (f + 392) | 0;
- sa = (f + 388) | 0;
- ta = (f + 384) | 0;
- ua = (f + 80) | 0;
- va = (f + 380) | 0;
- wa = (f + 376) | 0;
- xa = (f + 372) | 0;
- ya = (f + 368) | 0;
- za = (f + 364) | 0;
- Aa = (f + 72) | 0;
- Ba = (f + 360) | 0;
- Ca = (f + 356) | 0;
- Da = (f + 352) | 0;
- Ea = (f + 348) | 0;
- Fa = (f + 344) | 0;
- Ga = (f + 64) | 0;
- Ha = (f + 340) | 0;
- Ia = (f + 336) | 0;
- Ja = (f + 332) | 0;
- Ka = (f + 328) | 0;
- La = (f + 324) | 0;
- Ma = (f + 56) | 0;
- Na = (f + 320) | 0;
- Oa = (f + 316) | 0;
- Pa = (f + 312) | 0;
- Qa = (f + 308) | 0;
- Ra = (f + 304) | 0;
- Sa = (f + 48) | 0;
- Ta = (f + 300) | 0;
- Ua = (f + 296) | 0;
- Va = (f + 292) | 0;
- Wa = (f + 288) | 0;
- Xa = (f + 284) | 0;
- Ya = (f + 40) | 0;
- Za = (f + 280) | 0;
- _a = (f + 276) | 0;
- $a = (f + 272) | 0;
- ab = (f + 268) | 0;
- bb = (f + 264) | 0;
- cb = (f + 32) | 0;
- db = (f + 260) | 0;
- eb = (f + 256) | 0;
- fb = (f + 252) | 0;
- gb = (f + 248) | 0;
- hb = (f + 244) | 0;
- ib = (f + 240) | 0;
- jb = (f + 236) | 0;
- kb = (f + 232) | 0;
- lb = (f + 228) | 0;
- mb = (f + 224) | 0;
- nb = (f + 220) | 0;
- ob = (f + 216) | 0;
- pb = (f + 212) | 0;
- qb = (f + 24) | 0;
- rb = (f + 16) | 0;
- sb = (f + 8) | 0;
- tb = f;
- ub = (f + 208) | 0;
- vb = (f + 204) | 0;
- wb = (f + 200) | 0;
- xb = (f + 196) | 0;
- yb = (f + 192) | 0;
- c[vb >> 2] = b;
- c[wb >> 2] = d;
- c[xb >> 2] = e;
- c[yb >> 2] = a[11920];
- e = c[vb >> 2] | 0;
- vb = c[wb >> 2] | 0;
- wb = c[xb >> 2] | 0;
- if ((c[yb >> 2] | 0) == 1) {
- c[jb >> 2] = e;
- c[kb >> 2] = vb;
- c[lb >> 2] = wb;
- c[mb >> 2] = 1;
- c[nb >> 2] = c[kb >> 2];
- c[ob >> 2] = (c[nb >> 2] | 0) + (c[lb >> 2] | 0);
- yb = c[jb >> 2] | 0;
- xb = yb;
- d =
- dE(
- c[xb >> 2] | 0,
- c[(xb + 4) >> 2] | 0,
- c[lb >> 2] | 0,
- 0
- ) | 0;
- xb = yb;
- c[xb >> 2] = d;
- c[(xb + 4) >> 2] = y;
- xb = c[jb >> 2] | 0;
- if (
- (((c[((c[jb >> 2] | 0) + 72) >> 2] | 0) +
- (c[lb >> 2] | 0)) |
- 0) >>>
- 0 <
- 32
- ) {
- Mh(
- (xb + 40 + (c[((c[jb >> 2] | 0) + 72) >> 2] | 0)) | 0,
- c[kb >> 2] | 0,
- c[lb >> 2] | 0
- ) | 0;
- d = ((c[jb >> 2] | 0) + 72) | 0;
- c[d >> 2] = (c[d >> 2] | 0) + (c[lb >> 2] | 0);
- c[ib >> 2] = 0;
- } else {
- if (c[(xb + 72) >> 2] | 0) {
- Mh(
- ((c[jb >> 2] | 0) +
- 40 +
- (c[((c[jb >> 2] | 0) + 72) >> 2] | 0)) |
- 0,
- c[kb >> 2] | 0,
- (32 - (c[((c[jb >> 2] | 0) + 72) >> 2] | 0)) | 0
- ) | 0;
- kb = ((c[jb >> 2] | 0) + 8) | 0;
- xb = c[kb >> 2] | 0;
- lb = c[(kb + 4) >> 2] | 0;
- kb = c[mb >> 2] | 0;
- c[gb >> 2] = (c[jb >> 2] | 0) + 40;
- c[hb >> 2] = kb;
- kb = c[hb >> 2] | 0;
- c[db >> 2] = c[gb >> 2];
- c[eb >> 2] = kb;
- c[fb >> 2] = 1;
- kb = (c[eb >> 2] | 0) == 1;
- eb = c[db >> 2] | 0;
- if ((c[fb >> 2] | 0) == 1) {
- fb = Hh(eb) | 0;
- db = y;
- if (kb) {
- zb = fb;
- Ab = db;
- } else {
- gb = Ih(fb, db) | 0;
- zb = gb;
- Ab = y;
- }
- gb = cb;
- c[gb >> 2] = zb;
- c[(gb + 4) >> 2] = Ab;
- } else {
- Ab = eb;
- eb = c[Ab >> 2] | 0;
- gb = c[(Ab + 4) >> 2] | 0;
- if (kb) {
- Bb = eb;
- Cb = gb;
- } else {
- kb = Ih(eb, gb) | 0;
- Bb = kb;
- Cb = y;
- }
- kb = cb;
- c[kb >> 2] = Bb;
- c[(kb + 4) >> 2] = Cb;
- }
- Cb = cb;
- cb =
- Jh(xb, lb, c[Cb >> 2] | 0, c[(Cb + 4) >> 2] | 0) | 0;
- Cb = ((c[jb >> 2] | 0) + 8) | 0;
- c[Cb >> 2] = cb;
- c[(Cb + 4) >> 2] = y;
- Cb = ((c[jb >> 2] | 0) + 16) | 0;
- cb = c[Cb >> 2] | 0;
- lb = c[(Cb + 4) >> 2] | 0;
- Cb = c[mb >> 2] | 0;
- c[ab >> 2] = (c[jb >> 2] | 0) + 40 + 8;
- c[bb >> 2] = Cb;
- Cb = c[bb >> 2] | 0;
- c[Za >> 2] = c[ab >> 2];
- c[_a >> 2] = Cb;
- c[$a >> 2] = 1;
- Cb = (c[_a >> 2] | 0) == 1;
- _a = c[Za >> 2] | 0;
- if ((c[$a >> 2] | 0) == 1) {
- $a = Hh(_a) | 0;
- Za = y;
- if (Cb) {
- Db = $a;
- Eb = Za;
- } else {
- ab = Ih($a, Za) | 0;
- Db = ab;
- Eb = y;
- }
- ab = Ya;
- c[ab >> 2] = Db;
- c[(ab + 4) >> 2] = Eb;
- } else {
- Eb = _a;
- _a = c[Eb >> 2] | 0;
- ab = c[(Eb + 4) >> 2] | 0;
- if (Cb) {
- Fb = _a;
- Gb = ab;
- } else {
- Cb = Ih(_a, ab) | 0;
- Fb = Cb;
- Gb = y;
- }
- Cb = Ya;
- c[Cb >> 2] = Fb;
- c[(Cb + 4) >> 2] = Gb;
- }
- Gb = Ya;
- Ya =
- Jh(cb, lb, c[Gb >> 2] | 0, c[(Gb + 4) >> 2] | 0) | 0;
- Gb = ((c[jb >> 2] | 0) + 16) | 0;
- c[Gb >> 2] = Ya;
- c[(Gb + 4) >> 2] = y;
- Gb = ((c[jb >> 2] | 0) + 24) | 0;
- Ya = c[Gb >> 2] | 0;
- lb = c[(Gb + 4) >> 2] | 0;
- Gb = c[mb >> 2] | 0;
- c[Wa >> 2] = (c[jb >> 2] | 0) + 40 + 16;
- c[Xa >> 2] = Gb;
- Gb = c[Xa >> 2] | 0;
- c[Ta >> 2] = c[Wa >> 2];
- c[Ua >> 2] = Gb;
- c[Va >> 2] = 1;
- Gb = (c[Ua >> 2] | 0) == 1;
- Ua = c[Ta >> 2] | 0;
- if ((c[Va >> 2] | 0) == 1) {
- Va = Hh(Ua) | 0;
- Ta = y;
- if (Gb) {
- Hb = Va;
- Ib = Ta;
- } else {
- Wa = Ih(Va, Ta) | 0;
- Hb = Wa;
- Ib = y;
- }
- Wa = Sa;
- c[Wa >> 2] = Hb;
- c[(Wa + 4) >> 2] = Ib;
- } else {
- Ib = Ua;
- Ua = c[Ib >> 2] | 0;
- Wa = c[(Ib + 4) >> 2] | 0;
- if (Gb) {
- Jb = Ua;
- Kb = Wa;
- } else {
- Gb = Ih(Ua, Wa) | 0;
- Jb = Gb;
- Kb = y;
- }
- Gb = Sa;
- c[Gb >> 2] = Jb;
- c[(Gb + 4) >> 2] = Kb;
- }
- Kb = Sa;
- Sa =
- Jh(Ya, lb, c[Kb >> 2] | 0, c[(Kb + 4) >> 2] | 0) | 0;
- Kb = ((c[jb >> 2] | 0) + 24) | 0;
- c[Kb >> 2] = Sa;
- c[(Kb + 4) >> 2] = y;
- Kb = ((c[jb >> 2] | 0) + 32) | 0;
- Sa = c[Kb >> 2] | 0;
- lb = c[(Kb + 4) >> 2] | 0;
- Kb = c[mb >> 2] | 0;
- c[Qa >> 2] = (c[jb >> 2] | 0) + 40 + 24;
- c[Ra >> 2] = Kb;
- Kb = c[Ra >> 2] | 0;
- c[Na >> 2] = c[Qa >> 2];
- c[Oa >> 2] = Kb;
- c[Pa >> 2] = 1;
- Kb = (c[Oa >> 2] | 0) == 1;
- Oa = c[Na >> 2] | 0;
- if ((c[Pa >> 2] | 0) == 1) {
- Pa = Hh(Oa) | 0;
- Na = y;
- if (Kb) {
- Lb = Pa;
- Mb = Na;
- } else {
- Qa = Ih(Pa, Na) | 0;
- Lb = Qa;
- Mb = y;
- }
- Qa = Ma;
- c[Qa >> 2] = Lb;
- c[(Qa + 4) >> 2] = Mb;
- } else {
- Mb = Oa;
- Oa = c[Mb >> 2] | 0;
- Qa = c[(Mb + 4) >> 2] | 0;
- if (Kb) {
- Nb = Oa;
- Ob = Qa;
- } else {
- Kb = Ih(Oa, Qa) | 0;
- Nb = Kb;
- Ob = y;
- }
- Kb = Ma;
- c[Kb >> 2] = Nb;
- c[(Kb + 4) >> 2] = Ob;
- }
- Ob = Ma;
- Ma =
- Jh(Sa, lb, c[Ob >> 2] | 0, c[(Ob + 4) >> 2] | 0) | 0;
- Ob = ((c[jb >> 2] | 0) + 32) | 0;
- c[Ob >> 2] = Ma;
- c[(Ob + 4) >> 2] = y;
- c[nb >> 2] =
- (c[nb >> 2] | 0) +
- (32 - (c[((c[jb >> 2] | 0) + 72) >> 2] | 0));
- c[((c[jb >> 2] | 0) + 72) >> 2] = 0;
- }
- if (
- (((c[nb >> 2] | 0) + 32) | 0) >>> 0 <=
- (c[ob >> 2] | 0) >>> 0
- ) {
- c[pb >> 2] = (c[ob >> 2] | 0) + -32;
- Ob = ((c[jb >> 2] | 0) + 8) | 0;
- Ma = c[(Ob + 4) >> 2] | 0;
- lb = qb;
- c[lb >> 2] = c[Ob >> 2];
- c[(lb + 4) >> 2] = Ma;
- Ma = ((c[jb >> 2] | 0) + 16) | 0;
- lb = c[(Ma + 4) >> 2] | 0;
- Ob = rb;
- c[Ob >> 2] = c[Ma >> 2];
- c[(Ob + 4) >> 2] = lb;
- lb = ((c[jb >> 2] | 0) + 24) | 0;
- Ob = c[(lb + 4) >> 2] | 0;
- Ma = sb;
- c[Ma >> 2] = c[lb >> 2];
- c[(Ma + 4) >> 2] = Ob;
- Ob = ((c[jb >> 2] | 0) + 32) | 0;
- Ma = c[(Ob + 4) >> 2] | 0;
- lb = tb;
- c[lb >> 2] = c[Ob >> 2];
- c[(lb + 4) >> 2] = Ma;
- do {
- Ma = qb;
- lb = c[Ma >> 2] | 0;
- Ob = c[(Ma + 4) >> 2] | 0;
- Ma = c[mb >> 2] | 0;
- c[Ka >> 2] = c[nb >> 2];
- c[La >> 2] = Ma;
- Ma = c[La >> 2] | 0;
- c[Ha >> 2] = c[Ka >> 2];
- c[Ia >> 2] = Ma;
- c[Ja >> 2] = 1;
- Ma = (c[Ia >> 2] | 0) == 1;
- Sa = c[Ha >> 2] | 0;
- if ((c[Ja >> 2] | 0) == 1) {
- Kb = Hh(Sa) | 0;
- Nb = y;
- if (Ma) {
- Pb = Kb;
- Qb = Nb;
- } else {
- Qa = Ih(Kb, Nb) | 0;
- Pb = Qa;
- Qb = y;
- }
- Qa = Ga;
- c[Qa >> 2] = Pb;
- c[(Qa + 4) >> 2] = Qb;
- } else {
- Qa = Sa;
- Sa = c[Qa >> 2] | 0;
- Nb = c[(Qa + 4) >> 2] | 0;
- if (Ma) {
- Rb = Sa;
- Sb = Nb;
- } else {
- Ma = Ih(Sa, Nb) | 0;
- Rb = Ma;
- Sb = y;
- }
- Ma = Ga;
- c[Ma >> 2] = Rb;
- c[(Ma + 4) >> 2] = Sb;
- }
- Ma = Ga;
- Nb =
- Jh(lb, Ob, c[Ma >> 2] | 0, c[(Ma + 4) >> 2] | 0) |
- 0;
- Ma = qb;
- c[Ma >> 2] = Nb;
- c[(Ma + 4) >> 2] = y;
- c[nb >> 2] = (c[nb >> 2] | 0) + 8;
- Ma = rb;
- Nb = c[Ma >> 2] | 0;
- Ob = c[(Ma + 4) >> 2] | 0;
- Ma = c[mb >> 2] | 0;
- c[Ea >> 2] = c[nb >> 2];
- c[Fa >> 2] = Ma;
- Ma = c[Fa >> 2] | 0;
- c[Ba >> 2] = c[Ea >> 2];
- c[Ca >> 2] = Ma;
- c[Da >> 2] = 1;
- Ma = (c[Ca >> 2] | 0) == 1;
- lb = c[Ba >> 2] | 0;
- if ((c[Da >> 2] | 0) == 1) {
- Sa = Hh(lb) | 0;
- Qa = y;
- if (Ma) {
- Tb = Sa;
- Ub = Qa;
- } else {
- Kb = Ih(Sa, Qa) | 0;
- Tb = Kb;
- Ub = y;
- }
- Kb = Aa;
- c[Kb >> 2] = Tb;
- c[(Kb + 4) >> 2] = Ub;
- } else {
- Kb = lb;
- lb = c[Kb >> 2] | 0;
- Qa = c[(Kb + 4) >> 2] | 0;
- if (Ma) {
- Vb = lb;
- Wb = Qa;
- } else {
- Ma = Ih(lb, Qa) | 0;
- Vb = Ma;
- Wb = y;
- }
- Ma = Aa;
- c[Ma >> 2] = Vb;
- c[(Ma + 4) >> 2] = Wb;
- }
- Ma = Aa;
- Qa =
- Jh(Nb, Ob, c[Ma >> 2] | 0, c[(Ma + 4) >> 2] | 0) |
- 0;
- Ma = rb;
- c[Ma >> 2] = Qa;
- c[(Ma + 4) >> 2] = y;
- c[nb >> 2] = (c[nb >> 2] | 0) + 8;
- Ma = sb;
- Qa = c[Ma >> 2] | 0;
- Ob = c[(Ma + 4) >> 2] | 0;
- Ma = c[mb >> 2] | 0;
- c[ya >> 2] = c[nb >> 2];
- c[za >> 2] = Ma;
- Ma = c[za >> 2] | 0;
- c[va >> 2] = c[ya >> 2];
- c[wa >> 2] = Ma;
- c[xa >> 2] = 1;
- Ma = (c[wa >> 2] | 0) == 1;
- Nb = c[va >> 2] | 0;
- if ((c[xa >> 2] | 0) == 1) {
- lb = Hh(Nb) | 0;
- Kb = y;
- if (Ma) {
- Xb = lb;
- Yb = Kb;
- } else {
- Sa = Ih(lb, Kb) | 0;
- Xb = Sa;
- Yb = y;
- }
- Sa = ua;
- c[Sa >> 2] = Xb;
- c[(Sa + 4) >> 2] = Yb;
- } else {
- Sa = Nb;
- Nb = c[Sa >> 2] | 0;
- Kb = c[(Sa + 4) >> 2] | 0;
- if (Ma) {
- Zb = Nb;
- _b = Kb;
- } else {
- Ma = Ih(Nb, Kb) | 0;
- Zb = Ma;
- _b = y;
- }
- Ma = ua;
- c[Ma >> 2] = Zb;
- c[(Ma + 4) >> 2] = _b;
- }
- Ma = ua;
- Kb =
- Jh(Qa, Ob, c[Ma >> 2] | 0, c[(Ma + 4) >> 2] | 0) |
- 0;
- Ma = sb;
- c[Ma >> 2] = Kb;
- c[(Ma + 4) >> 2] = y;
- c[nb >> 2] = (c[nb >> 2] | 0) + 8;
- Ma = tb;
- Kb = c[Ma >> 2] | 0;
- Ob = c[(Ma + 4) >> 2] | 0;
- Ma = c[mb >> 2] | 0;
- c[sa >> 2] = c[nb >> 2];
- c[ta >> 2] = Ma;
- Ma = c[ta >> 2] | 0;
- c[pa >> 2] = c[sa >> 2];
- c[qa >> 2] = Ma;
- c[ra >> 2] = 1;
- Ma = (c[qa >> 2] | 0) == 1;
- Qa = c[pa >> 2] | 0;
- if ((c[ra >> 2] | 0) == 1) {
- Nb = Hh(Qa) | 0;
- Sa = y;
- if (Ma) {
- $b = Nb;
- ac = Sa;
- } else {
- lb = Ih(Nb, Sa) | 0;
- $b = lb;
- ac = y;
- }
- lb = oa;
- c[lb >> 2] = $b;
- c[(lb + 4) >> 2] = ac;
- } else {
- lb = Qa;
- Qa = c[lb >> 2] | 0;
- Sa = c[(lb + 4) >> 2] | 0;
- if (Ma) {
- bc = Qa;
- cc = Sa;
- } else {
- Ma = Ih(Qa, Sa) | 0;
- bc = Ma;
- cc = y;
- }
- Ma = oa;
- c[Ma >> 2] = bc;
- c[(Ma + 4) >> 2] = cc;
- }
- Ma = oa;
- Sa =
- Jh(Kb, Ob, c[Ma >> 2] | 0, c[(Ma + 4) >> 2] | 0) |
- 0;
- Ma = tb;
- c[Ma >> 2] = Sa;
- c[(Ma + 4) >> 2] = y;
- c[nb >> 2] = (c[nb >> 2] | 0) + 8;
- } while (
- (c[nb >> 2] | 0) >>> 0 <=
- (c[pb >> 2] | 0) >>> 0
- );
- pb = qb;
- qb = c[(pb + 4) >> 2] | 0;
- oa = ((c[jb >> 2] | 0) + 8) | 0;
- c[oa >> 2] = c[pb >> 2];
- c[(oa + 4) >> 2] = qb;
- qb = rb;
- rb = c[(qb + 4) >> 2] | 0;
- oa = ((c[jb >> 2] | 0) + 16) | 0;
- c[oa >> 2] = c[qb >> 2];
- c[(oa + 4) >> 2] = rb;
- rb = sb;
- sb = c[(rb + 4) >> 2] | 0;
- oa = ((c[jb >> 2] | 0) + 24) | 0;
- c[oa >> 2] = c[rb >> 2];
- c[(oa + 4) >> 2] = sb;
- sb = tb;
- tb = c[(sb + 4) >> 2] | 0;
- oa = ((c[jb >> 2] | 0) + 32) | 0;
- c[oa >> 2] = c[sb >> 2];
- c[(oa + 4) >> 2] = tb;
- }
- if ((c[nb >> 2] | 0) >>> 0 < (c[ob >> 2] | 0) >>> 0) {
- Mh(
- ((c[jb >> 2] | 0) + 40) | 0,
- c[nb >> 2] | 0,
- ((c[ob >> 2] | 0) - (c[nb >> 2] | 0)) | 0
- ) | 0;
- c[((c[jb >> 2] | 0) + 72) >> 2] =
- (c[ob >> 2] | 0) - (c[nb >> 2] | 0);
- }
- c[ib >> 2] = 0;
- }
- c[ub >> 2] = c[ib >> 2];
- dc = c[ub >> 2] | 0;
- l = f;
- return dc | 0;
- } else {
- c[da >> 2] = e;
- c[ea >> 2] = vb;
- c[fa >> 2] = wb;
- c[ga >> 2] = 0;
- c[ha >> 2] = c[ea >> 2];
- c[ia >> 2] = (c[ha >> 2] | 0) + (c[fa >> 2] | 0);
- wb = c[da >> 2] | 0;
- vb = wb;
- e =
- dE(
- c[vb >> 2] | 0,
- c[(vb + 4) >> 2] | 0,
- c[fa >> 2] | 0,
- 0
- ) | 0;
- vb = wb;
- c[vb >> 2] = e;
- c[(vb + 4) >> 2] = y;
- vb = c[da >> 2] | 0;
- if (
- (((c[((c[da >> 2] | 0) + 72) >> 2] | 0) +
- (c[fa >> 2] | 0)) |
- 0) >>>
- 0 <
- 32
- ) {
- Mh(
- (vb + 40 + (c[((c[da >> 2] | 0) + 72) >> 2] | 0)) | 0,
- c[ea >> 2] | 0,
- c[fa >> 2] | 0
- ) | 0;
- e = ((c[da >> 2] | 0) + 72) | 0;
- c[e >> 2] = (c[e >> 2] | 0) + (c[fa >> 2] | 0);
- c[ca >> 2] = 0;
- } else {
- if (c[(vb + 72) >> 2] | 0) {
- Mh(
- ((c[da >> 2] | 0) +
- 40 +
- (c[((c[da >> 2] | 0) + 72) >> 2] | 0)) |
- 0,
- c[ea >> 2] | 0,
- (32 - (c[((c[da >> 2] | 0) + 72) >> 2] | 0)) | 0
- ) | 0;
- ea = ((c[da >> 2] | 0) + 8) | 0;
- vb = c[ea >> 2] | 0;
- fa = c[(ea + 4) >> 2] | 0;
- ea = c[ga >> 2] | 0;
- c[aa >> 2] = (c[da >> 2] | 0) + 40;
- c[ba >> 2] = ea;
- ea = c[ba >> 2] | 0;
- c[Z >> 2] = c[aa >> 2];
- c[_ >> 2] = ea;
- c[$ >> 2] = 1;
- ea = (c[_ >> 2] | 0) == 1;
- _ = c[Z >> 2] | 0;
- if ((c[$ >> 2] | 0) == 1) {
- $ = Hh(_) | 0;
- Z = y;
- if (ea) {
- ec = $;
- fc = Z;
- } else {
- aa = Ih($, Z) | 0;
- ec = aa;
- fc = y;
- }
- aa = Y;
- c[aa >> 2] = ec;
- c[(aa + 4) >> 2] = fc;
- } else {
- fc = _;
- _ = c[fc >> 2] | 0;
- aa = c[(fc + 4) >> 2] | 0;
- if (ea) {
- gc = _;
- hc = aa;
- } else {
- ea = Ih(_, aa) | 0;
- gc = ea;
- hc = y;
- }
- ea = Y;
- c[ea >> 2] = gc;
- c[(ea + 4) >> 2] = hc;
- }
- hc = Y;
- Y =
- Jh(vb, fa, c[hc >> 2] | 0, c[(hc + 4) >> 2] | 0) | 0;
- hc = ((c[da >> 2] | 0) + 8) | 0;
- c[hc >> 2] = Y;
- c[(hc + 4) >> 2] = y;
- hc = ((c[da >> 2] | 0) + 16) | 0;
- Y = c[hc >> 2] | 0;
- fa = c[(hc + 4) >> 2] | 0;
- hc = c[ga >> 2] | 0;
- c[W >> 2] = (c[da >> 2] | 0) + 40 + 8;
- c[X >> 2] = hc;
- hc = c[X >> 2] | 0;
- c[T >> 2] = c[W >> 2];
- c[U >> 2] = hc;
- c[V >> 2] = 1;
- hc = (c[U >> 2] | 0) == 1;
- U = c[T >> 2] | 0;
- if ((c[V >> 2] | 0) == 1) {
- V = Hh(U) | 0;
- T = y;
- if (hc) {
- ic = V;
- jc = T;
- } else {
- W = Ih(V, T) | 0;
- ic = W;
- jc = y;
- }
- W = S;
- c[W >> 2] = ic;
- c[(W + 4) >> 2] = jc;
- } else {
- jc = U;
- U = c[jc >> 2] | 0;
- W = c[(jc + 4) >> 2] | 0;
- if (hc) {
- kc = U;
- lc = W;
- } else {
- hc = Ih(U, W) | 0;
- kc = hc;
- lc = y;
- }
- hc = S;
- c[hc >> 2] = kc;
- c[(hc + 4) >> 2] = lc;
- }
- lc = S;
- S = Jh(Y, fa, c[lc >> 2] | 0, c[(lc + 4) >> 2] | 0) | 0;
- lc = ((c[da >> 2] | 0) + 16) | 0;
- c[lc >> 2] = S;
- c[(lc + 4) >> 2] = y;
- lc = ((c[da >> 2] | 0) + 24) | 0;
- S = c[lc >> 2] | 0;
- fa = c[(lc + 4) >> 2] | 0;
- lc = c[ga >> 2] | 0;
- c[Q >> 2] = (c[da >> 2] | 0) + 40 + 16;
- c[R >> 2] = lc;
- lc = c[R >> 2] | 0;
- c[N >> 2] = c[Q >> 2];
- c[O >> 2] = lc;
- c[P >> 2] = 1;
- lc = (c[O >> 2] | 0) == 1;
- O = c[N >> 2] | 0;
- if ((c[P >> 2] | 0) == 1) {
- P = Hh(O) | 0;
- N = y;
- if (lc) {
- mc = P;
- nc = N;
- } else {
- Q = Ih(P, N) | 0;
- mc = Q;
- nc = y;
- }
- Q = M;
- c[Q >> 2] = mc;
- c[(Q + 4) >> 2] = nc;
- } else {
- nc = O;
- O = c[nc >> 2] | 0;
- Q = c[(nc + 4) >> 2] | 0;
- if (lc) {
- oc = O;
- pc = Q;
- } else {
- lc = Ih(O, Q) | 0;
- oc = lc;
- pc = y;
- }
- lc = M;
- c[lc >> 2] = oc;
- c[(lc + 4) >> 2] = pc;
- }
- pc = M;
- M = Jh(S, fa, c[pc >> 2] | 0, c[(pc + 4) >> 2] | 0) | 0;
- pc = ((c[da >> 2] | 0) + 24) | 0;
- c[pc >> 2] = M;
- c[(pc + 4) >> 2] = y;
- pc = ((c[da >> 2] | 0) + 32) | 0;
- M = c[pc >> 2] | 0;
- fa = c[(pc + 4) >> 2] | 0;
- pc = c[ga >> 2] | 0;
- c[K >> 2] = (c[da >> 2] | 0) + 40 + 24;
- c[L >> 2] = pc;
- pc = c[L >> 2] | 0;
- c[H >> 2] = c[K >> 2];
- c[I >> 2] = pc;
- c[J >> 2] = 1;
- pc = (c[I >> 2] | 0) == 1;
- I = c[H >> 2] | 0;
- if ((c[J >> 2] | 0) == 1) {
- J = Hh(I) | 0;
- H = y;
- if (pc) {
- qc = J;
- rc = H;
- } else {
- K = Ih(J, H) | 0;
- qc = K;
- rc = y;
- }
- K = G;
- c[K >> 2] = qc;
- c[(K + 4) >> 2] = rc;
- } else {
- rc = I;
- I = c[rc >> 2] | 0;
- K = c[(rc + 4) >> 2] | 0;
- if (pc) {
- sc = I;
- tc = K;
- } else {
- pc = Ih(I, K) | 0;
- sc = pc;
- tc = y;
- }
- pc = G;
- c[pc >> 2] = sc;
- c[(pc + 4) >> 2] = tc;
- }
- tc = G;
- G = Jh(M, fa, c[tc >> 2] | 0, c[(tc + 4) >> 2] | 0) | 0;
- tc = ((c[da >> 2] | 0) + 32) | 0;
- c[tc >> 2] = G;
- c[(tc + 4) >> 2] = y;
- c[ha >> 2] =
- (c[ha >> 2] | 0) +
- (32 - (c[((c[da >> 2] | 0) + 72) >> 2] | 0));
- c[((c[da >> 2] | 0) + 72) >> 2] = 0;
- }
- if (
- (((c[ha >> 2] | 0) + 32) | 0) >>> 0 <=
- (c[ia >> 2] | 0) >>> 0
- ) {
- c[ja >> 2] = (c[ia >> 2] | 0) + -32;
- tc = ((c[da >> 2] | 0) + 8) | 0;
- G = c[(tc + 4) >> 2] | 0;
- fa = ka;
- c[fa >> 2] = c[tc >> 2];
- c[(fa + 4) >> 2] = G;
- G = ((c[da >> 2] | 0) + 16) | 0;
- fa = c[(G + 4) >> 2] | 0;
- tc = la;
- c[tc >> 2] = c[G >> 2];
- c[(tc + 4) >> 2] = fa;
- fa = ((c[da >> 2] | 0) + 24) | 0;
- tc = c[(fa + 4) >> 2] | 0;
- G = ma;
- c[G >> 2] = c[fa >> 2];
- c[(G + 4) >> 2] = tc;
- tc = ((c[da >> 2] | 0) + 32) | 0;
- G = c[(tc + 4) >> 2] | 0;
- fa = na;
- c[fa >> 2] = c[tc >> 2];
- c[(fa + 4) >> 2] = G;
- do {
- G = ka;
- fa = c[G >> 2] | 0;
- tc = c[(G + 4) >> 2] | 0;
- G = c[ga >> 2] | 0;
- c[E >> 2] = c[ha >> 2];
- c[F >> 2] = G;
- G = c[F >> 2] | 0;
- c[B >> 2] = c[E >> 2];
- c[C >> 2] = G;
- c[D >> 2] = 1;
- G = (c[C >> 2] | 0) == 1;
- M = c[B >> 2] | 0;
- if ((c[D >> 2] | 0) == 1) {
- pc = Hh(M) | 0;
- sc = y;
- if (G) {
- uc = pc;
- vc = sc;
- } else {
- K = Ih(pc, sc) | 0;
- uc = K;
- vc = y;
- }
- K = A;
- c[K >> 2] = uc;
- c[(K + 4) >> 2] = vc;
- } else {
- K = M;
- M = c[K >> 2] | 0;
- sc = c[(K + 4) >> 2] | 0;
- if (G) {
- wc = M;
- xc = sc;
- } else {
- G = Ih(M, sc) | 0;
- wc = G;
- xc = y;
- }
- G = A;
- c[G >> 2] = wc;
- c[(G + 4) >> 2] = xc;
- }
- G = A;
- sc =
- Jh(fa, tc, c[G >> 2] | 0, c[(G + 4) >> 2] | 0) | 0;
- G = ka;
- c[G >> 2] = sc;
- c[(G + 4) >> 2] = y;
- c[ha >> 2] = (c[ha >> 2] | 0) + 8;
- G = la;
- sc = c[G >> 2] | 0;
- tc = c[(G + 4) >> 2] | 0;
- G = c[ga >> 2] | 0;
- c[x >> 2] = c[ha >> 2];
- c[z >> 2] = G;
- G = c[z >> 2] | 0;
- c[u >> 2] = c[x >> 2];
- c[v >> 2] = G;
- c[w >> 2] = 1;
- G = (c[v >> 2] | 0) == 1;
- fa = c[u >> 2] | 0;
- if ((c[w >> 2] | 0) == 1) {
- M = Hh(fa) | 0;
- K = y;
- if (G) {
- yc = M;
- zc = K;
- } else {
- pc = Ih(M, K) | 0;
- yc = pc;
- zc = y;
- }
- pc = t;
- c[pc >> 2] = yc;
- c[(pc + 4) >> 2] = zc;
- } else {
- pc = fa;
- fa = c[pc >> 2] | 0;
- K = c[(pc + 4) >> 2] | 0;
- if (G) {
- Ac = fa;
- Bc = K;
- } else {
- G = Ih(fa, K) | 0;
- Ac = G;
- Bc = y;
- }
- G = t;
- c[G >> 2] = Ac;
- c[(G + 4) >> 2] = Bc;
- }
- G = t;
- K =
- Jh(sc, tc, c[G >> 2] | 0, c[(G + 4) >> 2] | 0) | 0;
- G = la;
- c[G >> 2] = K;
- c[(G + 4) >> 2] = y;
- c[ha >> 2] = (c[ha >> 2] | 0) + 8;
- G = ma;
- K = c[G >> 2] | 0;
- tc = c[(G + 4) >> 2] | 0;
- G = c[ga >> 2] | 0;
- c[r >> 2] = c[ha >> 2];
- c[s >> 2] = G;
- G = c[s >> 2] | 0;
- c[o >> 2] = c[r >> 2];
- c[p >> 2] = G;
- c[q >> 2] = 1;
- G = (c[p >> 2] | 0) == 1;
- sc = c[o >> 2] | 0;
- if ((c[q >> 2] | 0) == 1) {
- fa = Hh(sc) | 0;
- pc = y;
- if (G) {
- Cc = fa;
- Dc = pc;
- } else {
- M = Ih(fa, pc) | 0;
- Cc = M;
- Dc = y;
- }
- M = n;
- c[M >> 2] = Cc;
- c[(M + 4) >> 2] = Dc;
- } else {
- M = sc;
- sc = c[M >> 2] | 0;
- pc = c[(M + 4) >> 2] | 0;
- if (G) {
- Ec = sc;
- Fc = pc;
- } else {
- G = Ih(sc, pc) | 0;
- Ec = G;
- Fc = y;
- }
- G = n;
- c[G >> 2] = Ec;
- c[(G + 4) >> 2] = Fc;
- }
- G = n;
- pc =
- Jh(K, tc, c[G >> 2] | 0, c[(G + 4) >> 2] | 0) | 0;
- G = ma;
- c[G >> 2] = pc;
- c[(G + 4) >> 2] = y;
- c[ha >> 2] = (c[ha >> 2] | 0) + 8;
- G = na;
- pc = c[G >> 2] | 0;
- tc = c[(G + 4) >> 2] | 0;
- G = c[ga >> 2] | 0;
- c[k >> 2] = c[ha >> 2];
- c[m >> 2] = G;
- G = c[m >> 2] | 0;
- c[h >> 2] = c[k >> 2];
- c[i >> 2] = G;
- c[j >> 2] = 1;
- G = (c[i >> 2] | 0) == 1;
- K = c[h >> 2] | 0;
- if ((c[j >> 2] | 0) == 1) {
- sc = Hh(K) | 0;
- M = y;
- if (G) {
- Gc = sc;
- Hc = M;
- } else {
- fa = Ih(sc, M) | 0;
- Gc = fa;
- Hc = y;
- }
- fa = g;
- c[fa >> 2] = Gc;
- c[(fa + 4) >> 2] = Hc;
- } else {
- fa = K;
- K = c[fa >> 2] | 0;
- M = c[(fa + 4) >> 2] | 0;
- if (G) {
- Ic = K;
- Jc = M;
- } else {
- G = Ih(K, M) | 0;
- Ic = G;
- Jc = y;
- }
- G = g;
- c[G >> 2] = Ic;
- c[(G + 4) >> 2] = Jc;
- }
- G = g;
- M =
- Jh(pc, tc, c[G >> 2] | 0, c[(G + 4) >> 2] | 0) | 0;
- G = na;
- c[G >> 2] = M;
- c[(G + 4) >> 2] = y;
- c[ha >> 2] = (c[ha >> 2] | 0) + 8;
- } while (
- (c[ha >> 2] | 0) >>> 0 <=
- (c[ja >> 2] | 0) >>> 0
- );
- ja = ka;
- ka = c[(ja + 4) >> 2] | 0;
- g = ((c[da >> 2] | 0) + 8) | 0;
- c[g >> 2] = c[ja >> 2];
- c[(g + 4) >> 2] = ka;
- ka = la;
- la = c[(ka + 4) >> 2] | 0;
- g = ((c[da >> 2] | 0) + 16) | 0;
- c[g >> 2] = c[ka >> 2];
- c[(g + 4) >> 2] = la;
- la = ma;
- ma = c[(la + 4) >> 2] | 0;
- g = ((c[da >> 2] | 0) + 24) | 0;
- c[g >> 2] = c[la >> 2];
- c[(g + 4) >> 2] = ma;
- ma = na;
- na = c[(ma + 4) >> 2] | 0;
- g = ((c[da >> 2] | 0) + 32) | 0;
- c[g >> 2] = c[ma >> 2];
- c[(g + 4) >> 2] = na;
- }
- if ((c[ha >> 2] | 0) >>> 0 < (c[ia >> 2] | 0) >>> 0) {
- Mh(
- ((c[da >> 2] | 0) + 40) | 0,
- c[ha >> 2] | 0,
- ((c[ia >> 2] | 0) - (c[ha >> 2] | 0)) | 0
- ) | 0;
- c[((c[da >> 2] | 0) + 72) >> 2] =
- (c[ia >> 2] | 0) - (c[ha >> 2] | 0);
- }
- c[ca >> 2] = 0;
- }
- c[ub >> 2] = c[ca >> 2];
- dc = c[ub >> 2] | 0;
- l = f;
- return dc | 0;
- }
- return 0;
- }
- function Oh(b) {
- b = b | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0;
- e = l;
- l = (l + 256) | 0;
- f = (e + 244) | 0;
- g = (e + 240) | 0;
- h = (e + 236) | 0;
- i = (e + 232) | 0;
- j = (e + 228) | 0;
- k = (e + 224) | 0;
- m = (e + 112) | 0;
- n = (e + 220) | 0;
- o = (e + 216) | 0;
- p = (e + 212) | 0;
- q = (e + 208) | 0;
- r = (e + 204) | 0;
- s = (e + 200) | 0;
- t = (e + 196) | 0;
- u = (e + 192) | 0;
- v = (e + 188) | 0;
- w = (e + 104) | 0;
- x = (e + 96) | 0;
- z = (e + 88) | 0;
- A = (e + 80) | 0;
- B = (e + 72) | 0;
- C = (e + 64) | 0;
- D = (e + 184) | 0;
- E = (e + 180) | 0;
- F = (e + 176) | 0;
- G = (e + 172) | 0;
- H = (e + 168) | 0;
- I = (e + 164) | 0;
- J = (e + 56) | 0;
- K = (e + 160) | 0;
- L = (e + 156) | 0;
- M = (e + 152) | 0;
- N = (e + 148) | 0;
- O = (e + 144) | 0;
- P = (e + 140) | 0;
- Q = (e + 136) | 0;
- R = (e + 132) | 0;
- S = (e + 128) | 0;
- T = (e + 48) | 0;
- U = (e + 40) | 0;
- V = (e + 32) | 0;
- W = (e + 24) | 0;
- X = (e + 16) | 0;
- Y = (e + 8) | 0;
- Z = e;
- _ = (e + 124) | 0;
- $ = (e + 120) | 0;
- c[_ >> 2] = b;
- c[$ >> 2] = a[11920];
- b = c[_ >> 2] | 0;
- if ((c[$ >> 2] | 0) == 1) {
- c[P >> 2] = b;
- c[Q >> 2] = 1;
- c[R >> 2] = (c[P >> 2] | 0) + 40;
- c[S >> 2] =
- (c[P >> 2] | 0) +
- 40 +
- (c[((c[P >> 2] | 0) + 72) >> 2] | 0);
- $ = c[P >> 2] | 0;
- _ = c[($ + 4) >> 2] | 0;
- aa = c[P >> 2] | 0;
- if (
- (_ >>> 0 > 0) |
- (((_ | 0) == 0) & ((c[$ >> 2] | 0) >>> 0 >= 32))
- ) {
- $ = (aa + 8) | 0;
- _ = c[($ + 4) >> 2] | 0;
- ba = U;
- c[ba >> 2] = c[$ >> 2];
- c[(ba + 4) >> 2] = _;
- _ = ((c[P >> 2] | 0) + 16) | 0;
- ba = c[(_ + 4) >> 2] | 0;
- $ = V;
- c[$ >> 2] = c[_ >> 2];
- c[($ + 4) >> 2] = ba;
- ba = ((c[P >> 2] | 0) + 24) | 0;
- $ = c[(ba + 4) >> 2] | 0;
- _ = W;
- c[_ >> 2] = c[ba >> 2];
- c[(_ + 4) >> 2] = $;
- $ = ((c[P >> 2] | 0) + 32) | 0;
- _ = c[($ + 4) >> 2] | 0;
- ba = X;
- c[ba >> 2] = c[$ >> 2];
- c[(ba + 4) >> 2] = _;
- _ = U;
- ba = jE(c[_ >> 2] | 0, c[(_ + 4) >> 2] | 0, 1) | 0;
- _ = y;
- $ = U;
- ca = iE(c[$ >> 2] | 0, c[($ + 4) >> 2] | 0, 63) | 0;
- $ = _ | y;
- _ = V;
- da = jE(c[_ >> 2] | 0, c[(_ + 4) >> 2] | 0, 7) | 0;
- _ = y;
- ea = V;
- fa = iE(c[ea >> 2] | 0, c[(ea + 4) >> 2] | 0, 57) | 0;
- ea = dE(ba | ca | 0, $ | 0, da | fa | 0, _ | y | 0) | 0;
- _ = y;
- fa = W;
- da = jE(c[fa >> 2] | 0, c[(fa + 4) >> 2] | 0, 12) | 0;
- fa = y;
- $ = W;
- ca = iE(c[$ >> 2] | 0, c[($ + 4) >> 2] | 0, 52) | 0;
- $ = dE(ea | 0, _ | 0, da | ca | 0, fa | y | 0) | 0;
- fa = y;
- ca = X;
- da = jE(c[ca >> 2] | 0, c[(ca + 4) >> 2] | 0, 18) | 0;
- ca = y;
- _ = X;
- ea = iE(c[_ >> 2] | 0, c[(_ + 4) >> 2] | 0, 46) | 0;
- _ = dE($ | 0, fa | 0, da | ea | 0, ca | y | 0) | 0;
- ca = T;
- c[ca >> 2] = _;
- c[(ca + 4) >> 2] = y;
- ca = T;
- _ = U;
- U =
- Kh(
- c[ca >> 2] | 0,
- c[(ca + 4) >> 2] | 0,
- c[_ >> 2] | 0,
- c[(_ + 4) >> 2] | 0
- ) | 0;
- _ = T;
- c[_ >> 2] = U;
- c[(_ + 4) >> 2] = y;
- _ = T;
- U = V;
- V =
- Kh(
- c[_ >> 2] | 0,
- c[(_ + 4) >> 2] | 0,
- c[U >> 2] | 0,
- c[(U + 4) >> 2] | 0
- ) | 0;
- U = T;
- c[U >> 2] = V;
- c[(U + 4) >> 2] = y;
- U = T;
- V = W;
- W =
- Kh(
- c[U >> 2] | 0,
- c[(U + 4) >> 2] | 0,
- c[V >> 2] | 0,
- c[(V + 4) >> 2] | 0
- ) | 0;
- V = T;
- c[V >> 2] = W;
- c[(V + 4) >> 2] = y;
- V = T;
- W = X;
- X =
- Kh(
- c[V >> 2] | 0,
- c[(V + 4) >> 2] | 0,
- c[W >> 2] | 0,
- c[(W + 4) >> 2] | 0
- ) | 0;
- W = T;
- c[W >> 2] = X;
- c[(W + 4) >> 2] = y;
- } else {
- W = (aa + 24) | 0;
- aa =
- dE(
- c[W >> 2] | 0,
- c[(W + 4) >> 2] | 0,
- 374761413,
- 668265263
- ) | 0;
- W = T;
- c[W >> 2] = aa;
- c[(W + 4) >> 2] = y;
- }
- W = c[P >> 2] | 0;
- P = T;
- aa =
- dE(
- c[P >> 2] | 0,
- c[(P + 4) >> 2] | 0,
- c[W >> 2] | 0,
- c[(W + 4) >> 2] | 0
- ) | 0;
- W = T;
- c[W >> 2] = aa;
- c[(W + 4) >> 2] = y;
- while (1) {
- ga = c[R >> 2] | 0;
- if (
- (((c[R >> 2] | 0) + 8) | 0) >>> 0 >
- (c[S >> 2] | 0) >>> 0
- )
- break;
- W = c[Q >> 2] | 0;
- c[N >> 2] = ga;
- c[O >> 2] = W;
- W = c[O >> 2] | 0;
- c[K >> 2] = c[N >> 2];
- c[L >> 2] = W;
- c[M >> 2] = 1;
- W = (c[L >> 2] | 0) == 1;
- aa = c[K >> 2] | 0;
- if ((c[M >> 2] | 0) == 1) {
- P = Hh(aa) | 0;
- X = y;
- if (W) {
- ha = P;
- ia = X;
- } else {
- V = Ih(P, X) | 0;
- ha = V;
- ia = y;
- }
- V = J;
- c[V >> 2] = ha;
- c[(V + 4) >> 2] = ia;
- } else {
- V = aa;
- aa = c[V >> 2] | 0;
- X = c[(V + 4) >> 2] | 0;
- if (W) {
- ja = aa;
- ka = X;
- } else {
- W = Ih(aa, X) | 0;
- ja = W;
- ka = y;
- }
- W = J;
- c[W >> 2] = ja;
- c[(W + 4) >> 2] = ka;
- }
- W = J;
- X = Jh(0, 0, c[W >> 2] | 0, c[(W + 4) >> 2] | 0) | 0;
- W = Y;
- c[W >> 2] = X;
- c[(W + 4) >> 2] = y;
- W = Y;
- X = T;
- aa = c[(X + 4) >> 2] ^ c[(W + 4) >> 2];
- V = T;
- c[V >> 2] = c[X >> 2] ^ c[W >> 2];
- c[(V + 4) >> 2] = aa;
- aa = T;
- V = jE(c[aa >> 2] | 0, c[(aa + 4) >> 2] | 0, 27) | 0;
- aa = y;
- W = T;
- X = iE(c[W >> 2] | 0, c[(W + 4) >> 2] | 0, 37) | 0;
- W =
- cE(V | X | 0, aa | y | 0, -2048144761, -1640531535) | 0;
- aa = dE(W | 0, y | 0, -1028477341, -2048144777) | 0;
- W = T;
- c[W >> 2] = aa;
- c[(W + 4) >> 2] = y;
- c[R >> 2] = (c[R >> 2] | 0) + 8;
- }
- if (((ga + 4) | 0) >>> 0 <= (c[S >> 2] | 0) >>> 0) {
- ga = c[Q >> 2] | 0;
- c[H >> 2] = c[R >> 2];
- c[I >> 2] = ga;
- ga = c[I >> 2] | 0;
- c[E >> 2] = c[H >> 2];
- c[F >> 2] = ga;
- c[G >> 2] = 1;
- ga = (c[F >> 2] | 0) == 1;
- F = c[E >> 2] | 0;
- if ((c[G >> 2] | 0) == 1) {
- G = Fh(F) | 0;
- if (ga) la = G;
- else la = Gh(G) | 0;
- c[D >> 2] = la;
- } else {
- la = c[F >> 2] | 0;
- if (ga) ma = la;
- else ma = Gh(la) | 0;
- c[D >> 2] = ma;
- }
- ma = cE(c[D >> 2] | 0, 0, -2048144761, -1640531535) | 0;
- D = T;
- la = c[(D + 4) >> 2] ^ y;
- ga = T;
- c[ga >> 2] = c[D >> 2] ^ ma;
- c[(ga + 4) >> 2] = la;
- la = T;
- ga = jE(c[la >> 2] | 0, c[(la + 4) >> 2] | 0, 23) | 0;
- la = y;
- ma = T;
- D = iE(c[ma >> 2] | 0, c[(ma + 4) >> 2] | 0, 41) | 0;
- ma =
- cE(ga | D | 0, la | y | 0, 668265295, -1028477379) | 0;
- la = dE(ma | 0, y | 0, -1640531463, 374761393) | 0;
- ma = T;
- c[ma >> 2] = la;
- c[(ma + 4) >> 2] = y;
- c[R >> 2] = (c[R >> 2] | 0) + 4;
- }
- while (1) {
- if ((c[R >> 2] | 0) >>> 0 >= (c[S >> 2] | 0) >>> 0) break;
- ma =
- cE(d[c[R >> 2] >> 0] | 0, 0, 374761413, 668265263) | 0;
- la = T;
- D = c[(la + 4) >> 2] ^ y;
- ga = T;
- c[ga >> 2] = c[la >> 2] ^ ma;
- c[(ga + 4) >> 2] = D;
- D = T;
- ga = jE(c[D >> 2] | 0, c[(D + 4) >> 2] | 0, 11) | 0;
- D = y;
- ma = T;
- la = iE(c[ma >> 2] | 0, c[(ma + 4) >> 2] | 0, 53) | 0;
- ma =
- cE(ga | la | 0, D | y | 0, -2048144761, -1640531535) |
- 0;
- D = T;
- c[D >> 2] = ma;
- c[(D + 4) >> 2] = y;
- c[R >> 2] = (c[R >> 2] | 0) + 1;
- }
- R = T;
- S = iE(c[R >> 2] | 0, c[(R + 4) >> 2] | 0, 33) | 0;
- R = T;
- D = c[(R + 4) >> 2] ^ y;
- ma = T;
- c[ma >> 2] = c[R >> 2] ^ S;
- c[(ma + 4) >> 2] = D;
- D = T;
- ma =
- cE(
- c[D >> 2] | 0,
- c[(D + 4) >> 2] | 0,
- 668265295,
- -1028477379
- ) | 0;
- D = T;
- c[D >> 2] = ma;
- c[(D + 4) >> 2] = y;
- D = T;
- ma = iE(c[D >> 2] | 0, c[(D + 4) >> 2] | 0, 29) | 0;
- D = T;
- S = c[(D + 4) >> 2] ^ y;
- R = T;
- c[R >> 2] = c[D >> 2] ^ ma;
- c[(R + 4) >> 2] = S;
- S = T;
- R =
- cE(
- c[S >> 2] | 0,
- c[(S + 4) >> 2] | 0,
- -1640531463,
- 374761393
- ) | 0;
- S = T;
- c[S >> 2] = R;
- c[(S + 4) >> 2] = y;
- S = T;
- R = c[(S + 4) >> 2] | 0;
- ma = T;
- c[ma >> 2] = c[S >> 2] ^ c[(T + 4) >> 2];
- c[(ma + 4) >> 2] = R;
- R = T;
- T = c[(R + 4) >> 2] | 0;
- ma = Z;
- c[ma >> 2] = c[R >> 2];
- c[(ma + 4) >> 2] = T;
- na = Z;
- oa = na;
- pa = c[oa >> 2] | 0;
- qa = (na + 4) | 0;
- ra = qa;
- sa = c[ra >> 2] | 0;
- y = sa;
- l = e;
- return pa | 0;
- } else {
- c[s >> 2] = b;
- c[t >> 2] = 0;
- c[u >> 2] = (c[s >> 2] | 0) + 40;
- c[v >> 2] =
- (c[s >> 2] | 0) +
- 40 +
- (c[((c[s >> 2] | 0) + 72) >> 2] | 0);
- b = c[s >> 2] | 0;
- T = c[(b + 4) >> 2] | 0;
- ma = c[s >> 2] | 0;
- if (
- (T >>> 0 > 0) |
- (((T | 0) == 0) & ((c[b >> 2] | 0) >>> 0 >= 32))
- ) {
- b = (ma + 8) | 0;
- T = c[(b + 4) >> 2] | 0;
- R = x;
- c[R >> 2] = c[b >> 2];
- c[(R + 4) >> 2] = T;
- T = ((c[s >> 2] | 0) + 16) | 0;
- R = c[(T + 4) >> 2] | 0;
- b = z;
- c[b >> 2] = c[T >> 2];
- c[(b + 4) >> 2] = R;
- R = ((c[s >> 2] | 0) + 24) | 0;
- b = c[(R + 4) >> 2] | 0;
- T = A;
- c[T >> 2] = c[R >> 2];
- c[(T + 4) >> 2] = b;
- b = ((c[s >> 2] | 0) + 32) | 0;
- T = c[(b + 4) >> 2] | 0;
- R = B;
- c[R >> 2] = c[b >> 2];
- c[(R + 4) >> 2] = T;
- T = x;
- R = jE(c[T >> 2] | 0, c[(T + 4) >> 2] | 0, 1) | 0;
- T = y;
- b = x;
- S = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 63) | 0;
- b = T | y;
- T = z;
- D = jE(c[T >> 2] | 0, c[(T + 4) >> 2] | 0, 7) | 0;
- T = y;
- la = z;
- ga = iE(c[la >> 2] | 0, c[(la + 4) >> 2] | 0, 57) | 0;
- la = dE(R | S | 0, b | 0, D | ga | 0, T | y | 0) | 0;
- T = y;
- ga = A;
- D = jE(c[ga >> 2] | 0, c[(ga + 4) >> 2] | 0, 12) | 0;
- ga = y;
- b = A;
- S = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 52) | 0;
- b = dE(la | 0, T | 0, D | S | 0, ga | y | 0) | 0;
- ga = y;
- S = B;
- D = jE(c[S >> 2] | 0, c[(S + 4) >> 2] | 0, 18) | 0;
- S = y;
- T = B;
- la = iE(c[T >> 2] | 0, c[(T + 4) >> 2] | 0, 46) | 0;
- T = dE(b | 0, ga | 0, D | la | 0, S | y | 0) | 0;
- S = w;
- c[S >> 2] = T;
- c[(S + 4) >> 2] = y;
- S = w;
- T = x;
- x =
- Kh(
- c[S >> 2] | 0,
- c[(S + 4) >> 2] | 0,
- c[T >> 2] | 0,
- c[(T + 4) >> 2] | 0
- ) | 0;
- T = w;
- c[T >> 2] = x;
- c[(T + 4) >> 2] = y;
- T = w;
- x = z;
- z =
- Kh(
- c[T >> 2] | 0,
- c[(T + 4) >> 2] | 0,
- c[x >> 2] | 0,
- c[(x + 4) >> 2] | 0
- ) | 0;
- x = w;
- c[x >> 2] = z;
- c[(x + 4) >> 2] = y;
- x = w;
- z = A;
- A =
- Kh(
- c[x >> 2] | 0,
- c[(x + 4) >> 2] | 0,
- c[z >> 2] | 0,
- c[(z + 4) >> 2] | 0
- ) | 0;
- z = w;
- c[z >> 2] = A;
- c[(z + 4) >> 2] = y;
- z = w;
- A = B;
- B =
- Kh(
- c[z >> 2] | 0,
- c[(z + 4) >> 2] | 0,
- c[A >> 2] | 0,
- c[(A + 4) >> 2] | 0
- ) | 0;
- A = w;
- c[A >> 2] = B;
- c[(A + 4) >> 2] = y;
- } else {
- A = (ma + 24) | 0;
- ma =
- dE(
- c[A >> 2] | 0,
- c[(A + 4) >> 2] | 0,
- 374761413,
- 668265263
- ) | 0;
- A = w;
- c[A >> 2] = ma;
- c[(A + 4) >> 2] = y;
- }
- A = c[s >> 2] | 0;
- s = w;
- ma =
- dE(
- c[s >> 2] | 0,
- c[(s + 4) >> 2] | 0,
- c[A >> 2] | 0,
- c[(A + 4) >> 2] | 0
- ) | 0;
- A = w;
- c[A >> 2] = ma;
- c[(A + 4) >> 2] = y;
- while (1) {
- ta = c[u >> 2] | 0;
- if (
- (((c[u >> 2] | 0) + 8) | 0) >>> 0 >
- (c[v >> 2] | 0) >>> 0
- )
- break;
- A = c[t >> 2] | 0;
- c[q >> 2] = ta;
- c[r >> 2] = A;
- A = c[r >> 2] | 0;
- c[n >> 2] = c[q >> 2];
- c[o >> 2] = A;
- c[p >> 2] = 1;
- A = (c[o >> 2] | 0) == 1;
- ma = c[n >> 2] | 0;
- if ((c[p >> 2] | 0) == 1) {
- s = Hh(ma) | 0;
- B = y;
- if (A) {
- ua = s;
- va = B;
- } else {
- z = Ih(s, B) | 0;
- ua = z;
- va = y;
- }
- z = m;
- c[z >> 2] = ua;
- c[(z + 4) >> 2] = va;
- } else {
- z = ma;
- ma = c[z >> 2] | 0;
- B = c[(z + 4) >> 2] | 0;
- if (A) {
- wa = ma;
- xa = B;
- } else {
- A = Ih(ma, B) | 0;
- wa = A;
- xa = y;
- }
- A = m;
- c[A >> 2] = wa;
- c[(A + 4) >> 2] = xa;
- }
- A = m;
- B = Jh(0, 0, c[A >> 2] | 0, c[(A + 4) >> 2] | 0) | 0;
- A = C;
- c[A >> 2] = B;
- c[(A + 4) >> 2] = y;
- A = C;
- B = w;
- ma = c[(B + 4) >> 2] ^ c[(A + 4) >> 2];
- z = w;
- c[z >> 2] = c[B >> 2] ^ c[A >> 2];
- c[(z + 4) >> 2] = ma;
- ma = w;
- z = jE(c[ma >> 2] | 0, c[(ma + 4) >> 2] | 0, 27) | 0;
- ma = y;
- A = w;
- B = iE(c[A >> 2] | 0, c[(A + 4) >> 2] | 0, 37) | 0;
- A =
- cE(z | B | 0, ma | y | 0, -2048144761, -1640531535) | 0;
- ma = dE(A | 0, y | 0, -1028477341, -2048144777) | 0;
- A = w;
- c[A >> 2] = ma;
- c[(A + 4) >> 2] = y;
- c[u >> 2] = (c[u >> 2] | 0) + 8;
- }
- if (((ta + 4) | 0) >>> 0 <= (c[v >> 2] | 0) >>> 0) {
- ta = c[t >> 2] | 0;
- c[j >> 2] = c[u >> 2];
- c[k >> 2] = ta;
- ta = c[k >> 2] | 0;
- c[g >> 2] = c[j >> 2];
- c[h >> 2] = ta;
- c[i >> 2] = 1;
- ta = (c[h >> 2] | 0) == 1;
- h = c[g >> 2] | 0;
- if ((c[i >> 2] | 0) == 1) {
- i = Fh(h) | 0;
- if (ta) ya = i;
- else ya = Gh(i) | 0;
- c[f >> 2] = ya;
- } else {
- ya = c[h >> 2] | 0;
- if (ta) za = ya;
- else za = Gh(ya) | 0;
- c[f >> 2] = za;
- }
- za = cE(c[f >> 2] | 0, 0, -2048144761, -1640531535) | 0;
- f = w;
- ya = c[(f + 4) >> 2] ^ y;
- ta = w;
- c[ta >> 2] = c[f >> 2] ^ za;
- c[(ta + 4) >> 2] = ya;
- ya = w;
- ta = jE(c[ya >> 2] | 0, c[(ya + 4) >> 2] | 0, 23) | 0;
- ya = y;
- za = w;
- f = iE(c[za >> 2] | 0, c[(za + 4) >> 2] | 0, 41) | 0;
- za =
- cE(ta | f | 0, ya | y | 0, 668265295, -1028477379) | 0;
- ya = dE(za | 0, y | 0, -1640531463, 374761393) | 0;
- za = w;
- c[za >> 2] = ya;
- c[(za + 4) >> 2] = y;
- c[u >> 2] = (c[u >> 2] | 0) + 4;
- }
- while (1) {
- if ((c[u >> 2] | 0) >>> 0 >= (c[v >> 2] | 0) >>> 0) break;
- za =
- cE(d[c[u >> 2] >> 0] | 0, 0, 374761413, 668265263) | 0;
- ya = w;
- f = c[(ya + 4) >> 2] ^ y;
- ta = w;
- c[ta >> 2] = c[ya >> 2] ^ za;
- c[(ta + 4) >> 2] = f;
- f = w;
- ta = jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 11) | 0;
- f = y;
- za = w;
- ya = iE(c[za >> 2] | 0, c[(za + 4) >> 2] | 0, 53) | 0;
- za =
- cE(ta | ya | 0, f | y | 0, -2048144761, -1640531535) |
- 0;
- f = w;
- c[f >> 2] = za;
- c[(f + 4) >> 2] = y;
- c[u >> 2] = (c[u >> 2] | 0) + 1;
- }
- u = w;
- v = iE(c[u >> 2] | 0, c[(u + 4) >> 2] | 0, 33) | 0;
- u = w;
- f = c[(u + 4) >> 2] ^ y;
- za = w;
- c[za >> 2] = c[u >> 2] ^ v;
- c[(za + 4) >> 2] = f;
- f = w;
- za =
- cE(
- c[f >> 2] | 0,
- c[(f + 4) >> 2] | 0,
- 668265295,
- -1028477379
- ) | 0;
- f = w;
- c[f >> 2] = za;
- c[(f + 4) >> 2] = y;
- f = w;
- za = iE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 29) | 0;
- f = w;
- v = c[(f + 4) >> 2] ^ y;
- u = w;
- c[u >> 2] = c[f >> 2] ^ za;
- c[(u + 4) >> 2] = v;
- v = w;
- u =
- cE(
- c[v >> 2] | 0,
- c[(v + 4) >> 2] | 0,
- -1640531463,
- 374761393
- ) | 0;
- v = w;
- c[v >> 2] = u;
- c[(v + 4) >> 2] = y;
- v = w;
- u = c[(v + 4) >> 2] | 0;
- za = w;
- c[za >> 2] = c[v >> 2] ^ c[(w + 4) >> 2];
- c[(za + 4) >> 2] = u;
- u = w;
- w = c[(u + 4) >> 2] | 0;
- za = Z;
- c[za >> 2] = c[u >> 2];
- c[(za + 4) >> 2] = w;
- na = Z;
- oa = na;
- pa = c[oa >> 2] | 0;
- qa = (na + 4) | 0;
- ra = qa;
- sa = c[ra >> 2] | 0;
- y = sa;
- l = e;
- return pa | 0;
- }
- return 0;
- }
- function Ph(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = Qh(c[d >> 2] | 0) | 0;
- l = b;
- return a | 0;
- }
- function Qh(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function Rh(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[f >> 2] = a;
- if (c[b >> 2] | 0) {
- c[e >> 2] =
- qc[c[b >> 2] & 63](c[(b + 8) >> 2] | 0, c[f >> 2] | 0) |
- 0;
- g = c[e >> 2] | 0;
- l = d;
- return g | 0;
- } else {
- c[e >> 2] = Cy(c[f >> 2] | 0) | 0;
- g = c[e >> 2] | 0;
- l = d;
- return g | 0;
- }
- return 0;
- }
- function Sh(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[f >> 2] = a;
- if (c[b >> 2] | 0) {
- c[g >> 2] =
- qc[c[b >> 2] & 63](c[(b + 8) >> 2] | 0, c[f >> 2] | 0) |
- 0;
- oE(c[g >> 2] | 0, 0, c[f >> 2] | 0) | 0;
- c[e >> 2] = c[g >> 2];
- h = c[e >> 2] | 0;
- l = d;
- return h | 0;
- } else {
- c[e >> 2] = Ey(1, c[f >> 2] | 0) | 0;
- h = c[e >> 2] | 0;
- l = d;
- return h | 0;
- }
- return 0;
- }
- function Th(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- c[e >> 2] = a;
- if (!(c[e >> 2] | 0)) {
- l = d;
- return;
- }
- if (c[(b + 4) >> 2] | 0) {
- xc[c[(b + 4) >> 2] & 31](
- c[(b + 8) >> 2] | 0,
- c[e >> 2] | 0
- );
- l = d;
- return;
- } else {
- Dy(c[e >> 2] | 0);
- l = d;
- return;
- }
- }
- function Uh(e, f, g, h, i, j) {
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0;
- k = l;
- l = (l + 1136) | 0;
- m = (k + 1124) | 0;
- n = (k + 1120) | 0;
- o = (k + 1116) | 0;
- p = (k + 1112) | 0;
- q = (k + 1108) | 0;
- r = (k + 1104) | 0;
- s = (k + 1100) | 0;
- t = (k + 1096) | 0;
- u = (k + 1092) | 0;
- v = (k + 1088) | 0;
- w = (k + 1084) | 0;
- x = (k + 1080) | 0;
- y = (k + 1076) | 0;
- z = (k + 1072) | 0;
- A = k;
- B = (k + 1068) | 0;
- C = (k + 1064) | 0;
- D = (k + 1060) | 0;
- E = (k + 1056) | 0;
- F = (k + 1052) | 0;
- G = (k + 1048) | 0;
- H = (k + 1044) | 0;
- I = (k + 1128) | 0;
- J = (k + 1040) | 0;
- K = (k + 1036) | 0;
- L = (k + 1032) | 0;
- M = (k + 1028) | 0;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = i;
- c[s >> 2] = j;
- c[t >> 2] = 1 << c[q >> 2];
- c[u >> 2] = (c[t >> 2] | 0) - 1;
- c[v >> 2] = c[n >> 2];
- c[w >> 2] = (c[v >> 2] | 0) + 4;
- c[x >> 2] =
- (c[v >> 2] | 0) +
- 4 +
- ((c[q >> 2] | 0 ? (c[t >> 2] | 0) >>> 1 : 1) << 2);
- c[y >> 2] = c[x >> 2];
- c[z >> 2] =
- ((c[t >> 2] | 0) >>> 1) + ((c[t >> 2] | 0) >>> 3) + 3;
- c[B >> 2] = c[r >> 2];
- c[C >> 2] = (c[t >> 2] | 0) - 1;
- if ((1 << c[q >> 2]) >>> 0 > (c[s >> 2] | 0) >>> 0) {
- c[m >> 2] = -44;
- N = c[m >> 2] | 0;
- l = k;
- return N | 0;
- }
- b[((c[w >> 2] | 0) + -4) >> 1] = c[q >> 2];
- b[((c[w >> 2] | 0) + -2) >> 1] = c[p >> 2];
- c[A >> 2] = 0;
- c[D >> 2] = 1;
- while (1) {
- if (
- (c[D >> 2] | 0) >>> 0 >
- (((c[p >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- s = c[(A + (((c[D >> 2] | 0) - 1) << 2)) >> 2] | 0;
- if (
- (b[
- ((c[o >> 2] | 0) + (((c[D >> 2] | 0) - 1) << 1)) >> 1
- ] |
- 0) ==
- -1
- ) {
- c[(A + (c[D >> 2] << 2)) >> 2] = s + 1;
- r = ((c[D >> 2] | 0) - 1) & 255;
- x = c[B >> 2] | 0;
- v = c[C >> 2] | 0;
- c[C >> 2] = v + -1;
- a[(x + v) >> 0] = r;
- } else
- c[(A + (c[D >> 2] << 2)) >> 2] =
- s +
- (b[
- ((c[o >> 2] | 0) + (((c[D >> 2] | 0) - 1) << 1)) >> 1
- ] |
- 0);
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[(A + (((c[p >> 2] | 0) + 1) << 2)) >> 2] =
- (c[t >> 2] | 0) + 1;
- c[E >> 2] = 0;
- c[F >> 2] = 0;
- while (1) {
- if ((c[F >> 2] | 0) >>> 0 > (c[p >> 2] | 0) >>> 0) break;
- c[G >> 2] = 0;
- while (1) {
- O = c[F >> 2] | 0;
- if (
- (c[G >> 2] | 0) >=
- (b[((c[o >> 2] | 0) + (c[F >> 2] << 1)) >> 1] | 0)
- )
- break;
- a[((c[B >> 2] | 0) + (c[E >> 2] | 0)) >> 0] = O;
- c[E >> 2] =
- ((c[E >> 2] | 0) + (c[z >> 2] | 0)) & c[u >> 2];
- while (1) {
- if ((c[E >> 2] | 0) >>> 0 <= (c[C >> 2] | 0) >>> 0)
- break;
- c[E >> 2] =
- ((c[E >> 2] | 0) + (c[z >> 2] | 0)) & c[u >> 2];
- }
- c[G >> 2] = (c[G >> 2] | 0) + 1;
- }
- c[F >> 2] = O + 1;
- }
- if (c[E >> 2] | 0) {
- c[m >> 2] = -1;
- N = c[m >> 2] | 0;
- l = k;
- return N | 0;
- }
- c[H >> 2] = 0;
- while (1) {
- if ((c[H >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- a[I >> 0] = a[((c[B >> 2] | 0) + (c[H >> 2] | 0)) >> 0] | 0;
- E = ((c[t >> 2] | 0) + (c[H >> 2] | 0)) & 65535;
- O = c[w >> 2] | 0;
- F = (A + (d[I >> 0] << 2)) | 0;
- G = c[F >> 2] | 0;
- c[F >> 2] = G + 1;
- b[(O + (G << 1)) >> 1] = E;
- c[H >> 2] = (c[H >> 2] | 0) + 1;
- }
- c[J >> 2] = 0;
- c[K >> 2] = 0;
- while (1) {
- if ((c[K >> 2] | 0) >>> 0 > (c[p >> 2] | 0) >>> 0) break;
- switch (b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] | 0) {
- case 0:
- break;
- case 1:
- case -1: {
- c[((c[y >> 2] | 0) + (c[K >> 2] << 3) + 4) >> 2] =
- (c[q >> 2] << 16) - (1 << c[q >> 2]);
- c[((c[y >> 2] | 0) + (c[K >> 2] << 3)) >> 2] =
- (c[J >> 2] | 0) - 1;
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- break;
- }
- default: {
- c[L >> 2] =
- (c[q >> 2] | 0) -
- (Vh(
- ((b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] |
- 0) -
- 1) |
- 0
- ) |
- 0);
- c[M >> 2] =
- b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] <<
- c[L >> 2];
- c[((c[y >> 2] | 0) + (c[K >> 2] << 3) + 4) >> 2] =
- (c[L >> 2] << 16) - (c[M >> 2] | 0);
- c[((c[y >> 2] | 0) + (c[K >> 2] << 3)) >> 2] =
- (c[J >> 2] | 0) -
- (b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] | 0);
- c[J >> 2] =
- (c[J >> 2] | 0) +
- (b[((c[o >> 2] | 0) + (c[K >> 2] << 1)) >> 1] | 0);
- }
- }
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- }
- c[m >> 2] = 0;
- N = c[m >> 2] | 0;
- l = k;
- return N | 0;
- }
- function Vh(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function Wh(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] =
- ((N(((c[e >> 2] | 0) + 1) | 0, c[f >> 2] | 0) | 0) >>> 3) +
- 3;
- l = d;
- return (c[e >> 2] | 0 ? c[g >> 2] | 0 : 512) | 0;
- }
- function Xh(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- do {
- if ((c[n >> 2] | 0) >>> 0 <= 12) {
- if ((c[n >> 2] | 0) >>> 0 < 5) {
- c[h >> 2] = -1;
- break;
- }
- f = c[j >> 2] | 0;
- e =
- f >>> 0 < (Wh(c[m >> 2] | 0, c[n >> 2] | 0) | 0) >>> 0;
- f = c[i >> 2] | 0;
- d = c[j >> 2] | 0;
- b = c[k >> 2] | 0;
- a = c[m >> 2] | 0;
- o = c[n >> 2] | 0;
- if (e) {
- c[h >> 2] = Yh(f, d, b, a, o, 0) | 0;
- break;
- } else {
- c[h >> 2] = Yh(f, d, b, a, o, 1) | 0;
- break;
- }
- } else c[h >> 2] = -44;
- } while (0);
- l = g;
- return c[h >> 2] | 0;
- }
- function Yh(d, e, f, g, h, i) {
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0;
- j = l;
- l = (l + 96) | 0;
- k = (j + 80) | 0;
- m = (j + 76) | 0;
- n = (j + 72) | 0;
- o = (j + 68) | 0;
- p = (j + 64) | 0;
- q = (j + 60) | 0;
- r = (j + 56) | 0;
- s = (j + 52) | 0;
- t = (j + 48) | 0;
- u = (j + 44) | 0;
- v = (j + 40) | 0;
- w = (j + 36) | 0;
- x = (j + 32) | 0;
- y = (j + 28) | 0;
- z = (j + 24) | 0;
- A = (j + 20) | 0;
- B = (j + 16) | 0;
- C = (j + 12) | 0;
- D = (j + 8) | 0;
- E = (j + 4) | 0;
- F = j;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = i;
- c[s >> 2] = c[m >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = (c[s >> 2] | 0) + (c[n >> 2] | 0);
- c[w >> 2] = 1 << c[q >> 2];
- c[B >> 2] = 0;
- c[C >> 2] = 0;
- c[z >> 2] = 0;
- c[A >> 2] = 0;
- c[z >> 2] =
- (c[z >> 2] | 0) + (((c[q >> 2] | 0) - 5) << c[A >> 2]);
- c[A >> 2] = (c[A >> 2] | 0) + 4;
- c[x >> 2] = (c[w >> 2] | 0) + 1;
- c[y >> 2] = c[w >> 2];
- c[v >> 2] = (c[q >> 2] | 0) + 1;
- a: while (1) {
- if ((c[x >> 2] | 0) <= 1) {
- G = 34;
- break;
- }
- if (c[C >> 2] | 0) {
- c[D >> 2] = c[B >> 2];
- while (1) {
- if (
- !(
- ((b[((c[o >> 2] | 0) + (c[B >> 2] << 1)) >> 1] |
- 0) !=
- 0) ^
- 1
- )
- )
- break;
- c[B >> 2] = (c[B >> 2] | 0) + 1;
- }
- while (1) {
- if (
- (c[B >> 2] | 0) >>> 0 <
- (((c[D >> 2] | 0) + 24) | 0) >>> 0
- )
- break;
- c[D >> 2] = (c[D >> 2] | 0) + 24;
- c[z >> 2] = (c[z >> 2] | 0) + (65535 << c[A >> 2]);
- if (
- (c[r >> 2] | 0) == 0
- ? (c[t >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) + -2) | 0) >>> 0
- : 0
- ) {
- G = 11;
- break a;
- }
- a[c[t >> 2] >> 0] = c[z >> 2];
- a[((c[t >> 2] | 0) + 1) >> 0] = (c[z >> 2] | 0) >>> 8;
- c[t >> 2] = (c[t >> 2] | 0) + 2;
- c[z >> 2] = (c[z >> 2] | 0) >>> 16;
- }
- while (1) {
- if (
- (c[B >> 2] | 0) >>> 0 <
- (((c[D >> 2] | 0) + 3) | 0) >>> 0
- )
- break;
- c[D >> 2] = (c[D >> 2] | 0) + 3;
- c[z >> 2] = (c[z >> 2] | 0) + (3 << c[A >> 2]);
- c[A >> 2] = (c[A >> 2] | 0) + 2;
- }
- c[z >> 2] =
- (c[z >> 2] | 0) +
- (((c[B >> 2] | 0) - (c[D >> 2] | 0)) << c[A >> 2]);
- c[A >> 2] = (c[A >> 2] | 0) + 2;
- if ((c[A >> 2] | 0) > 16) {
- if (
- (c[r >> 2] | 0) == 0
- ? (c[t >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) + -2) | 0) >>> 0
- : 0
- ) {
- G = 19;
- break;
- }
- a[c[t >> 2] >> 0] = c[z >> 2];
- a[((c[t >> 2] | 0) + 1) >> 0] = (c[z >> 2] | 0) >>> 8;
- c[t >> 2] = (c[t >> 2] | 0) + 2;
- c[z >> 2] = (c[z >> 2] | 0) >>> 16;
- c[A >> 2] = (c[A >> 2] | 0) - 16;
- }
- }
- q = c[o >> 2] | 0;
- w = c[B >> 2] | 0;
- c[B >> 2] = w + 1;
- c[E >> 2] = b[(q + (w << 1)) >> 1];
- c[F >> 2] = (c[y >> 2] << 1) - 1 - (c[x >> 2] | 0);
- w = c[E >> 2] | 0;
- c[x >> 2] =
- (c[x >> 2] | 0) - ((c[E >> 2] | 0) < 0 ? (0 - w) | 0 : w);
- c[E >> 2] = (c[E >> 2] | 0) + 1;
- if ((c[E >> 2] | 0) >= (c[y >> 2] | 0))
- c[E >> 2] = (c[E >> 2] | 0) + (c[F >> 2] | 0);
- c[z >> 2] = (c[z >> 2] | 0) + (c[E >> 2] << c[A >> 2]);
- c[A >> 2] = (c[A >> 2] | 0) + (c[v >> 2] | 0);
- c[A >> 2] =
- (c[A >> 2] | 0) -
- (((c[E >> 2] | 0) < (c[F >> 2] | 0)) & 1);
- c[C >> 2] = ((c[E >> 2] | 0) == 1) & 1;
- if ((c[x >> 2] | 0) < 1) {
- G = 24;
- break;
- }
- while (1) {
- if ((c[x >> 2] | 0) >= (c[y >> 2] | 0)) break;
- c[v >> 2] = (c[v >> 2] | 0) + -1;
- c[y >> 2] = c[y >> 2] >> 1;
- }
- if ((c[A >> 2] | 0) > 16) {
- if (
- (c[r >> 2] | 0) == 0
- ? (c[t >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) + -2) | 0) >>> 0
- : 0
- ) {
- G = 31;
- break;
- }
- a[c[t >> 2] >> 0] = c[z >> 2];
- a[((c[t >> 2] | 0) + 1) >> 0] = (c[z >> 2] | 0) >>> 8;
- c[t >> 2] = (c[t >> 2] | 0) + 2;
- c[z >> 2] = (c[z >> 2] | 0) >>> 16;
- c[A >> 2] = (c[A >> 2] | 0) - 16;
- }
- }
- if ((G | 0) == 11) {
- c[k >> 2] = -70;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- } else if ((G | 0) == 19) {
- c[k >> 2] = -70;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- } else if ((G | 0) == 24) {
- c[k >> 2] = -1;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- } else if ((G | 0) == 31) {
- c[k >> 2] = -70;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- } else if ((G | 0) == 34) {
- if (
- (c[r >> 2] | 0) == 0
- ? (c[t >> 2] | 0) >>> 0 >
- (((c[u >> 2] | 0) + -2) | 0) >>> 0
- : 0
- ) {
- c[k >> 2] = -70;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- a[c[t >> 2] >> 0] = c[z >> 2];
- a[((c[t >> 2] | 0) + 1) >> 0] = (c[z >> 2] | 0) >>> 8;
- c[t >> 2] =
- (c[t >> 2] | 0) + (((((c[A >> 2] | 0) + 7) | 0) / 8) | 0);
- if (
- (c[B >> 2] | 0) >>> 0 >
- (((c[p >> 2] | 0) + 1) | 0) >>> 0
- ) {
- c[k >> 2] = -1;
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- } else {
- c[k >> 2] = (c[t >> 2] | 0) - (c[s >> 2] | 0);
- H = c[k >> 2] | 0;
- l = j;
- return H | 0;
- }
- }
- return 0;
- }
- function Zh(a, b, e, f) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 36) | 0;
- i = (g + 32) | 0;
- j = (g + 28) | 0;
- k = (g + 24) | 0;
- m = (g + 20) | 0;
- n = (g + 16) | 0;
- o = (g + 12) | 0;
- p = (g + 8) | 0;
- q = (g + 4) | 0;
- r = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = c[k >> 2];
- c[o >> 2] = (c[n >> 2] | 0) + (c[m >> 2] | 0);
- c[p >> 2] = c[c[j >> 2] >> 2];
- c[q >> 2] = 0;
- oE(c[i >> 2] | 0, 0, (((c[p >> 2] | 0) + 1) << 2) | 0) | 0;
- if (!(c[m >> 2] | 0)) {
- c[c[j >> 2] >> 2] = 0;
- c[h >> 2] = 0;
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- while (1) {
- if ((c[n >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) break;
- m = c[i >> 2] | 0;
- k = c[n >> 2] | 0;
- c[n >> 2] = k + 1;
- f = (m + ((d[k >> 0] | 0) << 2)) | 0;
- c[f >> 2] = (c[f >> 2] | 0) + 1;
- }
- while (1) {
- t = c[p >> 2] | 0;
- if (
- !(
- ((c[((c[i >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) !=
- 0) ^
- 1
- )
- )
- break;
- c[p >> 2] = t + -1;
- }
- c[c[j >> 2] >> 2] = t;
- c[r >> 2] = 0;
- while (1) {
- if ((c[r >> 2] | 0) >>> 0 > (c[p >> 2] | 0) >>> 0) break;
- if (
- (c[((c[i >> 2] | 0) + (c[r >> 2] << 2)) >> 2] | 0) >>> 0 >
- (c[q >> 2] | 0) >>> 0
- )
- c[q >> 2] = c[((c[i >> 2] | 0) + (c[r >> 2] << 2)) >> 2];
- c[r >> 2] = (c[r >> 2] | 0) + 1;
- }
- c[h >> 2] = c[q >> 2];
- s = c[h >> 2] | 0;
- l = g;
- return s | 0;
- }
- function _h(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- f = c[i >> 2] | 0;
- i = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- if ((c[m >> 2] | 0) >>> 0 < 1500) {
- c[h >> 2] = Zh(f, i, j, k) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- } else {
- c[h >> 2] = $h(f, i, j, k, 0, c[n >> 2] | 0) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- return 0;
- }
- function $h(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0;
- i = l;
- l = (l + 80) | 0;
- j = (i + 72) | 0;
- k = (i + 68) | 0;
- m = (i + 64) | 0;
- n = (i + 60) | 0;
- o = (i + 56) | 0;
- p = (i + 52) | 0;
- q = (i + 48) | 0;
- r = (i + 44) | 0;
- s = (i + 40) | 0;
- t = (i + 36) | 0;
- u = (i + 32) | 0;
- v = (i + 28) | 0;
- w = (i + 24) | 0;
- x = (i + 20) | 0;
- y = (i + 16) | 0;
- z = (i + 12) | 0;
- A = (i + 8) | 0;
- B = (i + 4) | 0;
- C = i;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = c[n >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[o >> 2] | 0);
- c[t >> 2] = c[c[m >> 2] >> 2];
- c[u >> 2] = 0;
- c[v >> 2] = c[q >> 2];
- c[w >> 2] = (c[v >> 2] | 0) + 1024;
- c[x >> 2] = (c[w >> 2] | 0) + 1024;
- c[y >> 2] = (c[x >> 2] | 0) + 1024;
- oE(c[q >> 2] | 0, 0, 4096) | 0;
- if (!(c[o >> 2] | 0)) {
- oE(c[k >> 2] | 0, 0, ((c[t >> 2] | 0) + 1) | 0) | 0;
- c[c[m >> 2] >> 2] = 0;
- c[j >> 2] = 0;
- D = c[j >> 2] | 0;
- l = i;
- return D | 0;
- }
- if (!(c[t >> 2] | 0)) c[t >> 2] = 255;
- c[z >> 2] = ai(c[r >> 2] | 0) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + 4;
- while (1) {
- if (
- (c[r >> 2] | 0) >>> 0 >=
- (((c[s >> 2] | 0) + -15) | 0) >>> 0
- )
- break;
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = ai(c[r >> 2] | 0) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + 4;
- o = ((c[v >> 2] | 0) + ((c[A >> 2] & 255) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o =
- ((c[w >> 2] | 0) +
- ((((c[A >> 2] | 0) >>> 8) & 255) << 2)) |
- 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o =
- ((c[x >> 2] | 0) +
- ((((c[A >> 2] | 0) >>> 16) & 255) << 2)) |
- 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o = ((c[y >> 2] | 0) + (((c[A >> 2] | 0) >>> 24) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = ai(c[r >> 2] | 0) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + 4;
- o = ((c[v >> 2] | 0) + ((c[A >> 2] & 255) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o =
- ((c[w >> 2] | 0) +
- ((((c[A >> 2] | 0) >>> 8) & 255) << 2)) |
- 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o =
- ((c[x >> 2] | 0) +
- ((((c[A >> 2] | 0) >>> 16) & 255) << 2)) |
- 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o = ((c[y >> 2] | 0) + (((c[A >> 2] | 0) >>> 24) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = ai(c[r >> 2] | 0) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + 4;
- o = ((c[v >> 2] | 0) + ((c[A >> 2] & 255) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o =
- ((c[w >> 2] | 0) +
- ((((c[A >> 2] | 0) >>> 8) & 255) << 2)) |
- 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o =
- ((c[x >> 2] | 0) +
- ((((c[A >> 2] | 0) >>> 16) & 255) << 2)) |
- 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o = ((c[y >> 2] | 0) + (((c[A >> 2] | 0) >>> 24) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = ai(c[r >> 2] | 0) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + 4;
- o = ((c[v >> 2] | 0) + ((c[A >> 2] & 255) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o =
- ((c[w >> 2] | 0) +
- ((((c[A >> 2] | 0) >>> 8) & 255) << 2)) |
- 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o =
- ((c[x >> 2] | 0) +
- ((((c[A >> 2] | 0) >>> 16) & 255) << 2)) |
- 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- o = ((c[y >> 2] | 0) + (((c[A >> 2] | 0) >>> 24) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- }
- c[r >> 2] = (c[r >> 2] | 0) + -4;
- while (1) {
- if ((c[r >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
- A = c[v >> 2] | 0;
- z = c[r >> 2] | 0;
- c[r >> 2] = z + 1;
- o = (A + ((d[z >> 0] | 0) << 2)) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- }
- a: do {
- if (c[p >> 2] | 0) {
- c[B >> 2] = 255;
- while (1) {
- if ((c[B >> 2] | 0) >>> 0 <= (c[t >> 2] | 0) >>> 0)
- break a;
- r = ((c[v >> 2] | 0) + (c[B >> 2] << 2)) | 0;
- c[r >> 2] =
- (c[r >> 2] | 0) +
- ((c[((c[w >> 2] | 0) + (c[B >> 2] << 2)) >> 2] | 0) +
- (c[((c[x >> 2] | 0) + (c[B >> 2] << 2)) >> 2] | 0) +
- (c[((c[y >> 2] | 0) + (c[B >> 2] << 2)) >> 2] | 0));
- if (c[((c[v >> 2] | 0) + (c[B >> 2] << 2)) >> 2] | 0)
- break;
- c[B >> 2] = (c[B >> 2] | 0) + -1;
- }
- c[j >> 2] = -48;
- D = c[j >> 2] | 0;
- l = i;
- return D | 0;
- }
- } while (0);
- if ((c[t >> 2] | 0) >>> 0 > 255) c[t >> 2] = 255;
- c[C >> 2] = 0;
- while (1) {
- if ((c[C >> 2] | 0) >>> 0 > (c[t >> 2] | 0) >>> 0) break;
- c[((c[k >> 2] | 0) + (c[C >> 2] << 2)) >> 2] =
- (c[((c[v >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0) +
- (c[((c[w >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0) +
- (c[((c[x >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0) +
- (c[((c[y >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0);
- if (
- (c[((c[k >> 2] | 0) + (c[C >> 2] << 2)) >> 2] | 0) >>> 0 >
- (c[u >> 2] | 0) >>> 0
- )
- c[u >> 2] = c[((c[k >> 2] | 0) + (c[C >> 2] << 2)) >> 2];
- c[C >> 2] = (c[C >> 2] | 0) + 1;
- }
- while (1) {
- E = c[t >> 2] | 0;
- if (
- !(
- ((c[((c[k >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0) !=
- 0) ^
- 1
- )
- )
- break;
- c[t >> 2] = E + -1;
- }
- c[c[m >> 2] >> 2] = E;
- c[j >> 2] = c[u >> 2];
- D = c[j >> 2] | 0;
- l = i;
- return D | 0;
- }
- function ai(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function bi(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if ((c[c[j >> 2] >> 2] | 0) >>> 0 < 255) {
- c[h >> 2] =
- $h(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- 1,
- c[n >> 2] | 0
- ) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- } else {
- c[c[j >> 2] >> 2] = 255;
- c[h >> 2] =
- _h(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- return 0;
- }
- function ci(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 12) | 0;
- k = (f + 8) | 0;
- m = (f + 4) | 0;
- n = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- e = Vh(((c[h >> 2] | 0) - 1) | 0) | 0;
- c[k >> 2] = e - (c[j >> 2] | 0);
- c[m >> 2] = c[g >> 2];
- c[n >> 2] = di(c[h >> 2] | 0, c[i >> 2] | 0) | 0;
- if (!(c[m >> 2] | 0)) c[m >> 2] = 11;
- if ((c[k >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0)
- c[m >> 2] = c[k >> 2];
- if ((c[n >> 2] | 0) >>> 0 > (c[m >> 2] | 0) >>> 0)
- c[m >> 2] = c[n >> 2];
- if ((c[m >> 2] | 0) >>> 0 < 5) c[m >> 2] = 5;
- if ((c[m >> 2] | 0) >>> 0 <= 12) {
- o = c[m >> 2] | 0;
- l = f;
- return o | 0;
- }
- c[m >> 2] = 12;
- o = c[m >> 2] | 0;
- l = f;
- return o | 0;
- }
- function di(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 16) | 0;
- f = (d + 12) | 0;
- g = (d + 8) | 0;
- h = (d + 4) | 0;
- i = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = (Vh(((c[e >> 2] | 0) - 1) | 0) | 0) + 1;
- c[h >> 2] = (Vh(c[f >> 2] | 0) | 0) + 2;
- c[i >> 2] =
- (c[g >> 2] | 0) >>> 0 < (c[h >> 2] | 0) >>> 0
- ? c[g >> 2] | 0
- : c[h >> 2] | 0;
- l = d;
- return c[i >> 2] | 0;
- }
- function ei(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = ci(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0, 2) | 0;
- l = e;
- return d | 0;
- }
- function fi(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 72) | 0;
- j = (h + 68) | 0;
- k = (h + 64) | 0;
- m = (h + 60) | 0;
- n = (h + 56) | 0;
- o = (h + 52) | 0;
- p = (h + 24) | 0;
- q = (h + 16) | 0;
- r = (h + 8) | 0;
- s = (h + 48) | 0;
- t = (h + 44) | 0;
- u = (h + 40) | 0;
- v = (h + 78) | 0;
- w = (h + 36) | 0;
- x = (h + 76) | 0;
- z = h;
- A = (h + 32) | 0;
- c[j >> 2] = a;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- if (!(c[k >> 2] | 0)) c[k >> 2] = 11;
- if ((c[k >> 2] | 0) >>> 0 < 5) {
- c[i >> 2] = -1;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- if ((c[k >> 2] | 0) >>> 0 > 12) {
- c[i >> 2] = -44;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- g = c[k >> 2] | 0;
- if (g >>> 0 < (di(c[n >> 2] | 0, c[o >> 2] | 0) | 0) >>> 0) {
- c[i >> 2] = -1;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- g = p;
- c[g >> 2] = 62 - (c[k >> 2] | 0);
- c[(g + 4) >> 2] = 0;
- g = hE(0, 1073741824, c[n >> 2] | 0, 0) | 0;
- f = q;
- c[f >> 2] = g;
- c[(f + 4) >> 2] = y;
- f = p;
- g = eE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 20, 0) | 0;
- f = jE(1, 0, g | 0) | 0;
- g = r;
- c[g >> 2] = f;
- c[(g + 4) >> 2] = y;
- c[s >> 2] = 1 << c[k >> 2];
- c[u >> 2] = 0;
- b[v >> 1] = 0;
- c[w >> 2] = (c[n >> 2] | 0) >>> (c[k >> 2] | 0);
- c[t >> 2] = 0;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
- if (
- (c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0) ==
- (c[n >> 2] | 0)
- ) {
- C = 12;
- break;
- }
- do {
- if (!(c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0))
- b[((c[j >> 2] | 0) + (c[t >> 2] << 1)) >> 1] = 0;
- else {
- if (
- (c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0) >>>
- 0 <=
- (c[w >> 2] | 0) >>> 0
- ) {
- b[((c[j >> 2] | 0) + (c[t >> 2] << 1)) >> 1] = -1;
- c[s >> 2] = (c[s >> 2] | 0) + -1;
- break;
- }
- g = q;
- f =
- cE(
- c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0,
- 0,
- c[g >> 2] | 0,
- c[(g + 4) >> 2] | 0
- ) | 0;
- g = iE(f | 0, y | 0, c[p >> 2] | 0) | 0;
- b[x >> 1] = g;
- if ((b[x >> 1] | 0) < 8) {
- g = r;
- f =
- cE(
- c[g >> 2] | 0,
- c[(g + 4) >> 2] | 0,
- c[(192 + (b[x >> 1] << 2)) >> 2] | 0,
- 0
- ) | 0;
- g = z;
- c[g >> 2] = f;
- c[(g + 4) >> 2] = y;
- g = q;
- f =
- cE(
- c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] | 0,
- 0,
- c[g >> 2] | 0,
- c[(g + 4) >> 2] | 0
- ) | 0;
- g = y;
- e = b[x >> 1] | 0;
- d =
- jE(
- e | 0,
- ((((e | 0) < 0) << 31) >> 31) | 0,
- c[p >> 2] | 0
- ) | 0;
- e = eE(f | 0, g | 0, d | 0, y | 0) | 0;
- d = y;
- g = z;
- f = c[(g + 4) >> 2] | 0;
- b[x >> 1] =
- (b[x >> 1] | 0) +
- (((d >>> 0 > f >>> 0) |
- ((d | 0) == (f | 0)
- ? e >>> 0 > (c[g >> 2] | 0) >>> 0
- : 0)) &
- 1);
- }
- if ((b[x >> 1] | 0) > (b[v >> 1] | 0)) {
- b[v >> 1] = b[x >> 1] | 0;
- c[u >> 2] = c[t >> 2];
- }
- b[((c[j >> 2] | 0) + (c[t >> 2] << 1)) >> 1] =
- b[x >> 1] | 0;
- c[s >> 2] = (c[s >> 2] | 0) - (b[x >> 1] | 0);
- }
- } while (0);
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- if ((C | 0) == 12) {
- c[i >> 2] = 0;
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- if (
- ((0 - (c[s >> 2] | 0)) | 0) >=
- ((b[((c[j >> 2] | 0) + (c[u >> 2] << 1)) >> 1] >> 1) | 0)
- ) {
- c[A >> 2] =
- gi(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- if (hi(c[A >> 2] | 0) | 0) {
- c[i >> 2] = c[A >> 2];
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- } else {
- A = ((c[j >> 2] | 0) + (c[u >> 2] << 1)) | 0;
- b[A >> 1] =
- (b[A >> 1] | 0) + (((c[s >> 2] & 65535) << 16) >> 16);
- }
- c[i >> 2] = c[k >> 2];
- B = c[i >> 2] | 0;
- l = h;
- return B | 0;
- }
- function gi(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0;
- h = l;
- l = (l + 112) | 0;
- i = (h + 100) | 0;
- j = (h + 96) | 0;
- k = (h + 92) | 0;
- m = (h + 88) | 0;
- n = (h + 84) | 0;
- o = (h + 80) | 0;
- p = (h + 76) | 0;
- q = (h + 72) | 0;
- r = (h + 68) | 0;
- s = (h + 64) | 0;
- t = (h + 60) | 0;
- u = (h + 56) | 0;
- v = (h + 52) | 0;
- w = (h + 32) | 0;
- x = (h + 24) | 0;
- z = (h + 16) | 0;
- A = (h + 8) | 0;
- B = h;
- C = (h + 48) | 0;
- D = (h + 44) | 0;
- E = (h + 40) | 0;
- c[j >> 2] = a;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- b[(h + 104) >> 1] = -2;
- c[q >> 2] = 0;
- c[s >> 2] = (c[n >> 2] | 0) >>> (c[k >> 2] | 0);
- c[t >> 2] =
- (((c[n >> 2] | 0) * 3) | 0) >>> (((c[k >> 2] | 0) + 1) | 0);
- c[p >> 2] = 0;
- while (1) {
- if ((c[p >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
- do {
- if (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) {
- if (
- (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) >>>
- 0 <=
- (c[s >> 2] | 0) >>> 0
- ) {
- b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] = -1;
- c[q >> 2] = (c[q >> 2] | 0) + 1;
- c[n >> 2] =
- (c[n >> 2] | 0) -
- (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0);
- break;
- }
- g = ((c[j >> 2] | 0) + (c[p >> 2] << 1)) | 0;
- if (
- (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) >>>
- 0 <=
- (c[t >> 2] | 0) >>> 0
- ) {
- b[g >> 1] = 1;
- c[q >> 2] = (c[q >> 2] | 0) + 1;
- c[n >> 2] =
- (c[n >> 2] | 0) -
- (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0);
- break;
- } else {
- b[g >> 1] = -2;
- break;
- }
- } else b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] = 0;
- } while (0);
- c[p >> 2] = (c[p >> 2] | 0) + 1;
- }
- c[r >> 2] = (1 << c[k >> 2]) - (c[q >> 2] | 0);
- if (
- ((((c[n >> 2] | 0) >>> 0) / ((c[r >> 2] | 0) >>> 0)) |
- 0) >>>
- 0 >
- (c[t >> 2] | 0) >>> 0
- ) {
- c[t >> 2] =
- (((((c[n >> 2] | 0) * 3) | 0) >>> 0) /
- ((c[r >> 2] << 1) >>> 0)) |
- 0;
- c[p >> 2] = 0;
- while (1) {
- if ((c[p >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
- if (
- (b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] | 0) == -2
- ? (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] |
- 0) >>>
- 0 <=
- (c[t >> 2] | 0) >>> 0
- : 0
- ) {
- b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] = 1;
- c[q >> 2] = (c[q >> 2] | 0) + 1;
- c[n >> 2] =
- (c[n >> 2] | 0) -
- (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0);
- }
- c[p >> 2] = (c[p >> 2] | 0) + 1;
- }
- c[r >> 2] = (1 << c[k >> 2]) - (c[q >> 2] | 0);
- }
- if ((c[q >> 2] | 0) == (((c[o >> 2] | 0) + 1) | 0)) {
- c[u >> 2] = 0;
- c[v >> 2] = 0;
- c[p >> 2] = 0;
- while (1) {
- if ((c[p >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) break;
- if (
- (c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0) >>>
- 0 >
- (c[v >> 2] | 0) >>> 0
- ) {
- c[u >> 2] = c[p >> 2];
- c[v >> 2] =
- c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2];
- }
- c[p >> 2] = (c[p >> 2] | 0) + 1;
- }
- v = ((c[j >> 2] | 0) + (c[u >> 2] << 1)) | 0;
- b[v >> 1] =
- (b[v >> 1] | 0) + (((c[r >> 2] & 65535) << 16) >> 16);
- c[i >> 2] = 0;
- F = c[i >> 2] | 0;
- l = h;
- return F | 0;
- }
- if (!(c[n >> 2] | 0)) {
- c[p >> 2] = 0;
- while (1) {
- if ((c[r >> 2] | 0) >>> 0 <= 0) break;
- if (
- (b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] | 0) >
- 0
- ) {
- c[r >> 2] = (c[r >> 2] | 0) + -1;
- v = ((c[j >> 2] | 0) + (c[p >> 2] << 1)) | 0;
- b[v >> 1] = (((b[v >> 1] | 0) + 1) << 16) >> 16;
- }
- c[p >> 2] =
- ((((c[p >> 2] | 0) + 1) | 0) >>> 0) %
- ((((c[o >> 2] | 0) + 1) | 0) >>> 0) |
- 0;
- }
- c[i >> 2] = 0;
- F = c[i >> 2] | 0;
- l = h;
- return F | 0;
- }
- v = w;
- c[v >> 2] = 62 - (c[k >> 2] | 0);
- c[(v + 4) >> 2] = 0;
- v = w;
- k = eE(c[v >> 2] | 0, c[(v + 4) >> 2] | 0, 1, 0) | 0;
- v = jE(1, 0, k | 0) | 0;
- k = eE(v | 0, y | 0, 1, 0) | 0;
- v = x;
- c[v >> 2] = k;
- c[(v + 4) >> 2] = y;
- v = jE(1, 0, c[w >> 2] | 0) | 0;
- k = cE(v | 0, y | 0, c[r >> 2] | 0, 0) | 0;
- r = x;
- v = dE(k | 0, y | 0, c[r >> 2] | 0, c[(r + 4) >> 2] | 0) | 0;
- r = hE(v | 0, y | 0, c[n >> 2] | 0, 0) | 0;
- n = z;
- c[n >> 2] = r;
- c[(n + 4) >> 2] = y;
- n = x;
- x = c[(n + 4) >> 2] | 0;
- r = A;
- c[r >> 2] = c[n >> 2];
- c[(r + 4) >> 2] = x;
- c[p >> 2] = 0;
- while (1) {
- if ((c[p >> 2] | 0) >>> 0 > (c[o >> 2] | 0) >>> 0) {
- G = 40;
- break;
- }
- if (
- (b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] | 0) ==
- -2
- ) {
- x = A;
- r = c[x >> 2] | 0;
- n = c[(x + 4) >> 2] | 0;
- x = z;
- v =
- cE(
- c[((c[m >> 2] | 0) + (c[p >> 2] << 2)) >> 2] | 0,
- 0,
- c[x >> 2] | 0,
- c[(x + 4) >> 2] | 0
- ) | 0;
- x = dE(r | 0, n | 0, v | 0, y | 0) | 0;
- v = B;
- c[v >> 2] = x;
- c[(v + 4) >> 2] = y;
- v = A;
- x =
- iE(c[v >> 2] | 0, c[(v + 4) >> 2] | 0, c[w >> 2] | 0) |
- 0;
- c[C >> 2] = x;
- x = B;
- v =
- iE(c[x >> 2] | 0, c[(x + 4) >> 2] | 0, c[w >> 2] | 0) |
- 0;
- c[D >> 2] = v;
- c[E >> 2] = (c[D >> 2] | 0) - (c[C >> 2] | 0);
- if ((c[E >> 2] | 0) >>> 0 < 1) {
- G = 37;
- break;
- }
- b[((c[j >> 2] | 0) + (c[p >> 2] << 1)) >> 1] = c[E >> 2];
- v = B;
- x = c[(v + 4) >> 2] | 0;
- n = A;
- c[n >> 2] = c[v >> 2];
- c[(n + 4) >> 2] = x;
- }
- c[p >> 2] = (c[p >> 2] | 0) + 1;
- }
- if ((G | 0) == 37) {
- c[i >> 2] = -1;
- F = c[i >> 2] | 0;
- l = h;
- return F | 0;
- } else if ((G | 0) == 40) {
- c[i >> 2] = 0;
- F = c[i >> 2] | 0;
- l = h;
- return F | 0;
- }
- return 0;
- }
- function hi(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function ii(e, f) {
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 16) | 0;
- i = (g + 20) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[h >> 2] = e;
- a[i >> 0] = f;
- c[j >> 2] = c[h >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + 4;
- c[m >> 2] = (c[j >> 2] | 0) + 8;
- c[n >> 2] = c[m >> 2];
- b[((c[k >> 2] | 0) + -4) >> 1] = 0;
- b[((c[k >> 2] | 0) + -2) >> 1] = d[i >> 0] | 0;
- b[c[k >> 2] >> 1] = 0;
- b[((c[k >> 2] | 0) + 2) >> 1] = 0;
- c[((c[n >> 2] | 0) + ((d[i >> 0] | 0) << 3) + 4) >> 2] = 0;
- c[((c[n >> 2] | 0) + ((d[i >> 0] | 0) << 3)) >> 2] = 0;
- l = g;
- return 0;
- }
- function ji(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 24) | 0;
- i = (g + 20) | 0;
- j = (g + 16) | 0;
- k = (g + 12) | 0;
- m = (g + 8) | 0;
- n = (g + 4) | 0;
- o = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] =
- ((c[j >> 2] | 0) >>> 0 >=
- (((c[m >> 2] | 0) + ((c[m >> 2] | 0) >>> 7)) | 0) >>> 0) &
- 1;
- f = c[i >> 2] | 0;
- i = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- if (c[o >> 2] | 0) {
- c[h >> 2] = ki(f, i, j, k, m, 1) | 0;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- } else {
- c[h >> 2] = ki(f, i, j, k, m, 0) | 0;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- return 0;
- }
- function ki(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0;
- i = l;
- l = (l + 112) | 0;
- j = (i + 96) | 0;
- k = (i + 92) | 0;
- m = (i + 88) | 0;
- n = (i + 84) | 0;
- o = (i + 80) | 0;
- p = (i + 76) | 0;
- q = (i + 72) | 0;
- r = (i + 68) | 0;
- s = (i + 64) | 0;
- t = (i + 60) | 0;
- u = (i + 40) | 0;
- v = (i + 24) | 0;
- w = (i + 8) | 0;
- x = i;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = c[n >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[o >> 2] | 0);
- c[t >> 2] = c[s >> 2];
- if ((c[o >> 2] | 0) >>> 0 <= 2) {
- c[j >> 2] = 0;
- y = c[j >> 2] | 0;
- l = i;
- return y | 0;
- }
- c[x >> 2] = li(u, c[k >> 2] | 0, c[m >> 2] | 0) | 0;
- if (hi(c[x >> 2] | 0) | 0) {
- c[j >> 2] = 0;
- y = c[j >> 2] | 0;
- l = i;
- return y | 0;
- }
- x = ((c[o >> 2] & 1) | 0) != 0;
- m = c[p >> 2] | 0;
- k = ((c[t >> 2] | 0) + -1) | 0;
- c[t >> 2] = k;
- s = d[k >> 0] | 0;
- do {
- if (x) {
- mi(v, m, s);
- k = c[p >> 2] | 0;
- n = ((c[t >> 2] | 0) + -1) | 0;
- c[t >> 2] = n;
- mi(w, k, d[n >> 0] | 0);
- n = ((c[t >> 2] | 0) + -1) | 0;
- c[t >> 2] = n;
- ni(u, v, d[n >> 0] | 0);
- if (c[q >> 2] | 0) {
- oi(u);
- break;
- } else {
- pi(u);
- break;
- }
- } else {
- mi(w, m, s);
- n = c[p >> 2] | 0;
- k = ((c[t >> 2] | 0) + -1) | 0;
- c[t >> 2] = k;
- mi(v, n, d[k >> 0] | 0);
- }
- } while (0);
- c[o >> 2] = (c[o >> 2] | 0) - 2;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 <= (c[r >> 2] | 0) >>> 0) break;
- o = ((c[t >> 2] | 0) + -1) | 0;
- c[t >> 2] = o;
- ni(u, w, d[o >> 0] | 0);
- o = ((c[t >> 2] | 0) + -1) | 0;
- c[t >> 2] = o;
- ni(u, v, d[o >> 0] | 0);
- if (c[q >> 2] | 0) oi(u);
- else pi(u);
- }
- qi(u, w);
- qi(u, v);
- c[j >> 2] = ri(u) | 0;
- y = c[j >> 2] | 0;
- l = i;
- return y | 0;
- }
- function li(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[c[g >> 2] >> 2] = 0;
- c[((c[g >> 2] | 0) + 4) >> 2] = 0;
- c[((c[g >> 2] | 0) + 8) >> 2] = c[h >> 2];
- c[((c[g >> 2] | 0) + 12) >> 2] =
- c[((c[g >> 2] | 0) + 8) >> 2];
- c[((c[g >> 2] | 0) + 16) >> 2] =
- (c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] | 0) + -4;
- if ((c[i >> 2] | 0) >>> 0 <= 4) {
- c[f >> 2] = -70;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- } else {
- c[f >> 2] = 0;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function mi(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- Di(c[g >> 2] | 0, c[h >> 2] | 0);
- h =
- ((c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] << 3)) |
- 0;
- c[j >> 2] = c[h >> 2];
- c[(j + 4) >> 2] = c[(h + 4) >> 2];
- c[k >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
- c[m >> 2] = (((c[(j + 4) >> 2] | 0) + 32768) | 0) >>> 16;
- c[c[g >> 2] >> 2] = (c[m >> 2] << 16) - (c[(j + 4) >> 2] | 0);
- c[c[g >> 2] >> 2] =
- e[
- ((c[k >> 2] | 0) +
- (((c[c[g >> 2] >> 2] >> c[m >> 2]) + (c[j >> 2] | 0)) <<
- 1)) >>
- 1
- ];
- l = f;
- return;
- }
- function ni(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- d =
- ((c[((c[h >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] << 3)) |
- 0;
- c[j >> 2] = c[d >> 2];
- c[(j + 4) >> 2] = c[(d + 4) >> 2];
- c[k >> 2] = c[((c[h >> 2] | 0) + 4) >> 2];
- c[m >> 2] =
- (((c[c[h >> 2] >> 2] | 0) + (c[(j + 4) >> 2] | 0)) | 0) >>>
- 16;
- ti(c[g >> 2] | 0, c[c[h >> 2] >> 2] | 0, c[m >> 2] | 0);
- c[c[h >> 2] >> 2] =
- e[
- ((c[k >> 2] | 0) +
- (((c[c[h >> 2] >> 2] >> c[m >> 2]) + (c[j >> 2] | 0)) <<
- 1)) >>
- 1
- ];
- l = f;
- return;
- }
- function oi(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[d >> 2] = a;
- c[e >> 2] = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) >>> 3;
- ui(c[((c[d >> 2] | 0) + 12) >> 2] | 0, c[c[d >> 2] >> 2] | 0);
- a = ((c[d >> 2] | 0) + 12) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (c[e >> 2] | 0);
- a = ((c[d >> 2] | 0) + 4) | 0;
- c[a >> 2] = c[a >> 2] & 7;
- a = c[d >> 2] | 0;
- c[a >> 2] = (c[a >> 2] | 0) >>> (c[e >> 2] << 3);
- l = b;
- return;
- }
- function pi(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[d >> 2] = a;
- c[e >> 2] = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) >>> 3;
- ui(c[((c[d >> 2] | 0) + 12) >> 2] | 0, c[c[d >> 2] >> 2] | 0);
- a = ((c[d >> 2] | 0) + 12) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (c[e >> 2] | 0);
- if (
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0) >>> 0 >
- (c[((c[d >> 2] | 0) + 16) >> 2] | 0) >>> 0
- )
- c[((c[d >> 2] | 0) + 12) >> 2] =
- c[((c[d >> 2] | 0) + 16) >> 2];
- a = ((c[d >> 2] | 0) + 4) | 0;
- c[a >> 2] = c[a >> 2] & 7;
- a = c[d >> 2] | 0;
- c[a >> 2] = (c[a >> 2] | 0) >>> (c[e >> 2] << 3);
- l = b;
- return;
- }
- function qi(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- ti(
- c[e >> 2] | 0,
- c[c[f >> 2] >> 2] | 0,
- c[((c[f >> 2] | 0) + 12) >> 2] | 0
- );
- pi(c[e >> 2] | 0);
- l = d;
- return;
- }
- function ri(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- si(c[e >> 2] | 0, 1, 1);
- pi(c[e >> 2] | 0);
- if (
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0 >=
- (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
- ) {
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- } else {
- c[d >> 2] =
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 0) & 1);
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function si(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = c[f >> 2] | 0;
- c[d >> 2] =
- c[d >> 2] | (c[g >> 2] << c[((c[f >> 2] | 0) + 4) >> 2]);
- g = ((c[f >> 2] | 0) + 4) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function ti(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = c[f >> 2] | 0;
- c[d >> 2] =
- c[d >> 2] |
- ((c[g >> 2] & c[(2800 + (c[h >> 2] << 2)) >> 2]) <<
- c[((c[f >> 2] | 0) + 4) >> 2]);
- g = ((c[f >> 2] | 0) + 4) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function ui(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = (vi() | 0) != 0;
- a = c[e >> 2] | 0;
- e = c[f >> 2] | 0;
- if (b) {
- wi(a, e);
- l = d;
- return;
- } else {
- xi(a, e, 0);
- l = d;
- return;
- }
- }
- function vi() {
- return 1;
- }
- function wi(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = (yi() | 0) != 0;
- a = c[e >> 2] | 0;
- e = c[f >> 2] | 0;
- if (b) {
- Bi(a, e);
- l = d;
- return;
- } else {
- Bi(a, Ci(e) | 0);
- l = d;
- return;
- }
- }
- function xi(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = e;
- c[f >> 2] = a;
- a = g;
- c[a >> 2] = b;
- c[(a + 4) >> 2] = d;
- d = (yi() | 0) != 0;
- a = c[f >> 2] | 0;
- f = g;
- g = c[f >> 2] | 0;
- b = c[(f + 4) >> 2] | 0;
- if (d) {
- zi(a, g, b);
- l = e;
- return;
- } else {
- d = Ai(g, b) | 0;
- zi(a, d, y);
- l = e;
- return;
- }
- }
- function yi() {
- return d[11936] | 0 | 0;
- }
- function zi(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = (f + 8) | 0;
- h = f;
- c[g >> 2] = b;
- b = h;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- e = h;
- h = c[e >> 2] | 0;
- b = c[(e + 4) >> 2] | 0;
- e = c[g >> 2] | 0;
- g = e;
- a[g >> 0] = h;
- a[(g + 1) >> 0] = h >> 8;
- a[(g + 2) >> 0] = h >> 16;
- a[(g + 3) >> 0] = h >> 24;
- h = (e + 4) | 0;
- a[h >> 0] = b;
- a[(h + 1) >> 0] = b >> 8;
- a[(h + 2) >> 0] = b >> 16;
- a[(h + 3) >> 0] = b >> 24;
- l = f;
- return;
- }
- function Ai(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function Bi(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[g >> 2] | 0;
- g = c[f >> 2] | 0;
- a[g >> 0] = d;
- a[(g + 1) >> 0] = d >> 8;
- a[(g + 2) >> 0] = d >> 16;
- a[(g + 3) >> 0] = d >> 24;
- l = e;
- return;
- }
- function Ci(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function Di(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 16) | 0;
- f = (d + 12) | 0;
- g = (d + 8) | 0;
- h = (d + 4) | 0;
- i = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = c[f >> 2];
- c[h >> 2] = c[g >> 2];
- c[i >> 2] = (Ei(c[g >> 2] | 0) | 0) & 65535;
- c[c[e >> 2] >> 2] = 1 << c[i >> 2];
- c[((c[e >> 2] | 0) + 4) >> 2] = (c[h >> 2] | 0) + 4;
- if (c[i >> 2] | 0) j = 1 << ((c[i >> 2] | 0) - 1);
- else j = 1;
- c[((c[e >> 2] | 0) + 8) >> 2] =
- (c[f >> 2] | 0) + 4 + (j << 2);
- c[((c[e >> 2] | 0) + 12) >> 2] = c[i >> 2];
- l = d;
- return;
- }
- function Ei(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function Fi(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = ci(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0, 1) | 0;
- l = e;
- return d | 0;
- }
- function Gi(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0;
- f = l;
- l = (l + 464) | 0;
- g = (f + 452) | 0;
- h = (f + 448) | 0;
- i = (f + 444) | 0;
- j = (f + 440) | 0;
- k = (f + 436) | 0;
- m = (f + 432) | 0;
- n = (f + 428) | 0;
- o = (f + 424) | 0;
- p = (f + 420) | 0;
- q = (f + 416) | 0;
- r = (f + 160) | 0;
- s = (f + 32) | 0;
- t = f;
- u = (f + 412) | 0;
- v = (f + 408) | 0;
- w = (f + 404) | 0;
- x = (f + 400) | 0;
- y = (f + 396) | 0;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = c[h >> 2];
- c[n >> 2] = c[m >> 2];
- c[o >> 2] = (c[m >> 2] | 0) + (c[i >> 2] | 0);
- c[p >> 2] = 12;
- c[q >> 2] = 6;
- if ((c[k >> 2] | 0) >>> 0 <= 1) {
- c[g >> 2] = 0;
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- c[u >> 2] = Zh(s, p, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- i = (Hi(c[u >> 2] | 0) | 0) != 0;
- h = c[u >> 2] | 0;
- if (i) {
- c[g >> 2] = h;
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- if ((h | 0) == (c[k >> 2] | 0)) {
- c[g >> 2] = 1;
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- if ((c[u >> 2] | 0) == 1) {
- c[g >> 2] = 0;
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- c[q >> 2] =
- ei(c[q >> 2] | 0, c[k >> 2] | 0, c[p >> 2] | 0) | 0;
- c[v >> 2] =
- fi(t, c[q >> 2] | 0, s, c[k >> 2] | 0, c[p >> 2] | 0) | 0;
- if (Hi(c[v >> 2] | 0) | 0) {
- c[g >> 2] = c[v >> 2];
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- c[w >> 2] =
- Xh(
- c[n >> 2] | 0,
- ((c[o >> 2] | 0) - (c[n >> 2] | 0)) | 0,
- t,
- c[p >> 2] | 0,
- c[q >> 2] | 0
- ) | 0;
- v = (Hi(c[w >> 2] | 0) | 0) != 0;
- s = c[w >> 2] | 0;
- if (v) {
- c[g >> 2] = s;
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- c[n >> 2] = (c[n >> 2] | 0) + s;
- c[x >> 2] =
- Uh(r, t, c[p >> 2] | 0, c[q >> 2] | 0, (f + 96) | 0, 64) |
- 0;
- if (Hi(c[x >> 2] | 0) | 0) {
- c[g >> 2] = c[x >> 2];
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- c[y >> 2] =
- ji(
- c[n >> 2] | 0,
- ((c[o >> 2] | 0) - (c[n >> 2] | 0)) | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- r
- ) | 0;
- r = (Hi(c[y >> 2] | 0) | 0) != 0;
- k = c[y >> 2] | 0;
- if (r) {
- c[g >> 2] = k;
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- if (!k) {
- c[g >> 2] = 0;
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- } else {
- c[n >> 2] = (c[n >> 2] | 0) + (c[y >> 2] | 0);
- c[g >> 2] = (c[n >> 2] | 0) - (c[m >> 2] | 0);
- z = c[g >> 2] | 0;
- l = f;
- return z | 0;
- }
- return 0;
- }
- function Hi(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function Ii(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0;
- i = l;
- l = (l + 320) | 0;
- j = (i + 288) | 0;
- k = (i + 284) | 0;
- m = (i + 280) | 0;
- n = (i + 276) | 0;
- o = (i + 272) | 0;
- p = (i + 268) | 0;
- q = (i + 292) | 0;
- r = i;
- s = (i + 264) | 0;
- t = (i + 260) | 0;
- u = (i + 256) | 0;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- c[s >> 2] = c[k >> 2];
- if ((c[o >> 2] | 0) >>> 0 > 255) {
- c[j >> 2] = -46;
- v = c[j >> 2] | 0;
- l = i;
- return v | 0;
- }
- a[q >> 0] = 0;
- c[t >> 2] = 1;
- while (1) {
- if (
- (c[t >> 2] | 0) >>> 0 >=
- (((c[p >> 2] | 0) + 1) | 0) >>> 0
- )
- break;
- a[(q + (c[t >> 2] | 0)) >> 0] =
- (c[p >> 2] | 0) + 1 - (c[t >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[t >> 2] = 0;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) break;
- a[(r + (c[t >> 2] | 0)) >> 0] =
- a[
- (q +
- (d[((c[n >> 2] | 0) + (c[t >> 2] << 2) + 2) >> 0] |
- 0)) >>
- 0
- ] | 0;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[u >> 2] =
- Gi(
- ((c[s >> 2] | 0) + 1) | 0,
- ((c[m >> 2] | 0) - 1) | 0,
- r,
- c[o >> 2] | 0
- ) | 0;
- n = (Hi(c[u >> 2] | 0) | 0) != 0;
- q = c[u >> 2] | 0;
- if (n) {
- c[j >> 2] = q;
- v = c[j >> 2] | 0;
- l = i;
- return v | 0;
- }
- if (
- (q >>> 0 > 1
- ? (c[u >> 2] | 0) >>> 0 <
- ((((c[o >> 2] | 0) >>> 0) / 2) | 0) >>> 0
- : 0) | 0
- ) {
- a[c[s >> 2] >> 0] = c[u >> 2];
- c[j >> 2] = (c[u >> 2] | 0) + 1;
- v = c[j >> 2] | 0;
- l = i;
- return v | 0;
- }
- if ((c[o >> 2] | 0) >>> 0 > 128) {
- c[j >> 2] = -1;
- v = c[j >> 2] | 0;
- l = i;
- return v | 0;
- }
- if (
- ((((((((c[o >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0) + 1) |
- 0) >>>
- 0 >
- (c[m >> 2] | 0) >>> 0
- ) {
- c[j >> 2] = -70;
- v = c[j >> 2] | 0;
- l = i;
- return v | 0;
- }
- a[c[s >> 2] >> 0] = 128 + ((c[o >> 2] | 0) - 1);
- a[(r + (c[o >> 2] | 0)) >> 0] = 0;
- c[t >> 2] = 0;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) break;
- a[
- ((c[s >> 2] | 0) +
- (((((c[t >> 2] | 0) >>> 0) / 2) | 0) + 1)) >>
- 0
- ] =
- ((d[(r + (c[t >> 2] | 0)) >> 0] | 0) << 4) +
- (d[(r + ((c[t >> 2] | 0) + 1)) >> 0] | 0);
- c[t >> 2] = (c[t >> 2] | 0) + 2;
- }
- c[j >> 2] =
- ((((((c[o >> 2] | 0) + 1) | 0) >>> 0) / 2) | 0) + 1;
- v = c[j >> 2] | 0;
- l = i;
- return v | 0;
- }
- function Ji(f, g, h, i) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0;
- j = l;
- l = (l + 464) | 0;
- k = (j + 444) | 0;
- m = (j + 440) | 0;
- n = (j + 436) | 0;
- o = (j + 432) | 0;
- p = (j + 428) | 0;
- q = (j + 128) | 0;
- r = (j + 64) | 0;
- s = (j + 424) | 0;
- t = (j + 420) | 0;
- u = (j + 416) | 0;
- v = (j + 412) | 0;
- w = (j + 408) | 0;
- x = (j + 404) | 0;
- y = (j + 400) | 0;
- z = (j + 396) | 0;
- A = (j + 32) | 0;
- B = j;
- C = (j + 392) | 0;
- D = (j + 448) | 0;
- E = (j + 388) | 0;
- F = (j + 384) | 0;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = h;
- c[p >> 2] = i;
- c[s >> 2] = 0;
- c[t >> 2] = 0;
- c[u >> 2] =
- fh(q, 256, r, t, s, c[o >> 2] | 0, c[p >> 2] | 0) | 0;
- if (Hi(c[u >> 2] | 0) | 0) {
- c[k >> 2] = c[u >> 2];
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- if ((c[s >> 2] | 0) >>> 0 > 12) {
- c[k >> 2] = -44;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- if (
- (c[t >> 2] | 0) >>> 0 >
- (((c[c[n >> 2] >> 2] | 0) + 1) | 0) >>> 0
- ) {
- c[k >> 2] = -48;
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- c[w >> 2] = 0;
- c[v >> 2] = 1;
- while (1) {
- if ((c[v >> 2] | 0) >>> 0 > (c[s >> 2] | 0) >>> 0) break;
- c[x >> 2] = c[w >> 2];
- c[w >> 2] =
- (c[w >> 2] | 0) +
- (c[(r + (c[v >> 2] << 2)) >> 2] << ((c[v >> 2] | 0) - 1));
- c[(r + (c[v >> 2] << 2)) >> 2] = c[x >> 2];
- c[v >> 2] = (c[v >> 2] | 0) + 1;
- }
- c[y >> 2] = 0;
- while (1) {
- if ((c[y >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- c[z >> 2] = d[(q + (c[y >> 2] | 0)) >> 0];
- a[((c[m >> 2] | 0) + (c[y >> 2] << 2) + 2) >> 0] =
- (c[s >> 2] | 0) + 1 - (c[z >> 2] | 0);
- c[y >> 2] = (c[y >> 2] | 0) + 1;
- }
- c[A >> 2] = 0;
- c[(A + 4) >> 2] = 0;
- c[(A + 8) >> 2] = 0;
- c[(A + 12) >> 2] = 0;
- c[(A + 16) >> 2] = 0;
- c[(A + 20) >> 2] = 0;
- c[(A + 24) >> 2] = 0;
- c[B >> 2] = 0;
- c[(B + 4) >> 2] = 0;
- c[(B + 8) >> 2] = 0;
- c[(B + 12) >> 2] = 0;
- c[(B + 16) >> 2] = 0;
- c[(B + 20) >> 2] = 0;
- c[(B + 24) >> 2] = 0;
- c[C >> 2] = 0;
- while (1) {
- if ((c[C >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- y =
- (A +
- ((d[((c[m >> 2] | 0) + (c[C >> 2] << 2) + 2) >> 0] |
- 0) <<
- 1)) |
- 0;
- b[y >> 1] = (((b[y >> 1] | 0) + 1) << 16) >> 16;
- c[C >> 2] = (c[C >> 2] | 0) + 1;
- }
- b[(B + (((c[s >> 2] | 0) + 1) << 1)) >> 1] = 0;
- b[D >> 1] = 0;
- c[E >> 2] = c[s >> 2];
- while (1) {
- if ((c[E >> 2] | 0) >>> 0 <= 0) break;
- b[(B + (c[E >> 2] << 1)) >> 1] = b[D >> 1] | 0;
- b[D >> 1] =
- (e[D >> 1] | 0) + (e[(A + (c[E >> 2] << 1)) >> 1] | 0);
- b[D >> 1] = (e[D >> 1] | 0) >> 1;
- c[E >> 2] = (c[E >> 2] | 0) + -1;
- }
- c[F >> 2] = 0;
- while (1) {
- if ((c[F >> 2] | 0) >>> 0 >= (c[t >> 2] | 0) >>> 0) break;
- E =
- (B +
- ((d[((c[m >> 2] | 0) + (c[F >> 2] << 2) + 2) >> 0] |
- 0) <<
- 1)) |
- 0;
- D = b[E >> 1] | 0;
- b[E >> 1] = ((D + 1) << 16) >> 16;
- b[((c[m >> 2] | 0) + (c[F >> 2] << 2)) >> 1] = D;
- c[F >> 2] = (c[F >> 2] | 0) + 1;
- }
- c[c[n >> 2] >> 2] = (c[t >> 2] | 0) - 1;
- c[k >> 2] = c[u >> 2];
- G = c[k >> 2] | 0;
- l = j;
- return G | 0;
- }
- function Ki(f, g, h, i, j, k) {
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- var m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0;
- m = l;
- l = (l + 128) | 0;
- n = (m + 120) | 0;
- o = (m + 116) | 0;
- p = (m + 112) | 0;
- q = (m + 108) | 0;
- r = (m + 104) | 0;
- s = (m + 100) | 0;
- t = (m + 96) | 0;
- u = (m + 92) | 0;
- v = (m + 88) | 0;
- w = (m + 84) | 0;
- x = (m + 80) | 0;
- y = (m + 76) | 0;
- z = (m + 72) | 0;
- A = (m + 126) | 0;
- B = (m + 68) | 0;
- C = (m + 64) | 0;
- D = (m + 60) | 0;
- E = (m + 32) | 0;
- F = m;
- G = (m + 124) | 0;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = i;
- c[s >> 2] = j;
- c[t >> 2] = k;
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[u >> 2] | 0) + 8;
- b[A >> 1] = 256;
- if ((c[s >> 2] & 3) | 0) {
- c[n >> 2] = -1;
- H = c[n >> 2] | 0;
- l = m;
- return H | 0;
- }
- if ((c[t >> 2] | 0) >>> 0 < 4096) {
- c[n >> 2] = -66;
- H = c[n >> 2] | 0;
- l = m;
- return H | 0;
- }
- if (!(c[r >> 2] | 0)) c[r >> 2] = 11;
- if ((c[q >> 2] | 0) >>> 0 > 255) {
- c[n >> 2] = -46;
- H = c[n >> 2] | 0;
- l = m;
- return H | 0;
- }
- oE(c[u >> 2] | 0, 0, 4096) | 0;
- Li(c[v >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0);
- c[x >> 2] = c[q >> 2];
- while (1) {
- I = c[x >> 2] | 0;
- if (c[((c[v >> 2] | 0) + (c[x >> 2] << 3)) >> 2] | 0) break;
- c[x >> 2] = I + -1;
- }
- c[y >> 2] = I;
- c[B >> 2] = (e[A >> 1] | 0) + (c[y >> 2] | 0) - 1;
- c[z >> 2] = e[A >> 1];
- c[((c[v >> 2] | 0) + ((e[A >> 1] | 0) << 3)) >> 2] =
- (c[((c[v >> 2] | 0) + (c[y >> 2] << 3)) >> 2] | 0) +
- (c[((c[v >> 2] | 0) + (((c[y >> 2] | 0) - 1) << 3)) >> 2] |
- 0);
- I = b[A >> 1] | 0;
- b[((c[v >> 2] | 0) + (((c[y >> 2] | 0) - 1) << 3) + 4) >> 1] =
- I;
- b[((c[v >> 2] | 0) + (c[y >> 2] << 3) + 4) >> 1] = I;
- b[A >> 1] = (((b[A >> 1] | 0) + 1) << 16) >> 16;
- c[y >> 2] = (c[y >> 2] | 0) - 2;
- c[w >> 2] = e[A >> 1];
- while (1) {
- if ((c[w >> 2] | 0) >>> 0 > (c[B >> 2] | 0) >>> 0) break;
- c[((c[v >> 2] | 0) + (c[w >> 2] << 3)) >> 2] = 1073741824;
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- }
- c[c[u >> 2] >> 2] = -2147483648;
- while (1) {
- J = c[v >> 2] | 0;
- if ((e[A >> 1] | 0) >>> 0 > (c[B >> 2] | 0) >>> 0) break;
- if (
- (c[(J + (c[y >> 2] << 3)) >> 2] | 0) >>> 0 <
- (c[((c[v >> 2] | 0) + (c[z >> 2] << 3)) >> 2] | 0) >>> 0
- ) {
- u = c[y >> 2] | 0;
- c[y >> 2] = u + -1;
- K = u;
- } else {
- u = c[z >> 2] | 0;
- c[z >> 2] = u + 1;
- K = u;
- }
- c[C >> 2] = K;
- if (
- (c[((c[v >> 2] | 0) + (c[y >> 2] << 3)) >> 2] | 0) >>> 0 <
- (c[((c[v >> 2] | 0) + (c[z >> 2] << 3)) >> 2] | 0) >>> 0
- ) {
- u = c[y >> 2] | 0;
- c[y >> 2] = u + -1;
- L = u;
- } else {
- u = c[z >> 2] | 0;
- c[z >> 2] = u + 1;
- L = u;
- }
- c[D >> 2] = L;
- c[((c[v >> 2] | 0) + ((e[A >> 1] | 0) << 3)) >> 2] =
- (c[((c[v >> 2] | 0) + (c[C >> 2] << 3)) >> 2] | 0) +
- (c[((c[v >> 2] | 0) + (c[D >> 2] << 3)) >> 2] | 0);
- u = b[A >> 1] | 0;
- b[((c[v >> 2] | 0) + (c[D >> 2] << 3) + 4) >> 1] = u;
- b[((c[v >> 2] | 0) + (c[C >> 2] << 3) + 4) >> 1] = u;
- b[A >> 1] = (((b[A >> 1] | 0) + 1) << 16) >> 16;
- }
- a[(J + (c[B >> 2] << 3) + 7) >> 0] = 0;
- c[w >> 2] = (c[B >> 2] | 0) - 1;
- while (1) {
- if ((c[w >> 2] | 0) >>> 0 < 256) break;
- a[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 7) >> 0] =
- (d[
- ((c[v >> 2] | 0) +
- ((e[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 4) >> 1] |
- 0) <<
- 3) +
- 7) >>
- 0
- ] |
- 0) +
- 1;
- c[w >> 2] = (c[w >> 2] | 0) + -1;
- }
- c[w >> 2] = 0;
- while (1) {
- M = c[v >> 2] | 0;
- if ((c[w >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) break;
- a[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 7) >> 0] =
- (d[
- (M +
- ((e[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 4) >> 1] |
- 0) <<
- 3) +
- 7) >>
- 0
- ] |
- 0) +
- 1;
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- }
- c[r >> 2] = Mi(M, c[x >> 2] | 0, c[r >> 2] | 0) | 0;
- c[E >> 2] = 0;
- c[(E + 4) >> 2] = 0;
- c[(E + 8) >> 2] = 0;
- c[(E + 12) >> 2] = 0;
- c[(E + 16) >> 2] = 0;
- c[(E + 20) >> 2] = 0;
- b[(E + 24) >> 1] = 0;
- c[F >> 2] = 0;
- c[(F + 4) >> 2] = 0;
- c[(F + 8) >> 2] = 0;
- c[(F + 12) >> 2] = 0;
- c[(F + 16) >> 2] = 0;
- c[(F + 20) >> 2] = 0;
- b[(F + 24) >> 1] = 0;
- if ((c[r >> 2] | 0) >>> 0 > 12) {
- c[n >> 2] = -1;
- H = c[n >> 2] | 0;
- l = m;
- return H | 0;
- }
- c[w >> 2] = 0;
- while (1) {
- if ((c[w >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0) break;
- M =
- (E +
- ((d[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 7) >> 0] |
- 0) <<
- 1)) |
- 0;
- b[M >> 1] = (((b[M >> 1] | 0) + 1) << 16) >> 16;
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- }
- b[G >> 1] = 0;
- c[w >> 2] = c[r >> 2];
- while (1) {
- if ((c[w >> 2] | 0) >>> 0 <= 0) break;
- b[(F + (c[w >> 2] << 1)) >> 1] = b[G >> 1] | 0;
- b[G >> 1] =
- (e[G >> 1] | 0) + (e[(E + (c[w >> 2] << 1)) >> 1] | 0);
- b[G >> 1] = (e[G >> 1] | 0) >> 1;
- c[w >> 2] = (c[w >> 2] | 0) + -1;
- }
- c[w >> 2] = 0;
- while (1) {
- if ((c[w >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
- a[
- ((c[o >> 2] | 0) +
- ((d[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 6) >> 0] |
- 0) <<
- 2) +
- 2) >>
- 0
- ] = a[((c[v >> 2] | 0) + (c[w >> 2] << 3) + 7) >> 0] | 0;
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- }
- c[w >> 2] = 0;
- while (1) {
- if ((c[w >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0) break;
- v =
- (F +
- ((d[((c[o >> 2] | 0) + (c[w >> 2] << 2) + 2) >> 0] |
- 0) <<
- 1)) |
- 0;
- G = b[v >> 1] | 0;
- b[v >> 1] = ((G + 1) << 16) >> 16;
- b[((c[o >> 2] | 0) + (c[w >> 2] << 2)) >> 1] = G;
- c[w >> 2] = (c[w >> 2] | 0) + 1;
- }
- c[n >> 2] = c[r >> 2];
- H = c[n >> 2] | 0;
- l = m;
- return H | 0;
- }
- function Li(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 288) | 0;
- g = (f + 284) | 0;
- h = (f + 280) | 0;
- i = (f + 276) | 0;
- j = f;
- k = (f + 272) | 0;
- m = (f + 268) | 0;
- n = (f + 264) | 0;
- o = (f + 260) | 0;
- p = (f + 256) | 0;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = e;
- oE(j | 0, 0, 256) | 0;
- c[k >> 2] = 0;
- while (1) {
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) break;
- c[m >> 2] =
- Ni(
- ((c[((c[h >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) +
- 1) |
- 0
- ) | 0;
- e = (j + (c[m >> 2] << 3)) | 0;
- c[e >> 2] = (c[e >> 2] | 0) + 1;
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- c[k >> 2] = 30;
- while (1) {
- if ((c[k >> 2] | 0) >>> 0 <= 0) break;
- m = (j + (((c[k >> 2] | 0) - 1) << 3)) | 0;
- c[m >> 2] =
- (c[m >> 2] | 0) + (c[(j + (c[k >> 2] << 3)) >> 2] | 0);
- c[k >> 2] = (c[k >> 2] | 0) + -1;
- }
- c[k >> 2] = 0;
- while (1) {
- if ((c[k >> 2] | 0) >>> 0 >= 32) break;
- c[(j + (c[k >> 2] << 3) + 4) >> 2] =
- c[(j + (c[k >> 2] << 3)) >> 2];
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- c[k >> 2] = 0;
- while (1) {
- if ((c[k >> 2] | 0) >>> 0 > (c[i >> 2] | 0) >>> 0) break;
- c[n >> 2] = c[((c[h >> 2] | 0) + (c[k >> 2] << 2)) >> 2];
- c[o >> 2] = (Ni(((c[n >> 2] | 0) + 1) | 0) | 0) + 1;
- m = (j + (c[o >> 2] << 3) + 4) | 0;
- e = c[m >> 2] | 0;
- c[m >> 2] = e + 1;
- c[p >> 2] = e;
- while (1) {
- if (
- (c[p >> 2] | 0) >>> 0 <=
- (c[(j + (c[o >> 2] << 3)) >> 2] | 0) >>> 0
- )
- break;
- if (
- (c[n >> 2] | 0) >>> 0 <=
- (c[
- ((c[g >> 2] | 0) + (((c[p >> 2] | 0) - 1) << 3)) >> 2
- ] |
- 0) >>>
- 0
- )
- break;
- e = ((c[g >> 2] | 0) + (c[p >> 2] << 3)) | 0;
- m = ((c[g >> 2] | 0) + (((c[p >> 2] | 0) - 1) << 3)) | 0;
- c[e >> 2] = c[m >> 2];
- c[(e + 4) >> 2] = c[(m + 4) >> 2];
- c[p >> 2] = (c[p >> 2] | 0) + -1;
- }
- c[((c[g >> 2] | 0) + (c[p >> 2] << 3)) >> 2] = c[n >> 2];
- a[((c[g >> 2] | 0) + (c[p >> 2] << 3) + 6) >> 0] =
- c[k >> 2];
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- l = f;
- return;
- }
- function Mi(b, e, f) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0;
- g = l;
- l = (l + 128) | 0;
- h = (g + 116) | 0;
- i = (g + 112) | 0;
- j = (g + 108) | 0;
- k = (g + 104) | 0;
- m = (g + 100) | 0;
- n = (g + 96) | 0;
- o = (g + 92) | 0;
- p = (g + 88) | 0;
- q = (g + 84) | 0;
- r = g;
- s = (g + 80) | 0;
- t = (g + 76) | 0;
- u = (g + 72) | 0;
- v = (g + 68) | 0;
- w = (g + 64) | 0;
- x = (g + 60) | 0;
- y = (g + 56) | 0;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = d[((c[i >> 2] | 0) + (c[j >> 2] << 3) + 7) >> 0];
- if ((c[m >> 2] | 0) >>> 0 <= (c[k >> 2] | 0) >>> 0) {
- c[h >> 2] = c[m >> 2];
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- c[n >> 2] = 0;
- c[o >> 2] = 1 << ((c[m >> 2] | 0) - (c[k >> 2] | 0));
- c[p >> 2] = c[j >> 2];
- while (1) {
- if (
- (d[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] | 0) >>>
- 0 <=
- (c[k >> 2] | 0) >>> 0
- )
- break;
- c[n >> 2] =
- (c[n >> 2] | 0) +
- ((c[o >> 2] | 0) -
- (1 <<
- ((c[m >> 2] | 0) -
- (d[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] |
- 0))));
- a[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] =
- c[k >> 2];
- c[p >> 2] = (c[p >> 2] | 0) + -1;
- }
- while (1) {
- if (
- (d[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] |
- 0 |
- 0) !=
- (c[k >> 2] | 0)
- )
- break;
- c[p >> 2] = (c[p >> 2] | 0) + -1;
- }
- c[n >> 2] = c[n >> 2] >> ((c[m >> 2] | 0) - (c[k >> 2] | 0));
- c[q >> 2] = -252645136;
- q = r;
- m = (q + 56) | 0;
- do {
- c[q >> 2] = -252645136;
- q = (q + 4) | 0;
- } while ((q | 0) < (m | 0));
- c[t >> 2] = c[k >> 2];
- c[s >> 2] = c[p >> 2];
- while (1) {
- if ((c[s >> 2] | 0) < 0) break;
- if (
- (d[((c[i >> 2] | 0) + (c[s >> 2] << 3) + 7) >> 0] | 0) >>>
- 0 <
- (c[t >> 2] | 0) >>> 0
- ) {
- c[t >> 2] =
- d[((c[i >> 2] | 0) + (c[s >> 2] << 3) + 7) >> 0];
- c[(r + (((c[k >> 2] | 0) - (c[t >> 2] | 0)) << 2)) >> 2] =
- c[s >> 2];
- }
- c[s >> 2] = (c[s >> 2] | 0) + -1;
- }
- while (1) {
- if ((c[n >> 2] | 0) <= 0) break;
- c[u >> 2] = (Ni(c[n >> 2] | 0) | 0) + 1;
- while (1) {
- if ((c[u >> 2] | 0) >>> 0 <= 1) break;
- c[v >> 2] = c[(r + (c[u >> 2] << 2)) >> 2];
- c[w >> 2] = c[(r + (((c[u >> 2] | 0) - 1) << 2)) >> 2];
- if ((c[v >> 2] | 0) != -252645136) {
- if ((c[w >> 2] | 0) == -252645136) break;
- c[x >> 2] =
- c[((c[i >> 2] | 0) + (c[v >> 2] << 3)) >> 2];
- c[y >> 2] =
- c[((c[i >> 2] | 0) + (c[w >> 2] << 3)) >> 2] << 1;
- if ((c[x >> 2] | 0) >>> 0 <= (c[y >> 2] | 0) >>> 0)
- break;
- }
- c[u >> 2] = (c[u >> 2] | 0) + -1;
- }
- while (1) {
- if ((c[u >> 2] | 0) >>> 0 <= 12)
- A = (c[(r + (c[u >> 2] << 2)) >> 2] | 0) == -252645136;
- else A = 0;
- B = c[u >> 2] | 0;
- if (!A) break;
- c[u >> 2] = B + 1;
- }
- c[n >> 2] = (c[n >> 2] | 0) - (1 << (B - 1));
- if (
- (c[(r + (((c[u >> 2] | 0) - 1) << 2)) >> 2] | 0) ==
- -252645136
- )
- c[(r + (((c[u >> 2] | 0) - 1) << 2)) >> 2] =
- c[(r + (c[u >> 2] << 2)) >> 2];
- s =
- ((c[i >> 2] | 0) +
- (c[(r + (c[u >> 2] << 2)) >> 2] << 3) +
- 7) |
- 0;
- a[s >> 0] = (((a[s >> 0] | 0) + 1) << 24) >> 24;
- s = (r + (c[u >> 2] << 2)) | 0;
- if (c[(r + (c[u >> 2] << 2)) >> 2] | 0) {
- c[s >> 2] = (c[s >> 2] | 0) + -1;
- if (
- (d[
- ((c[i >> 2] | 0) +
- (c[(r + (c[u >> 2] << 2)) >> 2] << 3) +
- 7) >>
- 0
- ] |
- 0 |
- 0) !=
- (((c[k >> 2] | 0) - (c[u >> 2] | 0)) | 0)
- )
- c[(r + (c[u >> 2] << 2)) >> 2] = -252645136;
- } else c[s >> 2] = -252645136;
- }
- while (1) {
- if ((c[n >> 2] | 0) >= 0) break;
- if ((c[(r + 4) >> 2] | 0) != -252645136) {
- u =
- ((c[i >> 2] | 0) +
- (((c[(r + 4) >> 2] | 0) + 1) << 3) +
- 7) |
- 0;
- a[u >> 0] = (((a[u >> 0] | 0) + -1) << 24) >> 24;
- u = (r + 4) | 0;
- c[u >> 2] = (c[u >> 2] | 0) + 1;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- continue;
- }
- while (1) {
- if (
- (d[((c[i >> 2] | 0) + (c[p >> 2] << 3) + 7) >> 0] |
- 0 |
- 0) !=
- (c[k >> 2] | 0)
- )
- break;
- c[p >> 2] = (c[p >> 2] | 0) + -1;
- }
- u =
- ((c[i >> 2] | 0) + (((c[p >> 2] | 0) + 1) << 3) + 7) | 0;
- a[u >> 0] = (((a[u >> 0] | 0) + -1) << 24) >> 24;
- c[(r + 4) >> 2] = (c[p >> 2] | 0) + 1;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- }
- c[h >> 2] = c[k >> 2];
- z = c[h >> 2] | 0;
- l = g;
- return z | 0;
- }
- function Ni(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function Oi(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 24) | 0;
- j = (h + 20) | 0;
- k = (h + 16) | 0;
- m = (h + 12) | 0;
- n = (h + 8) | 0;
- o = (h + 4) | 0;
- p = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- g = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- if (c[p >> 2] | 0) {
- c[i >> 2] = Pi(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- } else {
- c[i >> 2] = Qi(g, j, k, m, n) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- }
- return 0;
- }
- function Pi(a, b, f, g, h) {
- a = a | 0;
- b = b | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0;
- i = l;
- l = (l + 176) | 0;
- j = (i + 168) | 0;
- k = (i + 164) | 0;
- m = (i + 160) | 0;
- n = (i + 156) | 0;
- o = (i + 152) | 0;
- p = (i + 148) | 0;
- q = (i + 144) | 0;
- r = (i + 140) | 0;
- s = (i + 136) | 0;
- t = (i + 132) | 0;
- u = (i + 128) | 0;
- v = (i + 124) | 0;
- w = (i + 120) | 0;
- x = (i + 116) | 0;
- y = (i + 112) | 0;
- z = (i + 108) | 0;
- A = (i + 104) | 0;
- B = (i + 100) | 0;
- C = (i + 96) | 0;
- D = (i + 92) | 0;
- E = (i + 88) | 0;
- F = (i + 84) | 0;
- G = (i + 80) | 0;
- H = (i + 76) | 0;
- I = (i + 72) | 0;
- J = (i + 68) | 0;
- K = (i + 64) | 0;
- L = (i + 60) | 0;
- M = (i + 56) | 0;
- N = (i + 52) | 0;
- O = (i + 48) | 0;
- P = (i + 44) | 0;
- Q = (i + 24) | 0;
- R = (i + 20) | 0;
- S = (i + 16) | 0;
- T = (i + 12) | 0;
- U = (i + 8) | 0;
- V = (i + 4) | 0;
- W = i;
- c[S >> 2] = a;
- c[T >> 2] = b;
- c[U >> 2] = f;
- c[V >> 2] = g;
- c[W >> 2] = h;
- h = c[T >> 2] | 0;
- T = c[U >> 2] | 0;
- U = c[V >> 2] | 0;
- V = c[W >> 2] | 0;
- c[G >> 2] = c[S >> 2];
- c[H >> 2] = h;
- c[I >> 2] = T;
- c[J >> 2] = U;
- c[K >> 2] = V;
- c[L >> 2] = c[I >> 2];
- c[M >> 2] = c[G >> 2];
- c[N >> 2] = (c[M >> 2] | 0) + (c[H >> 2] | 0);
- c[O >> 2] = c[M >> 2];
- if ((c[H >> 2] | 0) >>> 0 < 8) {
- c[F >> 2] = 0;
- X = c[F >> 2] | 0;
- l = i;
- return X | 0;
- }
- c[R >> 2] =
- Ri(
- Q,
- c[O >> 2] | 0,
- ((c[N >> 2] | 0) - (c[O >> 2] | 0)) | 0
- ) | 0;
- if (Hi(c[R >> 2] | 0) | 0) {
- c[F >> 2] = 0;
- X = c[F >> 2] | 0;
- l = i;
- return X | 0;
- }
- c[P >> 2] = c[J >> 2] & -4;
- switch ((c[J >> 2] & 3) | 0) {
- case 3: {
- J = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) + 2)) >> 0] | 0;
- R = c[K >> 2] | 0;
- c[C >> 2] = Q;
- c[D >> 2] = J;
- c[E >> 2] = R;
- Si(
- c[C >> 2] | 0,
- e[((c[E >> 2] | 0) + (c[D >> 2] << 2)) >> 1] | 0,
- d[((c[E >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
- );
- Ti(Q);
- Y = 7;
- break;
- }
- case 2: {
- Y = 7;
- break;
- }
- case 1: {
- Y = 8;
- break;
- }
- case 0:
- break;
- default: {
- }
- }
- if ((Y | 0) == 7) {
- D = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) + 1)) >> 0] | 0;
- E = c[K >> 2] | 0;
- c[z >> 2] = Q;
- c[A >> 2] = D;
- c[B >> 2] = E;
- Si(
- c[z >> 2] | 0,
- e[((c[B >> 2] | 0) + (c[A >> 2] << 2)) >> 1] | 0,
- d[((c[B >> 2] | 0) + (c[A >> 2] << 2) + 2) >> 0] | 0
- );
- Y = 8;
- }
- if ((Y | 0) == 8) {
- Y = d[((c[L >> 2] | 0) + (c[P >> 2] | 0)) >> 0] | 0;
- A = c[K >> 2] | 0;
- c[w >> 2] = Q;
- c[x >> 2] = Y;
- c[y >> 2] = A;
- Si(
- c[w >> 2] | 0,
- e[((c[y >> 2] | 0) + (c[x >> 2] << 2)) >> 1] | 0,
- d[((c[y >> 2] | 0) + (c[x >> 2] << 2) + 2) >> 0] | 0
- );
- Ti(Q);
- }
- while (1) {
- if ((c[P >> 2] | 0) >>> 0 <= 0) break;
- x = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 1)) >> 0] | 0;
- y = c[K >> 2] | 0;
- c[t >> 2] = Q;
- c[u >> 2] = x;
- c[v >> 2] = y;
- Si(
- c[t >> 2] | 0,
- e[((c[v >> 2] | 0) + (c[u >> 2] << 2)) >> 1] | 0,
- d[((c[v >> 2] | 0) + (c[u >> 2] << 2) + 2) >> 0] | 0
- );
- y = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 2)) >> 0] | 0;
- x = c[K >> 2] | 0;
- c[q >> 2] = Q;
- c[r >> 2] = y;
- c[s >> 2] = x;
- Si(
- c[q >> 2] | 0,
- e[((c[s >> 2] | 0) + (c[r >> 2] << 2)) >> 1] | 0,
- d[((c[s >> 2] | 0) + (c[r >> 2] << 2) + 2) >> 0] | 0
- );
- Ti(Q);
- x = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 3)) >> 0] | 0;
- y = c[K >> 2] | 0;
- c[n >> 2] = Q;
- c[o >> 2] = x;
- c[p >> 2] = y;
- Si(
- c[n >> 2] | 0,
- e[((c[p >> 2] | 0) + (c[o >> 2] << 2)) >> 1] | 0,
- d[((c[p >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
- );
- y = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 4)) >> 0] | 0;
- x = c[K >> 2] | 0;
- c[j >> 2] = Q;
- c[k >> 2] = y;
- c[m >> 2] = x;
- Si(
- c[j >> 2] | 0,
- e[((c[m >> 2] | 0) + (c[k >> 2] << 2)) >> 1] | 0,
- d[((c[m >> 2] | 0) + (c[k >> 2] << 2) + 2) >> 0] | 0
- );
- Ti(Q);
- c[P >> 2] = (c[P >> 2] | 0) - 4;
- }
- c[F >> 2] = Ui(Q) | 0;
- X = c[F >> 2] | 0;
- l = i;
- return X | 0;
- }
- function Qi(a, b, f, g, h) {
- a = a | 0;
- b = b | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0;
- i = l;
- l = (l + 176) | 0;
- j = (i + 168) | 0;
- k = (i + 164) | 0;
- m = (i + 160) | 0;
- n = (i + 156) | 0;
- o = (i + 152) | 0;
- p = (i + 148) | 0;
- q = (i + 144) | 0;
- r = (i + 140) | 0;
- s = (i + 136) | 0;
- t = (i + 132) | 0;
- u = (i + 128) | 0;
- v = (i + 124) | 0;
- w = (i + 120) | 0;
- x = (i + 116) | 0;
- y = (i + 112) | 0;
- z = (i + 108) | 0;
- A = (i + 104) | 0;
- B = (i + 100) | 0;
- C = (i + 96) | 0;
- D = (i + 92) | 0;
- E = (i + 88) | 0;
- F = (i + 84) | 0;
- G = (i + 80) | 0;
- H = (i + 76) | 0;
- I = (i + 72) | 0;
- J = (i + 68) | 0;
- K = (i + 64) | 0;
- L = (i + 60) | 0;
- M = (i + 56) | 0;
- N = (i + 52) | 0;
- O = (i + 48) | 0;
- P = (i + 44) | 0;
- Q = (i + 24) | 0;
- R = (i + 20) | 0;
- S = (i + 16) | 0;
- T = (i + 12) | 0;
- U = (i + 8) | 0;
- V = (i + 4) | 0;
- W = i;
- c[S >> 2] = a;
- c[T >> 2] = b;
- c[U >> 2] = f;
- c[V >> 2] = g;
- c[W >> 2] = h;
- h = c[T >> 2] | 0;
- T = c[U >> 2] | 0;
- U = c[V >> 2] | 0;
- V = c[W >> 2] | 0;
- c[G >> 2] = c[S >> 2];
- c[H >> 2] = h;
- c[I >> 2] = T;
- c[J >> 2] = U;
- c[K >> 2] = V;
- c[L >> 2] = c[I >> 2];
- c[M >> 2] = c[G >> 2];
- c[N >> 2] = (c[M >> 2] | 0) + (c[H >> 2] | 0);
- c[O >> 2] = c[M >> 2];
- if ((c[H >> 2] | 0) >>> 0 < 8) {
- c[F >> 2] = 0;
- X = c[F >> 2] | 0;
- l = i;
- return X | 0;
- }
- c[R >> 2] =
- Ri(
- Q,
- c[O >> 2] | 0,
- ((c[N >> 2] | 0) - (c[O >> 2] | 0)) | 0
- ) | 0;
- if (Hi(c[R >> 2] | 0) | 0) {
- c[F >> 2] = 0;
- X = c[F >> 2] | 0;
- l = i;
- return X | 0;
- }
- c[P >> 2] = c[J >> 2] & -4;
- switch ((c[J >> 2] & 3) | 0) {
- case 3: {
- J = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) + 2)) >> 0] | 0;
- R = c[K >> 2] | 0;
- c[C >> 2] = Q;
- c[D >> 2] = J;
- c[E >> 2] = R;
- Si(
- c[C >> 2] | 0,
- e[((c[E >> 2] | 0) + (c[D >> 2] << 2)) >> 1] | 0,
- d[((c[E >> 2] | 0) + (c[D >> 2] << 2) + 2) >> 0] | 0
- );
- Ti(Q);
- Y = 7;
- break;
- }
- case 2: {
- Y = 7;
- break;
- }
- case 1: {
- Y = 8;
- break;
- }
- case 0:
- break;
- default: {
- }
- }
- if ((Y | 0) == 7) {
- D = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) + 1)) >> 0] | 0;
- E = c[K >> 2] | 0;
- c[z >> 2] = Q;
- c[A >> 2] = D;
- c[B >> 2] = E;
- Si(
- c[z >> 2] | 0,
- e[((c[B >> 2] | 0) + (c[A >> 2] << 2)) >> 1] | 0,
- d[((c[B >> 2] | 0) + (c[A >> 2] << 2) + 2) >> 0] | 0
- );
- Y = 8;
- }
- if ((Y | 0) == 8) {
- Y = d[((c[L >> 2] | 0) + (c[P >> 2] | 0)) >> 0] | 0;
- A = c[K >> 2] | 0;
- c[w >> 2] = Q;
- c[x >> 2] = Y;
- c[y >> 2] = A;
- Si(
- c[w >> 2] | 0,
- e[((c[y >> 2] | 0) + (c[x >> 2] << 2)) >> 1] | 0,
- d[((c[y >> 2] | 0) + (c[x >> 2] << 2) + 2) >> 0] | 0
- );
- Ti(Q);
- }
- while (1) {
- if ((c[P >> 2] | 0) >>> 0 <= 0) break;
- x = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 1)) >> 0] | 0;
- y = c[K >> 2] | 0;
- c[t >> 2] = Q;
- c[u >> 2] = x;
- c[v >> 2] = y;
- Si(
- c[t >> 2] | 0,
- e[((c[v >> 2] | 0) + (c[u >> 2] << 2)) >> 1] | 0,
- d[((c[v >> 2] | 0) + (c[u >> 2] << 2) + 2) >> 0] | 0
- );
- y = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 2)) >> 0] | 0;
- x = c[K >> 2] | 0;
- c[q >> 2] = Q;
- c[r >> 2] = y;
- c[s >> 2] = x;
- Si(
- c[q >> 2] | 0,
- e[((c[s >> 2] | 0) + (c[r >> 2] << 2)) >> 1] | 0,
- d[((c[s >> 2] | 0) + (c[r >> 2] << 2) + 2) >> 0] | 0
- );
- Ti(Q);
- x = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 3)) >> 0] | 0;
- y = c[K >> 2] | 0;
- c[n >> 2] = Q;
- c[o >> 2] = x;
- c[p >> 2] = y;
- Si(
- c[n >> 2] | 0,
- e[((c[p >> 2] | 0) + (c[o >> 2] << 2)) >> 1] | 0,
- d[((c[p >> 2] | 0) + (c[o >> 2] << 2) + 2) >> 0] | 0
- );
- y = d[((c[L >> 2] | 0) + ((c[P >> 2] | 0) - 4)) >> 0] | 0;
- x = c[K >> 2] | 0;
- c[j >> 2] = Q;
- c[k >> 2] = y;
- c[m >> 2] = x;
- Si(
- c[j >> 2] | 0,
- e[((c[m >> 2] | 0) + (c[k >> 2] << 2)) >> 1] | 0,
- d[((c[m >> 2] | 0) + (c[k >> 2] << 2) + 2) >> 0] | 0
- );
- Ti(Q);
- c[P >> 2] = (c[P >> 2] | 0) - 4;
- }
- c[F >> 2] = Ui(Q) | 0;
- X = c[F >> 2] | 0;
- l = i;
- return X | 0;
- }
- function Ri(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[c[g >> 2] >> 2] = 0;
- c[((c[g >> 2] | 0) + 4) >> 2] = 0;
- c[((c[g >> 2] | 0) + 8) >> 2] = c[h >> 2];
- c[((c[g >> 2] | 0) + 12) >> 2] =
- c[((c[g >> 2] | 0) + 8) >> 2];
- c[((c[g >> 2] | 0) + 16) >> 2] =
- (c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] | 0) + -4;
- if ((c[i >> 2] | 0) >>> 0 <= 4) {
- c[f >> 2] = -70;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- } else {
- c[f >> 2] = 0;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function Si(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = c[f >> 2] | 0;
- c[d >> 2] =
- c[d >> 2] | (c[g >> 2] << c[((c[f >> 2] | 0) + 4) >> 2]);
- g = ((c[f >> 2] | 0) + 4) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function Ti(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[d >> 2] = a;
- c[e >> 2] = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) >>> 3;
- Vi(c[((c[d >> 2] | 0) + 12) >> 2] | 0, c[c[d >> 2] >> 2] | 0);
- a = ((c[d >> 2] | 0) + 12) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (c[e >> 2] | 0);
- if (
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0) >>> 0 >
- (c[((c[d >> 2] | 0) + 16) >> 2] | 0) >>> 0
- )
- c[((c[d >> 2] | 0) + 12) >> 2] =
- c[((c[d >> 2] | 0) + 16) >> 2];
- a = ((c[d >> 2] | 0) + 4) | 0;
- c[a >> 2] = c[a >> 2] & 7;
- a = c[d >> 2] | 0;
- c[a >> 2] = (c[a >> 2] | 0) >>> (c[e >> 2] << 3);
- l = b;
- return;
- }
- function Ui(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- Si(c[e >> 2] | 0, 1, 1);
- Ti(c[e >> 2] | 0);
- if (
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0 >=
- (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
- ) {
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- } else {
- c[d >> 2] =
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 0) & 1);
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function Vi(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = (Wi() | 0) != 0;
- a = c[e >> 2] | 0;
- e = c[f >> 2] | 0;
- if (b) {
- Xi(a, e);
- l = d;
- return;
- } else {
- Yi(a, e, 0);
- l = d;
- return;
- }
- }
- function Wi() {
- return 1;
- }
- function Xi(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = (Zi() | 0) != 0;
- a = c[e >> 2] | 0;
- e = c[f >> 2] | 0;
- if (b) {
- aj(a, e);
- l = d;
- return;
- } else {
- aj(a, bj(e) | 0);
- l = d;
- return;
- }
- }
- function Yi(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = e;
- c[f >> 2] = a;
- a = g;
- c[a >> 2] = b;
- c[(a + 4) >> 2] = d;
- d = (Zi() | 0) != 0;
- a = c[f >> 2] | 0;
- f = g;
- g = c[f >> 2] | 0;
- b = c[(f + 4) >> 2] | 0;
- if (d) {
- _i(a, g, b);
- l = e;
- return;
- } else {
- d = $i(g, b) | 0;
- _i(a, d, y);
- l = e;
- return;
- }
- }
- function Zi() {
- return d[11936] | 0 | 0;
- }
- function _i(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = (f + 8) | 0;
- h = f;
- c[g >> 2] = b;
- b = h;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- e = h;
- h = c[e >> 2] | 0;
- b = c[(e + 4) >> 2] | 0;
- e = c[g >> 2] | 0;
- g = e;
- a[g >> 0] = h;
- a[(g + 1) >> 0] = h >> 8;
- a[(g + 2) >> 0] = h >> 16;
- a[(g + 3) >> 0] = h >> 24;
- h = (e + 4) | 0;
- a[h >> 0] = b;
- a[(h + 1) >> 0] = b >> 8;
- a[(h + 2) >> 0] = b >> 16;
- a[(h + 3) >> 0] = b >> 24;
- l = f;
- return;
- }
- function $i(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function aj(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[g >> 2] | 0;
- g = c[f >> 2] | 0;
- a[g >> 0] = d;
- a[(g + 1) >> 0] = d >> 8;
- a[(g + 2) >> 0] = d >> 16;
- a[(g + 3) >> 0] = d >> 24;
- l = e;
- return;
- }
- function bj(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function cj(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 64) | 0;
- j = (h + 60) | 0;
- k = (h + 56) | 0;
- m = (h + 52) | 0;
- n = (h + 48) | 0;
- o = (h + 44) | 0;
- p = (h + 40) | 0;
- q = (h + 36) | 0;
- r = (h + 32) | 0;
- s = (h + 28) | 0;
- t = (h + 24) | 0;
- u = (h + 20) | 0;
- v = (h + 16) | 0;
- w = (h + 12) | 0;
- x = (h + 8) | 0;
- y = (h + 4) | 0;
- z = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = (((((c[n >> 2] | 0) + 3) | 0) >>> 0) / 4) | 0;
- c[r >> 2] = c[m >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[n >> 2] | 0);
- c[t >> 2] = c[j >> 2];
- c[u >> 2] = (c[t >> 2] | 0) + (c[k >> 2] | 0);
- c[v >> 2] = c[t >> 2];
- if ((c[k >> 2] | 0) >>> 0 < 17) {
- c[i >> 2] = 0;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- if ((c[n >> 2] | 0) >>> 0 < 12) {
- c[i >> 2] = 0;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- c[v >> 2] = (c[v >> 2] | 0) + 6;
- c[w >> 2] =
- Oi(
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- c[r >> 2] | 0,
- c[q >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- n = (Hi(c[w >> 2] | 0) | 0) != 0;
- k = c[w >> 2] | 0;
- if (n) {
- c[i >> 2] = k;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- if (!k) {
- c[i >> 2] = 0;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- dj(c[t >> 2] | 0, c[w >> 2] & 65535);
- c[v >> 2] = (c[v >> 2] | 0) + (c[w >> 2] | 0);
- c[r >> 2] = (c[r >> 2] | 0) + (c[q >> 2] | 0);
- c[x >> 2] =
- Oi(
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- c[r >> 2] | 0,
- c[q >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- w = (Hi(c[x >> 2] | 0) | 0) != 0;
- k = c[x >> 2] | 0;
- if (w) {
- c[i >> 2] = k;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- if (!k) {
- c[i >> 2] = 0;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- dj(((c[t >> 2] | 0) + 2) | 0, c[x >> 2] & 65535);
- c[v >> 2] = (c[v >> 2] | 0) + (c[x >> 2] | 0);
- c[r >> 2] = (c[r >> 2] | 0) + (c[q >> 2] | 0);
- c[y >> 2] =
- Oi(
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- c[r >> 2] | 0,
- c[q >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- x = (Hi(c[y >> 2] | 0) | 0) != 0;
- k = c[y >> 2] | 0;
- if (x) {
- c[i >> 2] = k;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- if (!k) {
- c[i >> 2] = 0;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- dj(((c[t >> 2] | 0) + 4) | 0, c[y >> 2] & 65535);
- c[v >> 2] = (c[v >> 2] | 0) + (c[y >> 2] | 0);
- c[r >> 2] = (c[r >> 2] | 0) + (c[q >> 2] | 0);
- c[z >> 2] =
- Oi(
- c[v >> 2] | 0,
- ((c[u >> 2] | 0) - (c[v >> 2] | 0)) | 0,
- c[r >> 2] | 0,
- ((c[s >> 2] | 0) - (c[r >> 2] | 0)) | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- p = (Hi(c[z >> 2] | 0) | 0) != 0;
- o = c[z >> 2] | 0;
- if (p) {
- c[i >> 2] = o;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- if (!o) {
- c[i >> 2] = 0;
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- } else {
- c[v >> 2] = (c[v >> 2] | 0) + (c[z >> 2] | 0);
- c[i >> 2] = (c[v >> 2] | 0) - (c[t >> 2] | 0);
- A = c[i >> 2] | 0;
- l = h;
- return A | 0;
- }
- return 0;
- }
- function dj(d, f) {
- d = d | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- g = l;
- l = (l + 16) | 0;
- h = (g + 4) | 0;
- i = (g + 8) | 0;
- j = g;
- c[h >> 2] = d;
- b[i >> 1] = f;
- f = (Zi() | 0) != 0;
- d = c[h >> 2] | 0;
- if (f) {
- ej(d, b[i >> 1] | 0);
- l = g;
- return;
- } else {
- c[j >> 2] = d;
- a[c[j >> 2] >> 0] = b[i >> 1];
- a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
- l = g;
- return;
- }
- }
- function ej(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (f + 4) | 0;
- c[g >> 2] = d;
- b[h >> 1] = e;
- e = b[h >> 1] | 0;
- h = c[g >> 2] | 0;
- a[h >> 0] = e;
- a[(h + 1) >> 0] = e >> 8;
- l = f;
- return;
- }
- function fj(b, d, e, f, g, h, i, j, k, m, n, o, p) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- p = p | 0;
- var q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0;
- q = l;
- l = (l + 96) | 0;
- r = (q + 88) | 0;
- s = (q + 84) | 0;
- t = (q + 80) | 0;
- u = (q + 76) | 0;
- v = (q + 72) | 0;
- w = (q + 68) | 0;
- x = (q + 64) | 0;
- y = (q + 60) | 0;
- z = (q + 56) | 0;
- A = (q + 52) | 0;
- B = (q + 48) | 0;
- C = (q + 44) | 0;
- D = (q + 40) | 0;
- E = (q + 36) | 0;
- F = (q + 32) | 0;
- G = (q + 28) | 0;
- H = (q + 24) | 0;
- I = (q + 20) | 0;
- J = (q + 16) | 0;
- K = (q + 12) | 0;
- L = (q + 8) | 0;
- M = (q + 4) | 0;
- N = q;
- c[s >> 2] = b;
- c[t >> 2] = d;
- c[u >> 2] = e;
- c[v >> 2] = f;
- c[w >> 2] = g;
- c[x >> 2] = h;
- c[y >> 2] = i;
- c[z >> 2] = j;
- c[A >> 2] = k;
- c[B >> 2] = m;
- c[C >> 2] = n;
- c[D >> 2] = o;
- c[E >> 2] = p;
- c[F >> 2] = c[z >> 2];
- c[G >> 2] = c[s >> 2];
- c[H >> 2] = (c[G >> 2] | 0) + (c[t >> 2] | 0);
- c[I >> 2] = c[G >> 2];
- if ((c[z >> 2] & 3) | 0) {
- c[r >> 2] = -1;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if ((c[A >> 2] | 0) >>> 0 < 6144) {
- c[r >> 2] = -66;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if (!(c[v >> 2] | 0)) {
- c[r >> 2] = 0;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if (!(c[t >> 2] | 0)) {
- c[r >> 2] = 0;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if ((c[v >> 2] | 0) >>> 0 > 131072) {
- c[r >> 2] = -72;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if ((c[x >> 2] | 0) >>> 0 > 12) {
- c[r >> 2] = -44;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if ((c[w >> 2] | 0) >>> 0 > 255) {
- c[r >> 2] = -46;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if (!(c[w >> 2] | 0)) c[w >> 2] = 255;
- if (!(c[x >> 2] | 0)) c[x >> 2] = 11;
- if (
- ((c[D >> 2] | 0) != 0) & ((c[C >> 2] | 0) != 0)
- ? (c[c[C >> 2] >> 2] | 0) == 2
- : 0
- ) {
- c[r >> 2] =
- gj(
- c[G >> 2] | 0,
- c[I >> 2] | 0,
- c[H >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[y >> 2] | 0,
- c[B >> 2] | 0,
- c[E >> 2] | 0
- ) | 0;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- c[J >> 2] =
- bi(
- c[F >> 2] | 0,
- w,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[F >> 2] | 0
- ) | 0;
- A = (Hi(c[J >> 2] | 0) | 0) != 0;
- z = c[J >> 2] | 0;
- if (A) {
- c[r >> 2] = z;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if ((z | 0) == (c[v >> 2] | 0)) {
- a[c[G >> 2] >> 0] = a[c[u >> 2] >> 0] | 0;
- c[r >> 2] = 1;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if (
- (c[J >> 2] | 0) >>> 0 <=
- ((((c[v >> 2] | 0) >>> 7) + 1) | 0) >>> 0
- ) {
- c[r >> 2] = 0;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- if (
- (c[C >> 2] | 0 ? (c[c[C >> 2] >> 2] | 0) == 1 : 0)
- ? (hj(c[B >> 2] | 0, c[F >> 2] | 0, c[w >> 2] | 0) | 0) ==
- 0
- : 0
- )
- c[c[C >> 2] >> 2] = 0;
- if (
- ((c[D >> 2] | 0) != 0) & ((c[C >> 2] | 0) != 0)
- ? c[c[C >> 2] >> 2] | 0
- : 0
- ) {
- c[r >> 2] =
- gj(
- c[G >> 2] | 0,
- c[I >> 2] | 0,
- c[H >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[y >> 2] | 0,
- c[B >> 2] | 0,
- c[E >> 2] | 0
- ) | 0;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- c[x >> 2] =
- Fi(c[x >> 2] | 0, c[v >> 2] | 0, c[w >> 2] | 0) | 0;
- c[K >> 2] =
- Ki(
- ((c[F >> 2] | 0) + 1024) | 0,
- c[F >> 2] | 0,
- c[w >> 2] | 0,
- c[x >> 2] | 0,
- ((c[F >> 2] | 0) + 2048) | 0,
- 4096
- ) | 0;
- D = (Hi(c[K >> 2] | 0) | 0) != 0;
- J = c[K >> 2] | 0;
- if (D) {
- c[r >> 2] = J;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- c[x >> 2] = J;
- oE(
- ((c[F >> 2] | 0) + 1024 + (((c[w >> 2] | 0) + 1) << 2)) | 0,
- 0,
- (1024 - (((c[w >> 2] | 0) + 1) << 2)) | 0
- ) | 0;
- c[L >> 2] =
- Ii(
- c[I >> 2] | 0,
- c[t >> 2] | 0,
- ((c[F >> 2] | 0) + 1024) | 0,
- c[w >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- if (Hi(c[L >> 2] | 0) | 0) {
- c[r >> 2] = c[L >> 2];
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- do {
- if (c[C >> 2] | 0 ? c[c[C >> 2] >> 2] | 0 : 0) {
- c[M >> 2] =
- ij(c[B >> 2] | 0, c[F >> 2] | 0, c[w >> 2] | 0) | 0;
- c[N >> 2] =
- ij(
- ((c[F >> 2] | 0) + 1024) | 0,
- c[F >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- if (
- (c[M >> 2] | 0) >>> 0 >
- (((c[L >> 2] | 0) + (c[N >> 2] | 0)) | 0) >>> 0
- ? (((c[L >> 2] | 0) + 12) | 0) >>> 0 <
- (c[v >> 2] | 0) >>> 0
- : 0
- )
- break;
- c[r >> 2] =
- gj(
- c[G >> 2] | 0,
- c[I >> 2] | 0,
- c[H >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[y >> 2] | 0,
- c[B >> 2] | 0,
- c[E >> 2] | 0
- ) | 0;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- } while (0);
- if (
- (((c[L >> 2] | 0) + 12) | 0) >>> 0 >=
- (c[v >> 2] | 0) >>> 0
- ) {
- c[r >> 2] = 0;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- c[I >> 2] = (c[I >> 2] | 0) + (c[L >> 2] | 0);
- if (c[C >> 2] | 0) c[c[C >> 2] >> 2] = 0;
- if (c[B >> 2] | 0)
- mE(c[B >> 2] | 0, ((c[F >> 2] | 0) + 1024) | 0, 1024) | 0;
- c[r >> 2] =
- gj(
- c[G >> 2] | 0,
- c[I >> 2] | 0,
- c[H >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[y >> 2] | 0,
- ((c[F >> 2] | 0) + 1024) | 0,
- c[E >> 2] | 0
- ) | 0;
- O = c[r >> 2] | 0;
- l = q;
- return O | 0;
- }
- function gj(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- j = l;
- l = (l + 48) | 0;
- k = (j + 36) | 0;
- m = (j + 32) | 0;
- n = (j + 28) | 0;
- o = (j + 24) | 0;
- p = (j + 20) | 0;
- q = (j + 16) | 0;
- r = (j + 12) | 0;
- s = (j + 8) | 0;
- t = (j + 4) | 0;
- u = j;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- i = c[n >> 2] | 0;
- h = ((c[o >> 2] | 0) - (c[n >> 2] | 0)) | 0;
- o = c[p >> 2] | 0;
- p = c[q >> 2] | 0;
- g = c[s >> 2] | 0;
- s = c[t >> 2] | 0;
- if (c[r >> 2] | 0) v = Oi(i, h, o, p, g, s) | 0;
- else v = cj(i, h, o, p, g, s) | 0;
- c[u >> 2] = v;
- v = (Hi(c[u >> 2] | 0) | 0) != 0;
- s = c[u >> 2] | 0;
- if (v) {
- c[k >> 2] = s;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- if (!s) {
- c[k >> 2] = 0;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- c[n >> 2] = (c[n >> 2] | 0) + (c[u >> 2] | 0);
- if (
- (((c[n >> 2] | 0) - (c[m >> 2] | 0)) | 0) >>> 0 >=
- (((c[q >> 2] | 0) - 1) | 0) >>> 0
- ) {
- c[k >> 2] = 0;
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- } else {
- c[k >> 2] = (c[n >> 2] | 0) - (c[m >> 2] | 0);
- w = c[k >> 2] | 0;
- l = j;
- return w | 0;
- }
- return 0;
- }
- function hj(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = e;
- c[j >> 2] = 0;
- c[k >> 2] = 0;
- while (1) {
- if ((c[k >> 2] | 0) > (c[i >> 2] | 0)) break;
- c[j >> 2] =
- c[j >> 2] |
- (c[((c[h >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0
- ? (d[((c[g >> 2] | 0) + (c[k >> 2] << 2) + 2) >> 0] |
- 0 |
- 0) ==
- 0
- : 0);
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- l = f;
- return ((((c[j >> 2] | 0) != 0) ^ 1) & 1) | 0;
- }
- function ij(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = e;
- c[j >> 2] = 0;
- c[k >> 2] = 0;
- while (1) {
- if ((c[k >> 2] | 0) > (c[i >> 2] | 0)) break;
- e =
- N(
- d[((c[g >> 2] | 0) + (c[k >> 2] << 2) + 2) >> 0] | 0,
- c[((c[h >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0
- ) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + e;
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- l = f;
- return ((c[j >> 2] | 0) >>> 3) | 0;
- }
- function jj(a, b, d, e, f, g, h, i, j, k, m, n) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- var o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- o = l;
- l = (l + 48) | 0;
- p = (o + 44) | 0;
- q = (o + 40) | 0;
- r = (o + 36) | 0;
- s = (o + 32) | 0;
- t = (o + 28) | 0;
- u = (o + 24) | 0;
- v = (o + 20) | 0;
- w = (o + 16) | 0;
- x = (o + 12) | 0;
- y = (o + 8) | 0;
- z = (o + 4) | 0;
- A = o;
- c[p >> 2] = a;
- c[q >> 2] = b;
- c[r >> 2] = d;
- c[s >> 2] = e;
- c[t >> 2] = f;
- c[u >> 2] = g;
- c[v >> 2] = h;
- c[w >> 2] = i;
- c[x >> 2] = j;
- c[y >> 2] = k;
- c[z >> 2] = m;
- c[A >> 2] = n;
- n =
- fj(
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0,
- c[u >> 2] | 0,
- 1,
- c[v >> 2] | 0,
- c[w >> 2] | 0,
- c[x >> 2] | 0,
- c[y >> 2] | 0,
- c[z >> 2] | 0,
- c[A >> 2] | 0
- ) | 0;
- l = o;
- return n | 0;
- }
- function kj(a, b, d, e, f, g, h, i, j, k, m, n) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- var o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- o = l;
- l = (l + 48) | 0;
- p = (o + 44) | 0;
- q = (o + 40) | 0;
- r = (o + 36) | 0;
- s = (o + 32) | 0;
- t = (o + 28) | 0;
- u = (o + 24) | 0;
- v = (o + 20) | 0;
- w = (o + 16) | 0;
- x = (o + 12) | 0;
- y = (o + 8) | 0;
- z = (o + 4) | 0;
- A = o;
- c[p >> 2] = a;
- c[q >> 2] = b;
- c[r >> 2] = d;
- c[s >> 2] = e;
- c[t >> 2] = f;
- c[u >> 2] = g;
- c[v >> 2] = h;
- c[w >> 2] = i;
- c[x >> 2] = j;
- c[y >> 2] = k;
- c[z >> 2] = m;
- c[A >> 2] = n;
- n =
- fj(
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0,
- c[u >> 2] | 0,
- 0,
- c[v >> 2] | 0,
- c[w >> 2] | 0,
- c[x >> 2] | 0,
- c[y >> 2] | 0,
- c[z >> 2] | 0,
- c[A >> 2] | 0
- ) | 0;
- l = o;
- return n | 0;
- }
- function lj(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = ((c[d >> 2] | 0) + ((c[d >> 2] | 0) >>> 8)) | 0;
- if ((c[d >> 2] | 0) >>> 0 >= 131072) {
- e = 0;
- f = (a + e) | 0;
- l = b;
- return f | 0;
- }
- e = ((131072 - (c[d >> 2] | 0)) | 0) >>> 11;
- f = (a + e) | 0;
- l = b;
- return f | 0;
- }
- function mj() {
- var a = 0,
- b = 0,
- d = 0;
- a = l;
- l = (l + 16) | 0;
- b = a;
- c[b >> 2] = c[5406];
- c[(b + 4) >> 2] = c[5407];
- c[(b + 8) >> 2] = c[5408];
- d = nj(b) | 0;
- l = a;
- return d | 0;
- }
- function nj(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = l;
- l = (l + 48) | 0;
- d = (b + 24) | 0;
- e = (b + 20) | 0;
- f = (b + 16) | 0;
- g = b;
- if (
- (((((c[a >> 2] | 0) != 0) ^ 1) & 1) ^
- ((((c[(a + 4) >> 2] | 0) != 0) ^ 1) & 1)) |
- 0
- ) {
- c[e >> 2] = 0;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- }
- c[d >> 2] = c[a >> 2];
- c[(d + 4) >> 2] = c[(a + 4) >> 2];
- c[(d + 8) >> 2] = c[(a + 8) >> 2];
- c[f >> 2] = Sh(656, d) | 0;
- if (c[f >> 2] | 0) {
- i = ((c[f >> 2] | 0) + 352) | 0;
- c[i >> 2] = c[a >> 2];
- c[(i + 4) >> 2] = c[(a + 4) >> 2];
- c[(i + 8) >> 2] = c[(a + 8) >> 2];
- c[((c[f >> 2] | 0) + 12 + 44) >> 2] = 3;
- c[((c[f >> 2] | 0) + 12 + 32) >> 2] = 1;
- oj(g);
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- c[(d + 12) >> 2] = c[(g + 12) >> 2];
- g = pj(d) | 0;
- c[((c[f >> 2] | 0) + 8) >> 2] = g;
- c[e >> 2] = c[f >> 2];
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- c[e >> 2] = 0;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function oj(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- b = l;
- l = (l + 32) | 0;
- d = (b + 28) | 0;
- e = (b + 24) | 0;
- f = (b + 20) | 0;
- g = (b + 16) | 0;
- h = b;
- c[d >> 2] = 0;
- c[e >> 2] = 0;
- c[f >> 2] = 0;
- c[g >> 2] = 0;
- c[h >> 2] = c[d >> 2];
- c[(h + 4) >> 2] = c[e >> 2];
- c[(h + 8) >> 2] = c[f >> 2];
- c[(h + 12) >> 2] = c[g >> 2];
- c[a >> 2] = c[h >> 2];
- c[(a + 4) >> 2] = c[(h + 4) >> 2];
- c[(a + 8) >> 2] = c[(h + 8) >> 2];
- c[(a + 12) >> 2] = c[(h + 12) >> 2];
- l = b;
- return;
- }
- function pj(a) {
- a = a | 0;
- return (((c[(a + 8) >> 2] & 256) | 0) != 0) | 0;
- }
- function qj(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- b = l;
- l = (l + 32) | 0;
- d = (b + 8) | 0;
- e = (b + 4) | 0;
- f = b;
- c[f >> 2] = a;
- if (!(c[f >> 2] | 0)) {
- c[e >> 2] = 0;
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- }
- if (c[((c[f >> 2] | 0) + 364) >> 2] | 0) {
- c[e >> 2] = -64;
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- a = c[((c[f >> 2] | 0) + 224) >> 2] | 0;
- h = ((c[f >> 2] | 0) + 352) | 0;
- c[d >> 2] = c[h >> 2];
- c[(d + 4) >> 2] = c[(h + 4) >> 2];
- c[(d + 8) >> 2] = c[(h + 8) >> 2];
- Th(a, d);
- c[((c[f >> 2] | 0) + 224) >> 2] = 0;
- rj(c[((c[f >> 2] | 0) + 636) >> 2] | 0) | 0;
- c[((c[f >> 2] | 0) + 636) >> 2] = 0;
- a = c[f >> 2] | 0;
- h = ((c[f >> 2] | 0) + 352) | 0;
- c[d >> 2] = c[h >> 2];
- c[(d + 4) >> 2] = c[(h + 4) >> 2];
- c[(d + 8) >> 2] = c[(h + 8) >> 2];
- Th(a, d);
- c[e >> 2] = 0;
- g = c[e >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function rj(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- b = l;
- l = (l + 32) | 0;
- d = (b + 20) | 0;
- e = (b + 16) | 0;
- f = (b + 12) | 0;
- g = b;
- c[f >> 2] = a;
- if (!(c[f >> 2] | 0)) {
- c[e >> 2] = 0;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- } else {
- a = ((c[f >> 2] | 0) + 4748) | 0;
- c[g >> 2] = c[a >> 2];
- c[(g + 4) >> 2] = c[(a + 4) >> 2];
- c[(g + 8) >> 2] = c[(a + 8) >> 2];
- a = c[((c[f >> 2] | 0) + 12) >> 2] | 0;
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- Th(a, d);
- a = c[c[f >> 2] >> 2] | 0;
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- Th(a, d);
- a = c[f >> 2] | 0;
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- Th(a, d);
- c[e >> 2] = 0;
- h = c[e >> 2] | 0;
- l = b;
- return h | 0;
- }
- return 0;
- }
- function sj(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0;
- g = l;
- l = (l + 96) | 0;
- h = (g + 64) | 0;
- i = (g + 60) | 0;
- j = (g + 8) | 0;
- k = (g + 56) | 0;
- m = (g + 52) | 0;
- n = g;
- o = (g + 48) | 0;
- p = (g + 44) | 0;
- q = (g + 16) | 0;
- c[i >> 2] = b;
- b = j;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- c[k >> 2] = f;
- f = j;
- c[m >> 2] =
- ((c[f >> 2] | 0) != 0) | ((c[(f + 4) >> 2] | 0) != 0)
- ? 0
- : 500;
- f = j;
- e =
- dE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, c[k >> 2] | 0, 0) |
- 0;
- if (((e | 0) != 0) | ((y | 0) != 0)) {
- e = j;
- f =
- dE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, c[k >> 2] | 0, 0) |
- 0;
- e = dE(f | 0, y | 0, c[m >> 2] | 0, 0) | 0;
- r = e;
- s = y;
- } else {
- r = -1;
- s = -1;
- }
- e = n;
- c[e >> 2] = r;
- c[(e + 4) >> 2] = s;
- s = n;
- e = c[(s + 4) >> 2] | 0;
- r = n;
- m = c[(r + 4) >> 2] | 0;
- f = n;
- n = c[(f + 4) >> 2] | 0;
- c[o >> 2] =
- (((e >>> 0 < 0) |
- (((e | 0) == 0) & ((c[s >> 2] | 0) >>> 0 <= 262144))) &
- 1) +
- (((m >>> 0 < 0) |
- (((m | 0) == 0) & ((c[r >> 2] | 0) >>> 0 <= 131072))) &
- 1) +
- (((n >>> 0 < 0) |
- (((n | 0) == 0) & ((c[f >> 2] | 0) >>> 0 <= 16384))) &
- 1);
- f = c[i >> 2] | 0;
- c[p >> 2] = f;
- n = (c[i >> 2] | 0) == 0 ? 3 : f;
- c[p >> 2] = n;
- f = (c[i >> 2] | 0) < 0 ? 0 : n;
- c[p >> 2] = f;
- c[p >> 2] = (c[i >> 2] | 0) > 22 ? 22 : f;
- f =
- (224 +
- (((c[o >> 2] | 0) * 644) | 0) +
- (((c[p >> 2] | 0) * 28) | 0)) |
- 0;
- c[q >> 2] = c[f >> 2];
- c[(q + 4) >> 2] = c[(f + 4) >> 2];
- c[(q + 8) >> 2] = c[(f + 8) >> 2];
- c[(q + 12) >> 2] = c[(f + 12) >> 2];
- c[(q + 16) >> 2] = c[(f + 16) >> 2];
- c[(q + 20) >> 2] = c[(f + 20) >> 2];
- c[(q + 24) >> 2] = c[(f + 24) >> 2];
- if ((c[i >> 2] | 0) >= 0) {
- t = j;
- u = t;
- v = c[u >> 2] | 0;
- w = (t + 4) | 0;
- x = w;
- z = c[x >> 2] | 0;
- A = c[k >> 2] | 0;
- c[h >> 2] = c[q >> 2];
- c[(h + 4) >> 2] = c[(q + 4) >> 2];
- c[(h + 8) >> 2] = c[(q + 8) >> 2];
- c[(h + 12) >> 2] = c[(q + 12) >> 2];
- c[(h + 16) >> 2] = c[(q + 16) >> 2];
- c[(h + 20) >> 2] = c[(q + 20) >> 2];
- c[(h + 24) >> 2] = c[(q + 24) >> 2];
- tj(a, h, v, z, A);
- l = g;
- return;
- }
- c[(q + 20) >> 2] = 0 - (c[i >> 2] | 0);
- t = j;
- u = t;
- v = c[u >> 2] | 0;
- w = (t + 4) | 0;
- x = w;
- z = c[x >> 2] | 0;
- A = c[k >> 2] | 0;
- c[h >> 2] = c[q >> 2];
- c[(h + 4) >> 2] = c[(q + 4) >> 2];
- c[(h + 8) >> 2] = c[(q + 8) >> 2];
- c[(h + 12) >> 2] = c[(q + 12) >> 2];
- c[(h + 16) >> 2] = c[(q + 16) >> 2];
- c[(h + 20) >> 2] = c[(q + 20) >> 2];
- c[(h + 24) >> 2] = c[(q + 24) >> 2];
- tj(a, h, v, z, A);
- l = g;
- return;
- }
- function tj(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 32) | 0;
- h = g;
- i = (g + 20) | 0;
- j = (g + 16) | 0;
- k = (g + 12) | 0;
- m = (g + 8) | 0;
- n = h;
- c[n >> 2] = d;
- c[(n + 4) >> 2] = e;
- c[i >> 2] = f;
- if (
- c[i >> 2] | 0
- ? ((f = h),
- (e = dE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 1, 0) | 0),
- (f = y),
- (f >>> 0 < 0) | (((f | 0) == 0) & (e >>> 0 < 2)))
- : 0
- ) {
- e = h;
- c[e >> 2] = 513;
- c[(e + 4) >> 2] = 0;
- } else o = 4;
- if (
- (o | 0) == 4
- ? ((o = h),
- ((c[o >> 2] | 0) == 0) & ((c[(o + 4) >> 2] | 0) == 0))
- : 0
- ) {
- o = h;
- c[o >> 2] = -1;
- c[(o + 4) >> 2] = -1;
- }
- o = h;
- e = c[(o + 4) >> 2] | 0;
- if (
- (e >>> 0 < 0) |
- (((e | 0) == 0) & ((c[o >> 2] | 0) >>> 0 < 536870912))
- ? (0 < 0) |
- ((0 == 0) & ((c[i >> 2] | 0) >>> 0 < 536870912))
- : 0
- ) {
- o = h;
- h =
- dE(c[o >> 2] | 0, c[(o + 4) >> 2] | 0, c[i >> 2] | 0, 0) |
- 0;
- c[j >> 2] = h;
- if ((c[j >> 2] | 0) >>> 0 < 64) p = 6;
- else p = ((uj(((c[j >> 2] | 0) - 1) | 0) | 0) + 1) | 0;
- c[k >> 2] = p;
- if ((c[b >> 2] | 0) >>> 0 > (c[k >> 2] | 0) >>> 0)
- c[b >> 2] = c[k >> 2];
- }
- if ((c[(b + 8) >> 2] | 0) >>> 0 > (c[b >> 2] | 0) >>> 0)
- c[(b + 8) >> 2] = c[b >> 2];
- c[m >> 2] = vj(c[(b + 4) >> 2] | 0, c[(b + 24) >> 2] | 0) | 0;
- if ((c[m >> 2] | 0) >>> 0 > (c[b >> 2] | 0) >>> 0) {
- k = (b + 4) | 0;
- c[k >> 2] =
- (c[k >> 2] | 0) - ((c[m >> 2] | 0) - (c[b >> 2] | 0));
- }
- if ((c[b >> 2] | 0) >>> 0 >= 10) {
- c[a >> 2] = c[b >> 2];
- c[(a + 4) >> 2] = c[(b + 4) >> 2];
- c[(a + 8) >> 2] = c[(b + 8) >> 2];
- c[(a + 12) >> 2] = c[(b + 12) >> 2];
- c[(a + 16) >> 2] = c[(b + 16) >> 2];
- c[(a + 20) >> 2] = c[(b + 20) >> 2];
- c[(a + 24) >> 2] = c[(b + 24) >> 2];
- l = g;
- return;
- }
- c[b >> 2] = 10;
- c[a >> 2] = c[b >> 2];
- c[(a + 4) >> 2] = c[(b + 4) >> 2];
- c[(a + 8) >> 2] = c[(b + 8) >> 2];
- c[(a + 12) >> 2] = c[(b + 12) >> 2];
- c[(a + 16) >> 2] = c[(b + 16) >> 2];
- c[(a + 20) >> 2] = c[(b + 20) >> 2];
- c[(a + 24) >> 2] = c[(b + 24) >> 2];
- l = g;
- return;
- }
- function uj(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function vj(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = ((c[f >> 2] | 0) >>> 0 >= 6) & 1;
- l = d;
- return ((c[e >> 2] | 0) - (c[g >> 2] | 0)) | 0;
- }
- function wj(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[d >> 2] | 0) >>> 0 > 4294967176) | 0;
- }
- function xj(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = (e + 8) | 0;
- i = (e + 4) | 0;
- j = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- a: do {
- switch (c[h >> 2] | 0) {
- case 10: {
- if ((c[i >> 2] | 0) >>> 0 > 1) {
- c[f >> 2] = -40;
- break a;
- } else {
- c[c[g >> 2] >> 2] = c[i >> 2];
- c[f >> 2] = c[c[g >> 2] >> 2];
- break a;
- }
- break;
- }
- case 100: {
- c[j >> 2] = c[i >> 2];
- if ((c[j >> 2] | 0) > (yj() | 0)) c[j >> 2] = yj() | 0;
- if (c[j >> 2] | 0) {
- c[((c[g >> 2] | 0) + 48) >> 2] =
- ((c[j >> 2] | 0) < 0) & 1;
- c[((c[g >> 2] | 0) + 44) >> 2] = c[j >> 2];
- }
- if ((c[((c[g >> 2] | 0) + 44) >> 2] | 0) >= 0) {
- c[f >> 2] = c[((c[g >> 2] | 0) + 44) >> 2];
- break a;
- } else {
- c[f >> 2] = 0;
- break a;
- }
- break;
- }
- case 101: {
- if (
- (c[i >> 2] | 0) >>> 0 > 0
- ? ((c[i >> 2] | 0) >>> 0 < 10) |
- ((c[i >> 2] | 0) >>> 0 > 30) |
- 0
- : 0
- ) {
- c[f >> 2] = -42;
- break a;
- }
- c[((c[g >> 2] | 0) + 4) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
- break;
- }
- case 102: {
- if (
- (c[i >> 2] | 0) >>> 0 > 0
- ? ((c[i >> 2] | 0) >>> 0 < 6) |
- ((c[i >> 2] | 0) >>> 0 > 30) |
- 0
- : 0
- ) {
- c[f >> 2] = -42;
- break a;
- }
- c[((c[g >> 2] | 0) + 4 + 8) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 8) >> 2];
- break;
- }
- case 103: {
- if (
- (c[i >> 2] | 0) >>> 0 > 0
- ? ((c[i >> 2] | 0) >>> 0 < 6) |
- ((c[i >> 2] | 0) >>> 0 > 29) |
- 0
- : 0
- ) {
- c[f >> 2] = -42;
- break a;
- }
- c[((c[g >> 2] | 0) + 4 + 4) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 4) >> 2];
- break;
- }
- case 104: {
- if (
- (c[i >> 2] | 0) >>> 0 > 0
- ? ((c[i >> 2] | 0) >>> 0 < 1) |
- ((c[i >> 2] | 0) >>> 0 > 29) |
- 0
- : 0
- ) {
- c[f >> 2] = -42;
- break a;
- }
- c[((c[g >> 2] | 0) + 4 + 12) >> 2] = c[i >> 2];
- c[f >> 2] = c[i >> 2];
- break;
- }
- case 105: {
- if (
- (c[i >> 2] | 0) >>> 0 > 0
- ? ((c[i >> 2] | 0) >>> 0 < 3) |
- ((c[i >> 2] | 0) >>> 0 > 7) |
- 0
- : 0
- ) {
- c[f >> 2] = -42;
- break a;
- }
- c[((c[g >> 2] | 0) + 4 + 16) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 16) >> 2];
- break;
- }
- case 106: {
- c[((c[g >> 2] | 0) + 4 + 20) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 20) >> 2];
- break;
- }
- case 107: {
- if (
- (c[i >> 2] | 0) >>> 0 > 0
- ? ((c[i >> 2] | 0) >>> 0 < 1) |
- ((c[i >> 2] | 0) >>> 0 > 8) |
- 0
- : 0
- ) {
- c[f >> 2] = -42;
- break a;
- }
- c[((c[g >> 2] | 0) + 4 + 24) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 4 + 24) >> 2];
- break;
- }
- case 1e3: {
- c[((c[g >> 2] | 0) + 48) >> 2] =
- (((c[i >> 2] | 0) != 0) ^ 1) & 1;
- c[f >> 2] =
- (((c[((c[g >> 2] | 0) + 48) >> 2] | 0) != 0) ^ 1) & 1;
- break;
- }
- case 200: {
- c[((c[g >> 2] | 0) + 32) >> 2] =
- ((c[i >> 2] | 0) >>> 0 > 0) & 1;
- c[f >> 2] = c[((c[g >> 2] | 0) + 32) >> 2];
- break;
- }
- case 201: {
- c[((c[g >> 2] | 0) + 32 + 4) >> 2] =
- ((c[i >> 2] | 0) >>> 0 > 0) & 1;
- c[f >> 2] = c[((c[g >> 2] | 0) + 32 + 4) >> 2];
- break;
- }
- case 202: {
- c[((c[g >> 2] | 0) + 32 + 8) >> 2] =
- (((c[i >> 2] | 0) != 0) ^ 1) & 1;
- c[f >> 2] =
- (((c[((c[g >> 2] | 0) + 32 + 8) >> 2] | 0) != 0) ^
- 1) &
- 1;
- break;
- }
- case 1100: {
- c[((c[g >> 2] | 0) + 52) >> 2] =
- ((c[i >> 2] | 0) >>> 0 > 0) & 1;
- c[f >> 2] = c[((c[g >> 2] | 0) + 52) >> 2];
- break;
- }
- case 400: {
- if ((c[i >> 2] | 0) >>> 0 > 0) {
- c[f >> 2] = -40;
- break a;
- } else {
- c[f >> 2] = 0;
- break a;
- }
- break;
- }
- case 401: {
- c[f >> 2] = -40;
- break;
- }
- case 402: {
- c[f >> 2] = -40;
- break;
- }
- case 160: {
- c[((c[g >> 2] | 0) + 68) >> 2] =
- ((c[i >> 2] | 0) >>> 0 > 0) & 1;
- c[f >> 2] = c[((c[g >> 2] | 0) + 68) >> 2];
- break;
- }
- case 161: {
- if (
- (c[i >> 2] | 0) >>> 0 > 0
- ? ((c[i >> 2] | 0) >>> 0 < 6) |
- ((c[i >> 2] | 0) >>> 0 > 30) |
- 0
- : 0
- ) {
- c[f >> 2] = -42;
- break a;
- }
- c[((c[g >> 2] | 0) + 68 + 4) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 68 + 4) >> 2];
- break;
- }
- case 162: {
- if (
- (c[i >> 2] | 0) >>> 0 > 0
- ? ((c[i >> 2] | 0) >>> 0 < 4) |
- ((c[i >> 2] | 0) >>> 0 > 4096) |
- 0
- : 0
- ) {
- c[f >> 2] = -42;
- break a;
- }
- c[((c[g >> 2] | 0) + 68 + 12) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 68 + 12) >> 2];
- break;
- }
- case 163: {
- if ((c[i >> 2] | 0) >>> 0 > 8) {
- c[f >> 2] = -42;
- break a;
- } else {
- c[((c[g >> 2] | 0) + 68 + 8) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 68 + 8) >> 2];
- break a;
- }
- break;
- }
- case 164: {
- if ((c[i >> 2] | 0) >>> 0 > 24) {
- c[f >> 2] = -42;
- break a;
- } else {
- c[((c[g >> 2] | 0) + 68 + 16) >> 2] = c[i >> 2];
- c[f >> 2] = c[((c[g >> 2] | 0) + 68 + 16) >> 2];
- break a;
- }
- break;
- }
- default:
- c[f >> 2] = -40;
- }
- } while (0);
- l = e;
- return c[f >> 2] | 0;
- }
- function yj() {
- return 22;
- }
- function zj(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- h = l;
- l = (l + 64) | 0;
- i = (h + 32) | 0;
- j = (h + 28) | 0;
- k = (h + 24) | 0;
- m = (h + 20) | 0;
- n = (h + 16) | 0;
- o = (h + 12) | 0;
- p = (h + 8) | 0;
- q = (h + 4) | 0;
- r = h;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- c[o >> 2] = e;
- if (
- (((((c[g >> 2] | 0) != 0) ^ 1) & 1) ^
- ((((c[(g + 4) >> 2] | 0) != 0) ^ 1) & 1)) |
- 0
- ) {
- c[j >> 2] = 0;
- s = c[j >> 2] | 0;
- l = h;
- return s | 0;
- }
- c[i >> 2] = c[g >> 2];
- c[(i + 4) >> 2] = c[(g + 4) >> 2];
- c[(i + 8) >> 2] = c[(g + 8) >> 2];
- c[p >> 2] = Rh(4764, i) | 0;
- c[q >> 2] = 6144 + (Aj(f, 0) | 0);
- e = c[q >> 2] | 0;
- c[i >> 2] = c[g >> 2];
- c[(i + 4) >> 2] = c[(g + 4) >> 2];
- c[(i + 8) >> 2] = c[(g + 8) >> 2];
- c[r >> 2] = Rh(e, i) | 0;
- e = c[p >> 2] | 0;
- if (!(((c[p >> 2] | 0) != 0) & ((c[r >> 2] | 0) != 0))) {
- c[i >> 2] = c[g >> 2];
- c[(i + 4) >> 2] = c[(g + 4) >> 2];
- c[(i + 8) >> 2] = c[(g + 8) >> 2];
- Th(e, i);
- d = c[r >> 2] | 0;
- c[i >> 2] = c[g >> 2];
- c[(i + 4) >> 2] = c[(g + 4) >> 2];
- c[(i + 8) >> 2] = c[(g + 8) >> 2];
- Th(d, i);
- c[j >> 2] = 0;
- s = c[j >> 2] | 0;
- l = h;
- return s | 0;
- }
- d = (e + 4748) | 0;
- c[d >> 2] = c[g >> 2];
- c[(d + 4) >> 2] = c[(g + 4) >> 2];
- c[(d + 8) >> 2] = c[(g + 8) >> 2];
- c[((c[p >> 2] | 0) + 12) >> 2] = c[r >> 2];
- c[((c[p >> 2] | 0) + 16) >> 2] = c[q >> 2];
- q = c[p >> 2] | 0;
- r = c[k >> 2] | 0;
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- c[i >> 2] = c[f >> 2];
- c[(i + 4) >> 2] = c[(f + 4) >> 2];
- c[(i + 8) >> 2] = c[(f + 8) >> 2];
- c[(i + 12) >> 2] = c[(f + 12) >> 2];
- c[(i + 16) >> 2] = c[(f + 16) >> 2];
- c[(i + 20) >> 2] = c[(f + 20) >> 2];
- c[(i + 24) >> 2] = c[(f + 24) >> 2];
- f = (Ph(Bj(q, r, k, m, n, i) | 0) | 0) != 0;
- i = c[p >> 2] | 0;
- if (f) {
- rj(i) | 0;
- c[j >> 2] = 0;
- s = c[j >> 2] | 0;
- l = h;
- return s | 0;
- } else {
- c[j >> 2] = i;
- s = c[j >> 2] | 0;
- l = h;
- return s | 0;
- }
- return 0;
- }
- function Aj(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- d = l;
- l = (l + 48) | 0;
- e = (d + 32) | 0;
- f = (d + 28) | 0;
- g = (d + 24) | 0;
- h = (d + 20) | 0;
- i = (d + 16) | 0;
- j = (d + 12) | 0;
- k = (d + 8) | 0;
- m = (d + 4) | 0;
- n = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- if ((c[((c[e >> 2] | 0) + 24) >> 2] | 0) == 1) o = 0;
- else o = 1 << c[((c[e >> 2] | 0) + 4) >> 2];
- c[g >> 2] = o;
- c[h >> 2] = 1 << c[((c[e >> 2] | 0) + 8) >> 2];
- if (
- c[f >> 2] | 0
- ? (c[((c[e >> 2] | 0) + 16) >> 2] | 0) == 3
- : 0
- ) {
- if (17 < (c[c[e >> 2] >> 2] | 0) >>> 0) p = 17;
- else p = c[c[e >> 2] >> 2] | 0;
- } else p = 0;
- c[i >> 2] = p;
- c[j >> 2] = 1 << c[i >> 2];
- c[k >> 2] =
- ((c[g >> 2] | 0) + (c[h >> 2] | 0) + (c[j >> 2] | 0)) << 2;
- c[m >> 2] = 149e3;
- if (c[f >> 2] | 0) {
- if ((c[((c[e >> 2] | 0) + 24) >> 2] | 0) == 7) q = 1;
- else q = (c[((c[e >> 2] | 0) + 24) >> 2] | 0) == 8;
- } else q = 0;
- c[n >> 2] = q ? 149e3 : 0;
- l = d;
- return ((c[k >> 2] | 0) + (c[n >> 2] | 0)) | 0;
- }
- function Bj(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- h = l;
- l = (l + 160) | 0;
- i = (h + 144) | 0;
- j = (h + 140) | 0;
- k = (h + 136) | 0;
- m = (h + 132) | 0;
- n = (h + 128) | 0;
- o = (h + 124) | 0;
- p = (h + 120) | 0;
- q = (h + 116) | 0;
- r = (h + 112) | 0;
- s = (h + 8) | 0;
- t = h;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- c[o >> 2] = e;
- c[p >> 2] = f;
- f = ((c[k >> 2] | 0) + 4720) | 0;
- c[f >> 2] = c[g >> 2];
- c[(f + 4) >> 2] = c[(g + 4) >> 2];
- c[(f + 8) >> 2] = c[(g + 8) >> 2];
- c[(f + 12) >> 2] = c[(g + 12) >> 2];
- c[(f + 16) >> 2] = c[(g + 16) >> 2];
- c[(f + 20) >> 2] = c[(g + 20) >> 2];
- c[(f + 24) >> 2] = c[(g + 24) >> 2];
- do {
- if (
- ((c[o >> 2] | 0) != 1) &
- ((c[m >> 2] | 0) != 0) &
- ((c[n >> 2] | 0) != 0)
- ) {
- f = c[n >> 2] | 0;
- e = ((c[k >> 2] | 0) + 4748) | 0;
- c[i >> 2] = c[e >> 2];
- c[(i + 4) >> 2] = c[(e + 4) >> 2];
- c[(i + 8) >> 2] = c[(e + 8) >> 2];
- c[q >> 2] = Rh(f, i) | 0;
- c[c[k >> 2] >> 2] = c[q >> 2];
- c[((c[k >> 2] | 0) + 4) >> 2] = c[q >> 2];
- if (c[q >> 2] | 0) {
- mE(c[q >> 2] | 0, c[m >> 2] | 0, c[n >> 2] | 0) | 0;
- break;
- }
- c[j >> 2] = -64;
- u = c[j >> 2] | 0;
- l = h;
- return u | 0;
- } else {
- c[c[k >> 2] >> 2] = 0;
- c[((c[k >> 2] | 0) + 4) >> 2] = c[m >> 2];
- }
- } while (0);
- c[((c[k >> 2] | 0) + 8) >> 2] = c[n >> 2];
- Cj(((c[k >> 2] | 0) + 128) | 0);
- c[r >> 2] =
- Dj(
- ((c[k >> 2] | 0) + 20) | 0,
- ((c[((c[k >> 2] | 0) + 12) >> 2] | 0) + 6144) | 0,
- g,
- 0,
- 0
- ) | 0;
- r = s;
- n = (r + 104) | 0;
- do {
- c[r >> 2] = 0;
- r = (r + 4) | 0;
- } while ((r | 0) < (n | 0));
- c[(s + 44) >> 2] = 3;
- c[(s + 32) >> 2] = 1;
- r = (s + 4) | 0;
- c[r >> 2] = c[g >> 2];
- c[(r + 4) >> 2] = c[(g + 4) >> 2];
- c[(r + 8) >> 2] = c[(g + 8) >> 2];
- c[(r + 12) >> 2] = c[(g + 12) >> 2];
- c[(r + 16) >> 2] = c[(g + 16) >> 2];
- c[(r + 20) >> 2] = c[(g + 20) >> 2];
- c[(r + 24) >> 2] = c[(g + 24) >> 2];
- c[t >> 2] =
- Ej(
- ((c[k >> 2] | 0) + 128) | 0,
- ((c[k >> 2] | 0) + 20) | 0,
- s,
- c[((c[k >> 2] | 0) + 4) >> 2] | 0,
- c[((c[k >> 2] | 0) + 8) >> 2] | 0,
- c[p >> 2] | 0,
- c[((c[k >> 2] | 0) + 12) >> 2] | 0
- ) | 0;
- p = (Ph(c[t >> 2] | 0) | 0) != 0;
- s = c[t >> 2] | 0;
- if (p) {
- c[j >> 2] = s;
- u = c[j >> 2] | 0;
- l = h;
- return u | 0;
- } else {
- c[((c[k >> 2] | 0) + 4760) >> 2] = s;
- c[j >> 2] = 0;
- u = c[j >> 2] | 0;
- l = h;
- return u | 0;
- }
- return 0;
- }
- function Cj(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[d >> 2] = a;
- c[e >> 2] = 0;
- while (1) {
- if ((c[e >> 2] | 0) >= 3) break;
- c[((c[d >> 2] | 0) + 4580 + (c[e >> 2] << 2)) >> 2] =
- c[(11940 + (c[e >> 2] << 2)) >> 2];
- c[e >> 2] = (c[e >> 2] | 0) + 1;
- }
- c[((c[d >> 2] | 0) + 4564) >> 2] = 0;
- c[((c[d >> 2] | 0) + 4568) >> 2] = 0;
- c[((c[d >> 2] | 0) + 4572) >> 2] = 0;
- c[((c[d >> 2] | 0) + 4576) >> 2] = 0;
- l = b;
- return;
- }
- function Dj(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 36) | 0;
- i = (g + 32) | 0;
- j = (g + 28) | 0;
- k = (g + 24) | 0;
- m = (g + 20) | 0;
- n = (g + 16) | 0;
- o = (g + 12) | 0;
- p = (g + 8) | 0;
- q = (g + 4) | 0;
- r = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- if ((c[((c[j >> 2] | 0) + 24) >> 2] | 0) == 1) s = 0;
- else s = 1 << c[((c[j >> 2] | 0) + 4) >> 2];
- c[n >> 2] = s;
- c[o >> 2] = 1 << c[((c[j >> 2] | 0) + 8) >> 2];
- if (
- c[m >> 2] | 0
- ? (c[((c[j >> 2] | 0) + 16) >> 2] | 0) == 3
- : 0
- ) {
- if (17 < (c[c[j >> 2] >> 2] | 0) >>> 0) t = 17;
- else t = c[c[j >> 2] >> 2] | 0;
- } else t = 0;
- c[p >> 2] = t;
- c[q >> 2] = 1 << c[p >> 2];
- c[r >> 2] =
- ((c[n >> 2] | 0) + (c[o >> 2] | 0) + (c[q >> 2] | 0)) << 2;
- c[((c[h >> 2] | 0) + 32) >> 2] = c[p >> 2];
- p = c[h >> 2] | 0;
- c[p >> 2] = 0;
- c[(p + 4) >> 2] = 0;
- c[(p + 8) >> 2] = 0;
- c[(p + 12) >> 2] = 0;
- c[(p + 16) >> 2] = 0;
- hl(c[h >> 2] | 0);
- if (
- c[m >> 2] | 0
- ? ((c[((c[j >> 2] | 0) + 24) >> 2] | 0) == 7
- ? 1
- : (c[((c[j >> 2] | 0) + 24) >> 2] | 0) == 8) | 0
- : 0
- ) {
- c[((c[h >> 2] | 0) + 48) >> 2] = c[i >> 2];
- c[((c[h >> 2] | 0) + 48 + 4) >> 2] =
- (c[((c[h >> 2] | 0) + 48) >> 2] | 0) + 1024;
- c[((c[h >> 2] | 0) + 48 + 8) >> 2] =
- (c[((c[h >> 2] | 0) + 48 + 4) >> 2] | 0) + 144;
- c[((c[h >> 2] | 0) + 48 + 12) >> 2] =
- (c[((c[h >> 2] | 0) + 48 + 8) >> 2] | 0) + 212;
- c[i >> 2] = (c[((c[h >> 2] | 0) + 48 + 12) >> 2] | 0) + 128;
- c[((c[h >> 2] | 0) + 48 + 16) >> 2] = c[i >> 2];
- c[i >> 2] =
- (c[((c[h >> 2] | 0) + 48 + 16) >> 2] | 0) + 32768 + 8;
- c[((c[h >> 2] | 0) + 48 + 20) >> 2] = c[i >> 2];
- c[i >> 2] =
- (c[((c[h >> 2] | 0) + 48 + 20) >> 2] | 0) + 114688 + 28;
- }
- if ((c[k >> 2] | 0) == 1) {
- u = c[i >> 2] | 0;
- v = c[h >> 2] | 0;
- w = (v + 36) | 0;
- c[w >> 2] = u;
- x = c[h >> 2] | 0;
- y = (x + 36) | 0;
- z = c[y >> 2] | 0;
- A = c[o >> 2] | 0;
- B = (z + (A << 2)) | 0;
- C = c[h >> 2] | 0;
- D = (C + 44) | 0;
- c[D >> 2] = B;
- E = c[h >> 2] | 0;
- F = (E + 44) | 0;
- G = c[F >> 2] | 0;
- H = c[n >> 2] | 0;
- I = (G + (H << 2)) | 0;
- J = c[h >> 2] | 0;
- K = (J + 40) | 0;
- c[K >> 2] = I;
- L = c[h >> 2] | 0;
- M = (L + 40) | 0;
- N = c[M >> 2] | 0;
- O = c[q >> 2] | 0;
- P = (N + (O << 2)) | 0;
- c[i >> 2] = P;
- Q = c[i >> 2] | 0;
- l = g;
- return Q | 0;
- }
- oE(c[i >> 2] | 0, 0, c[r >> 2] | 0) | 0;
- u = c[i >> 2] | 0;
- v = c[h >> 2] | 0;
- w = (v + 36) | 0;
- c[w >> 2] = u;
- x = c[h >> 2] | 0;
- y = (x + 36) | 0;
- z = c[y >> 2] | 0;
- A = c[o >> 2] | 0;
- B = (z + (A << 2)) | 0;
- C = c[h >> 2] | 0;
- D = (C + 44) | 0;
- c[D >> 2] = B;
- E = c[h >> 2] | 0;
- F = (E + 44) | 0;
- G = c[F >> 2] | 0;
- H = c[n >> 2] | 0;
- I = (G + (H << 2)) | 0;
- J = c[h >> 2] | 0;
- K = (J + 40) | 0;
- c[K >> 2] = I;
- L = c[h >> 2] | 0;
- M = (L + 40) | 0;
- N = c[M >> 2] | 0;
- O = c[q >> 2] | 0;
- P = (N + (O << 2)) | 0;
- c[i >> 2] = P;
- Q = c[i >> 2] | 0;
- l = g;
- return Q | 0;
- }
- function Ej(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- i = l;
- l = (l + 32) | 0;
- j = (i + 28) | 0;
- k = (i + 24) | 0;
- m = (i + 20) | 0;
- n = (i + 16) | 0;
- o = (i + 12) | 0;
- p = (i + 8) | 0;
- q = (i + 4) | 0;
- r = i;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- if (((c[o >> 2] | 0) == 0) | ((c[p >> 2] | 0) >>> 0 <= 8)) {
- c[j >> 2] = 0;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- }
- Cj(c[k >> 2] | 0);
- if ((c[q >> 2] | 0) == 1) {
- c[j >> 2] =
- Fj(
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- }
- if ((Gj(c[o >> 2] | 0) | 0) != -332356553) {
- if (!(c[q >> 2] | 0)) {
- c[j >> 2] =
- Fj(
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- }
- if ((c[q >> 2] | 0) == 2) {
- c[j >> 2] = -32;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- }
- }
- c[j >> 2] =
- Hj(
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- s = c[j >> 2] | 0;
- l = i;
- return s | 0;
- }
- function Fj(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = c[j >> 2];
- c[n >> 2] = (c[m >> 2] | 0) + (c[k >> 2] | 0);
- c[o >> 2] = (c[i >> 2] | 0) + 4;
- Mj(c[h >> 2] | 0, c[j >> 2] | 0, c[k >> 2] | 0) | 0;
- if (c[((c[i >> 2] | 0) + 52) >> 2] | 0) p = 0;
- else
- p =
- ((c[n >> 2] | 0) - (c[((c[h >> 2] | 0) + 4) >> 2] | 0)) |
- 0;
- c[((c[h >> 2] | 0) + 20) >> 2] = p;
- if ((c[k >> 2] | 0) >>> 0 <= 8) {
- c[g >> 2] = 0;
- q = c[g >> 2] | 0;
- l = f;
- return q | 0;
- }
- switch (c[((c[i >> 2] | 0) + 4 + 24) >> 2] | 0) {
- case 1: {
- Nj(c[h >> 2] | 0, c[o >> 2] | 0, c[n >> 2] | 0);
- break;
- }
- case 2: {
- Oj(c[h >> 2] | 0, c[o >> 2] | 0, c[n >> 2] | 0);
- break;
- }
- case 5:
- case 4:
- case 3: {
- if ((c[k >> 2] | 0) >>> 0 >= 8)
- Pj(
- c[h >> 2] | 0,
- c[o >> 2] | 0,
- ((c[n >> 2] | 0) + -8) | 0
- ) | 0;
- break;
- }
- case 8:
- case 7:
- case 6: {
- if ((c[k >> 2] | 0) >>> 0 >= 8)
- Qj(
- c[h >> 2] | 0,
- c[o >> 2] | 0,
- ((c[n >> 2] | 0) + -8) | 0,
- c[n >> 2] | 0
- );
- break;
- }
- default: {
- }
- }
- c[((c[h >> 2] | 0) + 24) >> 2] =
- (c[n >> 2] | 0) - (c[((c[h >> 2] | 0) + 4) >> 2] | 0);
- c[g >> 2] = 0;
- q = c[g >> 2] | 0;
- l = f;
- return q | 0;
- }
- function Gj(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (Jj() | 0) != 0;
- f = Kj(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = Lj(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Hj(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0;
- h = l;
- l = (l + 384) | 0;
- i = (h + 380) | 0;
- j = (h + 376) | 0;
- k = (h + 372) | 0;
- m = (h + 368) | 0;
- n = (h + 364) | 0;
- o = (h + 360) | 0;
- p = (h + 356) | 0;
- q = (h + 352) | 0;
- r = (h + 348) | 0;
- s = (h + 192) | 0;
- t = (h + 344) | 0;
- u = (h + 340) | 0;
- v = (h + 336) | 0;
- w = (h + 332) | 0;
- x = (h + 328) | 0;
- y = (h + 324) | 0;
- z = (h + 320) | 0;
- A = (h + 80) | 0;
- B = (h + 316) | 0;
- C = (h + 312) | 0;
- D = (h + 308) | 0;
- E = (h + 304) | 0;
- F = (h + 300) | 0;
- G = h;
- H = (h + 296) | 0;
- I = (h + 292) | 0;
- J = (h + 288) | 0;
- K = (h + 284) | 0;
- L = (h + 280) | 0;
- M = (h + 276) | 0;
- N = (h + 272) | 0;
- O = (h + 268) | 0;
- P = (h + 264) | 0;
- Q = (h + 260) | 0;
- R = (h + 256) | 0;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = c[n >> 2];
- c[r >> 2] = (c[q >> 2] | 0) + (c[o >> 2] | 0);
- c[t >> 2] = 31;
- c[q >> 2] = (c[q >> 2] | 0) + 4;
- if (c[((c[m >> 2] | 0) + 32 + 8) >> 2] | 0) S = 0;
- else S = Gj(c[q >> 2] | 0) | 0;
- c[u >> 2] = S;
- c[q >> 2] = (c[q >> 2] | 0) + 4;
- c[v >> 2] = 255;
- c[w >> 2] =
- Ji(
- c[j >> 2] | 0,
- v,
- c[q >> 2] | 0,
- ((c[r >> 2] | 0) - (c[q >> 2] | 0)) | 0
- ) | 0;
- if ($g(c[w >> 2] | 0) | 0) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- if ((c[v >> 2] | 0) >>> 0 < 255) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[q >> 2] = (c[q >> 2] | 0) + (c[w >> 2] | 0);
- c[y >> 2] =
- ah(
- s,
- t,
- x,
- c[q >> 2] | 0,
- ((c[r >> 2] | 0) - (c[q >> 2] | 0)) | 0
- ) | 0;
- if (Zg(c[y >> 2] | 0) | 0) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- if ((c[x >> 2] | 0) >>> 0 > 8) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[z >> 2] =
- Uh(
- ((c[j >> 2] | 0) + 1024) | 0,
- s,
- c[t >> 2] | 0,
- c[x >> 2] | 0,
- c[p >> 2] | 0,
- 6144
- ) | 0;
- if (wj(c[z >> 2] | 0) | 0) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[q >> 2] = (c[q >> 2] | 0) + (c[y >> 2] | 0);
- c[B >> 2] = 52;
- c[D >> 2] =
- ah(
- A,
- B,
- C,
- c[q >> 2] | 0,
- ((c[r >> 2] | 0) - (c[q >> 2] | 0)) | 0
- ) | 0;
- if (Zg(c[D >> 2] | 0) | 0) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- if ((c[C >> 2] | 0) >>> 0 > 9) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[E >> 2] = Ij(A, c[B >> 2] | 0, 52) | 0;
- if (wj(c[E >> 2] | 0) | 0) {
- c[i >> 2] = c[E >> 2];
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[F >> 2] =
- Uh(
- ((c[j >> 2] | 0) + 1796) | 0,
- A,
- c[B >> 2] | 0,
- c[C >> 2] | 0,
- c[p >> 2] | 0,
- 6144
- ) | 0;
- if (wj(c[F >> 2] | 0) | 0) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[q >> 2] = (c[q >> 2] | 0) + (c[D >> 2] | 0);
- c[H >> 2] = 35;
- c[J >> 2] =
- ah(
- G,
- H,
- I,
- c[q >> 2] | 0,
- ((c[r >> 2] | 0) - (c[q >> 2] | 0)) | 0
- ) | 0;
- if (Zg(c[J >> 2] | 0) | 0) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- if ((c[I >> 2] | 0) >>> 0 > 9) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[K >> 2] = Ij(G, c[H >> 2] | 0, 35) | 0;
- if (wj(c[K >> 2] | 0) | 0) {
- c[i >> 2] = c[K >> 2];
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[L >> 2] =
- Uh(
- ((c[j >> 2] | 0) + 3248) | 0,
- G,
- c[H >> 2] | 0,
- c[I >> 2] | 0,
- c[p >> 2] | 0,
- 6144
- ) | 0;
- if (wj(c[L >> 2] | 0) | 0) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[q >> 2] = (c[q >> 2] | 0) + (c[J >> 2] | 0);
- if (
- (((c[q >> 2] | 0) + 12) | 0) >>> 0 >
- (c[r >> 2] | 0) >>> 0
- ) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- J = Gj(c[q >> 2] | 0) | 0;
- c[((c[j >> 2] | 0) + 4580) >> 2] = J;
- J = Gj(((c[q >> 2] | 0) + 4) | 0) | 0;
- c[((c[j >> 2] | 0) + 4580 + 4) >> 2] = J;
- J = Gj(((c[q >> 2] | 0) + 8) | 0) | 0;
- c[((c[j >> 2] | 0) + 4580 + 8) >> 2] = J;
- c[q >> 2] = (c[q >> 2] | 0) + 12;
- c[M >> 2] = (c[r >> 2] | 0) - (c[q >> 2] | 0);
- c[N >> 2] = 31;
- if ((c[M >> 2] | 0) >>> 0 <= 4294836223) {
- c[O >> 2] = (c[M >> 2] | 0) + 131072;
- c[N >> 2] = uj(c[O >> 2] | 0) | 0;
- }
- c[P >> 2] =
- Ij(
- s,
- c[t >> 2] | 0,
- (c[N >> 2] | 0) >>> 0 < 31 ? c[N >> 2] | 0 : 31
- ) | 0;
- if (wj(c[P >> 2] | 0) | 0) {
- c[i >> 2] = c[P >> 2];
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- c[Q >> 2] = 0;
- while (1) {
- U = c[j >> 2] | 0;
- if ((c[Q >> 2] | 0) >>> 0 >= 3) {
- V = 42;
- break;
- }
- if (!(c[(U + 4580 + (c[Q >> 2] << 2)) >> 2] | 0)) {
- V = 38;
- break;
- }
- if (
- (c[((c[j >> 2] | 0) + 4580 + (c[Q >> 2] << 2)) >> 2] |
- 0) >>>
- 0 >
- (c[M >> 2] | 0) >>> 0
- ) {
- V = 40;
- break;
- }
- c[Q >> 2] = (c[Q >> 2] | 0) + 1;
- }
- if ((V | 0) == 38) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- } else if ((V | 0) == 40) {
- c[i >> 2] = -30;
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- } else if ((V | 0) == 42) {
- c[(U + 4564) >> 2] = 2;
- c[((c[j >> 2] | 0) + 4568) >> 2] = 2;
- c[((c[j >> 2] | 0) + 4572) >> 2] = 2;
- c[((c[j >> 2] | 0) + 4576) >> 2] = 2;
- c[R >> 2] =
- Fj(
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[q >> 2] | 0,
- c[M >> 2] | 0
- ) | 0;
- if (wj(c[R >> 2] | 0) | 0) {
- c[i >> 2] = c[R >> 2];
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- } else {
- c[i >> 2] = c[u >> 2];
- T = c[i >> 2] | 0;
- l = h;
- return T | 0;
- }
- }
- return 0;
- }
- function Ij(a, d, e) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[h >> 2] = a;
- c[i >> 2] = d;
- c[j >> 2] = e;
- if ((c[i >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0) {
- c[g >> 2] = -30;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- c[k >> 2] = 0;
- while (1) {
- if ((c[k >> 2] | 0) >>> 0 > (c[j >> 2] | 0) >>> 0) {
- n = 8;
- break;
- }
- if (!(b[((c[h >> 2] | 0) + (c[k >> 2] << 1)) >> 1] | 0)) {
- n = 6;
- break;
- }
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- if ((n | 0) == 6) {
- c[g >> 2] = -30;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else if ((n | 0) == 8) {
- c[g >> 2] = 0;
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function Jj() {
- return d[11936] | 0 | 0;
- }
- function Kj(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function Lj(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function Mj(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 28) | 0;
- g = (e + 24) | 0;
- h = (e + 20) | 0;
- i = (e + 16) | 0;
- j = (e + 12) | 0;
- k = (e + 8) | 0;
- m = (e + 4) | 0;
- n = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = 1;
- if ((c[g >> 2] | 0) != (c[c[f >> 2] >> 2] | 0)) {
- c[k >> 2] =
- (c[c[f >> 2] >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 4) >> 2] | 0);
- c[((c[f >> 2] | 0) + 16) >> 2] =
- c[((c[f >> 2] | 0) + 12) >> 2];
- c[((c[f >> 2] | 0) + 12) >> 2] = c[k >> 2];
- c[((c[f >> 2] | 0) + 8) >> 2] =
- c[((c[f >> 2] | 0) + 4) >> 2];
- c[((c[f >> 2] | 0) + 4) >> 2] =
- (c[i >> 2] | 0) + (0 - (c[k >> 2] | 0));
- if (
- (((c[((c[f >> 2] | 0) + 12) >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 16) >> 2] | 0)) |
- 0) >>>
- 0 <
- 8
- )
- c[((c[f >> 2] | 0) + 16) >> 2] =
- c[((c[f >> 2] | 0) + 12) >> 2];
- c[j >> 2] = 0;
- }
- c[c[f >> 2] >> 2] = (c[i >> 2] | 0) + (c[h >> 2] | 0);
- if (
- !(
- ((c[i >> 2] | 0) >>> 0 <
- (((c[((c[f >> 2] | 0) + 8) >> 2] | 0) +
- (c[((c[f >> 2] | 0) + 12) >> 2] | 0)) |
- 0) >>>
- 0
- ? (((c[i >> 2] | 0) + (c[h >> 2] | 0)) | 0) >>> 0 >
- (((c[((c[f >> 2] | 0) + 8) >> 2] | 0) +
- (c[((c[f >> 2] | 0) + 16) >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- ) {
- o = c[j >> 2] | 0;
- l = e;
- return o | 0;
- }
- c[m >> 2] =
- (c[i >> 2] | 0) +
- (c[h >> 2] | 0) -
- (c[((c[f >> 2] | 0) + 8) >> 2] | 0);
- if ((c[m >> 2] | 0) > (c[((c[f >> 2] | 0) + 12) >> 2] | 0))
- p = c[((c[f >> 2] | 0) + 12) >> 2] | 0;
- else p = c[m >> 2] | 0;
- c[n >> 2] = p;
- c[((c[f >> 2] | 0) + 16) >> 2] = c[n >> 2];
- o = c[j >> 2] | 0;
- l = e;
- return o | 0;
- }
- function Nj(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- e = l;
- l = (l + 64) | 0;
- f = (e + 48) | 0;
- g = (e + 44) | 0;
- h = (e + 40) | 0;
- i = (e + 36) | 0;
- j = (e + 32) | 0;
- k = (e + 28) | 0;
- m = (e + 24) | 0;
- n = (e + 20) | 0;
- o = (e + 16) | 0;
- p = (e + 8) | 0;
- q = (e + 4) | 0;
- r = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[((c[f >> 2] | 0) + 36) >> 2];
- c[j >> 2] = c[((c[g >> 2] | 0) + 8) >> 2];
- c[k >> 2] = c[((c[g >> 2] | 0) + 16) >> 2];
- c[m >> 2] = c[((c[f >> 2] | 0) + 4) >> 2];
- c[n >> 2] =
- (c[m >> 2] | 0) + (c[((c[f >> 2] | 0) + 24) >> 2] | 0);
- c[o >> 2] = (c[h >> 2] | 0) + -8;
- c[(e + 12) >> 2] = 3;
- while (1) {
- if (
- (((c[n >> 2] | 0) + 3 + -1) | 0) >>> 0 >
- (c[o >> 2] | 0) >>> 0
- )
- break;
- c[p >> 2] = (c[n >> 2] | 0) - (c[m >> 2] | 0);
- c[q >> 2] = 0;
- while (1) {
- s = c[n >> 2] | 0;
- if ((c[q >> 2] | 0) >>> 0 >= 3) break;
- c[r >> 2] =
- Tk(
- (s + (c[q >> 2] | 0)) | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0
- ) | 0;
- if (
- !((c[q >> 2] | 0) != 0
- ? (c[((c[i >> 2] | 0) + (c[r >> 2] << 2)) >> 2] |
- 0) !=
- 0
- : 0)
- )
- c[((c[i >> 2] | 0) + (c[r >> 2] << 2)) >> 2] =
- (c[p >> 2] | 0) + (c[q >> 2] | 0);
- c[q >> 2] = (c[q >> 2] | 0) + 1;
- }
- c[n >> 2] = s + 3;
- }
- l = e;
- return;
- }
- function Oj(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0;
- e = l;
- l = (l + 64) | 0;
- f = (e + 60) | 0;
- g = (e + 56) | 0;
- h = (e + 52) | 0;
- i = (e + 48) | 0;
- j = (e + 44) | 0;
- k = (e + 40) | 0;
- m = (e + 36) | 0;
- n = (e + 32) | 0;
- o = (e + 28) | 0;
- p = (e + 24) | 0;
- q = (e + 20) | 0;
- r = (e + 12) | 0;
- s = (e + 8) | 0;
- t = (e + 4) | 0;
- u = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[((c[f >> 2] | 0) + 36) >> 2];
- c[j >> 2] = c[((c[g >> 2] | 0) + 8) >> 2];
- c[k >> 2] = c[((c[g >> 2] | 0) + 16) >> 2];
- c[m >> 2] = c[((c[f >> 2] | 0) + 44) >> 2];
- c[n >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
- c[o >> 2] = c[((c[f >> 2] | 0) + 4) >> 2];
- c[p >> 2] =
- (c[o >> 2] | 0) + (c[((c[f >> 2] | 0) + 24) >> 2] | 0);
- c[q >> 2] = (c[h >> 2] | 0) + -8;
- c[(e + 16) >> 2] = 3;
- while (1) {
- if (
- (((c[p >> 2] | 0) + 3 + -1) | 0) >>> 0 >
- (c[q >> 2] | 0) >>> 0
- )
- break;
- c[r >> 2] = (c[p >> 2] | 0) - (c[o >> 2] | 0);
- c[s >> 2] = 0;
- while (1) {
- v = c[p >> 2] | 0;
- if ((c[s >> 2] | 0) >>> 0 >= 3) break;
- c[t >> 2] =
- Dk(
- (v + (c[s >> 2] | 0)) | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0
- ) | 0;
- c[u >> 2] =
- Dk(
- ((c[p >> 2] | 0) + (c[s >> 2] | 0)) | 0,
- c[j >> 2] | 0,
- 8
- ) | 0;
- if (!(c[s >> 2] | 0))
- c[((c[m >> 2] | 0) + (c[t >> 2] << 2)) >> 2] =
- (c[r >> 2] | 0) + (c[s >> 2] | 0);
- if (
- !((c[s >> 2] | 0) != 0
- ? (c[((c[i >> 2] | 0) + (c[u >> 2] << 2)) >> 2] |
- 0) !=
- 0
- : 0)
- )
- c[((c[i >> 2] | 0) + (c[u >> 2] << 2)) >> 2] =
- (c[r >> 2] | 0) + (c[s >> 2] | 0);
- c[s >> 2] = (c[s >> 2] | 0) + 1;
- }
- c[p >> 2] = v + 3;
- }
- l = e;
- return;
- }
- function Pj(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d =
- mk(
- c[f >> 2] | 0,
- c[g >> 2] | 0,
- c[h >> 2] | 0,
- c[((c[g >> 2] | 0) + 16) >> 2] | 0
- ) | 0;
- l = e;
- return d | 0;
- }
- function Qj(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 48) | 0;
- h = (f + 44) | 0;
- i = (f + 40) | 0;
- j = (f + 36) | 0;
- k = (f + 32) | 0;
- m = (f + 28) | 0;
- n = (f + 24) | 0;
- o = (f + 20) | 0;
- p = (f + 16) | 0;
- q = (f + 12) | 0;
- r = (f + 8) | 0;
- s = (f + 4) | 0;
- t = f;
- c[q >> 2] = a;
- c[r >> 2] = b;
- c[s >> 2] = d;
- c[t >> 2] = e;
- e = c[r >> 2] | 0;
- d = c[s >> 2] | 0;
- s = c[t >> 2] | 0;
- t = c[((c[r >> 2] | 0) + 16) >> 2] | 0;
- c[g >> 2] = c[q >> 2];
- c[h >> 2] = e;
- c[i >> 2] = d;
- c[j >> 2] = s;
- c[k >> 2] = t;
- c[m >> 2] = 0;
- c[n >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
- c[o >> 2] = (c[i >> 2] | 0) - (c[n >> 2] | 0);
- c[p >> 2] = c[((c[g >> 2] | 0) + 24) >> 2];
- while (1) {
- if ((c[p >> 2] | 0) >>> 0 >= (c[o >> 2] | 0) >>> 0) break;
- i =
- Rj(
- c[g >> 2] | 0,
- c[h >> 2] | 0,
- ((c[n >> 2] | 0) + (c[p >> 2] | 0)) | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[p >> 2] = (c[p >> 2] | 0) + i;
- }
- c[((c[g >> 2] | 0) + 24) >> 2] = c[o >> 2];
- l = f;
- return;
- }
- function Rj(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0;
- i = l;
- l = (l + 144) | 0;
- j = (i + 128) | 0;
- k = (i + 124) | 0;
- m = (i + 120) | 0;
- n = (i + 116) | 0;
- o = (i + 112) | 0;
- p = (i + 108) | 0;
- q = (i + 104) | 0;
- r = (i + 100) | 0;
- s = (i + 96) | 0;
- t = (i + 92) | 0;
- u = (i + 88) | 0;
- v = (i + 84) | 0;
- w = (i + 80) | 0;
- x = (i + 76) | 0;
- y = (i + 72) | 0;
- z = (i + 68) | 0;
- A = (i + 64) | 0;
- B = (i + 60) | 0;
- C = (i + 56) | 0;
- D = (i + 52) | 0;
- E = (i + 48) | 0;
- F = (i + 44) | 0;
- G = (i + 40) | 0;
- H = (i + 36) | 0;
- I = (i + 32) | 0;
- J = (i + 28) | 0;
- K = (i + 24) | 0;
- L = (i + 20) | 0;
- M = (i + 16) | 0;
- N = (i + 12) | 0;
- O = (i + 8) | 0;
- P = (i + 4) | 0;
- Q = i;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = c[((c[k >> 2] | 0) + 36) >> 2];
- c[s >> 2] = c[((c[m >> 2] | 0) + 8) >> 2];
- c[t >> 2] =
- Sj(c[n >> 2] | 0, c[s >> 2] | 0, c[p >> 2] | 0) | 0;
- c[u >> 2] = c[((c[k >> 2] | 0) + 44) >> 2];
- c[v >> 2] = (c[((c[m >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[w >> 2] = (1 << c[v >> 2]) - 1;
- c[x >> 2] = c[((c[r >> 2] | 0) + (c[t >> 2] << 2)) >> 2];
- c[y >> 2] = 0;
- c[z >> 2] = 0;
- c[A >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
- c[B >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
- c[C >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
- c[D >> 2] = (c[B >> 2] | 0) + (c[C >> 2] | 0);
- c[E >> 2] = (c[A >> 2] | 0) + (c[C >> 2] | 0);
- c[G >> 2] = (c[n >> 2] | 0) - (c[A >> 2] | 0);
- if ((c[w >> 2] | 0) >>> 0 >= (c[G >> 2] | 0) >>> 0) R = 0;
- else R = ((c[G >> 2] | 0) - (c[w >> 2] | 0)) | 0;
- c[H >> 2] = R;
- c[I >> 2] =
- (c[u >> 2] | 0) + (((c[G >> 2] & c[w >> 2]) << 1) << 2);
- c[J >> 2] = (c[I >> 2] | 0) + 4;
- c[L >> 2] = c[((c[k >> 2] | 0) + 16) >> 2];
- c[M >> 2] = (c[G >> 2] | 0) + 8 + 1;
- c[N >> 2] = 8;
- c[O >> 2] = 1 << c[((c[m >> 2] | 0) + 12) >> 2];
- c[((c[r >> 2] | 0) + (c[t >> 2] << 2)) >> 2] = c[G >> 2];
- while (1) {
- t = c[O >> 2] | 0;
- c[O >> 2] = t + -1;
- if (!t) break;
- if ((c[x >> 2] | 0) >>> 0 <= (c[L >> 2] | 0) >>> 0) break;
- c[P >> 2] =
- (c[u >> 2] | 0) + (((c[x >> 2] & c[w >> 2]) << 1) << 2);
- c[Q >> 2] =
- (c[y >> 2] | 0) >>> 0 < (c[z >> 2] | 0) >>> 0
- ? c[y >> 2] | 0
- : c[z >> 2] | 0;
- if (
- c[q >> 2] | 0
- ? (((c[x >> 2] | 0) + (c[Q >> 2] | 0)) | 0) >>> 0 <
- (c[C >> 2] | 0) >>> 0
- : 0
- ) {
- c[F >> 2] = (c[B >> 2] | 0) + (c[x >> 2] | 0);
- t =
- Uj(
- ((c[n >> 2] | 0) + (c[Q >> 2] | 0)) | 0,
- ((c[F >> 2] | 0) + (c[Q >> 2] | 0)) | 0,
- c[o >> 2] | 0,
- c[D >> 2] | 0,
- c[E >> 2] | 0
- ) | 0;
- c[Q >> 2] = (c[Q >> 2] | 0) + t;
- if (
- (((c[x >> 2] | 0) + (c[Q >> 2] | 0)) | 0) >>> 0 >=
- (c[C >> 2] | 0) >>> 0
- )
- c[F >> 2] = (c[A >> 2] | 0) + (c[x >> 2] | 0);
- } else {
- c[F >> 2] = (c[A >> 2] | 0) + (c[x >> 2] | 0);
- t =
- Tj(
- ((c[n >> 2] | 0) + (c[Q >> 2] | 0)) | 0,
- ((c[F >> 2] | 0) + (c[Q >> 2] | 0)) | 0,
- c[o >> 2] | 0
- ) | 0;
- c[Q >> 2] = (c[Q >> 2] | 0) + t;
- }
- if (
- (c[Q >> 2] | 0) >>> 0 > (c[N >> 2] | 0) >>> 0
- ? ((c[N >> 2] = c[Q >> 2]),
- (c[Q >> 2] | 0) >>> 0 >
- (((c[M >> 2] | 0) - (c[x >> 2] | 0)) | 0) >>> 0)
- : 0
- )
- c[M >> 2] = (c[x >> 2] | 0) + (c[Q >> 2] | 0);
- if (
- (((c[n >> 2] | 0) + (c[Q >> 2] | 0)) | 0) ==
- (c[o >> 2] | 0)
- )
- break;
- t = c[x >> 2] | 0;
- if (
- (d[((c[F >> 2] | 0) + (c[Q >> 2] | 0)) >> 0] | 0 | 0) <
- (d[((c[n >> 2] | 0) + (c[Q >> 2] | 0)) >> 0] | 0 | 0)
- ) {
- c[c[I >> 2] >> 2] = t;
- c[y >> 2] = c[Q >> 2];
- if ((c[x >> 2] | 0) >>> 0 <= (c[H >> 2] | 0) >>> 0) {
- S = 17;
- break;
- }
- c[I >> 2] = (c[P >> 2] | 0) + 4;
- c[x >> 2] = c[((c[P >> 2] | 0) + 4) >> 2];
- } else {
- c[c[J >> 2] >> 2] = t;
- c[z >> 2] = c[Q >> 2];
- if ((c[x >> 2] | 0) >>> 0 <= (c[H >> 2] | 0) >>> 0) {
- S = 20;
- break;
- }
- c[J >> 2] = c[P >> 2];
- c[x >> 2] = c[c[P >> 2] >> 2];
- }
- }
- if ((S | 0) == 17) c[I >> 2] = K;
- else if ((S | 0) == 20) c[J >> 2] = K;
- c[c[J >> 2] >> 2] = 0;
- c[c[I >> 2] >> 2] = 0;
- if ((c[N >> 2] | 0) >>> 0 > 384) {
- c[j >> 2] =
- 192 < (((c[N >> 2] | 0) - 384) | 0) >>> 0
- ? 192
- : ((c[N >> 2] | 0) - 384) | 0;
- T = c[j >> 2] | 0;
- l = i;
- return T | 0;
- } else {
- c[j >> 2] = (c[M >> 2] | 0) - ((c[G >> 2] | 0) + 8);
- T = c[j >> 2] | 0;
- l = i;
- return T | 0;
- }
- return 0;
- }
- function Sj(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- switch (c[i >> 2] | 0) {
- case 8: {
- c[f >> 2] = dk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 5: {
- c[f >> 2] = ak(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 6: {
- c[f >> 2] = bk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 7: {
- c[f >> 2] = ck(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- default:
- c[f >> 2] = $j(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- }
- l = e;
- return c[f >> 2] | 0;
- }
- function Tj(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = c[h >> 2];
- c[m >> 2] = (c[j >> 2] | 0) + -3;
- a: do {
- if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
- e = Vj(c[i >> 2] | 0) | 0;
- c[n >> 2] = e ^ (Vj(c[h >> 2] | 0) | 0);
- if (c[n >> 2] | 0) {
- c[g >> 2] = Wj(c[n >> 2] | 0) | 0;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- while (1) {
- if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
- break a;
- e = Vj(c[i >> 2] | 0) | 0;
- c[o >> 2] = e ^ (Vj(c[h >> 2] | 0) | 0);
- if (c[o >> 2] | 0) break;
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- e = Wj(c[o >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + e;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- } while (0);
- if (
- (
- Xj() | 0
- ? (c[h >> 2] | 0) >>> 0 <
- (((c[j >> 2] | 0) + -3) | 0) >>> 0
- : 0
- )
- ? ((o = Yj(c[i >> 2] | 0) | 0),
- (o | 0) == (Yj(c[h >> 2] | 0) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
- ? ((o = (Zj(c[i >> 2] | 0) | 0) & 65535),
- (o | 0) == (((Zj(c[h >> 2] | 0) | 0) & 65535) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 2;
- c[i >> 2] = (c[i >> 2] | 0) + 2;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? (d[c[i >> 2] >> 0] | 0 | 0) ==
- (d[c[h >> 2] >> 0] | 0 | 0)
- : 0
- )
- c[h >> 2] = (c[h >> 2] | 0) + 1;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- function Uj(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if (
- (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[k >> 2] | 0) >>> 0
- )
- q =
- ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0;
- else q = c[k >> 2] | 0;
- c[o >> 2] = q;
- c[p >> 2] =
- Tj(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
- o = c[p >> 2] | 0;
- if (
- (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
- (c[m >> 2] | 0)
- ) {
- c[h >> 2] = o;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- c[h >> 2] =
- o +
- (Tj(
- ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0
- ) |
- 0);
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- return 0;
- }
- function Vj(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function Wj(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (_j() | 0) != 0;
- f = (Xj() | 0) != 0;
- g = c[e >> 2] | 0;
- do {
- if (a) {
- if (f) {
- e = ob(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (fE(g | 0) | 0) >> 3;
- break;
- }
- } else if (f) {
- e = lE(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (Q(g | 0) | 0) >> 3;
- break;
- }
- } while (0);
- l = b;
- return c[d >> 2] | 0;
- }
- function Xj() {
- return 0;
- }
- function Yj(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function Zj(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function _j() {
- return d[11936] | 0 | 0;
- }
- function $j(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Yj(c[e >> 2] | 0) | 0;
- e = lk(b, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function ak(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ek(c[e >> 2] | 0) | 0;
- e = kk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function bk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ek(c[e >> 2] | 0) | 0;
- e = jk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function ck(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ek(c[e >> 2] | 0) | 0;
- e = ik(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function dk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = ek(c[e >> 2] | 0) | 0;
- e = fk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function ek(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (_j() | 0) != 0;
- f = gk(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = hk(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function fk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f =
- cE(
- c[d >> 2] | 0,
- c[(d + 4) >> 2] | 0,
- -1213897629,
- -820265764
- ) | 0;
- d = iE(f | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return d | 0;
- }
- function gk(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- e = a;
- f = (a + 4) | 0;
- y =
- d[f >> 0] |
- (d[(f + 1) >> 0] << 8) |
- (d[(f + 2) >> 0] << 16) |
- (d[(f + 3) >> 0] << 24);
- l = b;
- return (
- d[e >> 0] |
- (d[(e + 1) >> 0] << 8) |
- (d[(e + 2) >> 0] << 16) |
- (d[(e + 3) >> 0] << 24) |
- 0
- );
- }
- function hk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function ik(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 8) | 0;
- d = cE(f | 0, y | 0, -591420061, 13573052) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function jk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 16) | 0;
- d = cE(f | 0, y | 0, -1126383717, 53019) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function kk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 24) | 0;
- d = cE(f | 0, y | 0, 465362107, 207) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function lk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = N(c[e >> 2] | 0, -1640531535) | 0;
- l = d;
- return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
- }
- function mk(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 44) | 0;
- h = (f + 40) | 0;
- i = (f + 36) | 0;
- j = (f + 32) | 0;
- k = (f + 28) | 0;
- m = (f + 24) | 0;
- n = (f + 20) | 0;
- o = (f + 16) | 0;
- p = (f + 12) | 0;
- q = (f + 8) | 0;
- r = (f + 4) | 0;
- s = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] = c[((c[g >> 2] | 0) + 36) >> 2];
- c[m >> 2] = c[((c[h >> 2] | 0) + 8) >> 2];
- c[n >> 2] = c[((c[g >> 2] | 0) + 44) >> 2];
- c[o >> 2] = (1 << c[((c[h >> 2] | 0) + 4) >> 2]) - 1;
- c[p >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
- c[q >> 2] = (c[i >> 2] | 0) - (c[p >> 2] | 0);
- c[r >> 2] = c[((c[g >> 2] | 0) + 24) >> 2];
- while (1) {
- if ((c[r >> 2] | 0) >>> 0 >= (c[q >> 2] | 0) >>> 0) break;
- c[s >> 2] =
- nk(
- ((c[p >> 2] | 0) + (c[r >> 2] | 0)) | 0,
- c[m >> 2] | 0,
- c[j >> 2] | 0
- ) | 0;
- c[((c[n >> 2] | 0) + ((c[r >> 2] & c[o >> 2]) << 2)) >> 2] =
- c[((c[k >> 2] | 0) + (c[s >> 2] << 2)) >> 2];
- c[((c[k >> 2] | 0) + (c[s >> 2] << 2)) >> 2] = c[r >> 2];
- c[r >> 2] = (c[r >> 2] | 0) + 1;
- }
- c[((c[g >> 2] | 0) + 24) >> 2] = c[q >> 2];
- q = c[k >> 2] | 0;
- k =
- c[
- (q +
- ((nk(c[i >> 2] | 0, c[m >> 2] | 0, c[j >> 2] | 0) |
- 0) <<
- 2)) >>
- 2
- ] | 0;
- l = f;
- return k | 0;
- }
- function nk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- switch (c[i >> 2] | 0) {
- case 8: {
- c[f >> 2] = sk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 5: {
- c[f >> 2] = pk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 6: {
- c[f >> 2] = qk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 7: {
- c[f >> 2] = rk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- default:
- c[f >> 2] = ok(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- }
- l = e;
- return c[f >> 2] | 0;
- }
- function ok(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Bk(c[e >> 2] | 0) | 0;
- e = Ck(b, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function pk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = tk(c[e >> 2] | 0) | 0;
- e = Ak(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function qk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = tk(c[e >> 2] | 0) | 0;
- e = zk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function rk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = tk(c[e >> 2] | 0) | 0;
- e = yk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function sk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = tk(c[e >> 2] | 0) | 0;
- e = uk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function tk(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (vk() | 0) != 0;
- f = wk(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = xk(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function uk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f =
- cE(
- c[d >> 2] | 0,
- c[(d + 4) >> 2] | 0,
- -1213897629,
- -820265764
- ) | 0;
- d = iE(f | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return d | 0;
- }
- function vk() {
- return d[11936] | 0 | 0;
- }
- function wk(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- e = a;
- f = (a + 4) | 0;
- y =
- d[f >> 0] |
- (d[(f + 1) >> 0] << 8) |
- (d[(f + 2) >> 0] << 16) |
- (d[(f + 3) >> 0] << 24);
- l = b;
- return (
- d[e >> 0] |
- (d[(e + 1) >> 0] << 8) |
- (d[(e + 2) >> 0] << 16) |
- (d[(e + 3) >> 0] << 24) |
- 0
- );
- }
- function xk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function yk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 8) | 0;
- d = cE(f | 0, y | 0, -591420061, 13573052) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function zk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 16) | 0;
- d = cE(f | 0, y | 0, -1126383717, 53019) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function Ak(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 24) | 0;
- d = cE(f | 0, y | 0, 465362107, 207) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function Bk(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function Ck(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = N(c[e >> 2] | 0, -1640531535) | 0;
- l = d;
- return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
- }
- function Dk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- switch (c[i >> 2] | 0) {
- case 8: {
- c[f >> 2] = Ik(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 5: {
- c[f >> 2] = Fk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 6: {
- c[f >> 2] = Gk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 7: {
- c[f >> 2] = Hk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- default:
- c[f >> 2] = Ek(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- }
- l = e;
- return c[f >> 2] | 0;
- }
- function Ek(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Rk(c[e >> 2] | 0) | 0;
- e = Sk(b, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Fk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Jk(c[e >> 2] | 0) | 0;
- e = Qk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Gk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Jk(c[e >> 2] | 0) | 0;
- e = Pk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Hk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Jk(c[e >> 2] | 0) | 0;
- e = Ok(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Ik(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Jk(c[e >> 2] | 0) | 0;
- e = Kk(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Jk(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = (Lk() | 0) != 0;
- f = Mk(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = Nk(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function Kk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f =
- cE(
- c[d >> 2] | 0,
- c[(d + 4) >> 2] | 0,
- -1213897629,
- -820265764
- ) | 0;
- d = iE(f | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return d | 0;
- }
- function Lk() {
- return d[11936] | 0 | 0;
- }
- function Mk(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- e = a;
- f = (a + 4) | 0;
- y =
- d[f >> 0] |
- (d[(f + 1) >> 0] << 8) |
- (d[(f + 2) >> 0] << 16) |
- (d[(f + 3) >> 0] << 24);
- l = b;
- return (
- d[e >> 0] |
- (d[(e + 1) >> 0] << 8) |
- (d[(e + 2) >> 0] << 16) |
- (d[(e + 3) >> 0] << 24) |
- 0
- );
- }
- function Nk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function Ok(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 8) | 0;
- d = cE(f | 0, y | 0, -591420061, 13573052) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function Pk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 16) | 0;
- d = cE(f | 0, y | 0, -1126383717, 53019) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function Qk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 24) | 0;
- d = cE(f | 0, y | 0, 465362107, 207) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function Rk(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function Sk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = N(c[e >> 2] | 0, -1640531535) | 0;
- l = d;
- return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
- }
- function Tk(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- switch (c[i >> 2] | 0) {
- case 8: {
- c[f >> 2] = Yk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 5: {
- c[f >> 2] = Vk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 6: {
- c[f >> 2] = Wk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- case 7: {
- c[f >> 2] = Xk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- break;
- }
- default:
- c[f >> 2] = Uk(c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- }
- l = e;
- return c[f >> 2] | 0;
- }
- function Uk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = fl(c[e >> 2] | 0) | 0;
- e = gl(b, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Vk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Zk(c[e >> 2] | 0) | 0;
- e = el(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Wk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Zk(c[e >> 2] | 0) | 0;
- e = dl(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Xk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Zk(c[e >> 2] | 0) | 0;
- e = cl(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Yk(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Zk(c[e >> 2] | 0) | 0;
- e = _k(b, y, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Zk(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- e = (b + 8) | 0;
- c[e >> 2] = a;
- a = ($k() | 0) != 0;
- f = al(c[e >> 2] | 0) | 0;
- e = y;
- if (a) {
- a = d;
- c[a >> 2] = f;
- c[(a + 4) >> 2] = e;
- } else {
- a = bl(f, e) | 0;
- e = d;
- c[e >> 2] = a;
- c[(e + 4) >> 2] = y;
- }
- e = d;
- y = c[(e + 4) >> 2] | 0;
- l = b;
- return c[e >> 2] | 0;
- }
- function _k(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f =
- cE(
- c[d >> 2] | 0,
- c[(d + 4) >> 2] | 0,
- -1213897629,
- -820265764
- ) | 0;
- d = iE(f | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return d | 0;
- }
- function $k() {
- return d[11936] | 0 | 0;
- }
- function al(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- e = a;
- f = (a + 4) | 0;
- y =
- d[f >> 0] |
- (d[(f + 1) >> 0] << 8) |
- (d[(f + 2) >> 0] << 16) |
- (d[(f + 3) >> 0] << 24);
- l = b;
- return (
- d[e >> 0] |
- (d[(e + 1) >> 0] << 8) |
- (d[(e + 2) >> 0] << 16) |
- (d[(e + 3) >> 0] << 24) |
- 0
- );
- }
- function bl(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function cl(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 8) | 0;
- d = cE(f | 0, y | 0, -591420061, 13573052) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function dl(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 16) | 0;
- d = cE(f | 0, y | 0, -1126383717, 53019) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function el(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f = jE(c[d >> 2] | 0, c[(d + 4) >> 2] | 0, 24) | 0;
- d = cE(f | 0, y | 0, 465362107, 207) | 0;
- f = iE(d | 0, y | 0, (64 - (c[g >> 2] | 0)) | 0) | 0;
- l = e;
- return f | 0;
- }
- function fl(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function gl(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = N(c[e >> 2] | 0, -1640531535) | 0;
- l = d;
- return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
- }
- function hl(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- il(c[d >> 2] | 0);
- c[((c[d >> 2] | 0) + 24) >> 2] =
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0) + 1;
- c[((c[d >> 2] | 0) + 20) >> 2] = 0;
- c[((c[d >> 2] | 0) + 48 + 28) >> 2] = 0;
- l = b;
- return;
- }
- function il(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 8) | 0;
- e = (b + 4) | 0;
- f = b;
- c[d >> 2] = a;
- c[e >> 2] =
- (c[c[d >> 2] >> 2] | 0) -
- (c[((c[d >> 2] | 0) + 4) >> 2] | 0);
- c[f >> 2] = c[e >> 2];
- c[((c[d >> 2] | 0) + 16) >> 2] = c[f >> 2];
- c[((c[d >> 2] | 0) + 12) >> 2] = c[f >> 2];
- l = b;
- return;
- }
- function jl(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- c[((c[d >> 2] | 0) + 628) >> 2] = 0;
- a = ((c[d >> 2] | 0) + 240) | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- l = b;
- return;
- }
- function kl(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 12) | 0;
- e = (b + 8) | 0;
- f = (b + 4) | 0;
- g = b;
- c[d >> 2] = 1 << c[(a + 4) >> 2];
- c[e >> 2] =
- (c[(a + 8) >> 2] | 0) >>> 0 < (c[(a + 4) >> 2] | 0) >>> 0
- ? c[(a + 8) >> 2] | 0
- : c[(a + 4) >> 2] | 0;
- c[f >> 2] = 1 << ((c[(a + 4) >> 2] | 0) - (c[e >> 2] | 0));
- c[g >> 2] = (c[f >> 2] | 0) + (c[d >> 2] << 3);
- l = b;
- return (c[a >> 2] | 0 ? c[g >> 2] | 0 : 0) | 0;
- }
- function ll(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- c[e >> 2] = b;
- if (!(c[a >> 2] | 0)) {
- f = 0;
- l = d;
- return f | 0;
- }
- f =
- (((c[e >> 2] | 0) >>> 0) / ((c[(a + 12) >> 2] | 0) >>> 0)) |
- 0;
- l = d;
- return f | 0;
- }
- function ml(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0;
- h = l;
- l = (l + 304) | 0;
- i = (h + 200) | 0;
- j = (h + 80) | 0;
- k = (h + 196) | 0;
- m = (h + 192) | 0;
- n = h;
- o = (h + 188) | 0;
- p = (h + 184) | 0;
- q = (h + 76) | 0;
- r = (h + 72) | 0;
- s = (h + 68) | 0;
- t = (h + 64) | 0;
- u = (h + 60) | 0;
- v = (h + 56) | 0;
- w = (h + 52) | 0;
- x = (h + 48) | 0;
- z = (h + 44) | 0;
- A = (h + 40) | 0;
- B = (h + 36) | 0;
- C = (h + 32) | 0;
- D = (h + 28) | 0;
- E = (h + 24) | 0;
- F = (h + 20) | 0;
- G = (h + 16) | 0;
- H = (h + 12) | 0;
- I = (h + 8) | 0;
- c[m >> 2] = a;
- a = n;
- c[a >> 2] = d;
- c[(a + 4) >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- if (!(c[o >> 2] | 0)) {
- g = c[((c[m >> 2] | 0) + 596) >> 2] | 0;
- f = c[((c[m >> 2] | 0) + 232) >> 2] | 0;
- e = c[p >> 2] | 0;
- a = n;
- d = c[a >> 2] | 0;
- J = c[(a + 4) >> 2] | 0;
- K = j;
- L = ((c[m >> 2] | 0) + 116) | 0;
- M = (K + 104) | 0;
- do {
- c[K >> 2] = c[L >> 2];
- K = (K + 4) | 0;
- L = (L + 4) | 0;
- } while ((K | 0) < (M | 0));
- K = i;
- L = b;
- M = (K + 104) | 0;
- do {
- c[K >> 2] = c[L >> 2];
- K = (K + 4) | 0;
- L = (L + 4) | 0;
- } while ((K | 0) < (M | 0));
- if (nl(j, i, g, f, e, d, J) | 0) {
- J = c[m >> 2] | 0;
- d = n;
- e = c[d >> 2] | 0;
- f = c[(d + 4) >> 2] | 0;
- K = i;
- L = b;
- M = (K + 104) | 0;
- do {
- c[K >> 2] = c[L >> 2];
- K = (K + 4) | 0;
- L = (L + 4) | 0;
- } while ((K | 0) < (M | 0));
- c[k >> 2] = ol(J, i, e, f) | 0;
- N = c[k >> 2] | 0;
- l = h;
- return N | 0;
- }
- }
- if (c[(b + 68) >> 2] | 0) {
- c[(b + 68 + 20) >> 2] = c[(b + 4) >> 2];
- pl((b + 68) | 0, (b + 4) | 0);
- f = ql(c[(b + 68 + 12) >> 2] | 0) | 0;
- e = ((c[m >> 2] | 0) + 408 + 32) | 0;
- c[e >> 2] = f;
- c[(e + 4) >> 2] = y;
- }
- e = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
- f = y;
- J = n;
- d = c[(J + 4) >> 2] | 0;
- if (
- (f >>> 0 < d >>> 0) |
- ((f | 0) == (d | 0) ? e >>> 0 < (c[J >> 2] | 0) >>> 0 : 0)
- ) {
- J = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
- O = J;
- P = y;
- } else {
- J = n;
- O = c[J >> 2] | 0;
- P = c[(J + 4) >> 2] | 0;
- }
- if (1 > O >>> 0) Q = 1;
- else {
- O = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
- J = y;
- P = n;
- e = c[(P + 4) >> 2] | 0;
- if (
- (J >>> 0 < e >>> 0) |
- ((J | 0) == (e | 0) ? O >>> 0 < (c[P >> 2] | 0) >>> 0 : 0)
- ) {
- P = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
- R = P;
- S = y;
- } else {
- P = n;
- R = c[P >> 2] | 0;
- S = c[(P + 4) >> 2] | 0;
- }
- Q = R;
- }
- c[q >> 2] = Q;
- c[r >> 2] =
- 131072 < (c[q >> 2] | 0) >>> 0 ? 131072 : c[q >> 2] | 0;
- c[s >> 2] = (c[(b + 4 + 16) >> 2] | 0) == 3 ? 3 : 4;
- c[t >> 2] =
- (((c[r >> 2] | 0) >>> 0) / ((c[s >> 2] | 0) >>> 0)) | 0;
- c[u >> 2] = (c[r >> 2] | 0) + (((c[t >> 2] | 0) * 11) | 0);
- if ((c[p >> 2] | 0) == 1)
- T = ((lj(c[r >> 2] | 0) | 0) + 1) | 0;
- else T = 0;
- c[v >> 2] = T;
- if ((c[p >> 2] | 0) == 1)
- U = ((c[q >> 2] | 0) + (c[r >> 2] | 0)) | 0;
- else U = 0;
- c[w >> 2] = U;
- c[x >> 2] = Aj((b + 4) | 0, 1) | 0;
- U = (b + 68) | 0;
- q = c[r >> 2] | 0;
- c[i >> 2] = c[U >> 2];
- c[(i + 4) >> 2] = c[(U + 4) >> 2];
- c[(i + 8) >> 2] = c[(U + 8) >> 2];
- c[(i + 12) >> 2] = c[(U + 12) >> 2];
- c[(i + 16) >> 2] = c[(U + 16) >> 2];
- c[(i + 20) >> 2] = c[(U + 20) >> 2];
- c[z >> 2] = ll(i, q) | 0;
- c[B >> 2] = 6144;
- c[C >> 2] = 9184;
- c[D >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- C = (b + 68) | 0;
- c[i >> 2] = c[C >> 2];
- c[(i + 4) >> 2] = c[(C + 4) >> 2];
- c[(i + 8) >> 2] = c[(C + 8) >> 2];
- c[(i + 12) >> 2] = c[(C + 12) >> 2];
- c[(i + 16) >> 2] = c[(C + 16) >> 2];
- c[(i + 20) >> 2] = c[(C + 20) >> 2];
- c[E >> 2] = kl(i) | 0;
- c[F >> 2] = (c[z >> 2] | 0) * 12;
- c[G >> 2] =
- 15328 +
- (c[E >> 2] | 0) +
- (c[F >> 2] | 0) +
- (c[x >> 2] | 0) +
- (c[u >> 2] | 0) +
- (c[D >> 2] | 0);
- do {
- if (
- (c[((c[m >> 2] | 0) + 228) >> 2] | 0) >>> 0 <
- (c[G >> 2] | 0) >>> 0
- ) {
- if (c[((c[m >> 2] | 0) + 364) >> 2] | 0) {
- c[k >> 2] = -64;
- N = c[k >> 2] | 0;
- l = h;
- return N | 0;
- }
- c[((c[m >> 2] | 0) + 228) >> 2] = 0;
- D = c[((c[m >> 2] | 0) + 224) >> 2] | 0;
- u = ((c[m >> 2] | 0) + 352) | 0;
- c[i >> 2] = c[u >> 2];
- c[(i + 4) >> 2] = c[(u + 4) >> 2];
- c[(i + 8) >> 2] = c[(u + 8) >> 2];
- Th(D, i);
- D = c[G >> 2] | 0;
- u = ((c[m >> 2] | 0) + 352) | 0;
- c[i >> 2] = c[u >> 2];
- c[(i + 4) >> 2] = c[(u + 4) >> 2];
- c[(i + 8) >> 2] = c[(u + 8) >> 2];
- u = Rh(D, i) | 0;
- c[((c[m >> 2] | 0) + 224) >> 2] = u;
- if (c[((c[m >> 2] | 0) + 224) >> 2] | 0) {
- c[((c[m >> 2] | 0) + 228) >> 2] = c[G >> 2];
- c[A >> 2] = c[((c[m >> 2] | 0) + 224) >> 2];
- c[((c[m >> 2] | 0) + 472) >> 2] =
- c[((c[m >> 2] | 0) + 224) >> 2];
- c[((c[m >> 2] | 0) + 472 + 4) >> 2] =
- (c[((c[m >> 2] | 0) + 472) >> 2] | 0) + 4592;
- c[A >> 2] =
- (c[((c[m >> 2] | 0) + 472 + 4) >> 2] | 0) + 4592;
- c[((c[m >> 2] | 0) + 588) >> 2] = c[A >> 2];
- break;
- }
- c[k >> 2] = -64;
- N = c[k >> 2] | 0;
- l = h;
- return N | 0;
- }
- } while (0);
- K = ((c[m >> 2] | 0) + 116) | 0;
- L = b;
- M = (K + 104) | 0;
- do {
- c[K >> 2] = c[L >> 2];
- K = (K + 4) | 0;
- L = (L + 4) | 0;
- } while ((K | 0) < (M | 0));
- L = n;
- K = dE(c[L >> 2] | 0, c[(L + 4) >> 2] | 0, 1, 0) | 0;
- L = ((c[m >> 2] | 0) + 240) | 0;
- c[L >> 2] = K;
- c[(L + 4) >> 2] = y;
- L = ((c[m >> 2] | 0) + 248) | 0;
- c[L >> 2] = 0;
- c[(L + 4) >> 2] = 0;
- L = ((c[m >> 2] | 0) + 256) | 0;
- c[L >> 2] = 0;
- c[(L + 4) >> 2] = 0;
- L = n;
- if ((c[L >> 2] | 0) == -1 ? (c[(L + 4) >> 2] | 0) == -1 : 0)
- c[((c[m >> 2] | 0) + 116 + 32) >> 2] = 0;
- c[((c[m >> 2] | 0) + 232) >> 2] = c[r >> 2];
- Lh(((c[m >> 2] | 0) + 264) | 0, 0, 0) | 0;
- c[c[m >> 2] >> 2] = 1;
- c[((c[m >> 2] | 0) + 220) >> 2] = 0;
- Cj(c[((c[m >> 2] | 0) + 472) >> 2] | 0);
- c[A >> 2] = (c[((c[m >> 2] | 0) + 588) >> 2] | 0) + 6144;
- if (c[(b + 68) >> 2] | 0) {
- c[H >> 2] = 1 << c[(b + 68 + 4) >> 2];
- oE(c[A >> 2] | 0, 0, (c[H >> 2] << 3) | 0) | 0;
- c[((c[m >> 2] | 0) + 408 + 20) >> 2] = c[A >> 2];
- c[A >> 2] =
- (c[((c[m >> 2] | 0) + 408 + 20) >> 2] | 0) +
- (c[H >> 2] << 3);
- c[((c[m >> 2] | 0) + 448) >> 2] = c[A >> 2];
- c[A >> 2] =
- (c[((c[m >> 2] | 0) + 448) >> 2] | 0) +
- (((c[z >> 2] | 0) * 12) | 0);
- c[((c[m >> 2] | 0) + 452) >> 2] = c[z >> 2];
- z = ((c[m >> 2] | 0) + 408) | 0;
- c[z >> 2] = 0;
- c[(z + 4) >> 2] = 0;
- c[(z + 8) >> 2] = 0;
- c[(z + 12) >> 2] = 0;
- c[(z + 16) >> 2] = 0;
- }
- c[A >> 2] =
- Dj(
- ((c[m >> 2] | 0) + 472 + 8) | 0,
- c[A >> 2] | 0,
- (b + 4) | 0,
- c[o >> 2] | 0,
- 1
- ) | 0;
- c[((c[m >> 2] | 0) + 368) >> 2] = c[A >> 2];
- c[A >> 2] =
- (c[((c[m >> 2] | 0) + 368) >> 2] | 0) + (c[t >> 2] << 3);
- c[((c[m >> 2] | 0) + 368 + 16) >> 2] = c[A >> 2];
- c[((c[m >> 2] | 0) + 368 + 20) >> 2] =
- (c[((c[m >> 2] | 0) + 368 + 16) >> 2] | 0) +
- (c[t >> 2] | 0);
- c[((c[m >> 2] | 0) + 368 + 24) >> 2] =
- (c[((c[m >> 2] | 0) + 368 + 20) >> 2] | 0) +
- (c[t >> 2] | 0);
- c[((c[m >> 2] | 0) + 368 + 8) >> 2] =
- (c[((c[m >> 2] | 0) + 368 + 24) >> 2] | 0) +
- (c[t >> 2] | 0);
- c[A >> 2] =
- (c[((c[m >> 2] | 0) + 368 + 8) >> 2] | 0) + (c[r >> 2] | 0);
- if (c[(b + 68) >> 2] | 0) {
- c[I >> 2] =
- 1 <<
- ((c[(b + 68 + 4) >> 2] | 0) - (c[(b + 68 + 8) >> 2] | 0));
- oE(c[A >> 2] | 0, 0, c[I >> 2] | 0) | 0;
- c[((c[m >> 2] | 0) + 408 + 24) >> 2] = c[A >> 2];
- c[A >> 2] =
- (c[((c[m >> 2] | 0) + 408 + 24) >> 2] | 0) +
- (c[I >> 2] | 0);
- il(((c[m >> 2] | 0) + 408) | 0);
- }
- rl(c[m >> 2] | 0, 0, 0) | 0;
- c[((c[m >> 2] | 0) + 596) >> 2] = c[w >> 2];
- c[((c[m >> 2] | 0) + 592) >> 2] = c[A >> 2];
- c[((c[m >> 2] | 0) + 616) >> 2] = c[v >> 2];
- c[((c[m >> 2] | 0) + 612) >> 2] =
- (c[((c[m >> 2] | 0) + 592) >> 2] | 0) + (c[w >> 2] | 0);
- c[k >> 2] = 0;
- N = c[k >> 2] | 0;
- l = h;
- return N | 0;
- }
- function nl(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- i = l;
- l = (l + 80) | 0;
- j = (i + 48) | 0;
- k = (i + 16) | 0;
- m = (i + 44) | 0;
- n = (i + 12) | 0;
- o = (i + 8) | 0;
- p = i;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- f = p;
- c[f >> 2] = g;
- c[(f + 4) >> 2] = h;
- h = (a + 4) | 0;
- f = (b + 4) | 0;
- c[k >> 2] = c[h >> 2];
- c[(k + 4) >> 2] = c[(h + 4) >> 2];
- c[(k + 8) >> 2] = c[(h + 8) >> 2];
- c[(k + 12) >> 2] = c[(h + 12) >> 2];
- c[(k + 16) >> 2] = c[(h + 16) >> 2];
- c[(k + 20) >> 2] = c[(h + 20) >> 2];
- c[(k + 24) >> 2] = c[(h + 24) >> 2];
- c[j >> 2] = c[f >> 2];
- c[(j + 4) >> 2] = c[(f + 4) >> 2];
- c[(j + 8) >> 2] = c[(f + 8) >> 2];
- c[(j + 12) >> 2] = c[(f + 12) >> 2];
- c[(j + 16) >> 2] = c[(f + 16) >> 2];
- c[(j + 20) >> 2] = c[(f + 20) >> 2];
- c[(j + 24) >> 2] = c[(f + 24) >> 2];
- if (!(tl(k, j) | 0)) {
- q = 0;
- r = q & 1;
- l = i;
- return r | 0;
- }
- f = (a + 68) | 0;
- a = (b + 68) | 0;
- c[k >> 2] = c[f >> 2];
- c[(k + 4) >> 2] = c[(f + 4) >> 2];
- c[(k + 8) >> 2] = c[(f + 8) >> 2];
- c[(k + 12) >> 2] = c[(f + 12) >> 2];
- c[(k + 16) >> 2] = c[(f + 16) >> 2];
- c[(k + 20) >> 2] = c[(f + 20) >> 2];
- c[j >> 2] = c[a >> 2];
- c[(j + 4) >> 2] = c[(a + 4) >> 2];
- c[(j + 8) >> 2] = c[(a + 8) >> 2];
- c[(j + 12) >> 2] = c[(a + 12) >> 2];
- c[(j + 16) >> 2] = c[(a + 16) >> 2];
- c[(j + 20) >> 2] = c[(a + 20) >> 2];
- if (!(ul(k, j) | 0)) {
- q = 0;
- r = q & 1;
- l = i;
- return r | 0;
- }
- k = c[m >> 2] | 0;
- m = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = (b + 4) | 0;
- b = p;
- p = c[b >> 2] | 0;
- a = c[(b + 4) >> 2] | 0;
- c[j >> 2] = c[o >> 2];
- c[(j + 4) >> 2] = c[(o + 4) >> 2];
- c[(j + 8) >> 2] = c[(o + 8) >> 2];
- c[(j + 12) >> 2] = c[(o + 12) >> 2];
- c[(j + 16) >> 2] = c[(o + 16) >> 2];
- c[(j + 20) >> 2] = c[(o + 20) >> 2];
- c[(j + 24) >> 2] = c[(o + 24) >> 2];
- q = (vl(k, m, n, j, p, a) | 0) != 0;
- r = q & 1;
- l = i;
- return r | 0;
- }
- function ol(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = f;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- c[g >> 2] = a;
- a = h;
- c[a >> 2] = d;
- c[(a + 4) >> 2] = e;
- e = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
- a = y;
- d = h;
- k = c[(d + 4) >> 2] | 0;
- if (
- (a >>> 0 < k >>> 0) |
- ((a | 0) == (k | 0) ? e >>> 0 < (c[d >> 2] | 0) >>> 0 : 0)
- ) {
- d = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
- m = y;
- n = d;
- } else {
- d = h;
- m = c[(d + 4) >> 2] | 0;
- n = c[d >> 2] | 0;
- }
- if (1 > n >>> 0) o = 1;
- else {
- n = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
- d = y;
- m = h;
- e = c[(m + 4) >> 2] | 0;
- if (
- (d >>> 0 < e >>> 0) |
- ((d | 0) == (e | 0) ? n >>> 0 < (c[m >> 2] | 0) >>> 0 : 0)
- ) {
- m = jE(1, 0, c[(b + 4) >> 2] | 0) | 0;
- p = m;
- q = y;
- } else {
- m = h;
- p = c[m >> 2] | 0;
- q = c[(m + 4) >> 2] | 0;
- }
- o = p;
- }
- c[i >> 2] = o;
- c[j >> 2] =
- 131072 < (c[i >> 2] | 0) >>> 0 ? 131072 : c[i >> 2] | 0;
- c[((c[g >> 2] | 0) + 232) >> 2] = c[j >> 2];
- j = ((c[g >> 2] | 0) + 116) | 0;
- i = b;
- o = (j + 104) | 0;
- do {
- c[j >> 2] = c[i >> 2];
- j = (j + 4) | 0;
- i = (i + 4) | 0;
- } while ((j | 0) < (o | 0));
- i = h;
- j = dE(c[i >> 2] | 0, c[(i + 4) >> 2] | 0, 1, 0) | 0;
- i = ((c[g >> 2] | 0) + 240) | 0;
- c[i >> 2] = j;
- c[(i + 4) >> 2] = y;
- i = ((c[g >> 2] | 0) + 248) | 0;
- c[i >> 2] = 0;
- c[(i + 4) >> 2] = 0;
- i = ((c[g >> 2] | 0) + 256) | 0;
- c[i >> 2] = 0;
- c[(i + 4) >> 2] = 0;
- i = h;
- if ((c[i >> 2] | 0) == -1 ? (c[(i + 4) >> 2] | 0) == -1 : 0)
- c[((c[g >> 2] | 0) + 116 + 32) >> 2] = 0;
- c[c[g >> 2] >> 2] = 1;
- c[((c[g >> 2] | 0) + 220) >> 2] = 0;
- if (!(c[(b + 68) >> 2] | 0)) {
- r = c[g >> 2] | 0;
- rl(r, 0, 0) | 0;
- s = c[g >> 2] | 0;
- t = (s + 472) | 0;
- u = (t + 8) | 0;
- hl(u);
- v = c[g >> 2] | 0;
- w = (v + 472) | 0;
- x = c[w >> 2] | 0;
- Cj(x);
- z = c[g >> 2] | 0;
- A = (z + 264) | 0;
- Lh(A, 0, 0) | 0;
- l = f;
- return 0;
- }
- il(((c[g >> 2] | 0) + 408) | 0);
- r = c[g >> 2] | 0;
- rl(r, 0, 0) | 0;
- s = c[g >> 2] | 0;
- t = (s + 472) | 0;
- u = (t + 8) | 0;
- hl(u);
- v = c[g >> 2] | 0;
- w = (v + 472) | 0;
- x = c[w >> 2] | 0;
- Cj(x);
- z = c[g >> 2] | 0;
- A = (z + 264) | 0;
- Lh(A, 0, 0) | 0;
- l = f;
- return 0;
- }
- function pl(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 12) | 0;
- f = (d + 8) | 0;
- g = (d + 4) | 0;
- h = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = c[c[f >> 2] >> 2];
- if (!(c[((c[e >> 2] | 0) + 8) >> 2] | 0))
- c[((c[e >> 2] | 0) + 8) >> 2] = 3;
- if (!(c[((c[e >> 2] | 0) + 12) >> 2] | 0))
- c[((c[e >> 2] | 0) + 12) >> 2] = 64;
- if ((c[((c[f >> 2] | 0) + 24) >> 2] | 0) >>> 0 >= 7) {
- if (
- (c[((c[f >> 2] | 0) + 20) >> 2] | 0) >>> 0 >
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0
- )
- i = c[((c[f >> 2] | 0) + 20) >> 2] | 0;
- else i = c[((c[e >> 2] | 0) + 12) >> 2] | 0;
- c[h >> 2] = i;
- c[((c[e >> 2] | 0) + 12) >> 2] = c[h >> 2];
- }
- if (!(c[((c[e >> 2] | 0) + 4) >> 2] | 0))
- c[((c[e >> 2] | 0) + 4) >> 2] =
- 6 > (((c[g >> 2] | 0) - 7) | 0) >>> 0
- ? 6
- : ((c[g >> 2] | 0) - 7) | 0;
- if (!(c[((c[e >> 2] | 0) + 16) >> 2] | 0)) {
- if (
- (c[g >> 2] | 0) >>> 0 <
- (c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0
- )
- j = 0;
- else
- j =
- ((c[g >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 4) >> 2] | 0)) |
- 0;
- c[((c[e >> 2] | 0) + 16) >> 2] = j;
- }
- j = c[e >> 2] | 0;
- if (
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) >>> 0 <
- (c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0
- ) {
- k = c[(j + 8) >> 2] | 0;
- m = c[e >> 2] | 0;
- n = (m + 8) | 0;
- c[n >> 2] = k;
- l = d;
- return;
- } else {
- k = c[(j + 4) >> 2] | 0;
- m = c[e >> 2] | 0;
- n = (m + 8) | 0;
- c[n >> 2] = k;
- l = d;
- return;
- }
- }
- function ql(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a =
- sl(-1213897629, -820265764, ((c[d >> 2] | 0) - 1) | 0, 0) |
- 0;
- l = b;
- return a | 0;
- }
- function rl(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- if ((c[c[g >> 2] >> 2] | 0) != 1) {
- c[f >> 2] = -60;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- }
- if (c[((c[g >> 2] | 0) + 116 + 68) >> 2] | 0) {
- c[f >> 2] = -40;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- } else {
- c[((c[g >> 2] | 0) + 456) >> 2] = c[h >> 2];
- c[((c[g >> 2] | 0) + 456 + 8) >> 2] = c[i >> 2];
- c[((c[g >> 2] | 0) + 456 + 12) >> 2] = c[i >> 2];
- c[((c[g >> 2] | 0) + 456 + 4) >> 2] = 0;
- c[f >> 2] = 0;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function sl(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 8) | 0;
- i = f;
- j = g;
- c[j >> 2] = a;
- c[(j + 4) >> 2] = b;
- b = h;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- e = i;
- c[e >> 2] = 1;
- c[(e + 4) >> 2] = 0;
- while (1) {
- e = h;
- if (
- !(((c[e >> 2] | 0) != 0) | ((c[(e + 4) >> 2] | 0) != 0))
- )
- break;
- if ((((c[h >> 2] & 1) | 0) != 0) | (0 != 0)) {
- e = g;
- b = i;
- d =
- cE(
- c[b >> 2] | 0,
- c[(b + 4) >> 2] | 0,
- c[e >> 2] | 0,
- c[(e + 4) >> 2] | 0
- ) | 0;
- e = i;
- c[e >> 2] = d;
- c[(e + 4) >> 2] = y;
- }
- e = h;
- d = iE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, 1) | 0;
- e = h;
- c[e >> 2] = d;
- c[(e + 4) >> 2] = y;
- e = g;
- d = g;
- b =
- cE(
- c[d >> 2] | 0,
- c[(d + 4) >> 2] | 0,
- c[e >> 2] | 0,
- c[(e + 4) >> 2] | 0
- ) | 0;
- e = g;
- c[e >> 2] = b;
- c[(e + 4) >> 2] = y;
- }
- g = i;
- y = c[(g + 4) >> 2] | 0;
- l = f;
- return c[g >> 2] | 0;
- }
- function tl(a, b) {
- a = a | 0;
- b = b | 0;
- return (
- (((c[(a + 8) >> 2] | 0) == (c[(b + 8) >> 2] | 0)
- ? (c[(a + 4) >> 2] | 0) == (c[(b + 4) >> 2] | 0)
- : 0) &
- ((c[(a + 24) >> 2] | 0) == (c[(b + 24) >> 2] | 0)) &
- ((((c[(a + 16) >> 2] | 0) == 3) | 0) ==
- (((c[(b + 16) >> 2] | 0) == 3) | 0))) |
- 0
- );
- }
- function ul(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0;
- if (!(c[a >> 2] | 0) ? !(c[b >> 2] | 0) : 0) d = 1;
- else if (
- (
- (
- (c[a >> 2] | 0) == (c[b >> 2] | 0)
- ? (c[(a + 4) >> 2] | 0) == (c[(b + 4) >> 2] | 0)
- : 0
- )
- ? (c[(a + 8) >> 2] | 0) == (c[(b + 8) >> 2] | 0)
- : 0
- )
- ? (c[(a + 12) >> 2] | 0) == (c[(b + 12) >> 2] | 0)
- : 0
- )
- d = (c[(a + 16) >> 2] | 0) == (c[(b + 16) >> 2] | 0);
- else d = 0;
- return (d & 1) | 0;
- }
- function vl(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 28) | 0;
- j = (h + 24) | 0;
- k = (h + 20) | 0;
- m = h;
- n = (h + 16) | 0;
- o = (h + 12) | 0;
- p = (h + 8) | 0;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- d = m;
- c[d >> 2] = f;
- c[(d + 4) >> 2] = g;
- g = jE(1, 0, c[e >> 2] | 0) | 0;
- d = y;
- f = m;
- b = c[(f + 4) >> 2] | 0;
- if (
- (d >>> 0 < b >>> 0) |
- ((d | 0) == (b | 0) ? g >>> 0 < (c[f >> 2] | 0) >>> 0 : 0)
- ) {
- f = jE(1, 0, c[e >> 2] | 0) | 0;
- q = f;
- r = y;
- } else {
- f = m;
- q = c[f >> 2] | 0;
- r = c[(f + 4) >> 2] | 0;
- }
- if (1 > q >>> 0) s = 1;
- else {
- q = jE(1, 0, c[e >> 2] | 0) | 0;
- f = y;
- r = m;
- g = c[(r + 4) >> 2] | 0;
- if (
- (f >>> 0 < g >>> 0) |
- ((f | 0) == (g | 0) ? q >>> 0 < (c[r >> 2] | 0) >>> 0 : 0)
- ) {
- r = jE(1, 0, c[e >> 2] | 0) | 0;
- t = r;
- u = y;
- } else {
- r = m;
- t = c[r >> 2] | 0;
- u = c[(r + 4) >> 2] | 0;
- }
- s = t;
- }
- c[n >> 2] = s;
- c[o >> 2] =
- 131072 < (c[n >> 2] | 0) >>> 0 ? 131072 : c[n >> 2] | 0;
- if ((c[k >> 2] | 0) != 1) {
- v = 0;
- c[p >> 2] = v;
- w = c[o >> 2] | 0;
- x = c[j >> 2] | 0;
- z = w >>> 0 <= x >>> 0;
- A = z & 1;
- B = c[p >> 2] | 0;
- C = c[i >> 2] | 0;
- D = B >>> 0 <= C >>> 0;
- E = D & 1;
- F = A & E;
- l = h;
- return F | 0;
- }
- v = ((c[n >> 2] | 0) + (c[o >> 2] | 0)) | 0;
- c[p >> 2] = v;
- w = c[o >> 2] | 0;
- x = c[j >> 2] | 0;
- z = w >>> 0 <= x >>> 0;
- A = z & 1;
- B = c[p >> 2] | 0;
- C = c[i >> 2] | 0;
- D = B >>> 0 <= C >>> 0;
- E = D & 1;
- F = A & E;
- l = h;
- return F | 0;
- }
- function wl(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- xl(c[f >> 2] | 0, c[g >> 2] & 65535);
- a[((c[f >> 2] | 0) + 2) >> 0] = (c[g >> 2] | 0) >>> 16;
- l = e;
- return;
- }
- function xl(d, f) {
- d = d | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- g = l;
- l = (l + 16) | 0;
- h = (g + 4) | 0;
- i = (g + 8) | 0;
- j = g;
- c[h >> 2] = d;
- b[i >> 1] = f;
- f = (Jj() | 0) != 0;
- d = c[h >> 2] | 0;
- if (f) {
- yl(d, b[i >> 1] | 0);
- l = g;
- return;
- } else {
- c[j >> 2] = d;
- a[c[j >> 2] >> 0] = b[i >> 1];
- a[((c[j >> 2] | 0) + 1) >> 0] = (e[i >> 1] | 0) >> 8;
- l = g;
- return;
- }
- }
- function yl(d, e) {
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (f + 4) | 0;
- c[g >> 2] = d;
- b[h >> 1] = e;
- e = b[h >> 1] | 0;
- h = c[g >> 2] | 0;
- a[h >> 0] = e;
- a[(h + 1) >> 0] = e >> 8;
- l = f;
- return;
- }
- function zl(b) {
- b = b | 0;
- var d = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- d = l;
- l = (l + 48) | 0;
- f = (d + 32) | 0;
- g = (d + 28) | 0;
- h = (d + 24) | 0;
- i = (d + 20) | 0;
- j = (d + 16) | 0;
- k = (d + 12) | 0;
- m = (d + 8) | 0;
- n = (d + 4) | 0;
- o = d;
- c[f >> 2] = b;
- c[g >> 2] = c[c[f >> 2] >> 2];
- c[h >> 2] = c[((c[f >> 2] | 0) + 16) >> 2];
- c[i >> 2] = c[((c[f >> 2] | 0) + 24) >> 2];
- c[j >> 2] = c[((c[f >> 2] | 0) + 20) >> 2];
- c[k >> 2] =
- ((((c[((c[f >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[f >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- c[m >> 2] = 0;
- while (1) {
- if ((c[m >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- c[n >> 2] =
- e[((c[g >> 2] | 0) + (c[m >> 2] << 3) + 4) >> 1];
- c[o >> 2] =
- e[((c[g >> 2] | 0) + (c[m >> 2] << 3) + 6) >> 1];
- b = (Al(c[n >> 2] | 0) | 0) & 255;
- a[((c[h >> 2] | 0) + (c[m >> 2] | 0)) >> 0] = b;
- b =
- (uj(c[((c[g >> 2] | 0) + (c[m >> 2] << 3)) >> 2] | 0) |
- 0) &
- 255;
- a[((c[i >> 2] | 0) + (c[m >> 2] | 0)) >> 0] = b;
- b = (Bl(c[o >> 2] | 0) | 0) & 255;
- a[((c[j >> 2] | 0) + (c[m >> 2] | 0)) >> 0] = b;
- c[m >> 2] = (c[m >> 2] | 0) + 1;
- }
- if ((c[((c[f >> 2] | 0) + 28) >> 2] | 0) == 1)
- a[
- ((c[h >> 2] | 0) +
- (c[((c[f >> 2] | 0) + 32) >> 2] | 0)) >>
- 0
- ] = 35;
- if ((c[((c[f >> 2] | 0) + 28) >> 2] | 0) != 2) {
- l = d;
- return;
- }
- a[
- ((c[j >> 2] | 0) + (c[((c[f >> 2] | 0) + 32) >> 2] | 0)) >>
- 0
- ] = 52;
- l = d;
- return;
- }
- function Al(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- if ((c[e >> 2] | 0) >>> 0 > 63) {
- f = ((uj(a) | 0) + 19) | 0;
- l = b;
- return f | 0;
- } else {
- f = d[(3008 + a) >> 0] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function Bl(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- if ((c[e >> 2] | 0) >>> 0 > 127) {
- f = ((uj(a) | 0) + 36) | 0;
- l = b;
- return f | 0;
- } else {
- f = d[(3072 + a) >> 0] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function Cl(a, b, d, e, f, g, h, i, j, k, m, n) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- var o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- o = l;
- l = (l + 64) | 0;
- p = (o + 48) | 0;
- q = (o + 44) | 0;
- r = (o + 40) | 0;
- s = (o + 36) | 0;
- t = (o + 32) | 0;
- u = (o + 28) | 0;
- v = (o + 24) | 0;
- w = (o + 20) | 0;
- x = (o + 16) | 0;
- y = (o + 12) | 0;
- z = (o + 8) | 0;
- A = (o + 4) | 0;
- B = o;
- c[q >> 2] = a;
- c[r >> 2] = b;
- c[s >> 2] = d;
- c[t >> 2] = e;
- c[u >> 2] = f;
- c[v >> 2] = g;
- c[w >> 2] = h;
- c[x >> 2] = i;
- c[y >> 2] = j;
- c[z >> 2] = k;
- c[A >> 2] = m;
- c[B >> 2] = n;
- if (c[B >> 2] | 0) {
- c[p >> 2] =
- Dl(
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[w >> 2] | 0,
- c[x >> 2] | 0,
- c[y >> 2] | 0,
- c[z >> 2] | 0,
- c[A >> 2] | 0
- ) | 0;
- C = c[p >> 2] | 0;
- l = o;
- return C | 0;
- } else {
- c[p >> 2] =
- El(
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0,
- c[t >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[w >> 2] | 0,
- c[x >> 2] | 0,
- c[y >> 2] | 0,
- c[z >> 2] | 0,
- c[A >> 2] | 0
- ) | 0;
- C = c[p >> 2] | 0;
- l = o;
- return C | 0;
- }
- return 0;
- }
- function Dl(b, f, g, h, i, j, k, m, n, o, p) {
- b = b | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- p = p | 0;
- var q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0;
- q = l;
- l = (l + 208) | 0;
- r = (q + 192) | 0;
- s = (q + 188) | 0;
- t = (q + 184) | 0;
- u = (q + 180) | 0;
- v = (q + 176) | 0;
- w = (q + 172) | 0;
- x = (q + 168) | 0;
- y = (q + 164) | 0;
- z = (q + 160) | 0;
- A = (q + 156) | 0;
- B = (q + 152) | 0;
- C = (q + 148) | 0;
- D = (q + 128) | 0;
- E = (q + 112) | 0;
- F = (q + 96) | 0;
- G = (q + 80) | 0;
- H = (q + 76) | 0;
- I = (q + 72) | 0;
- J = (q + 68) | 0;
- K = (q + 64) | 0;
- L = (q + 198) | 0;
- M = (q + 197) | 0;
- N = (q + 196) | 0;
- O = (q + 60) | 0;
- P = (q + 56) | 0;
- Q = (q + 52) | 0;
- R = (q + 48) | 0;
- S = (q + 44) | 0;
- T = (q + 40) | 0;
- U = (q + 36) | 0;
- V = (q + 32) | 0;
- W = (q + 28) | 0;
- X = (q + 24) | 0;
- Y = (q + 20) | 0;
- Z = (q + 16) | 0;
- _ = (q + 12) | 0;
- $ = (q + 8) | 0;
- aa = (q + 4) | 0;
- ba = q;
- c[T >> 2] = b;
- c[U >> 2] = f;
- c[V >> 2] = g;
- c[W >> 2] = h;
- c[X >> 2] = i;
- c[Y >> 2] = j;
- c[Z >> 2] = k;
- c[_ >> 2] = m;
- c[$ >> 2] = n;
- c[aa >> 2] = o;
- c[ba >> 2] = p;
- p = c[U >> 2] | 0;
- U = c[V >> 2] | 0;
- V = c[W >> 2] | 0;
- W = c[X >> 2] | 0;
- X = c[Y >> 2] | 0;
- Y = c[Z >> 2] | 0;
- Z = c[_ >> 2] | 0;
- _ = c[$ >> 2] | 0;
- $ = c[aa >> 2] | 0;
- aa = c[ba >> 2] | 0;
- c[s >> 2] = c[T >> 2];
- c[t >> 2] = p;
- c[u >> 2] = U;
- c[v >> 2] = V;
- c[w >> 2] = W;
- c[x >> 2] = X;
- c[y >> 2] = Y;
- c[z >> 2] = Z;
- c[A >> 2] = _;
- c[B >> 2] = $;
- c[C >> 2] = aa;
- c[H >> 2] = Fl(D, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- if (wj(c[H >> 2] | 0) | 0) {
- c[r >> 2] = -70;
- ca = c[r >> 2] | 0;
- l = q;
- return ca | 0;
- }
- Gl(
- E,
- c[u >> 2] | 0,
- d[((c[v >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
- );
- Gl(
- F,
- c[w >> 2] | 0,
- d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
- );
- Gl(
- G,
- c[y >> 2] | 0,
- d[((c[z >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
- );
- Hl(
- D,
- e[
- ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3) + 4) >> 1
- ] | 0,
- c[
- (5696 +
- ((d[((c[z >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] |
- 0) <<
- 2)) >>
- 2
- ] | 0
- );
- if (Il() | 0) Jl(D);
- Hl(
- D,
- e[
- ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3) + 6) >> 1
- ] | 0,
- c[
- (5840 +
- ((d[((c[v >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] |
- 0) <<
- 2)) >>
- 2
- ] | 0
- );
- if (Il() | 0) Jl(D);
- if (c[C >> 2] | 0) {
- c[I >> 2] =
- d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0];
- y = c[I >> 2] | 0;
- w = c[I >> 2] | 0;
- u = (Il() | 0) != 0;
- if (w >>> 0 < (((u ? 25 : 57) - 1) | 0) >>> 0)
- da = c[I >> 2] | 0;
- else {
- u = (Il() | 0) != 0;
- da = ((u ? 25 : 57) - 1) | 0;
- }
- c[J >> 2] = y - da;
- if (c[J >> 2] | 0) {
- Hl(
- D,
- c[
- ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2
- ] | 0,
- c[J >> 2] | 0
- );
- Jl(D);
- }
- Hl(
- D,
- (c[
- ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2
- ] |
- 0) >>>
- (c[J >> 2] | 0),
- ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0
- );
- } else
- Hl(
- D,
- c[((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2] |
- 0,
- d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
- );
- Jl(D);
- c[K >> 2] = (c[B >> 2] | 0) - 2;
- while (1) {
- if ((c[K >> 2] | 0) >>> 0 >= (c[B >> 2] | 0) >>> 0) break;
- a[L >> 0] = a[((c[z >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
- a[M >> 0] = a[((c[x >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
- a[N >> 0] = a[((c[v >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
- c[O >> 2] = c[(5696 + ((d[L >> 0] | 0) << 2)) >> 2];
- c[P >> 2] = d[M >> 0];
- c[Q >> 2] = c[(5840 + ((d[N >> 0] | 0) << 2)) >> 2];
- Kl(D, F, d[M >> 0] | 0);
- Kl(D, E, d[N >> 0] | 0);
- if (Il() | 0) Jl(D);
- Kl(D, G, d[L >> 0] | 0);
- if (
- !(!(Il() | 0)
- ? (((c[P >> 2] | 0) +
- (c[Q >> 2] | 0) +
- (c[O >> 2] | 0)) |
- 0) >>>
- 0 <
- 31
- : 0)
- )
- Jl(D);
- Hl(
- D,
- e[((c[A >> 2] | 0) + (c[K >> 2] << 3) + 4) >> 1] | 0,
- c[O >> 2] | 0
- );
- if (
- Il() | 0
- ? (((c[O >> 2] | 0) + (c[Q >> 2] | 0)) | 0) >>> 0 > 24
- : 0
- )
- Jl(D);
- Hl(
- D,
- e[((c[A >> 2] | 0) + (c[K >> 2] << 3) + 6) >> 1] | 0,
- c[Q >> 2] | 0
- );
- if (
- !(!(Il() | 0)
- ? (((c[P >> 2] | 0) +
- (c[Q >> 2] | 0) +
- (c[O >> 2] | 0)) |
- 0) >>>
- 0 <=
- 56
- : 0)
- )
- Jl(D);
- if (c[C >> 2] | 0) {
- J = c[P >> 2] | 0;
- I = c[P >> 2] | 0;
- da = (Il() | 0) != 0;
- if (I >>> 0 < (((da ? 25 : 57) - 1) | 0) >>> 0)
- ea = c[P >> 2] | 0;
- else {
- da = (Il() | 0) != 0;
- ea = ((da ? 25 : 57) - 1) | 0;
- }
- c[R >> 2] = J - ea;
- if (c[R >> 2] | 0) {
- Hl(
- D,
- c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0,
- c[R >> 2] | 0
- );
- Jl(D);
- }
- Hl(
- D,
- (c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0) >>>
- (c[R >> 2] | 0),
- ((c[P >> 2] | 0) - (c[R >> 2] | 0)) | 0
- );
- } else
- Hl(
- D,
- c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0,
- c[P >> 2] | 0
- );
- Jl(D);
- c[K >> 2] = (c[K >> 2] | 0) + -1;
- }
- Ll(D, E);
- Ll(D, F);
- Ll(D, G);
- c[S >> 2] = Ml(D) | 0;
- if (!(c[S >> 2] | 0)) {
- c[r >> 2] = -70;
- ca = c[r >> 2] | 0;
- l = q;
- return ca | 0;
- } else {
- c[r >> 2] = c[S >> 2];
- ca = c[r >> 2] | 0;
- l = q;
- return ca | 0;
- }
- return 0;
- }
- function El(b, f, g, h, i, j, k, m, n, o, p) {
- b = b | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- p = p | 0;
- var q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0;
- q = l;
- l = (l + 208) | 0;
- r = (q + 192) | 0;
- s = (q + 188) | 0;
- t = (q + 184) | 0;
- u = (q + 180) | 0;
- v = (q + 176) | 0;
- w = (q + 172) | 0;
- x = (q + 168) | 0;
- y = (q + 164) | 0;
- z = (q + 160) | 0;
- A = (q + 156) | 0;
- B = (q + 152) | 0;
- C = (q + 148) | 0;
- D = (q + 128) | 0;
- E = (q + 112) | 0;
- F = (q + 96) | 0;
- G = (q + 80) | 0;
- H = (q + 76) | 0;
- I = (q + 72) | 0;
- J = (q + 68) | 0;
- K = (q + 64) | 0;
- L = (q + 198) | 0;
- M = (q + 197) | 0;
- N = (q + 196) | 0;
- O = (q + 60) | 0;
- P = (q + 56) | 0;
- Q = (q + 52) | 0;
- R = (q + 48) | 0;
- S = (q + 44) | 0;
- T = (q + 40) | 0;
- U = (q + 36) | 0;
- V = (q + 32) | 0;
- W = (q + 28) | 0;
- X = (q + 24) | 0;
- Y = (q + 20) | 0;
- Z = (q + 16) | 0;
- _ = (q + 12) | 0;
- $ = (q + 8) | 0;
- aa = (q + 4) | 0;
- ba = q;
- c[T >> 2] = b;
- c[U >> 2] = f;
- c[V >> 2] = g;
- c[W >> 2] = h;
- c[X >> 2] = i;
- c[Y >> 2] = j;
- c[Z >> 2] = k;
- c[_ >> 2] = m;
- c[$ >> 2] = n;
- c[aa >> 2] = o;
- c[ba >> 2] = p;
- p = c[U >> 2] | 0;
- U = c[V >> 2] | 0;
- V = c[W >> 2] | 0;
- W = c[X >> 2] | 0;
- X = c[Y >> 2] | 0;
- Y = c[Z >> 2] | 0;
- Z = c[_ >> 2] | 0;
- _ = c[$ >> 2] | 0;
- $ = c[aa >> 2] | 0;
- aa = c[ba >> 2] | 0;
- c[s >> 2] = c[T >> 2];
- c[t >> 2] = p;
- c[u >> 2] = U;
- c[v >> 2] = V;
- c[w >> 2] = W;
- c[x >> 2] = X;
- c[y >> 2] = Y;
- c[z >> 2] = Z;
- c[A >> 2] = _;
- c[B >> 2] = $;
- c[C >> 2] = aa;
- c[H >> 2] = Fl(D, c[s >> 2] | 0, c[t >> 2] | 0) | 0;
- if (wj(c[H >> 2] | 0) | 0) {
- c[r >> 2] = -70;
- ca = c[r >> 2] | 0;
- l = q;
- return ca | 0;
- }
- Gl(
- E,
- c[u >> 2] | 0,
- d[((c[v >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
- );
- Gl(
- F,
- c[w >> 2] | 0,
- d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
- );
- Gl(
- G,
- c[y >> 2] | 0,
- d[((c[z >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
- );
- Hl(
- D,
- e[
- ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3) + 4) >> 1
- ] | 0,
- c[
- (5696 +
- ((d[((c[z >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] |
- 0) <<
- 2)) >>
- 2
- ] | 0
- );
- if (Il() | 0) Jl(D);
- Hl(
- D,
- e[
- ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3) + 6) >> 1
- ] | 0,
- c[
- (5840 +
- ((d[((c[v >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] |
- 0) <<
- 2)) >>
- 2
- ] | 0
- );
- if (Il() | 0) Jl(D);
- if (c[C >> 2] | 0) {
- c[I >> 2] =
- d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0];
- y = c[I >> 2] | 0;
- w = c[I >> 2] | 0;
- u = (Il() | 0) != 0;
- if (w >>> 0 < (((u ? 25 : 57) - 1) | 0) >>> 0)
- da = c[I >> 2] | 0;
- else {
- u = (Il() | 0) != 0;
- da = ((u ? 25 : 57) - 1) | 0;
- }
- c[J >> 2] = y - da;
- if (c[J >> 2] | 0) {
- Hl(
- D,
- c[
- ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2
- ] | 0,
- c[J >> 2] | 0
- );
- Jl(D);
- }
- Hl(
- D,
- (c[
- ((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2
- ] |
- 0) >>>
- (c[J >> 2] | 0),
- ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0
- );
- } else
- Hl(
- D,
- c[((c[A >> 2] | 0) + (((c[B >> 2] | 0) - 1) << 3)) >> 2] |
- 0,
- d[((c[x >> 2] | 0) + ((c[B >> 2] | 0) - 1)) >> 0] | 0
- );
- Jl(D);
- c[K >> 2] = (c[B >> 2] | 0) - 2;
- while (1) {
- if ((c[K >> 2] | 0) >>> 0 >= (c[B >> 2] | 0) >>> 0) break;
- a[L >> 0] = a[((c[z >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
- a[M >> 0] = a[((c[x >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
- a[N >> 0] = a[((c[v >> 2] | 0) + (c[K >> 2] | 0)) >> 0] | 0;
- c[O >> 2] = c[(5696 + ((d[L >> 0] | 0) << 2)) >> 2];
- c[P >> 2] = d[M >> 0];
- c[Q >> 2] = c[(5840 + ((d[N >> 0] | 0) << 2)) >> 2];
- Kl(D, F, d[M >> 0] | 0);
- Kl(D, E, d[N >> 0] | 0);
- if (Il() | 0) Jl(D);
- Kl(D, G, d[L >> 0] | 0);
- if (
- !(!(Il() | 0)
- ? (((c[P >> 2] | 0) +
- (c[Q >> 2] | 0) +
- (c[O >> 2] | 0)) |
- 0) >>>
- 0 <
- 31
- : 0)
- )
- Jl(D);
- Hl(
- D,
- e[((c[A >> 2] | 0) + (c[K >> 2] << 3) + 4) >> 1] | 0,
- c[O >> 2] | 0
- );
- if (
- Il() | 0
- ? (((c[O >> 2] | 0) + (c[Q >> 2] | 0)) | 0) >>> 0 > 24
- : 0
- )
- Jl(D);
- Hl(
- D,
- e[((c[A >> 2] | 0) + (c[K >> 2] << 3) + 6) >> 1] | 0,
- c[Q >> 2] | 0
- );
- if (
- !(!(Il() | 0)
- ? (((c[P >> 2] | 0) +
- (c[Q >> 2] | 0) +
- (c[O >> 2] | 0)) |
- 0) >>>
- 0 <=
- 56
- : 0)
- )
- Jl(D);
- if (c[C >> 2] | 0) {
- J = c[P >> 2] | 0;
- I = c[P >> 2] | 0;
- da = (Il() | 0) != 0;
- if (I >>> 0 < (((da ? 25 : 57) - 1) | 0) >>> 0)
- ea = c[P >> 2] | 0;
- else {
- da = (Il() | 0) != 0;
- ea = ((da ? 25 : 57) - 1) | 0;
- }
- c[R >> 2] = J - ea;
- if (c[R >> 2] | 0) {
- Hl(
- D,
- c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0,
- c[R >> 2] | 0
- );
- Jl(D);
- }
- Hl(
- D,
- (c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0) >>>
- (c[R >> 2] | 0),
- ((c[P >> 2] | 0) - (c[R >> 2] | 0)) | 0
- );
- } else
- Hl(
- D,
- c[((c[A >> 2] | 0) + (c[K >> 2] << 3)) >> 2] | 0,
- c[P >> 2] | 0
- );
- Jl(D);
- c[K >> 2] = (c[K >> 2] | 0) + -1;
- }
- Ll(D, E);
- Ll(D, F);
- Ll(D, G);
- c[S >> 2] = Ml(D) | 0;
- if (!(c[S >> 2] | 0)) {
- c[r >> 2] = -70;
- ca = c[r >> 2] | 0;
- l = q;
- return ca | 0;
- } else {
- c[r >> 2] = c[S >> 2];
- ca = c[r >> 2] | 0;
- l = q;
- return ca | 0;
- }
- return 0;
- }
- function Fl(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[c[g >> 2] >> 2] = 0;
- c[((c[g >> 2] | 0) + 4) >> 2] = 0;
- c[((c[g >> 2] | 0) + 8) >> 2] = c[h >> 2];
- c[((c[g >> 2] | 0) + 12) >> 2] =
- c[((c[g >> 2] | 0) + 8) >> 2];
- c[((c[g >> 2] | 0) + 16) >> 2] =
- (c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] | 0) + -4;
- if ((c[i >> 2] | 0) >>> 0 <= 4) {
- c[f >> 2] = -70;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- } else {
- c[f >> 2] = 0;
- j = c[f >> 2] | 0;
- l = e;
- return j | 0;
- }
- return 0;
- }
- function Gl(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- Ul(c[g >> 2] | 0, c[h >> 2] | 0);
- h =
- ((c[((c[g >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] << 3)) |
- 0;
- c[j >> 2] = c[h >> 2];
- c[(j + 4) >> 2] = c[(h + 4) >> 2];
- c[k >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
- c[m >> 2] = (((c[(j + 4) >> 2] | 0) + 32768) | 0) >>> 16;
- c[c[g >> 2] >> 2] = (c[m >> 2] << 16) - (c[(j + 4) >> 2] | 0);
- c[c[g >> 2] >> 2] =
- e[
- ((c[k >> 2] | 0) +
- (((c[c[g >> 2] >> 2] >> c[m >> 2]) + (c[j >> 2] | 0)) <<
- 1)) >>
- 1
- ];
- l = f;
- return;
- }
- function Hl(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = c[f >> 2] | 0;
- c[d >> 2] =
- c[d >> 2] |
- ((c[g >> 2] & c[(2800 + (c[h >> 2] << 2)) >> 2]) <<
- c[((c[f >> 2] | 0) + 4) >> 2]);
- g = ((c[f >> 2] | 0) + 4) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function Il() {
- return 1;
- }
- function Jl(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[d >> 2] = a;
- c[e >> 2] = (c[((c[d >> 2] | 0) + 4) >> 2] | 0) >>> 3;
- Ol(c[((c[d >> 2] | 0) + 12) >> 2] | 0, c[c[d >> 2] >> 2] | 0);
- a = ((c[d >> 2] | 0) + 12) | 0;
- c[a >> 2] = (c[a >> 2] | 0) + (c[e >> 2] | 0);
- if (
- (c[((c[d >> 2] | 0) + 12) >> 2] | 0) >>> 0 >
- (c[((c[d >> 2] | 0) + 16) >> 2] | 0) >>> 0
- )
- c[((c[d >> 2] | 0) + 12) >> 2] =
- c[((c[d >> 2] | 0) + 16) >> 2];
- a = ((c[d >> 2] | 0) + 4) | 0;
- c[a >> 2] = c[a >> 2] & 7;
- a = c[d >> 2] | 0;
- c[a >> 2] = (c[a >> 2] | 0) >>> (c[e >> 2] << 3);
- l = b;
- return;
- }
- function Kl(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- d =
- ((c[((c[h >> 2] | 0) + 8) >> 2] | 0) + (c[i >> 2] << 3)) |
- 0;
- c[j >> 2] = c[d >> 2];
- c[(j + 4) >> 2] = c[(d + 4) >> 2];
- c[k >> 2] = c[((c[h >> 2] | 0) + 4) >> 2];
- c[m >> 2] =
- (((c[c[h >> 2] >> 2] | 0) + (c[(j + 4) >> 2] | 0)) | 0) >>>
- 16;
- Hl(c[g >> 2] | 0, c[c[h >> 2] >> 2] | 0, c[m >> 2] | 0);
- c[c[h >> 2] >> 2] =
- e[
- ((c[k >> 2] | 0) +
- (((c[c[h >> 2] >> 2] >> c[m >> 2]) + (c[j >> 2] | 0)) <<
- 1)) >>
- 1
- ];
- l = f;
- return;
- }
- function Ll(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- Hl(
- c[e >> 2] | 0,
- c[c[f >> 2] >> 2] | 0,
- c[((c[f >> 2] | 0) + 12) >> 2] | 0
- );
- Jl(c[e >> 2] | 0);
- l = d;
- return;
- }
- function Ml(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- Nl(c[e >> 2] | 0, 1, 1);
- Jl(c[e >> 2] | 0);
- if (
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) >>> 0 >=
- (c[((c[e >> 2] | 0) + 16) >> 2] | 0) >>> 0
- ) {
- c[d >> 2] = 0;
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- } else {
- c[d >> 2] =
- (c[((c[e >> 2] | 0) + 12) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 8) >> 2] | 0) +
- (((c[((c[e >> 2] | 0) + 4) >> 2] | 0) >>> 0 > 0) & 1);
- f = c[d >> 2] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function Nl(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = c[f >> 2] | 0;
- c[d >> 2] =
- c[d >> 2] | (c[g >> 2] << c[((c[f >> 2] | 0) + 4) >> 2]);
- g = ((c[f >> 2] | 0) + 4) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function Ol(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = (Il() | 0) != 0;
- a = c[e >> 2] | 0;
- e = c[f >> 2] | 0;
- if (b) {
- Pl(a, e);
- l = d;
- return;
- } else {
- Ql(a, e, 0);
- l = d;
- return;
- }
- }
- function Pl(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = (Jj() | 0) != 0;
- a = c[e >> 2] | 0;
- e = c[f >> 2] | 0;
- if (b) {
- Tl(a, e);
- l = d;
- return;
- } else {
- Tl(a, Lj(e) | 0);
- l = d;
- return;
- }
- }
- function Ql(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = e;
- c[f >> 2] = a;
- a = g;
- c[a >> 2] = b;
- c[(a + 4) >> 2] = d;
- d = (Jj() | 0) != 0;
- a = c[f >> 2] | 0;
- f = g;
- g = c[f >> 2] | 0;
- b = c[(f + 4) >> 2] | 0;
- if (d) {
- Rl(a, g, b);
- l = e;
- return;
- } else {
- d = Sl(g, b) | 0;
- Rl(a, d, y);
- l = e;
- return;
- }
- }
- function Rl(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 16) | 0;
- g = (f + 8) | 0;
- h = f;
- c[g >> 2] = b;
- b = h;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- e = h;
- h = c[e >> 2] | 0;
- b = c[(e + 4) >> 2] | 0;
- e = c[g >> 2] | 0;
- g = e;
- a[g >> 0] = h;
- a[(g + 1) >> 0] = h >> 8;
- a[(g + 2) >> 0] = h >> 16;
- a[(g + 3) >> 0] = h >> 24;
- h = (e + 4) | 0;
- a[h >> 0] = b;
- a[(h + 1) >> 0] = b >> 8;
- a[(h + 2) >> 0] = b >> 16;
- a[(h + 3) >> 0] = b >> 24;
- l = f;
- return;
- }
- function Sl(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = e;
- c[f >> 2] = a;
- c[(f + 4) >> 2] = b;
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- b = y & -16777216;
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 40) | 0;
- f = b | (y & 16711680);
- b = e;
- jE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = f | (y & 65280);
- f = e;
- jE(c[f >> 2] | 0, c[(f + 4) >> 2] | 0, 8) | 0;
- f = b | (y & 255);
- b = e;
- a = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 8) | 0;
- b = e;
- g = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 24) | 0;
- b = e;
- h = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 40) | 0;
- b = e;
- e = iE(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, 56) | 0;
- y = f;
- l = d;
- return (
- (a & -16777216) |
- (g & 16711680) |
- (h & 65280) |
- (e & 255) |
- 0
- );
- }
- function Tl(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[g >> 2] | 0;
- g = c[f >> 2] | 0;
- a[g >> 0] = d;
- a[(g + 1) >> 0] = d >> 8;
- a[(g + 2) >> 0] = d >> 16;
- a[(g + 3) >> 0] = d >> 24;
- l = e;
- return;
- }
- function Ul(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 16) | 0;
- f = (d + 12) | 0;
- g = (d + 8) | 0;
- h = (d + 4) | 0;
- i = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = c[f >> 2];
- c[h >> 2] = c[g >> 2];
- c[i >> 2] = (Vl(c[g >> 2] | 0) | 0) & 65535;
- c[c[e >> 2] >> 2] = 1 << c[i >> 2];
- c[((c[e >> 2] | 0) + 4) >> 2] = (c[h >> 2] | 0) + 4;
- if (c[i >> 2] | 0) j = 1 << ((c[i >> 2] | 0) - 1);
- else j = 1;
- c[((c[e >> 2] | 0) + 8) >> 2] =
- (c[f >> 2] | 0) + 4 + (j << 2);
- c[((c[e >> 2] | 0) + 12) >> 2] = c[i >> 2];
- l = d;
- return;
- }
- function Vl(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function Wl(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- l = d;
- return (
- c[
- (2928 +
- (((((c[f >> 2] | 0) != 0) & 1) * 36) | 0) +
- (c[e >> 2] << 2)) >>
- 2
- ] | 0
- );
- }
- function Xl(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0;
- i = l;
- l = (l + 512) | 0;
- j = (i + 500) | 0;
- k = (i + 496) | 0;
- m = (i + 492) | 0;
- n = (i + 488) | 0;
- o = (i + 484) | 0;
- p = (i + 480) | 0;
- q = (i + 476) | 0;
- r = (i + 472) | 0;
- s = (i + 468) | 0;
- t = (i + 464) | 0;
- u = (i + 460) | 0;
- v = (i + 456) | 0;
- w = (i + 452) | 0;
- x = (i + 448) | 0;
- y = (i + 444) | 0;
- z = (i + 440) | 0;
- A = (i + 436) | 0;
- B = (i + 432) | 0;
- C = (i + 428) | 0;
- D = (i + 424) | 0;
- E = (i + 420) | 0;
- F = (i + 416) | 0;
- G = (i + 412) | 0;
- H = (i + 408) | 0;
- I = (i + 404) | 0;
- J = (i + 400) | 0;
- K = (i + 396) | 0;
- L = (i + 392) | 0;
- M = (i + 388) | 0;
- N = (i + 384) | 0;
- O = (i + 380) | 0;
- P = (i + 376) | 0;
- Q = (i + 372) | 0;
- R = (i + 368) | 0;
- S = (i + 364) | 0;
- T = (i + 360) | 0;
- U = (i + 356) | 0;
- V = (i + 352) | 0;
- W = (i + 348) | 0;
- X = (i + 344) | 0;
- Y = (i + 340) | 0;
- Z = (i + 336) | 0;
- _ = (i + 332) | 0;
- $ = (i + 328) | 0;
- aa = (i + 324) | 0;
- ba = (i + 320) | 0;
- ca = (i + 316) | 0;
- da = (i + 312) | 0;
- ea = (i + 308) | 0;
- fa = (i + 304) | 0;
- ga = (i + 300) | 0;
- ha = (i + 296) | 0;
- ia = (i + 292) | 0;
- ja = (i + 288) | 0;
- ka = (i + 284) | 0;
- la = (i + 280) | 0;
- ma = (i + 276) | 0;
- na = (i + 272) | 0;
- oa = (i + 268) | 0;
- pa = (i + 264) | 0;
- qa = (i + 260) | 0;
- ra = (i + 256) | 0;
- sa = (i + 252) | 0;
- ta = (i + 248) | 0;
- ua = (i + 244) | 0;
- va = (i + 240) | 0;
- wa = (i + 236) | 0;
- xa = (i + 232) | 0;
- ya = (i + 228) | 0;
- za = (i + 224) | 0;
- Aa = (i + 220) | 0;
- Ba = (i + 216) | 0;
- Ca = (i + 212) | 0;
- Da = (i + 208) | 0;
- Ea = (i + 204) | 0;
- Fa = (i + 200) | 0;
- Ga = (i + 196) | 0;
- Ha = (i + 192) | 0;
- Ia = (i + 188) | 0;
- Ja = (i + 184) | 0;
- Ka = (i + 180) | 0;
- La = (i + 176) | 0;
- Ma = (i + 172) | 0;
- Na = (i + 168) | 0;
- Oa = (i + 164) | 0;
- Pa = (i + 160) | 0;
- Qa = (i + 156) | 0;
- Ra = (i + 152) | 0;
- Sa = (i + 148) | 0;
- Ta = (i + 144) | 0;
- Ua = (i + 140) | 0;
- Va = (i + 136) | 0;
- Wa = (i + 132) | 0;
- Xa = (i + 128) | 0;
- Ya = (i + 124) | 0;
- Za = (i + 120) | 0;
- _a = (i + 116) | 0;
- $a = (i + 112) | 0;
- ab = (i + 108) | 0;
- bb = (i + 104) | 0;
- cb = (i + 100) | 0;
- db = (i + 96) | 0;
- eb = (i + 92) | 0;
- fb = (i + 88) | 0;
- gb = (i + 84) | 0;
- hb = (i + 80) | 0;
- ib = (i + 76) | 0;
- jb = (i + 72) | 0;
- kb = (i + 68) | 0;
- lb = (i + 64) | 0;
- mb = (i + 60) | 0;
- nb = (i + 56) | 0;
- ob = (i + 52) | 0;
- pb = (i + 48) | 0;
- qb = (i + 44) | 0;
- rb = (i + 40) | 0;
- sb = (i + 36) | 0;
- tb = (i + 32) | 0;
- ub = (i + 28) | 0;
- vb = (i + 24) | 0;
- wb = (i + 20) | 0;
- xb = (i + 16) | 0;
- yb = (i + 12) | 0;
- zb = (i + 8) | 0;
- Ab = (i + 4) | 0;
- Bb = i;
- c[tb >> 2] = a;
- c[ub >> 2] = b;
- c[vb >> 2] = e;
- c[wb >> 2] = f;
- c[xb >> 2] = g;
- c[yb >> 2] = h;
- c[zb >> 2] = c[((c[wb >> 2] | 0) + 8) >> 2];
- c[Ab >> 2] = c[((c[wb >> 2] | 0) + 16) >> 2];
- c[Bb >> 2] = c[((c[wb >> 2] | 0) + 20) >> 2];
- switch (c[Ab >> 2] | 0) {
- case 7: {
- Ab = c[ub >> 2] | 0;
- wb = c[vb >> 2] | 0;
- h = c[xb >> 2] | 0;
- g = c[yb >> 2] | 0;
- f = c[zb >> 2] | 0;
- e = c[Bb >> 2] | 0;
- c[j >> 2] = c[tb >> 2];
- c[k >> 2] = Ab;
- c[m >> 2] = wb;
- c[n >> 2] = h;
- c[o >> 2] = g;
- c[p >> 2] = f;
- c[q >> 2] = e;
- c[r >> 2] = 7;
- c[s >> 2] = c[((c[j >> 2] | 0) + 36) >> 2];
- c[t >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
- c[u >> 2] = c[n >> 2];
- c[v >> 2] = c[u >> 2];
- c[w >> 2] = c[u >> 2];
- c[x >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
- c[y >> 2] = (c[t >> 2] | 0) + (c[x >> 2] | 0);
- c[z >> 2] = (c[u >> 2] | 0) + (c[o >> 2] | 0);
- c[A >> 2] = (c[z >> 2] | 0) + -8;
- c[B >> 2] = c[c[m >> 2] >> 2];
- c[C >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[D >> 2] = 0;
- c[v >> 2] =
- (c[v >> 2] | 0) +
- (((c[v >> 2] | 0) == (c[y >> 2] | 0)) & 1);
- c[E >> 2] = (c[v >> 2] | 0) - (c[y >> 2] | 0);
- if ((c[C >> 2] | 0) >>> 0 > (c[E >> 2] | 0) >>> 0) {
- c[D >> 2] = c[C >> 2];
- c[C >> 2] = 0;
- }
- if ((c[B >> 2] | 0) >>> 0 > (c[E >> 2] | 0) >>> 0) {
- c[D >> 2] = c[B >> 2];
- c[B >> 2] = 0;
- }
- a: while (1) {
- if ((c[v >> 2] | 0) >>> 0 >= (c[A >> 2] | 0) >>> 0)
- break;
- c[G >> 2] =
- Tk(c[v >> 2] | 0, c[p >> 2] | 0, c[r >> 2] | 0) | 0;
- c[H >> 2] = (c[v >> 2] | 0) - (c[t >> 2] | 0);
- c[I >> 2] =
- c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2];
- c[J >> 2] = (c[t >> 2] | 0) + (c[I >> 2] | 0);
- c[((c[s >> 2] | 0) + (c[G >> 2] << 2)) >> 2] =
- c[H >> 2];
- E = ((c[B >> 2] | 0) >>> 0 > 0) & 1;
- o =
- fl(
- ((c[v >> 2] | 0) + 1 + (0 - (c[B >> 2] | 0))) | 0
- ) | 0;
- do {
- if (
- (E &
- ((o | 0) ==
- (fl(((c[v >> 2] | 0) + 1) | 0) | 0))) |
- 0
- ) {
- c[F >> 2] =
- (nn(
- ((c[v >> 2] | 0) + 1 + 4) | 0,
- ((c[v >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[B >> 2] | 0))) |
- 0,
- c[z >> 2] | 0
- ) |
- 0) +
- 4;
- c[v >> 2] = (c[v >> 2] | 0) + 1;
- kn(
- c[k >> 2] | 0,
- ((c[v >> 2] | 0) - (c[w >> 2] | 0)) | 0,
- c[w >> 2] | 0,
- 0,
- ((c[F >> 2] | 0) - 3) | 0
- );
- } else {
- if (
- (c[I >> 2] | 0) >>> 0 > (c[x >> 2] | 0) >>> 0
- ? ((u = fl(c[J >> 2] | 0) | 0),
- (u | 0) == (fl(c[v >> 2] | 0) | 0))
- : 0
- ) {
- c[F >> 2] =
- (nn(
- ((c[v >> 2] | 0) + 4) | 0,
- ((c[J >> 2] | 0) + 4) | 0,
- c[z >> 2] | 0
- ) |
- 0) +
- 4;
- c[K >> 2] = (c[v >> 2] | 0) - (c[J >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[v >> 2] | 0) >>> 0 >
- (c[w >> 2] | 0) >>> 0
- ? (c[J >> 2] | 0) >>> 0 >
- (c[y >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[v >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[v >> 2] = (c[v >> 2] | 0) + -1;
- c[J >> 2] = (c[J >> 2] | 0) + -1;
- c[F >> 2] = (c[F >> 2] | 0) + 1;
- }
- c[C >> 2] = c[B >> 2];
- c[B >> 2] = c[K >> 2];
- kn(
- c[k >> 2] | 0,
- ((c[v >> 2] | 0) - (c[w >> 2] | 0)) | 0,
- c[w >> 2] | 0,
- ((c[K >> 2] | 0) + 2) | 0,
- ((c[F >> 2] | 0) - 3) | 0
- );
- break;
- }
- c[v >> 2] =
- (c[v >> 2] | 0) +
- ((((c[v >> 2] | 0) - (c[w >> 2] | 0)) >> 8) +
- (c[q >> 2] | 0));
- continue a;
- }
- } while (0);
- c[v >> 2] = (c[v >> 2] | 0) + (c[F >> 2] | 0);
- c[w >> 2] = c[v >> 2];
- b: do {
- if ((c[v >> 2] | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0) {
- o = ((c[H >> 2] | 0) + 2) | 0;
- E = c[s >> 2] | 0;
- c[
- (E +
- ((Tk(
- ((c[t >> 2] | 0) + (c[H >> 2] | 0) + 2) | 0,
- c[p >> 2] | 0,
- c[r >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = o;
- o = ((c[v >> 2] | 0) + -2 - (c[t >> 2] | 0)) | 0;
- E = c[s >> 2] | 0;
- c[
- (E +
- ((Tk(
- ((c[v >> 2] | 0) + -2) | 0,
- c[p >> 2] | 0,
- c[r >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = o;
- while (1) {
- if ((c[v >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0)
- break b;
- o = ((c[C >> 2] | 0) >>> 0 > 0) & 1;
- E = fl(c[v >> 2] | 0) | 0;
- if (
- !(
- o &
- ((E | 0) ==
- (fl(
- ((c[v >> 2] | 0) +
- (0 - (c[C >> 2] | 0))) |
- 0
- ) |
- 0))
- )
- )
- break b;
- c[L >> 2] =
- (nn(
- ((c[v >> 2] | 0) + 4) | 0,
- ((c[v >> 2] | 0) +
- 4 +
- (0 - (c[C >> 2] | 0))) |
- 0,
- c[z >> 2] | 0
- ) |
- 0) +
- 4;
- c[M >> 2] = c[C >> 2];
- c[C >> 2] = c[B >> 2];
- c[B >> 2] = c[M >> 2];
- E = ((c[v >> 2] | 0) - (c[t >> 2] | 0)) | 0;
- o = c[s >> 2] | 0;
- c[
- (o +
- ((Tk(
- c[v >> 2] | 0,
- c[p >> 2] | 0,
- c[r >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = E;
- kn(
- c[k >> 2] | 0,
- 0,
- c[w >> 2] | 0,
- 0,
- ((c[L >> 2] | 0) - 3) | 0
- );
- c[v >> 2] = (c[v >> 2] | 0) + (c[L >> 2] | 0);
- c[w >> 2] = c[v >> 2];
- }
- }
- } while (0);
- }
- c[c[m >> 2] >> 2] =
- c[B >> 2] | 0 ? c[B >> 2] | 0 : c[D >> 2] | 0;
- c[((c[m >> 2] | 0) + 4) >> 2] =
- c[C >> 2] | 0 ? c[C >> 2] | 0 : c[D >> 2] | 0;
- c[sb >> 2] = (c[z >> 2] | 0) - (c[w >> 2] | 0);
- Cb = c[sb >> 2] | 0;
- l = i;
- return Cb | 0;
- }
- case 5: {
- w = c[ub >> 2] | 0;
- z = c[vb >> 2] | 0;
- D = c[xb >> 2] | 0;
- C = c[yb >> 2] | 0;
- m = c[zb >> 2] | 0;
- B = c[Bb >> 2] | 0;
- c[oa >> 2] = c[tb >> 2];
- c[pa >> 2] = w;
- c[qa >> 2] = z;
- c[ra >> 2] = D;
- c[sa >> 2] = C;
- c[ta >> 2] = m;
- c[ua >> 2] = B;
- c[va >> 2] = 5;
- c[wa >> 2] = c[((c[oa >> 2] | 0) + 36) >> 2];
- c[xa >> 2] = c[((c[oa >> 2] | 0) + 4) >> 2];
- c[ya >> 2] = c[ra >> 2];
- c[za >> 2] = c[ya >> 2];
- c[Aa >> 2] = c[ya >> 2];
- c[Ba >> 2] = c[((c[oa >> 2] | 0) + 12) >> 2];
- c[Ca >> 2] = (c[xa >> 2] | 0) + (c[Ba >> 2] | 0);
- c[Da >> 2] = (c[ya >> 2] | 0) + (c[sa >> 2] | 0);
- c[Ea >> 2] = (c[Da >> 2] | 0) + -8;
- c[Fa >> 2] = c[c[qa >> 2] >> 2];
- c[Ga >> 2] = c[((c[qa >> 2] | 0) + 4) >> 2];
- c[Ha >> 2] = 0;
- c[za >> 2] =
- (c[za >> 2] | 0) +
- (((c[za >> 2] | 0) == (c[Ca >> 2] | 0)) & 1);
- c[Ia >> 2] = (c[za >> 2] | 0) - (c[Ca >> 2] | 0);
- if ((c[Ga >> 2] | 0) >>> 0 > (c[Ia >> 2] | 0) >>> 0) {
- c[Ha >> 2] = c[Ga >> 2];
- c[Ga >> 2] = 0;
- }
- if ((c[Fa >> 2] | 0) >>> 0 > (c[Ia >> 2] | 0) >>> 0) {
- c[Ha >> 2] = c[Fa >> 2];
- c[Fa >> 2] = 0;
- }
- c: while (1) {
- if ((c[za >> 2] | 0) >>> 0 >= (c[Ea >> 2] | 0) >>> 0)
- break;
- c[Ka >> 2] =
- Tk(c[za >> 2] | 0, c[ta >> 2] | 0, c[va >> 2] | 0) |
- 0;
- c[La >> 2] = (c[za >> 2] | 0) - (c[xa >> 2] | 0);
- c[Ma >> 2] =
- c[((c[wa >> 2] | 0) + (c[Ka >> 2] << 2)) >> 2];
- c[Na >> 2] = (c[xa >> 2] | 0) + (c[Ma >> 2] | 0);
- c[((c[wa >> 2] | 0) + (c[Ka >> 2] << 2)) >> 2] =
- c[La >> 2];
- Ia = ((c[Fa >> 2] | 0) >>> 0 > 0) & 1;
- sa =
- fl(
- ((c[za >> 2] | 0) + 1 + (0 - (c[Fa >> 2] | 0))) | 0
- ) | 0;
- do {
- if (
- (Ia &
- ((sa | 0) ==
- (fl(((c[za >> 2] | 0) + 1) | 0) | 0))) |
- 0
- ) {
- c[Ja >> 2] =
- (nn(
- ((c[za >> 2] | 0) + 1 + 4) | 0,
- ((c[za >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[Fa >> 2] | 0))) |
- 0,
- c[Da >> 2] | 0
- ) |
- 0) +
- 4;
- c[za >> 2] = (c[za >> 2] | 0) + 1;
- kn(
- c[pa >> 2] | 0,
- ((c[za >> 2] | 0) - (c[Aa >> 2] | 0)) | 0,
- c[Aa >> 2] | 0,
- 0,
- ((c[Ja >> 2] | 0) - 3) | 0
- );
- } else {
- if (
- (c[Ma >> 2] | 0) >>> 0 > (c[Ba >> 2] | 0) >>> 0
- ? ((ya = fl(c[Na >> 2] | 0) | 0),
- (ya | 0) == (fl(c[za >> 2] | 0) | 0))
- : 0
- ) {
- c[Ja >> 2] =
- (nn(
- ((c[za >> 2] | 0) + 4) | 0,
- ((c[Na >> 2] | 0) + 4) | 0,
- c[Da >> 2] | 0
- ) |
- 0) +
- 4;
- c[Oa >> 2] = (c[za >> 2] | 0) - (c[Na >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[za >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? (c[Na >> 2] | 0) >>> 0 >
- (c[Ca >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[za >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[Na >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[za >> 2] = (c[za >> 2] | 0) + -1;
- c[Na >> 2] = (c[Na >> 2] | 0) + -1;
- c[Ja >> 2] = (c[Ja >> 2] | 0) + 1;
- }
- c[Ga >> 2] = c[Fa >> 2];
- c[Fa >> 2] = c[Oa >> 2];
- kn(
- c[pa >> 2] | 0,
- ((c[za >> 2] | 0) - (c[Aa >> 2] | 0)) | 0,
- c[Aa >> 2] | 0,
- ((c[Oa >> 2] | 0) + 2) | 0,
- ((c[Ja >> 2] | 0) - 3) | 0
- );
- break;
- }
- c[za >> 2] =
- (c[za >> 2] | 0) +
- ((((c[za >> 2] | 0) - (c[Aa >> 2] | 0)) >> 8) +
- (c[ua >> 2] | 0));
- continue c;
- }
- } while (0);
- c[za >> 2] = (c[za >> 2] | 0) + (c[Ja >> 2] | 0);
- c[Aa >> 2] = c[za >> 2];
- d: do {
- if (
- (c[za >> 2] | 0) >>> 0 <=
- (c[Ea >> 2] | 0) >>> 0
- ) {
- sa = ((c[La >> 2] | 0) + 2) | 0;
- Ia = c[wa >> 2] | 0;
- c[
- (Ia +
- ((Tk(
- ((c[xa >> 2] | 0) + (c[La >> 2] | 0) + 2) | 0,
- c[ta >> 2] | 0,
- c[va >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = sa;
- sa = ((c[za >> 2] | 0) + -2 - (c[xa >> 2] | 0)) | 0;
- Ia = c[wa >> 2] | 0;
- c[
- (Ia +
- ((Tk(
- ((c[za >> 2] | 0) + -2) | 0,
- c[ta >> 2] | 0,
- c[va >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = sa;
- while (1) {
- if (
- (c[za >> 2] | 0) >>> 0 >
- (c[Ea >> 2] | 0) >>> 0
- )
- break d;
- sa = ((c[Ga >> 2] | 0) >>> 0 > 0) & 1;
- Ia = fl(c[za >> 2] | 0) | 0;
- if (
- !(
- sa &
- ((Ia | 0) ==
- (fl(
- ((c[za >> 2] | 0) +
- (0 - (c[Ga >> 2] | 0))) |
- 0
- ) |
- 0))
- )
- )
- break d;
- c[Pa >> 2] =
- (nn(
- ((c[za >> 2] | 0) + 4) | 0,
- ((c[za >> 2] | 0) +
- 4 +
- (0 - (c[Ga >> 2] | 0))) |
- 0,
- c[Da >> 2] | 0
- ) |
- 0) +
- 4;
- c[Qa >> 2] = c[Ga >> 2];
- c[Ga >> 2] = c[Fa >> 2];
- c[Fa >> 2] = c[Qa >> 2];
- Ia = ((c[za >> 2] | 0) - (c[xa >> 2] | 0)) | 0;
- sa = c[wa >> 2] | 0;
- c[
- (sa +
- ((Tk(
- c[za >> 2] | 0,
- c[ta >> 2] | 0,
- c[va >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ia;
- kn(
- c[pa >> 2] | 0,
- 0,
- c[Aa >> 2] | 0,
- 0,
- ((c[Pa >> 2] | 0) - 3) | 0
- );
- c[za >> 2] = (c[za >> 2] | 0) + (c[Pa >> 2] | 0);
- c[Aa >> 2] = c[za >> 2];
- }
- }
- } while (0);
- }
- c[c[qa >> 2] >> 2] =
- c[Fa >> 2] | 0 ? c[Fa >> 2] | 0 : c[Ha >> 2] | 0;
- c[((c[qa >> 2] | 0) + 4) >> 2] =
- c[Ga >> 2] | 0 ? c[Ga >> 2] | 0 : c[Ha >> 2] | 0;
- c[sb >> 2] = (c[Da >> 2] | 0) - (c[Aa >> 2] | 0);
- Cb = c[sb >> 2] | 0;
- l = i;
- return Cb | 0;
- }
- case 6: {
- Aa = c[ub >> 2] | 0;
- Da = c[vb >> 2] | 0;
- Ha = c[xb >> 2] | 0;
- Ga = c[yb >> 2] | 0;
- qa = c[zb >> 2] | 0;
- Fa = c[Bb >> 2] | 0;
- c[N >> 2] = c[tb >> 2];
- c[O >> 2] = Aa;
- c[P >> 2] = Da;
- c[Q >> 2] = Ha;
- c[R >> 2] = Ga;
- c[S >> 2] = qa;
- c[T >> 2] = Fa;
- c[U >> 2] = 6;
- c[V >> 2] = c[((c[N >> 2] | 0) + 36) >> 2];
- c[W >> 2] = c[((c[N >> 2] | 0) + 4) >> 2];
- c[X >> 2] = c[Q >> 2];
- c[Y >> 2] = c[X >> 2];
- c[Z >> 2] = c[X >> 2];
- c[_ >> 2] = c[((c[N >> 2] | 0) + 12) >> 2];
- c[$ >> 2] = (c[W >> 2] | 0) + (c[_ >> 2] | 0);
- c[aa >> 2] = (c[X >> 2] | 0) + (c[R >> 2] | 0);
- c[ba >> 2] = (c[aa >> 2] | 0) + -8;
- c[ca >> 2] = c[c[P >> 2] >> 2];
- c[da >> 2] = c[((c[P >> 2] | 0) + 4) >> 2];
- c[ea >> 2] = 0;
- c[Y >> 2] =
- (c[Y >> 2] | 0) +
- (((c[Y >> 2] | 0) == (c[$ >> 2] | 0)) & 1);
- c[fa >> 2] = (c[Y >> 2] | 0) - (c[$ >> 2] | 0);
- if ((c[da >> 2] | 0) >>> 0 > (c[fa >> 2] | 0) >>> 0) {
- c[ea >> 2] = c[da >> 2];
- c[da >> 2] = 0;
- }
- if ((c[ca >> 2] | 0) >>> 0 > (c[fa >> 2] | 0) >>> 0) {
- c[ea >> 2] = c[ca >> 2];
- c[ca >> 2] = 0;
- }
- e: while (1) {
- if ((c[Y >> 2] | 0) >>> 0 >= (c[ba >> 2] | 0) >>> 0)
- break;
- c[ha >> 2] =
- Tk(c[Y >> 2] | 0, c[S >> 2] | 0, c[U >> 2] | 0) | 0;
- c[ia >> 2] = (c[Y >> 2] | 0) - (c[W >> 2] | 0);
- c[ja >> 2] =
- c[((c[V >> 2] | 0) + (c[ha >> 2] << 2)) >> 2];
- c[ka >> 2] = (c[W >> 2] | 0) + (c[ja >> 2] | 0);
- c[((c[V >> 2] | 0) + (c[ha >> 2] << 2)) >> 2] =
- c[ia >> 2];
- fa = ((c[ca >> 2] | 0) >>> 0 > 0) & 1;
- R =
- fl(
- ((c[Y >> 2] | 0) + 1 + (0 - (c[ca >> 2] | 0))) | 0
- ) | 0;
- do {
- if (
- (fa &
- ((R | 0) ==
- (fl(((c[Y >> 2] | 0) + 1) | 0) | 0))) |
- 0
- ) {
- c[ga >> 2] =
- (nn(
- ((c[Y >> 2] | 0) + 1 + 4) | 0,
- ((c[Y >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[ca >> 2] | 0))) |
- 0,
- c[aa >> 2] | 0
- ) |
- 0) +
- 4;
- c[Y >> 2] = (c[Y >> 2] | 0) + 1;
- kn(
- c[O >> 2] | 0,
- ((c[Y >> 2] | 0) - (c[Z >> 2] | 0)) | 0,
- c[Z >> 2] | 0,
- 0,
- ((c[ga >> 2] | 0) - 3) | 0
- );
- } else {
- if (
- (c[ja >> 2] | 0) >>> 0 > (c[_ >> 2] | 0) >>> 0
- ? ((X = fl(c[ka >> 2] | 0) | 0),
- (X | 0) == (fl(c[Y >> 2] | 0) | 0))
- : 0
- ) {
- c[ga >> 2] =
- (nn(
- ((c[Y >> 2] | 0) + 4) | 0,
- ((c[ka >> 2] | 0) + 4) | 0,
- c[aa >> 2] | 0
- ) |
- 0) +
- 4;
- c[la >> 2] = (c[Y >> 2] | 0) - (c[ka >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[Y >> 2] | 0) >>> 0 >
- (c[Z >> 2] | 0) >>> 0
- ? (c[ka >> 2] | 0) >>> 0 >
- (c[$ >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[Y >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[ka >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[Y >> 2] = (c[Y >> 2] | 0) + -1;
- c[ka >> 2] = (c[ka >> 2] | 0) + -1;
- c[ga >> 2] = (c[ga >> 2] | 0) + 1;
- }
- c[da >> 2] = c[ca >> 2];
- c[ca >> 2] = c[la >> 2];
- kn(
- c[O >> 2] | 0,
- ((c[Y >> 2] | 0) - (c[Z >> 2] | 0)) | 0,
- c[Z >> 2] | 0,
- ((c[la >> 2] | 0) + 2) | 0,
- ((c[ga >> 2] | 0) - 3) | 0
- );
- break;
- }
- c[Y >> 2] =
- (c[Y >> 2] | 0) +
- ((((c[Y >> 2] | 0) - (c[Z >> 2] | 0)) >> 8) +
- (c[T >> 2] | 0));
- continue e;
- }
- } while (0);
- c[Y >> 2] = (c[Y >> 2] | 0) + (c[ga >> 2] | 0);
- c[Z >> 2] = c[Y >> 2];
- f: do {
- if ((c[Y >> 2] | 0) >>> 0 <= (c[ba >> 2] | 0) >>> 0) {
- R = ((c[ia >> 2] | 0) + 2) | 0;
- fa = c[V >> 2] | 0;
- c[
- (fa +
- ((Tk(
- ((c[W >> 2] | 0) + (c[ia >> 2] | 0) + 2) | 0,
- c[S >> 2] | 0,
- c[U >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = R;
- R = ((c[Y >> 2] | 0) + -2 - (c[W >> 2] | 0)) | 0;
- fa = c[V >> 2] | 0;
- c[
- (fa +
- ((Tk(
- ((c[Y >> 2] | 0) + -2) | 0,
- c[S >> 2] | 0,
- c[U >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = R;
- while (1) {
- if (
- (c[Y >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- )
- break f;
- R = ((c[da >> 2] | 0) >>> 0 > 0) & 1;
- fa = fl(c[Y >> 2] | 0) | 0;
- if (
- !(
- R &
- ((fa | 0) ==
- (fl(
- ((c[Y >> 2] | 0) +
- (0 - (c[da >> 2] | 0))) |
- 0
- ) |
- 0))
- )
- )
- break f;
- c[ma >> 2] =
- (nn(
- ((c[Y >> 2] | 0) + 4) | 0,
- ((c[Y >> 2] | 0) +
- 4 +
- (0 - (c[da >> 2] | 0))) |
- 0,
- c[aa >> 2] | 0
- ) |
- 0) +
- 4;
- c[na >> 2] = c[da >> 2];
- c[da >> 2] = c[ca >> 2];
- c[ca >> 2] = c[na >> 2];
- fa = ((c[Y >> 2] | 0) - (c[W >> 2] | 0)) | 0;
- R = c[V >> 2] | 0;
- c[
- (R +
- ((Tk(
- c[Y >> 2] | 0,
- c[S >> 2] | 0,
- c[U >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = fa;
- kn(
- c[O >> 2] | 0,
- 0,
- c[Z >> 2] | 0,
- 0,
- ((c[ma >> 2] | 0) - 3) | 0
- );
- c[Y >> 2] = (c[Y >> 2] | 0) + (c[ma >> 2] | 0);
- c[Z >> 2] = c[Y >> 2];
- }
- }
- } while (0);
- }
- c[c[P >> 2] >> 2] =
- c[ca >> 2] | 0 ? c[ca >> 2] | 0 : c[ea >> 2] | 0;
- c[((c[P >> 2] | 0) + 4) >> 2] =
- c[da >> 2] | 0 ? c[da >> 2] | 0 : c[ea >> 2] | 0;
- c[sb >> 2] = (c[aa >> 2] | 0) - (c[Z >> 2] | 0);
- Cb = c[sb >> 2] | 0;
- l = i;
- return Cb | 0;
- }
- default: {
- Z = c[ub >> 2] | 0;
- ub = c[vb >> 2] | 0;
- vb = c[xb >> 2] | 0;
- xb = c[yb >> 2] | 0;
- yb = c[zb >> 2] | 0;
- zb = c[Bb >> 2] | 0;
- c[Ra >> 2] = c[tb >> 2];
- c[Sa >> 2] = Z;
- c[Ta >> 2] = ub;
- c[Ua >> 2] = vb;
- c[Va >> 2] = xb;
- c[Wa >> 2] = yb;
- c[Xa >> 2] = zb;
- c[Ya >> 2] = 4;
- c[Za >> 2] = c[((c[Ra >> 2] | 0) + 36) >> 2];
- c[_a >> 2] = c[((c[Ra >> 2] | 0) + 4) >> 2];
- c[$a >> 2] = c[Ua >> 2];
- c[ab >> 2] = c[$a >> 2];
- c[bb >> 2] = c[$a >> 2];
- c[cb >> 2] = c[((c[Ra >> 2] | 0) + 12) >> 2];
- c[db >> 2] = (c[_a >> 2] | 0) + (c[cb >> 2] | 0);
- c[eb >> 2] = (c[$a >> 2] | 0) + (c[Va >> 2] | 0);
- c[fb >> 2] = (c[eb >> 2] | 0) + -8;
- c[gb >> 2] = c[c[Ta >> 2] >> 2];
- c[hb >> 2] = c[((c[Ta >> 2] | 0) + 4) >> 2];
- c[ib >> 2] = 0;
- c[ab >> 2] =
- (c[ab >> 2] | 0) +
- (((c[ab >> 2] | 0) == (c[db >> 2] | 0)) & 1);
- c[jb >> 2] = (c[ab >> 2] | 0) - (c[db >> 2] | 0);
- if ((c[hb >> 2] | 0) >>> 0 > (c[jb >> 2] | 0) >>> 0) {
- c[ib >> 2] = c[hb >> 2];
- c[hb >> 2] = 0;
- }
- if ((c[gb >> 2] | 0) >>> 0 > (c[jb >> 2] | 0) >>> 0) {
- c[ib >> 2] = c[gb >> 2];
- c[gb >> 2] = 0;
- }
- g: while (1) {
- if ((c[ab >> 2] | 0) >>> 0 >= (c[fb >> 2] | 0) >>> 0)
- break;
- c[lb >> 2] =
- Tk(c[ab >> 2] | 0, c[Wa >> 2] | 0, c[Ya >> 2] | 0) |
- 0;
- c[mb >> 2] = (c[ab >> 2] | 0) - (c[_a >> 2] | 0);
- c[nb >> 2] =
- c[((c[Za >> 2] | 0) + (c[lb >> 2] << 2)) >> 2];
- c[ob >> 2] = (c[_a >> 2] | 0) + (c[nb >> 2] | 0);
- c[((c[Za >> 2] | 0) + (c[lb >> 2] << 2)) >> 2] =
- c[mb >> 2];
- jb = ((c[gb >> 2] | 0) >>> 0 > 0) & 1;
- Va =
- fl(
- ((c[ab >> 2] | 0) + 1 + (0 - (c[gb >> 2] | 0))) | 0
- ) | 0;
- do {
- if (
- (jb &
- ((Va | 0) ==
- (fl(((c[ab >> 2] | 0) + 1) | 0) | 0))) |
- 0
- ) {
- c[kb >> 2] =
- (nn(
- ((c[ab >> 2] | 0) + 1 + 4) | 0,
- ((c[ab >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[gb >> 2] | 0))) |
- 0,
- c[eb >> 2] | 0
- ) |
- 0) +
- 4;
- c[ab >> 2] = (c[ab >> 2] | 0) + 1;
- kn(
- c[Sa >> 2] | 0,
- ((c[ab >> 2] | 0) - (c[bb >> 2] | 0)) | 0,
- c[bb >> 2] | 0,
- 0,
- ((c[kb >> 2] | 0) - 3) | 0
- );
- } else {
- if (
- (c[nb >> 2] | 0) >>> 0 > (c[cb >> 2] | 0) >>> 0
- ? (($a = fl(c[ob >> 2] | 0) | 0),
- ($a | 0) == (fl(c[ab >> 2] | 0) | 0))
- : 0
- ) {
- c[kb >> 2] =
- (nn(
- ((c[ab >> 2] | 0) + 4) | 0,
- ((c[ob >> 2] | 0) + 4) | 0,
- c[eb >> 2] | 0
- ) |
- 0) +
- 4;
- c[pb >> 2] = (c[ab >> 2] | 0) - (c[ob >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[ab >> 2] | 0) >>> 0 >
- (c[bb >> 2] | 0) >>> 0
- ? (c[ob >> 2] | 0) >>> 0 >
- (c[db >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[ab >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[ob >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[ab >> 2] = (c[ab >> 2] | 0) + -1;
- c[ob >> 2] = (c[ob >> 2] | 0) + -1;
- c[kb >> 2] = (c[kb >> 2] | 0) + 1;
- }
- c[hb >> 2] = c[gb >> 2];
- c[gb >> 2] = c[pb >> 2];
- kn(
- c[Sa >> 2] | 0,
- ((c[ab >> 2] | 0) - (c[bb >> 2] | 0)) | 0,
- c[bb >> 2] | 0,
- ((c[pb >> 2] | 0) + 2) | 0,
- ((c[kb >> 2] | 0) - 3) | 0
- );
- break;
- }
- c[ab >> 2] =
- (c[ab >> 2] | 0) +
- ((((c[ab >> 2] | 0) - (c[bb >> 2] | 0)) >> 8) +
- (c[Xa >> 2] | 0));
- continue g;
- }
- } while (0);
- c[ab >> 2] = (c[ab >> 2] | 0) + (c[kb >> 2] | 0);
- c[bb >> 2] = c[ab >> 2];
- h: do {
- if (
- (c[ab >> 2] | 0) >>> 0 <=
- (c[fb >> 2] | 0) >>> 0
- ) {
- Va = ((c[mb >> 2] | 0) + 2) | 0;
- jb = c[Za >> 2] | 0;
- c[
- (jb +
- ((Tk(
- ((c[_a >> 2] | 0) + (c[mb >> 2] | 0) + 2) | 0,
- c[Wa >> 2] | 0,
- c[Ya >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Va;
- Va = ((c[ab >> 2] | 0) + -2 - (c[_a >> 2] | 0)) | 0;
- jb = c[Za >> 2] | 0;
- c[
- (jb +
- ((Tk(
- ((c[ab >> 2] | 0) + -2) | 0,
- c[Wa >> 2] | 0,
- c[Ya >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Va;
- while (1) {
- if (
- (c[ab >> 2] | 0) >>> 0 >
- (c[fb >> 2] | 0) >>> 0
- )
- break h;
- Va = ((c[hb >> 2] | 0) >>> 0 > 0) & 1;
- jb = fl(c[ab >> 2] | 0) | 0;
- if (
- !(
- Va &
- ((jb | 0) ==
- (fl(
- ((c[ab >> 2] | 0) +
- (0 - (c[hb >> 2] | 0))) |
- 0
- ) |
- 0))
- )
- )
- break h;
- c[qb >> 2] =
- (nn(
- ((c[ab >> 2] | 0) + 4) | 0,
- ((c[ab >> 2] | 0) +
- 4 +
- (0 - (c[hb >> 2] | 0))) |
- 0,
- c[eb >> 2] | 0
- ) |
- 0) +
- 4;
- c[rb >> 2] = c[hb >> 2];
- c[hb >> 2] = c[gb >> 2];
- c[gb >> 2] = c[rb >> 2];
- jb = ((c[ab >> 2] | 0) - (c[_a >> 2] | 0)) | 0;
- Va = c[Za >> 2] | 0;
- c[
- (Va +
- ((Tk(
- c[ab >> 2] | 0,
- c[Wa >> 2] | 0,
- c[Ya >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = jb;
- kn(
- c[Sa >> 2] | 0,
- 0,
- c[bb >> 2] | 0,
- 0,
- ((c[qb >> 2] | 0) - 3) | 0
- );
- c[ab >> 2] = (c[ab >> 2] | 0) + (c[qb >> 2] | 0);
- c[bb >> 2] = c[ab >> 2];
- }
- }
- } while (0);
- }
- c[c[Ta >> 2] >> 2] =
- c[gb >> 2] | 0 ? c[gb >> 2] | 0 : c[ib >> 2] | 0;
- c[((c[Ta >> 2] | 0) + 4) >> 2] =
- c[hb >> 2] | 0 ? c[hb >> 2] | 0 : c[ib >> 2] | 0;
- c[sb >> 2] = (c[eb >> 2] | 0) - (c[bb >> 2] | 0);
- Cb = c[sb >> 2] | 0;
- l = i;
- return Cb | 0;
- }
- }
- return 0;
- }
- function Yl(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0;
- i = l;
- l = (l + 624) | 0;
- j = (i + 620) | 0;
- k = (i + 616) | 0;
- m = (i + 612) | 0;
- n = (i + 608) | 0;
- o = (i + 604) | 0;
- p = (i + 600) | 0;
- q = (i + 596) | 0;
- r = (i + 592) | 0;
- s = (i + 588) | 0;
- t = (i + 584) | 0;
- u = (i + 580) | 0;
- v = (i + 576) | 0;
- w = (i + 572) | 0;
- x = (i + 568) | 0;
- z = (i + 564) | 0;
- A = (i + 560) | 0;
- B = (i + 556) | 0;
- C = (i + 552) | 0;
- D = (i + 548) | 0;
- E = (i + 544) | 0;
- F = (i + 540) | 0;
- G = (i + 536) | 0;
- H = (i + 532) | 0;
- I = (i + 528) | 0;
- J = (i + 524) | 0;
- K = (i + 520) | 0;
- L = (i + 516) | 0;
- M = (i + 512) | 0;
- N = (i + 508) | 0;
- O = (i + 504) | 0;
- P = (i + 500) | 0;
- Q = (i + 496) | 0;
- R = (i + 492) | 0;
- S = (i + 488) | 0;
- T = (i + 484) | 0;
- U = (i + 480) | 0;
- V = (i + 476) | 0;
- W = (i + 472) | 0;
- X = (i + 468) | 0;
- Y = (i + 464) | 0;
- Z = (i + 460) | 0;
- _ = (i + 456) | 0;
- $ = (i + 452) | 0;
- aa = (i + 448) | 0;
- ba = (i + 444) | 0;
- ca = (i + 440) | 0;
- da = (i + 436) | 0;
- ea = (i + 432) | 0;
- fa = (i + 428) | 0;
- ga = (i + 424) | 0;
- ha = (i + 420) | 0;
- ia = (i + 416) | 0;
- ja = (i + 412) | 0;
- ka = (i + 408) | 0;
- la = (i + 404) | 0;
- ma = (i + 400) | 0;
- na = (i + 396) | 0;
- oa = (i + 392) | 0;
- pa = (i + 388) | 0;
- qa = (i + 384) | 0;
- ra = (i + 380) | 0;
- sa = (i + 376) | 0;
- ta = (i + 372) | 0;
- ua = (i + 368) | 0;
- va = (i + 364) | 0;
- wa = (i + 360) | 0;
- xa = (i + 356) | 0;
- ya = (i + 352) | 0;
- za = (i + 348) | 0;
- Aa = (i + 344) | 0;
- Ba = (i + 340) | 0;
- Ca = (i + 336) | 0;
- Da = (i + 332) | 0;
- Ea = (i + 328) | 0;
- Fa = (i + 324) | 0;
- Ga = (i + 320) | 0;
- Ha = (i + 316) | 0;
- Ia = (i + 312) | 0;
- Ja = (i + 308) | 0;
- Ka = (i + 304) | 0;
- La = (i + 300) | 0;
- Ma = (i + 296) | 0;
- Na = (i + 292) | 0;
- Oa = (i + 288) | 0;
- Pa = (i + 284) | 0;
- Qa = (i + 280) | 0;
- Ra = (i + 276) | 0;
- Sa = (i + 272) | 0;
- Ta = (i + 268) | 0;
- Ua = (i + 264) | 0;
- Va = (i + 260) | 0;
- Wa = (i + 256) | 0;
- Xa = (i + 252) | 0;
- Ya = (i + 248) | 0;
- Za = (i + 244) | 0;
- _a = (i + 240) | 0;
- $a = (i + 236) | 0;
- ab = (i + 232) | 0;
- bb = (i + 228) | 0;
- cb = (i + 224) | 0;
- db = (i + 220) | 0;
- eb = (i + 216) | 0;
- fb = (i + 212) | 0;
- gb = (i + 208) | 0;
- hb = (i + 204) | 0;
- ib = (i + 200) | 0;
- jb = (i + 196) | 0;
- kb = (i + 192) | 0;
- lb = (i + 188) | 0;
- mb = (i + 184) | 0;
- nb = (i + 180) | 0;
- ob = (i + 176) | 0;
- pb = (i + 172) | 0;
- qb = (i + 168) | 0;
- rb = (i + 164) | 0;
- sb = (i + 160) | 0;
- tb = (i + 156) | 0;
- ub = (i + 152) | 0;
- vb = (i + 148) | 0;
- wb = (i + 144) | 0;
- xb = (i + 140) | 0;
- yb = (i + 136) | 0;
- zb = (i + 132) | 0;
- Ab = (i + 128) | 0;
- Bb = (i + 124) | 0;
- Cb = (i + 120) | 0;
- Db = (i + 116) | 0;
- Eb = (i + 112) | 0;
- Fb = (i + 108) | 0;
- Gb = (i + 104) | 0;
- Hb = (i + 100) | 0;
- Ib = (i + 96) | 0;
- Jb = (i + 92) | 0;
- Kb = (i + 88) | 0;
- Lb = (i + 84) | 0;
- Mb = (i + 80) | 0;
- Nb = (i + 76) | 0;
- Ob = (i + 72) | 0;
- Pb = (i + 68) | 0;
- Qb = (i + 64) | 0;
- Rb = (i + 60) | 0;
- Sb = (i + 56) | 0;
- Tb = (i + 52) | 0;
- Ub = (i + 48) | 0;
- Vb = (i + 44) | 0;
- Wb = (i + 40) | 0;
- Xb = (i + 36) | 0;
- Yb = (i + 32) | 0;
- Zb = (i + 28) | 0;
- _b = (i + 24) | 0;
- $b = (i + 20) | 0;
- ac = (i + 16) | 0;
- bc = (i + 12) | 0;
- cc = (i + 8) | 0;
- dc = (i + 4) | 0;
- ec = i;
- c[_b >> 2] = a;
- c[$b >> 2] = b;
- c[ac >> 2] = e;
- c[bc >> 2] = f;
- c[cc >> 2] = g;
- c[dc >> 2] = h;
- c[ec >> 2] = c[((c[bc >> 2] | 0) + 16) >> 2];
- switch (c[ec >> 2] | 0) {
- case 7: {
- ec = c[$b >> 2] | 0;
- h = c[ac >> 2] | 0;
- g = c[bc >> 2] | 0;
- f = c[cc >> 2] | 0;
- e = c[dc >> 2] | 0;
- c[j >> 2] = c[_b >> 2];
- c[k >> 2] = ec;
- c[m >> 2] = h;
- c[n >> 2] = g;
- c[o >> 2] = f;
- c[p >> 2] = e;
- c[q >> 2] = 7;
- c[r >> 2] = c[((c[j >> 2] | 0) + 36) >> 2];
- c[s >> 2] = c[((c[n >> 2] | 0) + 8) >> 2];
- c[t >> 2] = c[((c[j >> 2] | 0) + 44) >> 2];
- c[u >> 2] = c[((c[n >> 2] | 0) + 4) >> 2];
- c[v >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
- c[w >> 2] = c[o >> 2];
- c[x >> 2] = c[w >> 2];
- c[z >> 2] = c[w >> 2];
- c[A >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
- c[B >> 2] = (c[v >> 2] | 0) + (c[A >> 2] | 0);
- c[C >> 2] = (c[w >> 2] | 0) + (c[p >> 2] | 0);
- c[D >> 2] = (c[C >> 2] | 0) + -8;
- c[E >> 2] = c[c[m >> 2] >> 2];
- c[F >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[G >> 2] = 0;
- c[x >> 2] =
- (c[x >> 2] | 0) +
- (((c[x >> 2] | 0) == (c[B >> 2] | 0)) & 1);
- c[H >> 2] = (c[x >> 2] | 0) - (c[B >> 2] | 0);
- if ((c[F >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = 0;
- }
- if ((c[E >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
- c[G >> 2] = c[E >> 2];
- c[E >> 2] = 0;
- }
- a: while (1) {
- if ((c[x >> 2] | 0) >>> 0 >= (c[D >> 2] | 0) >>> 0)
- break;
- c[J >> 2] = Dk(c[x >> 2] | 0, c[s >> 2] | 0, 8) | 0;
- c[K >> 2] =
- Dk(c[x >> 2] | 0, c[u >> 2] | 0, c[q >> 2] | 0) | 0;
- c[L >> 2] = (c[x >> 2] | 0) - (c[v >> 2] | 0);
- c[M >> 2] =
- c[((c[r >> 2] | 0) + (c[J >> 2] << 2)) >> 2];
- c[N >> 2] =
- c[((c[t >> 2] | 0) + (c[K >> 2] << 2)) >> 2];
- c[O >> 2] = (c[v >> 2] | 0) + (c[M >> 2] | 0);
- c[P >> 2] = (c[v >> 2] | 0) + (c[N >> 2] | 0);
- H = c[L >> 2] | 0;
- c[((c[t >> 2] | 0) + (c[K >> 2] << 2)) >> 2] = H;
- c[((c[r >> 2] | 0) + (c[J >> 2] << 2)) >> 2] = H;
- H = ((c[E >> 2] | 0) >>> 0 > 0) & 1;
- p =
- Rk(
- ((c[x >> 2] | 0) + 1 + (0 - (c[E >> 2] | 0))) | 0
- ) | 0;
- if (
- (H &
- ((p | 0) == (Rk(((c[x >> 2] | 0) + 1) | 0) | 0))) |
- 0
- ) {
- c[I >> 2] =
- (cn(
- ((c[x >> 2] | 0) + 1 + 4) | 0,
- ((c[x >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[E >> 2] | 0))) |
- 0,
- c[C >> 2] | 0
- ) |
- 0) +
- 4;
- c[x >> 2] = (c[x >> 2] | 0) + 1;
- $m(
- c[k >> 2] | 0,
- ((c[x >> 2] | 0) - (c[z >> 2] | 0)) | 0,
- c[z >> 2] | 0,
- 0,
- ((c[I >> 2] | 0) - 3) | 0
- );
- } else {
- b: do {
- if (
- (c[M >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
- ? ((p = Mk(c[O >> 2] | 0) | 0),
- (H = y),
- (w = Mk(c[x >> 2] | 0) | 0),
- ((p | 0) == (w | 0)) & ((H | 0) == (y | 0)))
- : 0
- ) {
- c[I >> 2] =
- (cn(
- ((c[x >> 2] | 0) + 8) | 0,
- ((c[O >> 2] | 0) + 8) | 0,
- c[C >> 2] | 0
- ) |
- 0) +
- 8;
- c[Q >> 2] = (c[x >> 2] | 0) - (c[O >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[x >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (c[O >> 2] | 0) >>> 0 >
- (c[B >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break b;
- if (
- (d[((c[x >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[O >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break b;
- c[x >> 2] = (c[x >> 2] | 0) + -1;
- c[O >> 2] = (c[O >> 2] | 0) + -1;
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- } else fc = 121;
- } while (0);
- c: do {
- if ((fc | 0) == 121) {
- fc = 0;
- if (
- (c[N >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
- ? ((H = Rk(c[P >> 2] | 0) | 0),
- (H | 0) == (Rk(c[x >> 2] | 0) | 0))
- : 0
- ) {
- c[R >> 2] =
- Dk(
- ((c[x >> 2] | 0) + 1) | 0,
- c[s >> 2] | 0,
- 8
- ) | 0;
- c[S >> 2] =
- c[((c[r >> 2] | 0) + (c[R >> 2] << 2)) >> 2];
- c[T >> 2] = (c[v >> 2] | 0) + (c[S >> 2] | 0);
- c[((c[r >> 2] | 0) + (c[R >> 2] << 2)) >> 2] =
- (c[L >> 2] | 0) + 1;
- if (
- (c[S >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
- ? ((H = Mk(c[T >> 2] | 0) | 0),
- (w = y),
- (p = Mk(((c[x >> 2] | 0) + 1) | 0) | 0),
- ((H | 0) == (p | 0)) &
- ((w | 0) == (y | 0)))
- : 0
- ) {
- c[I >> 2] =
- (cn(
- ((c[x >> 2] | 0) + 9) | 0,
- ((c[T >> 2] | 0) + 8) | 0,
- c[C >> 2] | 0
- ) |
- 0) +
- 8;
- c[x >> 2] = (c[x >> 2] | 0) + 1;
- c[Q >> 2] = (c[x >> 2] | 0) - (c[T >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[x >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (c[T >> 2] | 0) >>> 0 >
- (c[B >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break c;
- if (
- (d[((c[x >> 2] | 0) + -1) >> 0] |
- 0 |
- 0) !=
- (d[((c[T >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break c;
- c[x >> 2] = (c[x >> 2] | 0) + -1;
- c[T >> 2] = (c[T >> 2] | 0) + -1;
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- }
- c[I >> 2] =
- (cn(
- ((c[x >> 2] | 0) + 4) | 0,
- ((c[P >> 2] | 0) + 4) | 0,
- c[C >> 2] | 0
- ) |
- 0) +
- 4;
- c[Q >> 2] = (c[x >> 2] | 0) - (c[P >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[x >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (c[P >> 2] | 0) >>> 0 >
- (c[B >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break c;
- if (
- (d[((c[x >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[P >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break c;
- c[x >> 2] = (c[x >> 2] | 0) + -1;
- c[P >> 2] = (c[P >> 2] | 0) + -1;
- c[I >> 2] = (c[I >> 2] | 0) + 1;
- }
- }
- c[x >> 2] =
- (c[x >> 2] | 0) +
- ((((c[x >> 2] | 0) - (c[z >> 2] | 0)) >> 8) +
- 1);
- continue a;
- }
- } while (0);
- c[F >> 2] = c[E >> 2];
- c[E >> 2] = c[Q >> 2];
- $m(
- c[k >> 2] | 0,
- ((c[x >> 2] | 0) - (c[z >> 2] | 0)) | 0,
- c[z >> 2] | 0,
- ((c[Q >> 2] | 0) + 2) | 0,
- ((c[I >> 2] | 0) - 3) | 0
- );
- }
- c[x >> 2] = (c[x >> 2] | 0) + (c[I >> 2] | 0);
- c[z >> 2] = c[x >> 2];
- d: do {
- if ((c[x >> 2] | 0) >>> 0 <= (c[D >> 2] | 0) >>> 0) {
- w = ((c[L >> 2] | 0) + 2) | 0;
- p = c[t >> 2] | 0;
- c[
- (p +
- ((Dk(
- ((c[v >> 2] | 0) + (c[L >> 2] | 0) + 2) | 0,
- c[u >> 2] | 0,
- c[q >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = w;
- p = c[r >> 2] | 0;
- c[
- (p +
- ((Dk(
- ((c[v >> 2] | 0) + (c[L >> 2] | 0) + 2) | 0,
- c[s >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = w;
- w = ((c[x >> 2] | 0) + -2 - (c[v >> 2] | 0)) | 0;
- p = c[t >> 2] | 0;
- c[
- (p +
- ((Dk(
- ((c[x >> 2] | 0) + -2) | 0,
- c[u >> 2] | 0,
- c[q >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = w;
- p = c[r >> 2] | 0;
- c[
- (p +
- ((Dk(
- ((c[x >> 2] | 0) + -2) | 0,
- c[s >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = w;
- while (1) {
- if ((c[x >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0)
- break d;
- w = ((c[F >> 2] | 0) >>> 0 > 0) & 1;
- p = Rk(c[x >> 2] | 0) | 0;
- if (
- !(
- w &
- ((p | 0) ==
- (Rk(
- ((c[x >> 2] | 0) +
- (0 - (c[F >> 2] | 0))) |
- 0
- ) |
- 0))
- )
- )
- break d;
- c[U >> 2] =
- (cn(
- ((c[x >> 2] | 0) + 4) | 0,
- ((c[x >> 2] | 0) +
- 4 +
- (0 - (c[F >> 2] | 0))) |
- 0,
- c[C >> 2] | 0
- ) |
- 0) +
- 4;
- c[V >> 2] = c[F >> 2];
- c[F >> 2] = c[E >> 2];
- c[E >> 2] = c[V >> 2];
- p = ((c[x >> 2] | 0) - (c[v >> 2] | 0)) | 0;
- w = c[t >> 2] | 0;
- c[
- (w +
- ((Dk(
- c[x >> 2] | 0,
- c[u >> 2] | 0,
- c[q >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = p;
- p = ((c[x >> 2] | 0) - (c[v >> 2] | 0)) | 0;
- w = c[r >> 2] | 0;
- c[
- (w +
- ((Dk(c[x >> 2] | 0, c[s >> 2] | 0, 8) | 0) <<
- 2)) >>
- 2
- ] = p;
- $m(
- c[k >> 2] | 0,
- 0,
- c[z >> 2] | 0,
- 0,
- ((c[U >> 2] | 0) - 3) | 0
- );
- c[x >> 2] = (c[x >> 2] | 0) + (c[U >> 2] | 0);
- c[z >> 2] = c[x >> 2];
- }
- }
- } while (0);
- }
- c[c[m >> 2] >> 2] =
- c[E >> 2] | 0 ? c[E >> 2] | 0 : c[G >> 2] | 0;
- c[((c[m >> 2] | 0) + 4) >> 2] =
- c[F >> 2] | 0 ? c[F >> 2] | 0 : c[G >> 2] | 0;
- c[Zb >> 2] = (c[C >> 2] | 0) - (c[z >> 2] | 0);
- gc = c[Zb >> 2] | 0;
- l = i;
- return gc | 0;
- }
- case 5: {
- z = c[$b >> 2] | 0;
- C = c[ac >> 2] | 0;
- G = c[bc >> 2] | 0;
- F = c[cc >> 2] | 0;
- m = c[dc >> 2] | 0;
- c[Fa >> 2] = c[_b >> 2];
- c[Ga >> 2] = z;
- c[Ha >> 2] = C;
- c[Ia >> 2] = G;
- c[Ja >> 2] = F;
- c[Ka >> 2] = m;
- c[La >> 2] = 5;
- c[Ma >> 2] = c[((c[Fa >> 2] | 0) + 36) >> 2];
- c[Na >> 2] = c[((c[Ia >> 2] | 0) + 8) >> 2];
- c[Oa >> 2] = c[((c[Fa >> 2] | 0) + 44) >> 2];
- c[Pa >> 2] = c[((c[Ia >> 2] | 0) + 4) >> 2];
- c[Qa >> 2] = c[((c[Fa >> 2] | 0) + 4) >> 2];
- c[Ra >> 2] = c[Ja >> 2];
- c[Sa >> 2] = c[Ra >> 2];
- c[Ta >> 2] = c[Ra >> 2];
- c[Ua >> 2] = c[((c[Fa >> 2] | 0) + 12) >> 2];
- c[Va >> 2] = (c[Qa >> 2] | 0) + (c[Ua >> 2] | 0);
- c[Wa >> 2] = (c[Ra >> 2] | 0) + (c[Ka >> 2] | 0);
- c[Xa >> 2] = (c[Wa >> 2] | 0) + -8;
- c[Ya >> 2] = c[c[Ha >> 2] >> 2];
- c[Za >> 2] = c[((c[Ha >> 2] | 0) + 4) >> 2];
- c[_a >> 2] = 0;
- c[Sa >> 2] =
- (c[Sa >> 2] | 0) +
- (((c[Sa >> 2] | 0) == (c[Va >> 2] | 0)) & 1);
- c[$a >> 2] = (c[Sa >> 2] | 0) - (c[Va >> 2] | 0);
- if ((c[Za >> 2] | 0) >>> 0 > (c[$a >> 2] | 0) >>> 0) {
- c[_a >> 2] = c[Za >> 2];
- c[Za >> 2] = 0;
- }
- if ((c[Ya >> 2] | 0) >>> 0 > (c[$a >> 2] | 0) >>> 0) {
- c[_a >> 2] = c[Ya >> 2];
- c[Ya >> 2] = 0;
- }
- e: while (1) {
- if ((c[Sa >> 2] | 0) >>> 0 >= (c[Xa >> 2] | 0) >>> 0)
- break;
- c[bb >> 2] = Dk(c[Sa >> 2] | 0, c[Na >> 2] | 0, 8) | 0;
- c[cb >> 2] =
- Dk(c[Sa >> 2] | 0, c[Pa >> 2] | 0, c[La >> 2] | 0) |
- 0;
- c[db >> 2] = (c[Sa >> 2] | 0) - (c[Qa >> 2] | 0);
- c[eb >> 2] =
- c[((c[Ma >> 2] | 0) + (c[bb >> 2] << 2)) >> 2];
- c[fb >> 2] =
- c[((c[Oa >> 2] | 0) + (c[cb >> 2] << 2)) >> 2];
- c[gb >> 2] = (c[Qa >> 2] | 0) + (c[eb >> 2] | 0);
- c[hb >> 2] = (c[Qa >> 2] | 0) + (c[fb >> 2] | 0);
- $a = c[db >> 2] | 0;
- c[((c[Oa >> 2] | 0) + (c[cb >> 2] << 2)) >> 2] = $a;
- c[((c[Ma >> 2] | 0) + (c[bb >> 2] << 2)) >> 2] = $a;
- $a = ((c[Ya >> 2] | 0) >>> 0 > 0) & 1;
- Ka =
- Rk(
- ((c[Sa >> 2] | 0) + 1 + (0 - (c[Ya >> 2] | 0))) | 0
- ) | 0;
- if (
- ($a &
- ((Ka | 0) ==
- (Rk(((c[Sa >> 2] | 0) + 1) | 0) | 0))) |
- 0
- ) {
- c[ab >> 2] =
- (cn(
- ((c[Sa >> 2] | 0) + 1 + 4) | 0,
- ((c[Sa >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[Ya >> 2] | 0))) |
- 0,
- c[Wa >> 2] | 0
- ) |
- 0) +
- 4;
- c[Sa >> 2] = (c[Sa >> 2] | 0) + 1;
- $m(
- c[Ga >> 2] | 0,
- ((c[Sa >> 2] | 0) - (c[Ta >> 2] | 0)) | 0,
- c[Ta >> 2] | 0,
- 0,
- ((c[ab >> 2] | 0) - 3) | 0
- );
- } else {
- f: do {
- if (
- (c[eb >> 2] | 0) >>> 0 > (c[Ua >> 2] | 0) >>> 0
- ? ((Ka = Mk(c[gb >> 2] | 0) | 0),
- ($a = y),
- (Ra = Mk(c[Sa >> 2] | 0) | 0),
- ((Ka | 0) == (Ra | 0)) &
- (($a | 0) == (y | 0)))
- : 0
- ) {
- c[ab >> 2] =
- (cn(
- ((c[Sa >> 2] | 0) + 8) | 0,
- ((c[gb >> 2] | 0) + 8) | 0,
- c[Wa >> 2] | 0
- ) |
- 0) +
- 8;
- c[ib >> 2] = (c[Sa >> 2] | 0) - (c[gb >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[Sa >> 2] | 0) >>> 0 >
- (c[Ta >> 2] | 0) >>> 0
- ? (c[gb >> 2] | 0) >>> 0 >
- (c[Va >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break f;
- if (
- (d[((c[Sa >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[gb >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break f;
- c[Sa >> 2] = (c[Sa >> 2] | 0) + -1;
- c[gb >> 2] = (c[gb >> 2] | 0) + -1;
- c[ab >> 2] = (c[ab >> 2] | 0) + 1;
- }
- } else fc = 51;
- } while (0);
- g: do {
- if ((fc | 0) == 51) {
- fc = 0;
- if (
- (c[fb >> 2] | 0) >>> 0 > (c[Ua >> 2] | 0) >>> 0
- ? (($a = Rk(c[hb >> 2] | 0) | 0),
- ($a | 0) == (Rk(c[Sa >> 2] | 0) | 0))
- : 0
- ) {
- c[jb >> 2] =
- Dk(
- ((c[Sa >> 2] | 0) + 1) | 0,
- c[Na >> 2] | 0,
- 8
- ) | 0;
- c[kb >> 2] =
- c[
- ((c[Ma >> 2] | 0) + (c[jb >> 2] << 2)) >> 2
- ];
- c[lb >> 2] =
- (c[Qa >> 2] | 0) + (c[kb >> 2] | 0);
- c[((c[Ma >> 2] | 0) + (c[jb >> 2] << 2)) >> 2] =
- (c[db >> 2] | 0) + 1;
- if (
- (c[kb >> 2] | 0) >>> 0 >
- (c[Ua >> 2] | 0) >>> 0
- ? (($a = Mk(c[lb >> 2] | 0) | 0),
- (Ra = y),
- (Ka = Mk(((c[Sa >> 2] | 0) + 1) | 0) | 0),
- (($a | 0) == (Ka | 0)) &
- ((Ra | 0) == (y | 0)))
- : 0
- ) {
- c[ab >> 2] =
- (cn(
- ((c[Sa >> 2] | 0) + 9) | 0,
- ((c[lb >> 2] | 0) + 8) | 0,
- c[Wa >> 2] | 0
- ) |
- 0) +
- 8;
- c[Sa >> 2] = (c[Sa >> 2] | 0) + 1;
- c[ib >> 2] =
- (c[Sa >> 2] | 0) - (c[lb >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[Sa >> 2] | 0) >>> 0 >
- (c[Ta >> 2] | 0) >>> 0
- ? (c[lb >> 2] | 0) >>> 0 >
- (c[Va >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break g;
- if (
- (d[((c[Sa >> 2] | 0) + -1) >> 0] |
- 0 |
- 0) !=
- (d[((c[lb >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break g;
- c[Sa >> 2] = (c[Sa >> 2] | 0) + -1;
- c[lb >> 2] = (c[lb >> 2] | 0) + -1;
- c[ab >> 2] = (c[ab >> 2] | 0) + 1;
- }
- }
- c[ab >> 2] =
- (cn(
- ((c[Sa >> 2] | 0) + 4) | 0,
- ((c[hb >> 2] | 0) + 4) | 0,
- c[Wa >> 2] | 0
- ) |
- 0) +
- 4;
- c[ib >> 2] =
- (c[Sa >> 2] | 0) - (c[hb >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[Sa >> 2] | 0) >>> 0 >
- (c[Ta >> 2] | 0) >>> 0
- ? (c[hb >> 2] | 0) >>> 0 >
- (c[Va >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break g;
- if (
- (d[((c[Sa >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[hb >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break g;
- c[Sa >> 2] = (c[Sa >> 2] | 0) + -1;
- c[hb >> 2] = (c[hb >> 2] | 0) + -1;
- c[ab >> 2] = (c[ab >> 2] | 0) + 1;
- }
- }
- c[Sa >> 2] =
- (c[Sa >> 2] | 0) +
- ((((c[Sa >> 2] | 0) - (c[Ta >> 2] | 0)) >> 8) +
- 1);
- continue e;
- }
- } while (0);
- c[Za >> 2] = c[Ya >> 2];
- c[Ya >> 2] = c[ib >> 2];
- $m(
- c[Ga >> 2] | 0,
- ((c[Sa >> 2] | 0) - (c[Ta >> 2] | 0)) | 0,
- c[Ta >> 2] | 0,
- ((c[ib >> 2] | 0) + 2) | 0,
- ((c[ab >> 2] | 0) - 3) | 0
- );
- }
- c[Sa >> 2] = (c[Sa >> 2] | 0) + (c[ab >> 2] | 0);
- c[Ta >> 2] = c[Sa >> 2];
- h: do {
- if (
- (c[Sa >> 2] | 0) >>> 0 <=
- (c[Xa >> 2] | 0) >>> 0
- ) {
- Ra = ((c[db >> 2] | 0) + 2) | 0;
- Ka = c[Oa >> 2] | 0;
- c[
- (Ka +
- ((Dk(
- ((c[Qa >> 2] | 0) + (c[db >> 2] | 0) + 2) | 0,
- c[Pa >> 2] | 0,
- c[La >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ra;
- Ka = c[Ma >> 2] | 0;
- c[
- (Ka +
- ((Dk(
- ((c[Qa >> 2] | 0) + (c[db >> 2] | 0) + 2) | 0,
- c[Na >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ra;
- Ra = ((c[Sa >> 2] | 0) + -2 - (c[Qa >> 2] | 0)) | 0;
- Ka = c[Oa >> 2] | 0;
- c[
- (Ka +
- ((Dk(
- ((c[Sa >> 2] | 0) + -2) | 0,
- c[Pa >> 2] | 0,
- c[La >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ra;
- Ka = c[Ma >> 2] | 0;
- c[
- (Ka +
- ((Dk(
- ((c[Sa >> 2] | 0) + -2) | 0,
- c[Na >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ra;
- while (1) {
- if (
- (c[Sa >> 2] | 0) >>> 0 >
- (c[Xa >> 2] | 0) >>> 0
- )
- break h;
- Ra = ((c[Za >> 2] | 0) >>> 0 > 0) & 1;
- Ka = Rk(c[Sa >> 2] | 0) | 0;
- if (
- !(
- Ra &
- ((Ka | 0) ==
- (Rk(
- ((c[Sa >> 2] | 0) +
- (0 - (c[Za >> 2] | 0))) |
- 0
- ) |
- 0))
- )
- )
- break h;
- c[mb >> 2] =
- (cn(
- ((c[Sa >> 2] | 0) + 4) | 0,
- ((c[Sa >> 2] | 0) +
- 4 +
- (0 - (c[Za >> 2] | 0))) |
- 0,
- c[Wa >> 2] | 0
- ) |
- 0) +
- 4;
- c[nb >> 2] = c[Za >> 2];
- c[Za >> 2] = c[Ya >> 2];
- c[Ya >> 2] = c[nb >> 2];
- Ka = ((c[Sa >> 2] | 0) - (c[Qa >> 2] | 0)) | 0;
- Ra = c[Oa >> 2] | 0;
- c[
- (Ra +
- ((Dk(
- c[Sa >> 2] | 0,
- c[Pa >> 2] | 0,
- c[La >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ka;
- Ka = ((c[Sa >> 2] | 0) - (c[Qa >> 2] | 0)) | 0;
- Ra = c[Ma >> 2] | 0;
- c[
- (Ra +
- ((Dk(c[Sa >> 2] | 0, c[Na >> 2] | 0, 8) |
- 0) <<
- 2)) >>
- 2
- ] = Ka;
- $m(
- c[Ga >> 2] | 0,
- 0,
- c[Ta >> 2] | 0,
- 0,
- ((c[mb >> 2] | 0) - 3) | 0
- );
- c[Sa >> 2] = (c[Sa >> 2] | 0) + (c[mb >> 2] | 0);
- c[Ta >> 2] = c[Sa >> 2];
- }
- }
- } while (0);
- }
- c[c[Ha >> 2] >> 2] =
- c[Ya >> 2] | 0 ? c[Ya >> 2] | 0 : c[_a >> 2] | 0;
- c[((c[Ha >> 2] | 0) + 4) >> 2] =
- c[Za >> 2] | 0 ? c[Za >> 2] | 0 : c[_a >> 2] | 0;
- c[Zb >> 2] = (c[Wa >> 2] | 0) - (c[Ta >> 2] | 0);
- gc = c[Zb >> 2] | 0;
- l = i;
- return gc | 0;
- }
- case 6: {
- Ta = c[$b >> 2] | 0;
- Wa = c[ac >> 2] | 0;
- _a = c[bc >> 2] | 0;
- Za = c[cc >> 2] | 0;
- Ha = c[dc >> 2] | 0;
- c[W >> 2] = c[_b >> 2];
- c[X >> 2] = Ta;
- c[Y >> 2] = Wa;
- c[Z >> 2] = _a;
- c[_ >> 2] = Za;
- c[$ >> 2] = Ha;
- c[aa >> 2] = 6;
- c[ba >> 2] = c[((c[W >> 2] | 0) + 36) >> 2];
- c[ca >> 2] = c[((c[Z >> 2] | 0) + 8) >> 2];
- c[da >> 2] = c[((c[W >> 2] | 0) + 44) >> 2];
- c[ea >> 2] = c[((c[Z >> 2] | 0) + 4) >> 2];
- c[fa >> 2] = c[((c[W >> 2] | 0) + 4) >> 2];
- c[ga >> 2] = c[_ >> 2];
- c[ha >> 2] = c[ga >> 2];
- c[ia >> 2] = c[ga >> 2];
- c[ja >> 2] = c[((c[W >> 2] | 0) + 12) >> 2];
- c[ka >> 2] = (c[fa >> 2] | 0) + (c[ja >> 2] | 0);
- c[la >> 2] = (c[ga >> 2] | 0) + (c[$ >> 2] | 0);
- c[ma >> 2] = (c[la >> 2] | 0) + -8;
- c[na >> 2] = c[c[Y >> 2] >> 2];
- c[oa >> 2] = c[((c[Y >> 2] | 0) + 4) >> 2];
- c[pa >> 2] = 0;
- c[ha >> 2] =
- (c[ha >> 2] | 0) +
- (((c[ha >> 2] | 0) == (c[ka >> 2] | 0)) & 1);
- c[qa >> 2] = (c[ha >> 2] | 0) - (c[ka >> 2] | 0);
- if ((c[oa >> 2] | 0) >>> 0 > (c[qa >> 2] | 0) >>> 0) {
- c[pa >> 2] = c[oa >> 2];
- c[oa >> 2] = 0;
- }
- if ((c[na >> 2] | 0) >>> 0 > (c[qa >> 2] | 0) >>> 0) {
- c[pa >> 2] = c[na >> 2];
- c[na >> 2] = 0;
- }
- i: while (1) {
- if ((c[ha >> 2] | 0) >>> 0 >= (c[ma >> 2] | 0) >>> 0)
- break;
- c[sa >> 2] = Dk(c[ha >> 2] | 0, c[ca >> 2] | 0, 8) | 0;
- c[ta >> 2] =
- Dk(c[ha >> 2] | 0, c[ea >> 2] | 0, c[aa >> 2] | 0) |
- 0;
- c[ua >> 2] = (c[ha >> 2] | 0) - (c[fa >> 2] | 0);
- c[va >> 2] =
- c[((c[ba >> 2] | 0) + (c[sa >> 2] << 2)) >> 2];
- c[wa >> 2] =
- c[((c[da >> 2] | 0) + (c[ta >> 2] << 2)) >> 2];
- c[xa >> 2] = (c[fa >> 2] | 0) + (c[va >> 2] | 0);
- c[ya >> 2] = (c[fa >> 2] | 0) + (c[wa >> 2] | 0);
- qa = c[ua >> 2] | 0;
- c[((c[da >> 2] | 0) + (c[ta >> 2] << 2)) >> 2] = qa;
- c[((c[ba >> 2] | 0) + (c[sa >> 2] << 2)) >> 2] = qa;
- qa = ((c[na >> 2] | 0) >>> 0 > 0) & 1;
- $ =
- Rk(
- ((c[ha >> 2] | 0) + 1 + (0 - (c[na >> 2] | 0))) | 0
- ) | 0;
- if (
- (qa &
- (($ | 0) == (Rk(((c[ha >> 2] | 0) + 1) | 0) | 0))) |
- 0
- ) {
- c[ra >> 2] =
- (cn(
- ((c[ha >> 2] | 0) + 1 + 4) | 0,
- ((c[ha >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[na >> 2] | 0))) |
- 0,
- c[la >> 2] | 0
- ) |
- 0) +
- 4;
- c[ha >> 2] = (c[ha >> 2] | 0) + 1;
- $m(
- c[X >> 2] | 0,
- ((c[ha >> 2] | 0) - (c[ia >> 2] | 0)) | 0,
- c[ia >> 2] | 0,
- 0,
- ((c[ra >> 2] | 0) - 3) | 0
- );
- } else {
- j: do {
- if (
- (c[va >> 2] | 0) >>> 0 > (c[ja >> 2] | 0) >>> 0
- ? (($ = Mk(c[xa >> 2] | 0) | 0),
- (qa = y),
- (ga = Mk(c[ha >> 2] | 0) | 0),
- (($ | 0) == (ga | 0)) & ((qa | 0) == (y | 0)))
- : 0
- ) {
- c[ra >> 2] =
- (cn(
- ((c[ha >> 2] | 0) + 8) | 0,
- ((c[xa >> 2] | 0) + 8) | 0,
- c[la >> 2] | 0
- ) |
- 0) +
- 8;
- c[za >> 2] = (c[ha >> 2] | 0) - (c[xa >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[ha >> 2] | 0) >>> 0 >
- (c[ia >> 2] | 0) >>> 0
- ? (c[xa >> 2] | 0) >>> 0 >
- (c[ka >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break j;
- if (
- (d[((c[ha >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[xa >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break j;
- c[ha >> 2] = (c[ha >> 2] | 0) + -1;
- c[xa >> 2] = (c[xa >> 2] | 0) + -1;
- c[ra >> 2] = (c[ra >> 2] | 0) + 1;
- }
- } else fc = 86;
- } while (0);
- k: do {
- if ((fc | 0) == 86) {
- fc = 0;
- if (
- (c[wa >> 2] | 0) >>> 0 > (c[ja >> 2] | 0) >>> 0
- ? ((qa = Rk(c[ya >> 2] | 0) | 0),
- (qa | 0) == (Rk(c[ha >> 2] | 0) | 0))
- : 0
- ) {
- c[Aa >> 2] =
- Dk(
- ((c[ha >> 2] | 0) + 1) | 0,
- c[ca >> 2] | 0,
- 8
- ) | 0;
- c[Ba >> 2] =
- c[
- ((c[ba >> 2] | 0) + (c[Aa >> 2] << 2)) >> 2
- ];
- c[Ca >> 2] =
- (c[fa >> 2] | 0) + (c[Ba >> 2] | 0);
- c[((c[ba >> 2] | 0) + (c[Aa >> 2] << 2)) >> 2] =
- (c[ua >> 2] | 0) + 1;
- if (
- (c[Ba >> 2] | 0) >>> 0 >
- (c[ja >> 2] | 0) >>> 0
- ? ((qa = Mk(c[Ca >> 2] | 0) | 0),
- (ga = y),
- ($ = Mk(((c[ha >> 2] | 0) + 1) | 0) | 0),
- ((qa | 0) == ($ | 0)) &
- ((ga | 0) == (y | 0)))
- : 0
- ) {
- c[ra >> 2] =
- (cn(
- ((c[ha >> 2] | 0) + 9) | 0,
- ((c[Ca >> 2] | 0) + 8) | 0,
- c[la >> 2] | 0
- ) |
- 0) +
- 8;
- c[ha >> 2] = (c[ha >> 2] | 0) + 1;
- c[za >> 2] =
- (c[ha >> 2] | 0) - (c[Ca >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[ha >> 2] | 0) >>> 0 >
- (c[ia >> 2] | 0) >>> 0
- ? (c[Ca >> 2] | 0) >>> 0 >
- (c[ka >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break k;
- if (
- (d[((c[ha >> 2] | 0) + -1) >> 0] |
- 0 |
- 0) !=
- (d[((c[Ca >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break k;
- c[ha >> 2] = (c[ha >> 2] | 0) + -1;
- c[Ca >> 2] = (c[Ca >> 2] | 0) + -1;
- c[ra >> 2] = (c[ra >> 2] | 0) + 1;
- }
- }
- c[ra >> 2] =
- (cn(
- ((c[ha >> 2] | 0) + 4) | 0,
- ((c[ya >> 2] | 0) + 4) | 0,
- c[la >> 2] | 0
- ) |
- 0) +
- 4;
- c[za >> 2] =
- (c[ha >> 2] | 0) - (c[ya >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[ha >> 2] | 0) >>> 0 >
- (c[ia >> 2] | 0) >>> 0
- ? (c[ya >> 2] | 0) >>> 0 >
- (c[ka >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break k;
- if (
- (d[((c[ha >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[ya >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break k;
- c[ha >> 2] = (c[ha >> 2] | 0) + -1;
- c[ya >> 2] = (c[ya >> 2] | 0) + -1;
- c[ra >> 2] = (c[ra >> 2] | 0) + 1;
- }
- }
- c[ha >> 2] =
- (c[ha >> 2] | 0) +
- ((((c[ha >> 2] | 0) - (c[ia >> 2] | 0)) >> 8) +
- 1);
- continue i;
- }
- } while (0);
- c[oa >> 2] = c[na >> 2];
- c[na >> 2] = c[za >> 2];
- $m(
- c[X >> 2] | 0,
- ((c[ha >> 2] | 0) - (c[ia >> 2] | 0)) | 0,
- c[ia >> 2] | 0,
- ((c[za >> 2] | 0) + 2) | 0,
- ((c[ra >> 2] | 0) - 3) | 0
- );
- }
- c[ha >> 2] = (c[ha >> 2] | 0) + (c[ra >> 2] | 0);
- c[ia >> 2] = c[ha >> 2];
- l: do {
- if (
- (c[ha >> 2] | 0) >>> 0 <=
- (c[ma >> 2] | 0) >>> 0
- ) {
- ga = ((c[ua >> 2] | 0) + 2) | 0;
- $ = c[da >> 2] | 0;
- c[
- ($ +
- ((Dk(
- ((c[fa >> 2] | 0) + (c[ua >> 2] | 0) + 2) | 0,
- c[ea >> 2] | 0,
- c[aa >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = ga;
- $ = c[ba >> 2] | 0;
- c[
- ($ +
- ((Dk(
- ((c[fa >> 2] | 0) + (c[ua >> 2] | 0) + 2) | 0,
- c[ca >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = ga;
- ga = ((c[ha >> 2] | 0) + -2 - (c[fa >> 2] | 0)) | 0;
- $ = c[da >> 2] | 0;
- c[
- ($ +
- ((Dk(
- ((c[ha >> 2] | 0) + -2) | 0,
- c[ea >> 2] | 0,
- c[aa >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = ga;
- $ = c[ba >> 2] | 0;
- c[
- ($ +
- ((Dk(
- ((c[ha >> 2] | 0) + -2) | 0,
- c[ca >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = ga;
- while (1) {
- if (
- (c[ha >> 2] | 0) >>> 0 >
- (c[ma >> 2] | 0) >>> 0
- )
- break l;
- ga = ((c[oa >> 2] | 0) >>> 0 > 0) & 1;
- $ = Rk(c[ha >> 2] | 0) | 0;
- if (
- !(
- ga &
- (($ | 0) ==
- (Rk(
- ((c[ha >> 2] | 0) +
- (0 - (c[oa >> 2] | 0))) |
- 0
- ) |
- 0))
- )
- )
- break l;
- c[Da >> 2] =
- (cn(
- ((c[ha >> 2] | 0) + 4) | 0,
- ((c[ha >> 2] | 0) +
- 4 +
- (0 - (c[oa >> 2] | 0))) |
- 0,
- c[la >> 2] | 0
- ) |
- 0) +
- 4;
- c[Ea >> 2] = c[oa >> 2];
- c[oa >> 2] = c[na >> 2];
- c[na >> 2] = c[Ea >> 2];
- $ = ((c[ha >> 2] | 0) - (c[fa >> 2] | 0)) | 0;
- ga = c[da >> 2] | 0;
- c[
- (ga +
- ((Dk(
- c[ha >> 2] | 0,
- c[ea >> 2] | 0,
- c[aa >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = $;
- $ = ((c[ha >> 2] | 0) - (c[fa >> 2] | 0)) | 0;
- ga = c[ba >> 2] | 0;
- c[
- (ga +
- ((Dk(c[ha >> 2] | 0, c[ca >> 2] | 0, 8) |
- 0) <<
- 2)) >>
- 2
- ] = $;
- $m(
- c[X >> 2] | 0,
- 0,
- c[ia >> 2] | 0,
- 0,
- ((c[Da >> 2] | 0) - 3) | 0
- );
- c[ha >> 2] = (c[ha >> 2] | 0) + (c[Da >> 2] | 0);
- c[ia >> 2] = c[ha >> 2];
- }
- }
- } while (0);
- }
- c[c[Y >> 2] >> 2] =
- c[na >> 2] | 0 ? c[na >> 2] | 0 : c[pa >> 2] | 0;
- c[((c[Y >> 2] | 0) + 4) >> 2] =
- c[oa >> 2] | 0 ? c[oa >> 2] | 0 : c[pa >> 2] | 0;
- c[Zb >> 2] = (c[la >> 2] | 0) - (c[ia >> 2] | 0);
- gc = c[Zb >> 2] | 0;
- l = i;
- return gc | 0;
- }
- default: {
- ia = c[$b >> 2] | 0;
- $b = c[ac >> 2] | 0;
- ac = c[bc >> 2] | 0;
- bc = c[cc >> 2] | 0;
- cc = c[dc >> 2] | 0;
- c[ob >> 2] = c[_b >> 2];
- c[pb >> 2] = ia;
- c[qb >> 2] = $b;
- c[rb >> 2] = ac;
- c[sb >> 2] = bc;
- c[tb >> 2] = cc;
- c[ub >> 2] = 4;
- c[vb >> 2] = c[((c[ob >> 2] | 0) + 36) >> 2];
- c[wb >> 2] = c[((c[rb >> 2] | 0) + 8) >> 2];
- c[xb >> 2] = c[((c[ob >> 2] | 0) + 44) >> 2];
- c[yb >> 2] = c[((c[rb >> 2] | 0) + 4) >> 2];
- c[zb >> 2] = c[((c[ob >> 2] | 0) + 4) >> 2];
- c[Ab >> 2] = c[sb >> 2];
- c[Bb >> 2] = c[Ab >> 2];
- c[Cb >> 2] = c[Ab >> 2];
- c[Db >> 2] = c[((c[ob >> 2] | 0) + 12) >> 2];
- c[Eb >> 2] = (c[zb >> 2] | 0) + (c[Db >> 2] | 0);
- c[Fb >> 2] = (c[Ab >> 2] | 0) + (c[tb >> 2] | 0);
- c[Gb >> 2] = (c[Fb >> 2] | 0) + -8;
- c[Hb >> 2] = c[c[qb >> 2] >> 2];
- c[Ib >> 2] = c[((c[qb >> 2] | 0) + 4) >> 2];
- c[Jb >> 2] = 0;
- c[Bb >> 2] =
- (c[Bb >> 2] | 0) +
- (((c[Bb >> 2] | 0) == (c[Eb >> 2] | 0)) & 1);
- c[Kb >> 2] = (c[Bb >> 2] | 0) - (c[Eb >> 2] | 0);
- if ((c[Ib >> 2] | 0) >>> 0 > (c[Kb >> 2] | 0) >>> 0) {
- c[Jb >> 2] = c[Ib >> 2];
- c[Ib >> 2] = 0;
- }
- if ((c[Hb >> 2] | 0) >>> 0 > (c[Kb >> 2] | 0) >>> 0) {
- c[Jb >> 2] = c[Hb >> 2];
- c[Hb >> 2] = 0;
- }
- m: while (1) {
- if ((c[Bb >> 2] | 0) >>> 0 >= (c[Gb >> 2] | 0) >>> 0)
- break;
- c[Mb >> 2] = Dk(c[Bb >> 2] | 0, c[wb >> 2] | 0, 8) | 0;
- c[Nb >> 2] =
- Dk(c[Bb >> 2] | 0, c[yb >> 2] | 0, c[ub >> 2] | 0) |
- 0;
- c[Ob >> 2] = (c[Bb >> 2] | 0) - (c[zb >> 2] | 0);
- c[Pb >> 2] =
- c[((c[vb >> 2] | 0) + (c[Mb >> 2] << 2)) >> 2];
- c[Qb >> 2] =
- c[((c[xb >> 2] | 0) + (c[Nb >> 2] << 2)) >> 2];
- c[Rb >> 2] = (c[zb >> 2] | 0) + (c[Pb >> 2] | 0);
- c[Sb >> 2] = (c[zb >> 2] | 0) + (c[Qb >> 2] | 0);
- Kb = c[Ob >> 2] | 0;
- c[((c[xb >> 2] | 0) + (c[Nb >> 2] << 2)) >> 2] = Kb;
- c[((c[vb >> 2] | 0) + (c[Mb >> 2] << 2)) >> 2] = Kb;
- Kb = ((c[Hb >> 2] | 0) >>> 0 > 0) & 1;
- tb =
- Rk(
- ((c[Bb >> 2] | 0) + 1 + (0 - (c[Hb >> 2] | 0))) | 0
- ) | 0;
- if (
- (Kb &
- ((tb | 0) ==
- (Rk(((c[Bb >> 2] | 0) + 1) | 0) | 0))) |
- 0
- ) {
- c[Lb >> 2] =
- (cn(
- ((c[Bb >> 2] | 0) + 1 + 4) | 0,
- ((c[Bb >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[Hb >> 2] | 0))) |
- 0,
- c[Fb >> 2] | 0
- ) |
- 0) +
- 4;
- c[Bb >> 2] = (c[Bb >> 2] | 0) + 1;
- $m(
- c[pb >> 2] | 0,
- ((c[Bb >> 2] | 0) - (c[Cb >> 2] | 0)) | 0,
- c[Cb >> 2] | 0,
- 0,
- ((c[Lb >> 2] | 0) - 3) | 0
- );
- } else {
- n: do {
- if (
- (c[Pb >> 2] | 0) >>> 0 > (c[Db >> 2] | 0) >>> 0
- ? ((tb = Mk(c[Rb >> 2] | 0) | 0),
- (Kb = y),
- (Ab = Mk(c[Bb >> 2] | 0) | 0),
- ((tb | 0) == (Ab | 0)) &
- ((Kb | 0) == (y | 0)))
- : 0
- ) {
- c[Lb >> 2] =
- (cn(
- ((c[Bb >> 2] | 0) + 8) | 0,
- ((c[Rb >> 2] | 0) + 8) | 0,
- c[Fb >> 2] | 0
- ) |
- 0) +
- 8;
- c[Tb >> 2] = (c[Bb >> 2] | 0) - (c[Rb >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[Bb >> 2] | 0) >>> 0 >
- (c[Cb >> 2] | 0) >>> 0
- ? (c[Rb >> 2] | 0) >>> 0 >
- (c[Eb >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break n;
- if (
- (d[((c[Bb >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[Rb >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break n;
- c[Bb >> 2] = (c[Bb >> 2] | 0) + -1;
- c[Rb >> 2] = (c[Rb >> 2] | 0) + -1;
- c[Lb >> 2] = (c[Lb >> 2] | 0) + 1;
- }
- } else fc = 16;
- } while (0);
- o: do {
- if ((fc | 0) == 16) {
- fc = 0;
- if (
- (c[Qb >> 2] | 0) >>> 0 > (c[Db >> 2] | 0) >>> 0
- ? ((Kb = Rk(c[Sb >> 2] | 0) | 0),
- (Kb | 0) == (Rk(c[Bb >> 2] | 0) | 0))
- : 0
- ) {
- c[Ub >> 2] =
- Dk(
- ((c[Bb >> 2] | 0) + 1) | 0,
- c[wb >> 2] | 0,
- 8
- ) | 0;
- c[Vb >> 2] =
- c[
- ((c[vb >> 2] | 0) + (c[Ub >> 2] << 2)) >> 2
- ];
- c[Wb >> 2] =
- (c[zb >> 2] | 0) + (c[Vb >> 2] | 0);
- c[((c[vb >> 2] | 0) + (c[Ub >> 2] << 2)) >> 2] =
- (c[Ob >> 2] | 0) + 1;
- if (
- (c[Vb >> 2] | 0) >>> 0 >
- (c[Db >> 2] | 0) >>> 0
- ? ((Kb = Mk(c[Wb >> 2] | 0) | 0),
- (Ab = y),
- (tb = Mk(((c[Bb >> 2] | 0) + 1) | 0) | 0),
- ((Kb | 0) == (tb | 0)) &
- ((Ab | 0) == (y | 0)))
- : 0
- ) {
- c[Lb >> 2] =
- (cn(
- ((c[Bb >> 2] | 0) + 9) | 0,
- ((c[Wb >> 2] | 0) + 8) | 0,
- c[Fb >> 2] | 0
- ) |
- 0) +
- 8;
- c[Bb >> 2] = (c[Bb >> 2] | 0) + 1;
- c[Tb >> 2] =
- (c[Bb >> 2] | 0) - (c[Wb >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[Bb >> 2] | 0) >>> 0 >
- (c[Cb >> 2] | 0) >>> 0
- ? (c[Wb >> 2] | 0) >>> 0 >
- (c[Eb >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break o;
- if (
- (d[((c[Bb >> 2] | 0) + -1) >> 0] |
- 0 |
- 0) !=
- (d[((c[Wb >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break o;
- c[Bb >> 2] = (c[Bb >> 2] | 0) + -1;
- c[Wb >> 2] = (c[Wb >> 2] | 0) + -1;
- c[Lb >> 2] = (c[Lb >> 2] | 0) + 1;
- }
- }
- c[Lb >> 2] =
- (cn(
- ((c[Bb >> 2] | 0) + 4) | 0,
- ((c[Sb >> 2] | 0) + 4) | 0,
- c[Fb >> 2] | 0
- ) |
- 0) +
- 4;
- c[Tb >> 2] =
- (c[Bb >> 2] | 0) - (c[Sb >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[Bb >> 2] | 0) >>> 0 >
- (c[Cb >> 2] | 0) >>> 0
- ? (c[Sb >> 2] | 0) >>> 0 >
- (c[Eb >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break o;
- if (
- (d[((c[Bb >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[Sb >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break o;
- c[Bb >> 2] = (c[Bb >> 2] | 0) + -1;
- c[Sb >> 2] = (c[Sb >> 2] | 0) + -1;
- c[Lb >> 2] = (c[Lb >> 2] | 0) + 1;
- }
- }
- c[Bb >> 2] =
- (c[Bb >> 2] | 0) +
- ((((c[Bb >> 2] | 0) - (c[Cb >> 2] | 0)) >> 8) +
- 1);
- continue m;
- }
- } while (0);
- c[Ib >> 2] = c[Hb >> 2];
- c[Hb >> 2] = c[Tb >> 2];
- $m(
- c[pb >> 2] | 0,
- ((c[Bb >> 2] | 0) - (c[Cb >> 2] | 0)) | 0,
- c[Cb >> 2] | 0,
- ((c[Tb >> 2] | 0) + 2) | 0,
- ((c[Lb >> 2] | 0) - 3) | 0
- );
- }
- c[Bb >> 2] = (c[Bb >> 2] | 0) + (c[Lb >> 2] | 0);
- c[Cb >> 2] = c[Bb >> 2];
- p: do {
- if (
- (c[Bb >> 2] | 0) >>> 0 <=
- (c[Gb >> 2] | 0) >>> 0
- ) {
- Ab = ((c[Ob >> 2] | 0) + 2) | 0;
- tb = c[xb >> 2] | 0;
- c[
- (tb +
- ((Dk(
- ((c[zb >> 2] | 0) + (c[Ob >> 2] | 0) + 2) | 0,
- c[yb >> 2] | 0,
- c[ub >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ab;
- tb = c[vb >> 2] | 0;
- c[
- (tb +
- ((Dk(
- ((c[zb >> 2] | 0) + (c[Ob >> 2] | 0) + 2) | 0,
- c[wb >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ab;
- Ab = ((c[Bb >> 2] | 0) + -2 - (c[zb >> 2] | 0)) | 0;
- tb = c[xb >> 2] | 0;
- c[
- (tb +
- ((Dk(
- ((c[Bb >> 2] | 0) + -2) | 0,
- c[yb >> 2] | 0,
- c[ub >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ab;
- tb = c[vb >> 2] | 0;
- c[
- (tb +
- ((Dk(
- ((c[Bb >> 2] | 0) + -2) | 0,
- c[wb >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = Ab;
- while (1) {
- if (
- (c[Bb >> 2] | 0) >>> 0 >
- (c[Gb >> 2] | 0) >>> 0
- )
- break p;
- Ab = ((c[Ib >> 2] | 0) >>> 0 > 0) & 1;
- tb = Rk(c[Bb >> 2] | 0) | 0;
- if (
- !(
- Ab &
- ((tb | 0) ==
- (Rk(
- ((c[Bb >> 2] | 0) +
- (0 - (c[Ib >> 2] | 0))) |
- 0
- ) |
- 0))
- )
- )
- break p;
- c[Xb >> 2] =
- (cn(
- ((c[Bb >> 2] | 0) + 4) | 0,
- ((c[Bb >> 2] | 0) +
- 4 +
- (0 - (c[Ib >> 2] | 0))) |
- 0,
- c[Fb >> 2] | 0
- ) |
- 0) +
- 4;
- c[Yb >> 2] = c[Ib >> 2];
- c[Ib >> 2] = c[Hb >> 2];
- c[Hb >> 2] = c[Yb >> 2];
- tb = ((c[Bb >> 2] | 0) - (c[zb >> 2] | 0)) | 0;
- Ab = c[xb >> 2] | 0;
- c[
- (Ab +
- ((Dk(
- c[Bb >> 2] | 0,
- c[yb >> 2] | 0,
- c[ub >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = tb;
- tb = ((c[Bb >> 2] | 0) - (c[zb >> 2] | 0)) | 0;
- Ab = c[vb >> 2] | 0;
- c[
- (Ab +
- ((Dk(c[Bb >> 2] | 0, c[wb >> 2] | 0, 8) |
- 0) <<
- 2)) >>
- 2
- ] = tb;
- $m(
- c[pb >> 2] | 0,
- 0,
- c[Cb >> 2] | 0,
- 0,
- ((c[Xb >> 2] | 0) - 3) | 0
- );
- c[Bb >> 2] = (c[Bb >> 2] | 0) + (c[Xb >> 2] | 0);
- c[Cb >> 2] = c[Bb >> 2];
- }
- }
- } while (0);
- }
- c[c[qb >> 2] >> 2] =
- c[Hb >> 2] | 0 ? c[Hb >> 2] | 0 : c[Jb >> 2] | 0;
- c[((c[qb >> 2] | 0) + 4) >> 2] =
- c[Ib >> 2] | 0 ? c[Ib >> 2] | 0 : c[Jb >> 2] | 0;
- c[Zb >> 2] = (c[Fb >> 2] | 0) - (c[Cb >> 2] | 0);
- gc = c[Zb >> 2] | 0;
- l = i;
- return gc | 0;
- }
- }
- return 0;
- }
- function jm(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0,
- Kc = 0,
- Lc = 0,
- Mc = 0,
- Nc = 0,
- Oc = 0,
- Pc = 0,
- Qc = 0,
- Rc = 0,
- Sc = 0,
- Tc = 0,
- Uc = 0,
- Vc = 0,
- Wc = 0,
- Xc = 0,
- Yc = 0,
- Zc = 0,
- _c = 0,
- $c = 0,
- ad = 0,
- bd = 0,
- cd = 0,
- dd = 0,
- ed = 0,
- fd = 0,
- gd = 0,
- hd = 0,
- id = 0,
- jd = 0,
- kd = 0,
- ld = 0,
- md = 0,
- nd = 0,
- od = 0,
- pd = 0,
- qd = 0,
- rd = 0,
- sd = 0,
- td = 0,
- ud = 0,
- vd = 0,
- wd = 0,
- xd = 0,
- yd = 0,
- zd = 0,
- Ad = 0,
- Bd = 0,
- Cd = 0,
- Dd = 0,
- Ed = 0,
- Fd = 0,
- Gd = 0,
- Hd = 0,
- Id = 0,
- Jd = 0,
- Kd = 0,
- Ld = 0,
- Md = 0,
- Nd = 0,
- Od = 0,
- Pd = 0,
- Qd = 0,
- Rd = 0,
- Sd = 0,
- Td = 0,
- Ud = 0,
- Vd = 0,
- Wd = 0,
- Xd = 0,
- Yd = 0,
- Zd = 0,
- _d = 0,
- $d = 0,
- ae = 0,
- be = 0,
- ce = 0,
- de = 0,
- ee = 0,
- fe = 0,
- ge = 0,
- he = 0,
- ie = 0,
- je = 0,
- ke = 0,
- le = 0,
- me = 0,
- ne = 0,
- oe = 0,
- pe = 0,
- qe = 0,
- re = 0,
- se = 0,
- te = 0,
- ue = 0,
- ve = 0,
- we = 0,
- xe = 0,
- ye = 0,
- ze = 0,
- Ae = 0,
- Be = 0,
- Ce = 0,
- De = 0,
- Ee = 0,
- Fe = 0,
- Ge = 0,
- He = 0,
- Ie = 0,
- Je = 0,
- Ke = 0,
- Le = 0,
- Me = 0,
- Ne = 0,
- Oe = 0,
- Pe = 0,
- Qe = 0,
- Re = 0,
- Se = 0,
- Te = 0,
- Ue = 0,
- Ve = 0,
- We = 0,
- Xe = 0,
- Ye = 0,
- Ze = 0,
- _e = 0,
- $e = 0,
- af = 0,
- bf = 0,
- cf = 0,
- df = 0,
- ef = 0,
- ff = 0,
- gf = 0,
- hf = 0,
- jf = 0,
- kf = 0,
- lf = 0,
- mf = 0,
- nf = 0,
- of = 0,
- pf = 0,
- qf = 0,
- rf = 0,
- sf = 0,
- tf = 0,
- uf = 0,
- vf = 0,
- wf = 0,
- xf = 0,
- yf = 0,
- zf = 0,
- Af = 0,
- Bf = 0,
- Cf = 0,
- Df = 0,
- Ef = 0,
- Ff = 0,
- Gf = 0,
- Hf = 0,
- If = 0,
- Jf = 0,
- Kf = 0,
- Lf = 0,
- Mf = 0,
- Nf = 0,
- Of = 0,
- Pf = 0,
- Qf = 0,
- Rf = 0,
- Sf = 0,
- Tf = 0,
- Uf = 0,
- Vf = 0,
- Wf = 0,
- Xf = 0,
- Yf = 0,
- Zf = 0,
- _f = 0,
- $f = 0,
- ag = 0,
- bg = 0,
- cg = 0,
- dg = 0,
- eg = 0,
- fg = 0,
- gg = 0,
- hg = 0,
- ig = 0,
- jg = 0,
- kg = 0,
- lg = 0,
- mg = 0,
- ng = 0,
- og = 0,
- pg = 0,
- qg = 0,
- rg = 0,
- sg = 0,
- tg = 0,
- ug = 0,
- vg = 0,
- wg = 0,
- xg = 0,
- yg = 0,
- zg = 0,
- Ag = 0,
- Bg = 0,
- Cg = 0,
- Dg = 0,
- Eg = 0,
- Fg = 0,
- Gg = 0,
- Hg = 0,
- Ig = 0,
- Jg = 0,
- Kg = 0,
- Lg = 0,
- Mg = 0,
- Ng = 0,
- Og = 0,
- Pg = 0,
- Qg = 0,
- Rg = 0,
- Sg = 0,
- Tg = 0,
- Ug = 0,
- Vg = 0,
- Wg = 0,
- Xg = 0,
- Yg = 0,
- Zg = 0,
- _g = 0,
- $g = 0,
- ah = 0,
- bh = 0,
- ch = 0,
- dh = 0,
- eh = 0,
- fh = 0,
- gh = 0,
- hh = 0,
- ih = 0,
- jh = 0,
- kh = 0,
- lh = 0,
- mh = 0,
- nh = 0,
- oh = 0,
- ph = 0,
- qh = 0,
- rh = 0,
- sh = 0,
- th = 0,
- uh = 0,
- vh = 0,
- wh = 0,
- xh = 0,
- yh = 0,
- zh = 0,
- Ah = 0,
- Bh = 0,
- Ch = 0,
- Dh = 0,
- Eh = 0,
- Fh = 0,
- Gh = 0,
- Hh = 0,
- Ih = 0,
- Jh = 0,
- Kh = 0,
- Lh = 0,
- Mh = 0,
- Nh = 0,
- Oh = 0,
- Ph = 0,
- Qh = 0,
- Rh = 0,
- Sh = 0,
- Th = 0,
- Uh = 0,
- Vh = 0,
- Wh = 0,
- Xh = 0,
- Yh = 0,
- Zh = 0,
- _h = 0,
- $h = 0,
- ai = 0,
- bi = 0,
- ci = 0,
- di = 0,
- ei = 0,
- fi = 0,
- gi = 0,
- hi = 0,
- ii = 0,
- ji = 0,
- ki = 0,
- li = 0,
- mi = 0,
- ni = 0,
- oi = 0,
- pi = 0,
- qi = 0,
- ri = 0,
- si = 0,
- ti = 0,
- ui = 0,
- vi = 0,
- wi = 0,
- xi = 0,
- yi = 0,
- zi = 0,
- Ai = 0,
- Bi = 0,
- Ci = 0,
- Di = 0,
- Ei = 0,
- Fi = 0,
- Gi = 0,
- Hi = 0,
- Ii = 0,
- Ji = 0,
- Ki = 0,
- Li = 0,
- Mi = 0,
- Ni = 0,
- Oi = 0,
- Pi = 0,
- Qi = 0,
- Ri = 0,
- Si = 0,
- Ti = 0,
- Ui = 0,
- Vi = 0,
- Wi = 0,
- Xi = 0,
- Yi = 0,
- Zi = 0,
- _i = 0,
- $i = 0,
- aj = 0,
- bj = 0,
- cj = 0,
- dj = 0,
- ej = 0,
- fj = 0,
- gj = 0,
- hj = 0,
- ij = 0,
- jj = 0,
- kj = 0,
- lj = 0,
- mj = 0,
- nj = 0,
- oj = 0,
- pj = 0,
- qj = 0,
- rj = 0,
- sj = 0,
- tj = 0,
- uj = 0,
- vj = 0,
- wj = 0,
- xj = 0,
- yj = 0,
- zj = 0,
- Aj = 0,
- Bj = 0,
- Cj = 0,
- Dj = 0,
- Ej = 0;
- i = l;
- l = (l + 2144) | 0;
- j = (i + 2136) | 0;
- k = (i + 2132) | 0;
- m = (i + 2128) | 0;
- n = (i + 2124) | 0;
- o = (i + 2120) | 0;
- p = (i + 2116) | 0;
- q = (i + 2112) | 0;
- r = (i + 2108) | 0;
- s = (i + 2104) | 0;
- t = (i + 2100) | 0;
- u = (i + 2096) | 0;
- v = (i + 2092) | 0;
- w = (i + 2088) | 0;
- x = (i + 2084) | 0;
- y = (i + 2080) | 0;
- z = (i + 2076) | 0;
- A = (i + 2072) | 0;
- B = (i + 2068) | 0;
- C = (i + 2064) | 0;
- D = (i + 2060) | 0;
- E = (i + 2056) | 0;
- F = (i + 2052) | 0;
- G = (i + 2048) | 0;
- H = (i + 2044) | 0;
- I = (i + 2040) | 0;
- J = (i + 2036) | 0;
- K = (i + 2032) | 0;
- L = (i + 2028) | 0;
- M = (i + 2024) | 0;
- N = (i + 2020) | 0;
- O = (i + 2016) | 0;
- P = (i + 2012) | 0;
- Q = (i + 2008) | 0;
- R = (i + 2004) | 0;
- S = (i + 2e3) | 0;
- T = (i + 1996) | 0;
- U = (i + 1992) | 0;
- V = (i + 1988) | 0;
- W = (i + 1984) | 0;
- X = (i + 1980) | 0;
- Y = (i + 1976) | 0;
- Z = (i + 1972) | 0;
- _ = (i + 1968) | 0;
- $ = (i + 1964) | 0;
- aa = (i + 1960) | 0;
- ba = (i + 1956) | 0;
- ca = (i + 1952) | 0;
- da = (i + 1948) | 0;
- ea = (i + 1944) | 0;
- fa = (i + 1940) | 0;
- ga = (i + 1936) | 0;
- ha = (i + 1932) | 0;
- ia = (i + 1928) | 0;
- ja = (i + 1924) | 0;
- ka = (i + 1920) | 0;
- la = (i + 1916) | 0;
- ma = (i + 1912) | 0;
- na = (i + 1908) | 0;
- oa = (i + 1904) | 0;
- pa = (i + 1900) | 0;
- qa = (i + 1896) | 0;
- ra = (i + 1892) | 0;
- sa = (i + 1888) | 0;
- ta = (i + 1884) | 0;
- ua = (i + 1880) | 0;
- va = (i + 1876) | 0;
- wa = (i + 1872) | 0;
- xa = (i + 1868) | 0;
- ya = (i + 1864) | 0;
- za = (i + 1860) | 0;
- Aa = (i + 1856) | 0;
- Ba = (i + 1852) | 0;
- Ca = (i + 1848) | 0;
- Da = (i + 1844) | 0;
- Ea = (i + 1840) | 0;
- Fa = (i + 1836) | 0;
- Ga = (i + 1832) | 0;
- Ha = (i + 1828) | 0;
- Ia = (i + 1824) | 0;
- Ja = (i + 1820) | 0;
- Ka = (i + 1816) | 0;
- La = (i + 1812) | 0;
- Ma = (i + 1808) | 0;
- Na = (i + 1804) | 0;
- Oa = (i + 1800) | 0;
- Pa = (i + 1796) | 0;
- Qa = (i + 1792) | 0;
- Ra = (i + 1788) | 0;
- Sa = (i + 1784) | 0;
- Ta = (i + 1780) | 0;
- Ua = (i + 1776) | 0;
- Va = (i + 1772) | 0;
- Wa = (i + 1768) | 0;
- Xa = (i + 1764) | 0;
- Ya = (i + 1760) | 0;
- Za = (i + 1756) | 0;
- _a = (i + 1752) | 0;
- $a = (i + 1748) | 0;
- ab = (i + 1744) | 0;
- bb = (i + 1740) | 0;
- cb = (i + 1736) | 0;
- db = (i + 1732) | 0;
- eb = (i + 1728) | 0;
- fb = (i + 1724) | 0;
- gb = (i + 1720) | 0;
- hb = (i + 1716) | 0;
- ib = (i + 1712) | 0;
- jb = (i + 1708) | 0;
- kb = (i + 1704) | 0;
- lb = (i + 1700) | 0;
- mb = (i + 1696) | 0;
- nb = (i + 1692) | 0;
- ob = (i + 1688) | 0;
- pb = (i + 1684) | 0;
- qb = (i + 1680) | 0;
- rb = (i + 1676) | 0;
- sb = (i + 1672) | 0;
- tb = (i + 1668) | 0;
- ub = (i + 1664) | 0;
- vb = (i + 1660) | 0;
- wb = (i + 1656) | 0;
- xb = (i + 1652) | 0;
- yb = (i + 1648) | 0;
- zb = (i + 1644) | 0;
- Ab = (i + 1640) | 0;
- Bb = (i + 1636) | 0;
- Cb = (i + 1632) | 0;
- Db = (i + 1628) | 0;
- Eb = (i + 1624) | 0;
- Fb = (i + 1620) | 0;
- Gb = (i + 1616) | 0;
- Hb = (i + 1612) | 0;
- Ib = (i + 1608) | 0;
- Jb = (i + 1604) | 0;
- Kb = (i + 1600) | 0;
- Lb = (i + 1596) | 0;
- Mb = (i + 1592) | 0;
- Nb = (i + 1588) | 0;
- Ob = (i + 1584) | 0;
- Pb = (i + 1580) | 0;
- Qb = (i + 1576) | 0;
- Rb = (i + 1572) | 0;
- Sb = (i + 1568) | 0;
- Tb = (i + 1564) | 0;
- Ub = (i + 1560) | 0;
- Vb = (i + 1556) | 0;
- Wb = (i + 1552) | 0;
- Xb = (i + 1548) | 0;
- Yb = (i + 1544) | 0;
- Zb = (i + 1540) | 0;
- _b = (i + 1536) | 0;
- $b = (i + 1532) | 0;
- ac = (i + 1528) | 0;
- bc = (i + 1524) | 0;
- cc = (i + 1520) | 0;
- dc = (i + 1516) | 0;
- ec = (i + 1512) | 0;
- fc = (i + 1508) | 0;
- gc = (i + 1504) | 0;
- hc = (i + 1500) | 0;
- ic = (i + 1496) | 0;
- jc = (i + 1492) | 0;
- kc = (i + 1488) | 0;
- lc = (i + 1484) | 0;
- mc = (i + 1480) | 0;
- nc = (i + 1476) | 0;
- oc = (i + 1472) | 0;
- pc = (i + 1468) | 0;
- qc = (i + 1464) | 0;
- rc = (i + 1460) | 0;
- sc = (i + 1456) | 0;
- tc = (i + 1452) | 0;
- uc = (i + 1448) | 0;
- vc = (i + 1444) | 0;
- wc = (i + 1440) | 0;
- xc = (i + 1436) | 0;
- yc = (i + 1432) | 0;
- zc = (i + 1428) | 0;
- Ac = (i + 1424) | 0;
- Bc = (i + 1420) | 0;
- Cc = (i + 1416) | 0;
- Dc = (i + 1412) | 0;
- Ec = (i + 1408) | 0;
- Fc = (i + 1404) | 0;
- Gc = (i + 1400) | 0;
- Hc = (i + 1396) | 0;
- Ic = (i + 1392) | 0;
- Jc = (i + 1388) | 0;
- Kc = (i + 1384) | 0;
- Lc = (i + 1380) | 0;
- Mc = (i + 1376) | 0;
- Nc = (i + 1372) | 0;
- Oc = (i + 1368) | 0;
- Pc = (i + 1364) | 0;
- Qc = (i + 1360) | 0;
- Rc = (i + 1356) | 0;
- Sc = (i + 1352) | 0;
- Tc = (i + 1348) | 0;
- Uc = (i + 1344) | 0;
- Vc = (i + 1340) | 0;
- Wc = (i + 1336) | 0;
- Xc = (i + 1332) | 0;
- Yc = (i + 1328) | 0;
- Zc = (i + 1324) | 0;
- _c = (i + 1320) | 0;
- $c = (i + 1316) | 0;
- ad = (i + 1312) | 0;
- bd = (i + 1308) | 0;
- cd = (i + 1304) | 0;
- dd = (i + 1300) | 0;
- ed = (i + 1296) | 0;
- fd = (i + 1292) | 0;
- gd = (i + 1288) | 0;
- hd = (i + 1284) | 0;
- id = (i + 1280) | 0;
- jd = (i + 1276) | 0;
- kd = (i + 1272) | 0;
- ld = (i + 1268) | 0;
- md = (i + 1264) | 0;
- nd = (i + 1260) | 0;
- od = (i + 1256) | 0;
- pd = (i + 1252) | 0;
- qd = (i + 1248) | 0;
- rd = (i + 1244) | 0;
- sd = (i + 1240) | 0;
- td = (i + 1236) | 0;
- ud = (i + 1232) | 0;
- vd = (i + 1228) | 0;
- wd = (i + 1224) | 0;
- xd = (i + 1220) | 0;
- yd = (i + 1216) | 0;
- zd = (i + 1212) | 0;
- Ad = (i + 1208) | 0;
- Bd = (i + 1204) | 0;
- Cd = (i + 1200) | 0;
- Dd = (i + 1196) | 0;
- Ed = (i + 1192) | 0;
- Fd = (i + 1188) | 0;
- Gd = (i + 1184) | 0;
- Hd = (i + 1180) | 0;
- Id = (i + 1176) | 0;
- Jd = (i + 1172) | 0;
- Kd = (i + 1168) | 0;
- Ld = (i + 1164) | 0;
- Md = (i + 1160) | 0;
- Nd = (i + 1156) | 0;
- Od = (i + 1152) | 0;
- Pd = (i + 1148) | 0;
- Qd = (i + 1144) | 0;
- Rd = (i + 1140) | 0;
- Sd = (i + 1136) | 0;
- Td = (i + 1132) | 0;
- Ud = (i + 1128) | 0;
- Vd = (i + 1124) | 0;
- Wd = (i + 1120) | 0;
- Xd = (i + 1116) | 0;
- Yd = (i + 1112) | 0;
- Zd = (i + 1108) | 0;
- _d = (i + 1104) | 0;
- $d = (i + 1100) | 0;
- ae = (i + 1096) | 0;
- be = (i + 1092) | 0;
- ce = (i + 1088) | 0;
- de = (i + 1084) | 0;
- ee = (i + 1080) | 0;
- fe = (i + 1076) | 0;
- ge = (i + 1072) | 0;
- he = (i + 1068) | 0;
- ie = (i + 1064) | 0;
- je = (i + 1060) | 0;
- ke = (i + 1056) | 0;
- le = (i + 1052) | 0;
- me = (i + 1048) | 0;
- ne = (i + 1044) | 0;
- oe = (i + 1040) | 0;
- pe = (i + 1036) | 0;
- qe = (i + 1032) | 0;
- re = (i + 1028) | 0;
- se = (i + 1024) | 0;
- te = (i + 1020) | 0;
- ue = (i + 1016) | 0;
- ve = (i + 1012) | 0;
- we = (i + 1008) | 0;
- xe = (i + 1004) | 0;
- ye = (i + 1e3) | 0;
- ze = (i + 996) | 0;
- Ae = (i + 992) | 0;
- Be = (i + 988) | 0;
- Ce = (i + 984) | 0;
- De = (i + 980) | 0;
- Ee = (i + 976) | 0;
- Fe = (i + 972) | 0;
- Ge = (i + 968) | 0;
- He = (i + 964) | 0;
- Ie = (i + 960) | 0;
- Je = (i + 956) | 0;
- Ke = (i + 952) | 0;
- Le = (i + 948) | 0;
- Me = (i + 944) | 0;
- Ne = (i + 940) | 0;
- Oe = (i + 936) | 0;
- Pe = (i + 932) | 0;
- Qe = (i + 928) | 0;
- Re = (i + 924) | 0;
- Se = (i + 920) | 0;
- Te = (i + 916) | 0;
- Ue = (i + 912) | 0;
- Ve = (i + 908) | 0;
- We = (i + 904) | 0;
- Xe = (i + 900) | 0;
- Ye = (i + 896) | 0;
- Ze = (i + 892) | 0;
- _e = (i + 888) | 0;
- $e = (i + 884) | 0;
- af = (i + 880) | 0;
- bf = (i + 876) | 0;
- cf = (i + 872) | 0;
- df = (i + 868) | 0;
- ef = (i + 864) | 0;
- ff = (i + 860) | 0;
- gf = (i + 856) | 0;
- hf = (i + 852) | 0;
- jf = (i + 848) | 0;
- kf = (i + 844) | 0;
- lf = (i + 840) | 0;
- mf = (i + 836) | 0;
- nf = (i + 832) | 0;
- of = (i + 828) | 0;
- pf = (i + 824) | 0;
- qf = (i + 820) | 0;
- rf = (i + 816) | 0;
- sf = (i + 812) | 0;
- tf = (i + 808) | 0;
- uf = (i + 804) | 0;
- vf = (i + 800) | 0;
- wf = (i + 796) | 0;
- xf = (i + 792) | 0;
- yf = (i + 788) | 0;
- zf = (i + 784) | 0;
- Af = (i + 780) | 0;
- Bf = (i + 776) | 0;
- Cf = (i + 772) | 0;
- Df = (i + 768) | 0;
- Ef = (i + 764) | 0;
- Ff = (i + 760) | 0;
- Gf = (i + 756) | 0;
- Hf = (i + 752) | 0;
- If = (i + 748) | 0;
- Jf = (i + 744) | 0;
- Kf = (i + 740) | 0;
- Lf = (i + 736) | 0;
- Mf = (i + 732) | 0;
- Nf = (i + 728) | 0;
- Of = (i + 724) | 0;
- Pf = (i + 720) | 0;
- Qf = (i + 716) | 0;
- Rf = (i + 712) | 0;
- Sf = (i + 708) | 0;
- Tf = (i + 704) | 0;
- Uf = (i + 700) | 0;
- Vf = (i + 696) | 0;
- Wf = (i + 692) | 0;
- Xf = (i + 688) | 0;
- Yf = (i + 684) | 0;
- Zf = (i + 680) | 0;
- _f = (i + 676) | 0;
- $f = (i + 672) | 0;
- ag = (i + 668) | 0;
- bg = (i + 664) | 0;
- cg = (i + 660) | 0;
- dg = (i + 656) | 0;
- eg = (i + 652) | 0;
- fg = (i + 648) | 0;
- gg = (i + 644) | 0;
- hg = (i + 640) | 0;
- ig = (i + 636) | 0;
- jg = (i + 632) | 0;
- kg = (i + 628) | 0;
- lg = (i + 624) | 0;
- mg = (i + 620) | 0;
- ng = (i + 616) | 0;
- og = (i + 612) | 0;
- pg = (i + 608) | 0;
- qg = (i + 604) | 0;
- rg = (i + 600) | 0;
- sg = (i + 596) | 0;
- tg = (i + 592) | 0;
- ug = (i + 588) | 0;
- vg = (i + 584) | 0;
- wg = (i + 580) | 0;
- xg = (i + 576) | 0;
- yg = (i + 572) | 0;
- zg = (i + 568) | 0;
- Ag = (i + 564) | 0;
- Bg = (i + 560) | 0;
- Cg = (i + 556) | 0;
- Dg = (i + 552) | 0;
- Eg = (i + 548) | 0;
- Fg = (i + 544) | 0;
- Gg = (i + 540) | 0;
- Hg = (i + 536) | 0;
- Ig = (i + 532) | 0;
- Jg = (i + 528) | 0;
- Kg = (i + 524) | 0;
- Lg = (i + 520) | 0;
- Mg = (i + 516) | 0;
- Ng = (i + 512) | 0;
- Og = (i + 508) | 0;
- Pg = (i + 504) | 0;
- Qg = (i + 500) | 0;
- Rg = (i + 496) | 0;
- Sg = (i + 492) | 0;
- Tg = (i + 488) | 0;
- Ug = (i + 484) | 0;
- Vg = (i + 480) | 0;
- Wg = (i + 476) | 0;
- Xg = (i + 472) | 0;
- Yg = (i + 468) | 0;
- Zg = (i + 464) | 0;
- _g = (i + 460) | 0;
- $g = (i + 456) | 0;
- ah = (i + 452) | 0;
- bh = (i + 448) | 0;
- ch = (i + 444) | 0;
- dh = (i + 440) | 0;
- eh = (i + 436) | 0;
- fh = (i + 432) | 0;
- gh = (i + 428) | 0;
- hh = (i + 424) | 0;
- ih = (i + 420) | 0;
- jh = (i + 416) | 0;
- kh = (i + 412) | 0;
- lh = (i + 408) | 0;
- mh = (i + 404) | 0;
- nh = (i + 400) | 0;
- oh = (i + 396) | 0;
- ph = (i + 392) | 0;
- qh = (i + 388) | 0;
- rh = (i + 384) | 0;
- sh = (i + 380) | 0;
- th = (i + 376) | 0;
- uh = (i + 372) | 0;
- vh = (i + 368) | 0;
- wh = (i + 364) | 0;
- xh = (i + 360) | 0;
- yh = (i + 356) | 0;
- zh = (i + 352) | 0;
- Ah = (i + 348) | 0;
- Bh = (i + 344) | 0;
- Ch = (i + 340) | 0;
- Dh = (i + 336) | 0;
- Eh = (i + 332) | 0;
- Fh = (i + 328) | 0;
- Gh = (i + 324) | 0;
- Hh = (i + 320) | 0;
- Ih = (i + 316) | 0;
- Jh = (i + 312) | 0;
- Kh = (i + 308) | 0;
- Lh = (i + 304) | 0;
- Mh = (i + 300) | 0;
- Nh = (i + 296) | 0;
- Oh = (i + 292) | 0;
- Ph = (i + 288) | 0;
- Qh = (i + 284) | 0;
- Rh = (i + 280) | 0;
- Sh = (i + 276) | 0;
- Th = (i + 272) | 0;
- Uh = (i + 268) | 0;
- Vh = (i + 264) | 0;
- Wh = (i + 260) | 0;
- Xh = (i + 256) | 0;
- Yh = (i + 252) | 0;
- Zh = (i + 248) | 0;
- _h = (i + 244) | 0;
- $h = (i + 240) | 0;
- ai = (i + 236) | 0;
- bi = (i + 232) | 0;
- ci = (i + 228) | 0;
- di = (i + 216) | 0;
- ei = (i + 212) | 0;
- fi = (i + 208) | 0;
- gi = (i + 204) | 0;
- hi = (i + 200) | 0;
- ii = (i + 196) | 0;
- ji = (i + 192) | 0;
- ki = (i + 188) | 0;
- li = (i + 184) | 0;
- mi = (i + 180) | 0;
- ni = (i + 176) | 0;
- oi = (i + 172) | 0;
- pi = (i + 168) | 0;
- qi = (i + 164) | 0;
- ri = (i + 160) | 0;
- si = (i + 148) | 0;
- ti = (i + 144) | 0;
- ui = (i + 140) | 0;
- vi = (i + 136) | 0;
- wi = (i + 132) | 0;
- xi = (i + 128) | 0;
- yi = (i + 124) | 0;
- zi = (i + 120) | 0;
- Ai = (i + 116) | 0;
- Bi = (i + 112) | 0;
- Ci = (i + 108) | 0;
- Di = (i + 104) | 0;
- Ei = (i + 100) | 0;
- Fi = (i + 88) | 0;
- Gi = (i + 84) | 0;
- Hi = (i + 80) | 0;
- Ii = (i + 76) | 0;
- Ji = (i + 72) | 0;
- Ki = (i + 68) | 0;
- Li = (i + 64) | 0;
- Mi = (i + 60) | 0;
- Ni = (i + 56) | 0;
- Oi = (i + 52) | 0;
- Pi = (i + 48) | 0;
- Qi = (i + 44) | 0;
- Ri = (i + 40) | 0;
- Si = (i + 36) | 0;
- Ti = (i + 32) | 0;
- Ui = (i + 28) | 0;
- Vi = (i + 24) | 0;
- Wi = (i + 20) | 0;
- Xi = (i + 16) | 0;
- Yi = (i + 12) | 0;
- Zi = (i + 8) | 0;
- _i = (i + 4) | 0;
- $i = i;
- c[Wi >> 2] = a;
- c[Xi >> 2] = b;
- c[Yi >> 2] = e;
- c[Zi >> 2] = f;
- c[_i >> 2] = g;
- c[$i >> 2] = h;
- h = c[Xi >> 2] | 0;
- Xi = c[Yi >> 2] | 0;
- Yi = c[Zi >> 2] | 0;
- Zi = c[_i >> 2] | 0;
- _i = c[$i >> 2] | 0;
- c[Lh >> 2] = c[Wi >> 2];
- c[Mh >> 2] = h;
- c[Nh >> 2] = Xi;
- c[Oh >> 2] = Yi;
- c[Ph >> 2] = Zi;
- c[Qh >> 2] = _i;
- c[Rh >> 2] = 0;
- c[Sh >> 2] = 1;
- c[Th >> 2] = (c[Lh >> 2] | 0) + 48;
- c[Uh >> 2] = c[Ph >> 2];
- c[Vh >> 2] = c[Uh >> 2];
- c[Wh >> 2] = c[Uh >> 2];
- c[Xh >> 2] = (c[Uh >> 2] | 0) + (c[Qh >> 2] | 0);
- c[Yh >> 2] = (c[Xh >> 2] | 0) + -8;
- c[Zh >> 2] = c[((c[Lh >> 2] | 0) + 4) >> 2];
- c[_h >> 2] =
- (c[Zh >> 2] | 0) + (c[((c[Lh >> 2] | 0) + 12) >> 2] | 0);
- if ((c[((c[Oh >> 2] | 0) + 20) >> 2] | 0) >>> 0 < 4095)
- aj = c[((c[Oh >> 2] | 0) + 20) >> 2] | 0;
- else aj = 4095;
- c[$h >> 2] = aj;
- c[ai >> 2] =
- (c[((c[Oh >> 2] | 0) + 16) >> 2] | 0) == 3 ? 3 : 4;
- c[bi >> 2] = c[((c[Th >> 2] | 0) + 20) >> 2];
- c[ci >> 2] = c[((c[Th >> 2] | 0) + 16) >> 2];
- c[((c[Lh >> 2] | 0) + 28) >> 2] =
- c[((c[Lh >> 2] | 0) + 24) >> 2];
- lm(c[Th >> 2] | 0, c[Ph >> 2] | 0, c[Qh >> 2] | 0);
- c[Vh >> 2] =
- (c[Vh >> 2] | 0) +
- (((c[Vh >> 2] | 0) == (c[_h >> 2] | 0)) & 1);
- c[di >> 2] = 0;
- c[(di + 4) >> 2] = 0;
- c[(di + 8) >> 2] = 0;
- while (1) {
- if ((c[Vh >> 2] | 0) >>> 0 >= (c[Yh >> 2] | 0) >>> 0) break;
- c[fi >> 2] = 0;
- c[ii >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
- c[ji >> 2] = (((c[ii >> 2] | 0) != 0) ^ 1) & 1;
- _h = c[Oh >> 2] | 0;
- Qh = c[Vh >> 2] | 0;
- Ph = c[Xh >> 2] | 0;
- aj = c[Sh >> 2] | 0;
- Zh = c[Nh >> 2] | 0;
- Uh = c[ji >> 2] | 0;
- _i = c[ci >> 2] | 0;
- Zi = c[ai >> 2] | 0;
- c[Bh >> 2] = c[Lh >> 2];
- c[Ch >> 2] = _h;
- c[Dh >> 2] = Qh;
- c[Eh >> 2] = Ph;
- c[Fh >> 2] = aj;
- c[Gh >> 2] = Zh;
- c[Hh >> 2] = Uh;
- c[Ih >> 2] = _i;
- c[Jh >> 2] = Zi;
- c[Kh >> 2] = c[((c[Ch >> 2] | 0) + 16) >> 2];
- a: do {
- if (
- (c[Dh >> 2] | 0) >>> 0 <
- (((c[((c[Bh >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[Bh >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Ah >> 2] = 0;
- else {
- Zi = c[Ch >> 2] | 0;
- _i = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- Zh = c[Kh >> 2] | 0;
- aj = c[Fh >> 2] | 0;
- c[rh >> 2] = c[Bh >> 2];
- c[sh >> 2] = Zi;
- c[th >> 2] = _i;
- c[uh >> 2] = Uh;
- c[vh >> 2] = Zh;
- c[wh >> 2] = aj;
- c[xh >> 2] = c[((c[rh >> 2] | 0) + 4) >> 2];
- c[yh >> 2] = (c[th >> 2] | 0) - (c[xh >> 2] | 0);
- c[zh >> 2] = c[((c[rh >> 2] | 0) + 24) >> 2];
- while (1) {
- if ((c[zh >> 2] | 0) >>> 0 >= (c[yh >> 2] | 0) >>> 0)
- break;
- aj =
- Rj(
- c[rh >> 2] | 0,
- c[sh >> 2] | 0,
- ((c[xh >> 2] | 0) + (c[zh >> 2] | 0)) | 0,
- c[uh >> 2] | 0,
- c[vh >> 2] | 0,
- c[wh >> 2] | 0
- ) | 0;
- c[zh >> 2] = (c[zh >> 2] | 0) + aj;
- }
- c[((c[rh >> 2] | 0) + 24) >> 2] = c[yh >> 2];
- switch (c[Kh >> 2] | 0) {
- case 3: {
- aj = c[Ch >> 2] | 0;
- Zh = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- _i = c[Fh >> 2] | 0;
- Zi = c[Gh >> 2] | 0;
- Ph = c[Hh >> 2] | 0;
- Qh = c[Ih >> 2] | 0;
- _h = c[Jh >> 2] | 0;
- c[wg >> 2] = c[Bh >> 2];
- c[xg >> 2] = aj;
- c[yg >> 2] = Zh;
- c[zg >> 2] = Uh;
- c[Ag >> 2] = _i;
- c[Bg >> 2] = Zi;
- c[Cg >> 2] = Ph;
- c[Dg >> 2] = Qh;
- c[Eg >> 2] = _h;
- c[Fg >> 2] = 3;
- if (
- (c[((c[xg >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- bj = c[((c[xg >> 2] | 0) + 20) >> 2] | 0;
- else bj = 4095;
- c[Gg >> 2] = bj;
- c[Hg >> 2] = c[((c[wg >> 2] | 0) + 4) >> 2];
- c[Ig >> 2] = (c[yg >> 2] | 0) - (c[Hg >> 2] | 0);
- c[Jg >> 2] = c[((c[xg >> 2] | 0) + 8) >> 2];
- c[Kg >> 2] = (c[Fg >> 2] | 0) == 3 ? 3 : 4;
- c[Lg >> 2] = c[((c[wg >> 2] | 0) + 36) >> 2];
- c[Mg >> 2] =
- Sj(
- c[yg >> 2] | 0,
- c[Jg >> 2] | 0,
- c[Fg >> 2] | 0
- ) | 0;
- c[Ng >> 2] =
- c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2];
- c[Og >> 2] = c[((c[wg >> 2] | 0) + 44) >> 2];
- c[Pg >> 2] =
- (c[((c[xg >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Qg >> 2] = (1 << c[Pg >> 2]) - 1;
- c[Rg >> 2] = 0;
- c[Sg >> 2] = 0;
- c[Tg >> 2] = c[((c[wg >> 2] | 0) + 8) >> 2];
- c[Ug >> 2] = c[((c[wg >> 2] | 0) + 12) >> 2];
- c[Vg >> 2] = (c[Tg >> 2] | 0) + (c[Ug >> 2] | 0);
- c[Wg >> 2] = (c[Hg >> 2] | 0) + (c[Ug >> 2] | 0);
- if (
- (c[Qg >> 2] | 0) >>> 0 >=
- (c[Ig >> 2] | 0) >>> 0
- )
- cj = 0;
- else cj = ((c[Ig >> 2] | 0) - (c[Qg >> 2] | 0)) | 0;
- c[Xg >> 2] = cj;
- c[Yg >> 2] = c[((c[wg >> 2] | 0) + 16) >> 2];
- c[Zg >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2);
- c[_g >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2) +
- 4;
- c[$g >> 2] = (c[Ig >> 2] | 0) + 8 + 1;
- c[bh >> 2] = 0;
- c[ch >> 2] = 1 << c[((c[xg >> 2] | 0) + 12) >> 2];
- c[dh >> 2] = (c[Eg >> 2] | 0) - 1;
- c[eh >> 2] = 3 + (c[Cg >> 2] | 0);
- c[fh >> 2] = c[Cg >> 2];
- while (1) {
- if (
- (c[fh >> 2] | 0) >>> 0 >=
- (c[eh >> 2] | 0) >>> 0
- ) {
- dj = 31;
- break;
- }
- _h = c[Bg >> 2] | 0;
- if ((c[fh >> 2] | 0) == 3)
- ej = ((c[_h >> 2] | 0) - 1) | 0;
- else ej = c[(_h + (c[fh >> 2] << 2)) >> 2] | 0;
- c[gh >> 2] = ej;
- c[hh >> 2] = (c[Ig >> 2] | 0) - (c[gh >> 2] | 0);
- c[ih >> 2] = 0;
- if (
- (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ig >> 2] | 0) - (c[Ug >> 2] | 0)) | 0) >>>
- 0
- ) {
- _h = mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0;
- if (
- (_h | 0) ==
- (mm(
- ((c[yg >> 2] | 0) +
- (0 - (c[gh >> 2] | 0))) |
- 0,
- c[Kg >> 2] | 0
- ) |
- 0)
- ) {
- _h =
- Tj(
- ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- ((c[yg >> 2] | 0) +
- (c[Kg >> 2] | 0) +
- (0 - (c[gh >> 2] | 0))) |
- 0,
- c[zg >> 2] | 0
- ) | 0;
- c[ih >> 2] = _h + (c[Kg >> 2] | 0);
- }
- } else {
- c[jh >> 2] =
- (c[Tg >> 2] | 0) + (c[hh >> 2] | 0);
- if (
- (
- c[Ag >> 2] | 0
- ? ((((c[Ug >> 2] | 0) -
- 1 -
- (c[hh >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ig >> 2] | 0) -
- (c[Yg >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((_h =
- mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0),
- (_h | 0) ==
- (mm(c[jh >> 2] | 0, c[Kg >> 2] | 0) |
- 0))
- : 0
- ) {
- _h =
- Uj(
- ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- ((c[jh >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- c[ih >> 2] = _h + (c[Kg >> 2] | 0);
- }
- }
- if (
- (c[ih >> 2] | 0) >>> 0 > (c[dh >> 2] | 0) >>> 0
- ? ((c[dh >> 2] = c[ih >> 2]),
- (c[
- ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
- 2
- ] = (c[fh >> 2] | 0) - (c[Cg >> 2] | 0)),
- (c[
- ((c[Dg >> 2] | 0) +
- (c[bh >> 2] << 3) +
- 4) >>
- 2
- ] = c[ih >> 2]),
- (c[bh >> 2] = (c[bh >> 2] | 0) + 1),
- ((c[ih >> 2] | 0) >>> 0 >
- (c[Gg >> 2] | 0) >>> 0
- ? 1
- : (((c[yg >> 2] | 0) + (c[ih >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 29;
- break;
- }
- c[fh >> 2] = (c[fh >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 29) {
- dj = 0;
- c[vg >> 2] = c[bh >> 2];
- } else if ((dj | 0) == 31) {
- dj = 0;
- if (
- (
- (c[Fg >> 2] | 0) == 3
- ? (c[dh >> 2] | 0) >>> 0 <
- (c[Fg >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[kh >> 2] =
- nm(c[wg >> 2] | 0, c[yg >> 2] | 0) | 0),
- ((c[kh >> 2] | 0) >>> 0 >
- (c[Yg >> 2] | 0) >>> 0
- ? (((c[Ig >> 2] | 0) -
- (c[kh >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ag >> 2] | 0
- ? (c[kh >> 2] | 0) >>> 0 <
- (c[Ug >> 2] | 0) >>> 0
- : 0
- ) {
- c[nh >> 2] =
- (c[Tg >> 2] | 0) + (c[kh >> 2] | 0);
- c[lh >> 2] =
- Uj(
- c[yg >> 2] | 0,
- c[nh >> 2] | 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- } else {
- c[mh >> 2] =
- (c[Hg >> 2] | 0) + (c[kh >> 2] | 0);
- c[lh >> 2] =
- Tj(
- c[yg >> 2] | 0,
- c[mh >> 2] | 0,
- c[zg >> 2] | 0
- ) | 0;
- }
- if (
- (c[lh >> 2] | 0) >>> 0 >=
- (c[Fg >> 2] | 0) >>> 0
- ? ((c[dh >> 2] = c[lh >> 2]),
- (c[c[Dg >> 2] >> 2] =
- (c[Ig >> 2] | 0) -
- (c[kh >> 2] | 0) +
- 2),
- (c[((c[Dg >> 2] | 0) + 4) >> 2] =
- c[lh >> 2]),
- (c[bh >> 2] = 1),
- ((c[lh >> 2] | 0) >>> 0 >
- (c[Gg >> 2] | 0) >>> 0
- ? 1
- : (((c[yg >> 2] | 0) +
- (c[lh >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[wg >> 2] | 0) + 24) >> 2] =
- (c[Ig >> 2] | 0) + 1;
- c[vg >> 2] = 1;
- break;
- }
- }
- c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2] =
- c[Ig >> 2];
- while (1) {
- _h = c[ch >> 2] | 0;
- c[ch >> 2] = _h + -1;
- if (!_h) break;
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Yg >> 2] | 0) >>> 0
- )
- break;
- c[oh >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ng >> 2] & c[Qg >> 2]) << 1) << 2);
- c[ph >> 2] =
- (c[Rg >> 2] | 0) >>> 0 <
- (c[Sg >> 2] | 0) >>> 0
- ? c[Rg >> 2] | 0
- : c[Sg >> 2] | 0;
- if (
- c[Ag >> 2] | 0
- ? (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Ug >> 2] | 0) >>> 0
- : 0
- ) {
- c[qh >> 2] =
- (c[Tg >> 2] | 0) + (c[Ng >> 2] | 0);
- _h =
- Uj(
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- c[ph >> 2] = (c[ph >> 2] | 0) + _h;
- if (
- (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Ug >> 2] | 0) >>> 0
- )
- c[qh >> 2] =
- (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
- } else {
- c[qh >> 2] =
- (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
- _h =
- Tj(
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- c[zg >> 2] | 0
- ) | 0;
- c[ph >> 2] = (c[ph >> 2] | 0) + _h;
- }
- if (
- (c[ph >> 2] | 0) >>> 0 >
- (c[dh >> 2] | 0) >>> 0
- ) {
- if (
- (c[ph >> 2] | 0) >>> 0 >
- (((c[$g >> 2] | 0) - (c[Ng >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[$g >> 2] =
- (c[Ng >> 2] | 0) + (c[ph >> 2] | 0);
- c[dh >> 2] = c[ph >> 2];
- c[
- ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
- 2
- ] = (c[Ig >> 2] | 0) - (c[Ng >> 2] | 0) + 2;
- c[
- ((c[Dg >> 2] | 0) +
- (c[bh >> 2] << 3) +
- 4) >>
- 2
- ] = c[ph >> 2];
- c[bh >> 2] = (c[bh >> 2] | 0) + 1;
- if ((c[ph >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)
- )
- break;
- }
- _h = c[Ng >> 2] | 0;
- if (
- (d[
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Zg >> 2] >> 2] = _h;
- c[Rg >> 2] = c[ph >> 2];
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Xg >> 2] | 0) >>> 0
- ) {
- dj = 56;
- break;
- }
- c[Zg >> 2] = (c[oh >> 2] | 0) + 4;
- c[Ng >> 2] = c[((c[oh >> 2] | 0) + 4) >> 2];
- } else {
- c[c[_g >> 2] >> 2] = _h;
- c[Sg >> 2] = c[ph >> 2];
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Xg >> 2] | 0) >>> 0
- ) {
- dj = 59;
- break;
- }
- c[_g >> 2] = c[oh >> 2];
- c[Ng >> 2] = c[c[oh >> 2] >> 2];
- }
- }
- if ((dj | 0) == 56) {
- dj = 0;
- c[Zg >> 2] = ah;
- } else if ((dj | 0) == 59) {
- dj = 0;
- c[_g >> 2] = ah;
- }
- c[c[_g >> 2] >> 2] = 0;
- c[c[Zg >> 2] >> 2] = 0;
- c[((c[wg >> 2] | 0) + 24) >> 2] =
- (c[$g >> 2] | 0) - 8;
- c[vg >> 2] = c[bh >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[vg >> 2];
- break a;
- break;
- }
- case 7:
- case 6: {
- _h = c[Ch >> 2] | 0;
- Qh = c[Dh >> 2] | 0;
- Ph = c[Eh >> 2] | 0;
- Zi = c[Fh >> 2] | 0;
- _i = c[Gh >> 2] | 0;
- Uh = c[Hh >> 2] | 0;
- Zh = c[Ih >> 2] | 0;
- aj = c[Jh >> 2] | 0;
- c[Hd >> 2] = c[Bh >> 2];
- c[Id >> 2] = _h;
- c[Jd >> 2] = Qh;
- c[Kd >> 2] = Ph;
- c[Ld >> 2] = Zi;
- c[Md >> 2] = _i;
- c[Nd >> 2] = Uh;
- c[Od >> 2] = Zh;
- c[Pd >> 2] = aj;
- c[Qd >> 2] = 6;
- if (
- (c[((c[Id >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- fj = c[((c[Id >> 2] | 0) + 20) >> 2] | 0;
- else fj = 4095;
- c[Rd >> 2] = fj;
- c[Sd >> 2] = c[((c[Hd >> 2] | 0) + 4) >> 2];
- c[Td >> 2] = (c[Jd >> 2] | 0) - (c[Sd >> 2] | 0);
- c[Ud >> 2] = c[((c[Id >> 2] | 0) + 8) >> 2];
- c[Vd >> 2] = (c[Qd >> 2] | 0) == 3 ? 3 : 4;
- c[Wd >> 2] = c[((c[Hd >> 2] | 0) + 36) >> 2];
- c[Xd >> 2] =
- Sj(
- c[Jd >> 2] | 0,
- c[Ud >> 2] | 0,
- c[Qd >> 2] | 0
- ) | 0;
- c[Yd >> 2] =
- c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2];
- c[Zd >> 2] = c[((c[Hd >> 2] | 0) + 44) >> 2];
- c[_d >> 2] =
- (c[((c[Id >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[$d >> 2] = (1 << c[_d >> 2]) - 1;
- c[ae >> 2] = 0;
- c[be >> 2] = 0;
- c[ce >> 2] = c[((c[Hd >> 2] | 0) + 8) >> 2];
- c[de >> 2] = c[((c[Hd >> 2] | 0) + 12) >> 2];
- c[ee >> 2] = (c[ce >> 2] | 0) + (c[de >> 2] | 0);
- c[fe >> 2] = (c[Sd >> 2] | 0) + (c[de >> 2] | 0);
- if (
- (c[$d >> 2] | 0) >>> 0 >=
- (c[Td >> 2] | 0) >>> 0
- )
- gj = 0;
- else gj = ((c[Td >> 2] | 0) - (c[$d >> 2] | 0)) | 0;
- c[ge >> 2] = gj;
- c[he >> 2] = c[((c[Hd >> 2] | 0) + 16) >> 2];
- c[ie >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Td >> 2] & c[$d >> 2]) << 1) << 2);
- c[je >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Td >> 2] & c[$d >> 2]) << 1) << 2) +
- 4;
- c[ke >> 2] = (c[Td >> 2] | 0) + 8 + 1;
- c[me >> 2] = 0;
- c[ne >> 2] = 1 << c[((c[Id >> 2] | 0) + 12) >> 2];
- c[oe >> 2] = (c[Pd >> 2] | 0) - 1;
- c[pe >> 2] = 3 + (c[Nd >> 2] | 0);
- c[qe >> 2] = c[Nd >> 2];
- while (1) {
- if (
- (c[qe >> 2] | 0) >>> 0 >=
- (c[pe >> 2] | 0) >>> 0
- ) {
- dj = 190;
- break;
- }
- aj = c[Md >> 2] | 0;
- if ((c[qe >> 2] | 0) == 3)
- hj = ((c[aj >> 2] | 0) - 1) | 0;
- else hj = c[(aj + (c[qe >> 2] << 2)) >> 2] | 0;
- c[re >> 2] = hj;
- c[se >> 2] = (c[Td >> 2] | 0) - (c[re >> 2] | 0);
- c[te >> 2] = 0;
- if (
- (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Td >> 2] | 0) - (c[de >> 2] | 0)) | 0) >>>
- 0
- ) {
- aj = mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0;
- if (
- (aj | 0) ==
- (mm(
- ((c[Jd >> 2] | 0) +
- (0 - (c[re >> 2] | 0))) |
- 0,
- c[Vd >> 2] | 0
- ) |
- 0)
- ) {
- aj =
- Tj(
- ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- ((c[Jd >> 2] | 0) +
- (c[Vd >> 2] | 0) +
- (0 - (c[re >> 2] | 0))) |
- 0,
- c[Kd >> 2] | 0
- ) | 0;
- c[te >> 2] = aj + (c[Vd >> 2] | 0);
- }
- } else {
- c[ue >> 2] =
- (c[ce >> 2] | 0) + (c[se >> 2] | 0);
- if (
- (
- c[Ld >> 2] | 0
- ? ((((c[de >> 2] | 0) -
- 1 -
- (c[se >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Td >> 2] | 0) -
- (c[he >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((aj =
- mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0),
- (aj | 0) ==
- (mm(c[ue >> 2] | 0, c[Vd >> 2] | 0) |
- 0))
- : 0
- ) {
- aj =
- Uj(
- ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- ((c[ue >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- c[te >> 2] = aj + (c[Vd >> 2] | 0);
- }
- }
- if (
- (c[te >> 2] | 0) >>> 0 > (c[oe >> 2] | 0) >>> 0
- ? ((c[oe >> 2] = c[te >> 2]),
- (c[
- ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
- 2
- ] = (c[qe >> 2] | 0) - (c[Nd >> 2] | 0)),
- (c[
- ((c[Od >> 2] | 0) +
- (c[me >> 2] << 3) +
- 4) >>
- 2
- ] = c[te >> 2]),
- (c[me >> 2] = (c[me >> 2] | 0) + 1),
- ((c[te >> 2] | 0) >>> 0 >
- (c[Rd >> 2] | 0) >>> 0
- ? 1
- : (((c[Jd >> 2] | 0) + (c[te >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 188;
- break;
- }
- c[qe >> 2] = (c[qe >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 188) {
- dj = 0;
- c[Gd >> 2] = c[me >> 2];
- } else if ((dj | 0) == 190) {
- dj = 0;
- if (
- (
- (c[Qd >> 2] | 0) == 3
- ? (c[oe >> 2] | 0) >>> 0 <
- (c[Qd >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[ve >> 2] =
- nm(c[Hd >> 2] | 0, c[Jd >> 2] | 0) | 0),
- ((c[ve >> 2] | 0) >>> 0 >
- (c[he >> 2] | 0) >>> 0
- ? (((c[Td >> 2] | 0) -
- (c[ve >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ld >> 2] | 0
- ? (c[ve >> 2] | 0) >>> 0 <
- (c[de >> 2] | 0) >>> 0
- : 0
- ) {
- c[ye >> 2] =
- (c[ce >> 2] | 0) + (c[ve >> 2] | 0);
- c[we >> 2] =
- Uj(
- c[Jd >> 2] | 0,
- c[ye >> 2] | 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- } else {
- c[xe >> 2] =
- (c[Sd >> 2] | 0) + (c[ve >> 2] | 0);
- c[we >> 2] =
- Tj(
- c[Jd >> 2] | 0,
- c[xe >> 2] | 0,
- c[Kd >> 2] | 0
- ) | 0;
- }
- if (
- (c[we >> 2] | 0) >>> 0 >=
- (c[Qd >> 2] | 0) >>> 0
- ? ((c[oe >> 2] = c[we >> 2]),
- (c[c[Od >> 2] >> 2] =
- (c[Td >> 2] | 0) -
- (c[ve >> 2] | 0) +
- 2),
- (c[((c[Od >> 2] | 0) + 4) >> 2] =
- c[we >> 2]),
- (c[me >> 2] = 1),
- ((c[we >> 2] | 0) >>> 0 >
- (c[Rd >> 2] | 0) >>> 0
- ? 1
- : (((c[Jd >> 2] | 0) +
- (c[we >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[Hd >> 2] | 0) + 24) >> 2] =
- (c[Td >> 2] | 0) + 1;
- c[Gd >> 2] = 1;
- break;
- }
- }
- c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2] =
- c[Td >> 2];
- while (1) {
- aj = c[ne >> 2] | 0;
- c[ne >> 2] = aj + -1;
- if (!aj) break;
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[he >> 2] | 0) >>> 0
- )
- break;
- c[ze >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Yd >> 2] & c[$d >> 2]) << 1) << 2);
- c[Ae >> 2] =
- (c[ae >> 2] | 0) >>> 0 <
- (c[be >> 2] | 0) >>> 0
- ? c[ae >> 2] | 0
- : c[be >> 2] | 0;
- if (
- c[Ld >> 2] | 0
- ? (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[de >> 2] | 0) >>> 0
- : 0
- ) {
- c[Be >> 2] =
- (c[ce >> 2] | 0) + (c[Yd >> 2] | 0);
- aj =
- Uj(
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
- if (
- (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[de >> 2] | 0) >>> 0
- )
- c[Be >> 2] =
- (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
- } else {
- c[Be >> 2] =
- (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
- aj =
- Tj(
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- c[Kd >> 2] | 0
- ) | 0;
- c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
- }
- if (
- (c[Ae >> 2] | 0) >>> 0 >
- (c[oe >> 2] | 0) >>> 0
- ) {
- if (
- (c[Ae >> 2] | 0) >>> 0 >
- (((c[ke >> 2] | 0) - (c[Yd >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[ke >> 2] =
- (c[Yd >> 2] | 0) + (c[Ae >> 2] | 0);
- c[oe >> 2] = c[Ae >> 2];
- c[
- ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
- 2
- ] = (c[Td >> 2] | 0) - (c[Yd >> 2] | 0) + 2;
- c[
- ((c[Od >> 2] | 0) +
- (c[me >> 2] << 3) +
- 4) >>
- 2
- ] = c[Ae >> 2];
- c[me >> 2] = (c[me >> 2] | 0) + 1;
- if ((c[Ae >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)
- )
- break;
- }
- aj = c[Yd >> 2] | 0;
- if (
- (d[
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[ie >> 2] >> 2] = aj;
- c[ae >> 2] = c[Ae >> 2];
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[ge >> 2] | 0) >>> 0
- ) {
- dj = 215;
- break;
- }
- c[ie >> 2] = (c[ze >> 2] | 0) + 4;
- c[Yd >> 2] = c[((c[ze >> 2] | 0) + 4) >> 2];
- } else {
- c[c[je >> 2] >> 2] = aj;
- c[be >> 2] = c[Ae >> 2];
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[ge >> 2] | 0) >>> 0
- ) {
- dj = 218;
- break;
- }
- c[je >> 2] = c[ze >> 2];
- c[Yd >> 2] = c[c[ze >> 2] >> 2];
- }
- }
- if ((dj | 0) == 215) {
- dj = 0;
- c[ie >> 2] = le;
- } else if ((dj | 0) == 218) {
- dj = 0;
- c[je >> 2] = le;
- }
- c[c[je >> 2] >> 2] = 0;
- c[c[ie >> 2] >> 2] = 0;
- c[((c[Hd >> 2] | 0) + 24) >> 2] =
- (c[ke >> 2] | 0) - 8;
- c[Gd >> 2] = c[me >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[Gd >> 2];
- break a;
- break;
- }
- case 5: {
- aj = c[Ch >> 2] | 0;
- Zh = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- _i = c[Fh >> 2] | 0;
- Zi = c[Gh >> 2] | 0;
- Ph = c[Hh >> 2] | 0;
- Qh = c[Ih >> 2] | 0;
- _h = c[Jh >> 2] | 0;
- c[De >> 2] = c[Bh >> 2];
- c[Ee >> 2] = aj;
- c[Fe >> 2] = Zh;
- c[Ge >> 2] = Uh;
- c[He >> 2] = _i;
- c[Ie >> 2] = Zi;
- c[Je >> 2] = Ph;
- c[Ke >> 2] = Qh;
- c[Le >> 2] = _h;
- c[Me >> 2] = 5;
- if (
- (c[((c[Ee >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- ij = c[((c[Ee >> 2] | 0) + 20) >> 2] | 0;
- else ij = 4095;
- c[Ne >> 2] = ij;
- c[Oe >> 2] = c[((c[De >> 2] | 0) + 4) >> 2];
- c[Pe >> 2] = (c[Fe >> 2] | 0) - (c[Oe >> 2] | 0);
- c[Qe >> 2] = c[((c[Ee >> 2] | 0) + 8) >> 2];
- c[Re >> 2] = (c[Me >> 2] | 0) == 3 ? 3 : 4;
- c[Se >> 2] = c[((c[De >> 2] | 0) + 36) >> 2];
- c[Te >> 2] =
- Sj(
- c[Fe >> 2] | 0,
- c[Qe >> 2] | 0,
- c[Me >> 2] | 0
- ) | 0;
- c[Ue >> 2] =
- c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2];
- c[Ve >> 2] = c[((c[De >> 2] | 0) + 44) >> 2];
- c[We >> 2] =
- (c[((c[Ee >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Xe >> 2] = (1 << c[We >> 2]) - 1;
- c[Ye >> 2] = 0;
- c[Ze >> 2] = 0;
- c[_e >> 2] = c[((c[De >> 2] | 0) + 8) >> 2];
- c[$e >> 2] = c[((c[De >> 2] | 0) + 12) >> 2];
- c[af >> 2] = (c[_e >> 2] | 0) + (c[$e >> 2] | 0);
- c[bf >> 2] = (c[Oe >> 2] | 0) + (c[$e >> 2] | 0);
- if (
- (c[Xe >> 2] | 0) >>> 0 >=
- (c[Pe >> 2] | 0) >>> 0
- )
- jj = 0;
- else jj = ((c[Pe >> 2] | 0) - (c[Xe >> 2] | 0)) | 0;
- c[cf >> 2] = jj;
- c[df >> 2] = c[((c[De >> 2] | 0) + 16) >> 2];
- c[ef >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2);
- c[ff >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2) +
- 4;
- c[gf >> 2] = (c[Pe >> 2] | 0) + 8 + 1;
- c[jf >> 2] = 0;
- c[kf >> 2] = 1 << c[((c[Ee >> 2] | 0) + 12) >> 2];
- c[lf >> 2] = (c[Le >> 2] | 0) - 1;
- c[mf >> 2] = 3 + (c[Je >> 2] | 0);
- c[nf >> 2] = c[Je >> 2];
- while (1) {
- if (
- (c[nf >> 2] | 0) >>> 0 >=
- (c[mf >> 2] | 0) >>> 0
- ) {
- dj = 137;
- break;
- }
- _h = c[Ie >> 2] | 0;
- if ((c[nf >> 2] | 0) == 3)
- kj = ((c[_h >> 2] | 0) - 1) | 0;
- else kj = c[(_h + (c[nf >> 2] << 2)) >> 2] | 0;
- c[of >> 2] = kj;
- c[pf >> 2] = (c[Pe >> 2] | 0) - (c[of >> 2] | 0);
- c[qf >> 2] = 0;
- if (
- (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Pe >> 2] | 0) - (c[$e >> 2] | 0)) | 0) >>>
- 0
- ) {
- _h = mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0;
- if (
- (_h | 0) ==
- (mm(
- ((c[Fe >> 2] | 0) +
- (0 - (c[of >> 2] | 0))) |
- 0,
- c[Re >> 2] | 0
- ) |
- 0)
- ) {
- _h =
- Tj(
- ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- ((c[Fe >> 2] | 0) +
- (c[Re >> 2] | 0) +
- (0 - (c[of >> 2] | 0))) |
- 0,
- c[Ge >> 2] | 0
- ) | 0;
- c[qf >> 2] = _h + (c[Re >> 2] | 0);
- }
- } else {
- c[rf >> 2] =
- (c[_e >> 2] | 0) + (c[pf >> 2] | 0);
- if (
- (
- c[He >> 2] | 0
- ? ((((c[$e >> 2] | 0) -
- 1 -
- (c[pf >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Pe >> 2] | 0) -
- (c[df >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((_h =
- mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0),
- (_h | 0) ==
- (mm(c[rf >> 2] | 0, c[Re >> 2] | 0) |
- 0))
- : 0
- ) {
- _h =
- Uj(
- ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- ((c[rf >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- c[qf >> 2] = _h + (c[Re >> 2] | 0);
- }
- }
- if (
- (c[qf >> 2] | 0) >>> 0 > (c[lf >> 2] | 0) >>> 0
- ? ((c[lf >> 2] = c[qf >> 2]),
- (c[
- ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
- 2
- ] = (c[nf >> 2] | 0) - (c[Je >> 2] | 0)),
- (c[
- ((c[Ke >> 2] | 0) +
- (c[jf >> 2] << 3) +
- 4) >>
- 2
- ] = c[qf >> 2]),
- (c[jf >> 2] = (c[jf >> 2] | 0) + 1),
- ((c[qf >> 2] | 0) >>> 0 >
- (c[Ne >> 2] | 0) >>> 0
- ? 1
- : (((c[Fe >> 2] | 0) + (c[qf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 135;
- break;
- }
- c[nf >> 2] = (c[nf >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 135) {
- dj = 0;
- c[Ce >> 2] = c[jf >> 2];
- } else if ((dj | 0) == 137) {
- dj = 0;
- if (
- (
- (c[Me >> 2] | 0) == 3
- ? (c[lf >> 2] | 0) >>> 0 <
- (c[Me >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[sf >> 2] =
- nm(c[De >> 2] | 0, c[Fe >> 2] | 0) | 0),
- ((c[sf >> 2] | 0) >>> 0 >
- (c[df >> 2] | 0) >>> 0
- ? (((c[Pe >> 2] | 0) -
- (c[sf >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[He >> 2] | 0
- ? (c[sf >> 2] | 0) >>> 0 <
- (c[$e >> 2] | 0) >>> 0
- : 0
- ) {
- c[vf >> 2] =
- (c[_e >> 2] | 0) + (c[sf >> 2] | 0);
- c[tf >> 2] =
- Uj(
- c[Fe >> 2] | 0,
- c[vf >> 2] | 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- } else {
- c[uf >> 2] =
- (c[Oe >> 2] | 0) + (c[sf >> 2] | 0);
- c[tf >> 2] =
- Tj(
- c[Fe >> 2] | 0,
- c[uf >> 2] | 0,
- c[Ge >> 2] | 0
- ) | 0;
- }
- if (
- (c[tf >> 2] | 0) >>> 0 >=
- (c[Me >> 2] | 0) >>> 0
- ? ((c[lf >> 2] = c[tf >> 2]),
- (c[c[Ke >> 2] >> 2] =
- (c[Pe >> 2] | 0) -
- (c[sf >> 2] | 0) +
- 2),
- (c[((c[Ke >> 2] | 0) + 4) >> 2] =
- c[tf >> 2]),
- (c[jf >> 2] = 1),
- ((c[tf >> 2] | 0) >>> 0 >
- (c[Ne >> 2] | 0) >>> 0
- ? 1
- : (((c[Fe >> 2] | 0) +
- (c[tf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[De >> 2] | 0) + 24) >> 2] =
- (c[Pe >> 2] | 0) + 1;
- c[Ce >> 2] = 1;
- break;
- }
- }
- c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2] =
- c[Pe >> 2];
- while (1) {
- _h = c[kf >> 2] | 0;
- c[kf >> 2] = _h + -1;
- if (!_h) break;
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[df >> 2] | 0) >>> 0
- )
- break;
- c[wf >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Ue >> 2] & c[Xe >> 2]) << 1) << 2);
- c[xf >> 2] =
- (c[Ye >> 2] | 0) >>> 0 <
- (c[Ze >> 2] | 0) >>> 0
- ? c[Ye >> 2] | 0
- : c[Ze >> 2] | 0;
- if (
- c[He >> 2] | 0
- ? (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[$e >> 2] | 0) >>> 0
- : 0
- ) {
- c[yf >> 2] =
- (c[_e >> 2] | 0) + (c[Ue >> 2] | 0);
- _h =
- Uj(
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- c[xf >> 2] = (c[xf >> 2] | 0) + _h;
- if (
- (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[$e >> 2] | 0) >>> 0
- )
- c[yf >> 2] =
- (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
- } else {
- c[yf >> 2] =
- (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
- _h =
- Tj(
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- c[Ge >> 2] | 0
- ) | 0;
- c[xf >> 2] = (c[xf >> 2] | 0) + _h;
- }
- if (
- (c[xf >> 2] | 0) >>> 0 >
- (c[lf >> 2] | 0) >>> 0
- ) {
- if (
- (c[xf >> 2] | 0) >>> 0 >
- (((c[gf >> 2] | 0) - (c[Ue >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[gf >> 2] =
- (c[Ue >> 2] | 0) + (c[xf >> 2] | 0);
- c[lf >> 2] = c[xf >> 2];
- c[
- ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
- 2
- ] = (c[Pe >> 2] | 0) - (c[Ue >> 2] | 0) + 2;
- c[
- ((c[Ke >> 2] | 0) +
- (c[jf >> 2] << 3) +
- 4) >>
- 2
- ] = c[xf >> 2];
- c[jf >> 2] = (c[jf >> 2] | 0) + 1;
- if ((c[xf >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)
- )
- break;
- }
- _h = c[Ue >> 2] | 0;
- if (
- (d[
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[ef >> 2] >> 2] = _h;
- c[Ye >> 2] = c[xf >> 2];
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[cf >> 2] | 0) >>> 0
- ) {
- dj = 162;
- break;
- }
- c[ef >> 2] = (c[wf >> 2] | 0) + 4;
- c[Ue >> 2] = c[((c[wf >> 2] | 0) + 4) >> 2];
- } else {
- c[c[ff >> 2] >> 2] = _h;
- c[Ze >> 2] = c[xf >> 2];
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[cf >> 2] | 0) >>> 0
- ) {
- dj = 165;
- break;
- }
- c[ff >> 2] = c[wf >> 2];
- c[Ue >> 2] = c[c[wf >> 2] >> 2];
- }
- }
- if ((dj | 0) == 162) {
- dj = 0;
- c[ef >> 2] = hf;
- } else if ((dj | 0) == 165) {
- dj = 0;
- c[ff >> 2] = hf;
- }
- c[c[ff >> 2] >> 2] = 0;
- c[c[ef >> 2] >> 2] = 0;
- c[((c[De >> 2] | 0) + 24) >> 2] =
- (c[gf >> 2] | 0) - 8;
- c[Ce >> 2] = c[jf >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[Ce >> 2];
- break a;
- break;
- }
- default: {
- _h = c[Ch >> 2] | 0;
- Qh = c[Dh >> 2] | 0;
- Ph = c[Eh >> 2] | 0;
- Zi = c[Fh >> 2] | 0;
- _i = c[Gh >> 2] | 0;
- Uh = c[Hh >> 2] | 0;
- Zh = c[Ih >> 2] | 0;
- aj = c[Jh >> 2] | 0;
- c[Af >> 2] = c[Bh >> 2];
- c[Bf >> 2] = _h;
- c[Cf >> 2] = Qh;
- c[Df >> 2] = Ph;
- c[Ef >> 2] = Zi;
- c[Ff >> 2] = _i;
- c[Gf >> 2] = Uh;
- c[Hf >> 2] = Zh;
- c[If >> 2] = aj;
- c[Jf >> 2] = 4;
- if (
- (c[((c[Bf >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- lj = c[((c[Bf >> 2] | 0) + 20) >> 2] | 0;
- else lj = 4095;
- c[Kf >> 2] = lj;
- c[Lf >> 2] = c[((c[Af >> 2] | 0) + 4) >> 2];
- c[Mf >> 2] = (c[Cf >> 2] | 0) - (c[Lf >> 2] | 0);
- c[Nf >> 2] = c[((c[Bf >> 2] | 0) + 8) >> 2];
- c[Of >> 2] = (c[Jf >> 2] | 0) == 3 ? 3 : 4;
- c[Pf >> 2] = c[((c[Af >> 2] | 0) + 36) >> 2];
- c[Qf >> 2] =
- Sj(
- c[Cf >> 2] | 0,
- c[Nf >> 2] | 0,
- c[Jf >> 2] | 0
- ) | 0;
- c[Rf >> 2] =
- c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2];
- c[Sf >> 2] = c[((c[Af >> 2] | 0) + 44) >> 2];
- c[Tf >> 2] =
- (c[((c[Bf >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Uf >> 2] = (1 << c[Tf >> 2]) - 1;
- c[Vf >> 2] = 0;
- c[Wf >> 2] = 0;
- c[Xf >> 2] = c[((c[Af >> 2] | 0) + 8) >> 2];
- c[Yf >> 2] = c[((c[Af >> 2] | 0) + 12) >> 2];
- c[Zf >> 2] = (c[Xf >> 2] | 0) + (c[Yf >> 2] | 0);
- c[_f >> 2] = (c[Lf >> 2] | 0) + (c[Yf >> 2] | 0);
- if (
- (c[Uf >> 2] | 0) >>> 0 >=
- (c[Mf >> 2] | 0) >>> 0
- )
- mj = 0;
- else mj = ((c[Mf >> 2] | 0) - (c[Uf >> 2] | 0)) | 0;
- c[$f >> 2] = mj;
- c[ag >> 2] = c[((c[Af >> 2] | 0) + 16) >> 2];
- c[bg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2);
- c[cg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2) +
- 4;
- c[dg >> 2] = (c[Mf >> 2] | 0) + 8 + 1;
- c[fg >> 2] = 0;
- c[gg >> 2] = 1 << c[((c[Bf >> 2] | 0) + 12) >> 2];
- c[hg >> 2] = (c[If >> 2] | 0) - 1;
- c[ig >> 2] = 3 + (c[Gf >> 2] | 0);
- c[jg >> 2] = c[Gf >> 2];
- while (1) {
- if (
- (c[jg >> 2] | 0) >>> 0 >=
- (c[ig >> 2] | 0) >>> 0
- ) {
- dj = 84;
- break;
- }
- aj = c[Ff >> 2] | 0;
- if ((c[jg >> 2] | 0) == 3)
- nj = ((c[aj >> 2] | 0) - 1) | 0;
- else nj = c[(aj + (c[jg >> 2] << 2)) >> 2] | 0;
- c[kg >> 2] = nj;
- c[lg >> 2] = (c[Mf >> 2] | 0) - (c[kg >> 2] | 0);
- c[mg >> 2] = 0;
- if (
- (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Mf >> 2] | 0) - (c[Yf >> 2] | 0)) | 0) >>>
- 0
- ) {
- aj = mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0;
- if (
- (aj | 0) ==
- (mm(
- ((c[Cf >> 2] | 0) +
- (0 - (c[kg >> 2] | 0))) |
- 0,
- c[Of >> 2] | 0
- ) |
- 0)
- ) {
- aj =
- Tj(
- ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- ((c[Cf >> 2] | 0) +
- (c[Of >> 2] | 0) +
- (0 - (c[kg >> 2] | 0))) |
- 0,
- c[Df >> 2] | 0
- ) | 0;
- c[mg >> 2] = aj + (c[Of >> 2] | 0);
- }
- } else {
- c[ng >> 2] =
- (c[Xf >> 2] | 0) + (c[lg >> 2] | 0);
- if (
- (
- c[Ef >> 2] | 0
- ? ((((c[Yf >> 2] | 0) -
- 1 -
- (c[lg >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Mf >> 2] | 0) -
- (c[ag >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((aj =
- mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0),
- (aj | 0) ==
- (mm(c[ng >> 2] | 0, c[Of >> 2] | 0) |
- 0))
- : 0
- ) {
- aj =
- Uj(
- ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- ((c[ng >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- c[mg >> 2] = aj + (c[Of >> 2] | 0);
- }
- }
- if (
- (c[mg >> 2] | 0) >>> 0 > (c[hg >> 2] | 0) >>> 0
- ? ((c[hg >> 2] = c[mg >> 2]),
- (c[
- ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
- 2
- ] = (c[jg >> 2] | 0) - (c[Gf >> 2] | 0)),
- (c[
- ((c[Hf >> 2] | 0) +
- (c[fg >> 2] << 3) +
- 4) >>
- 2
- ] = c[mg >> 2]),
- (c[fg >> 2] = (c[fg >> 2] | 0) + 1),
- ((c[mg >> 2] | 0) >>> 0 >
- (c[Kf >> 2] | 0) >>> 0
- ? 1
- : (((c[Cf >> 2] | 0) + (c[mg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 82;
- break;
- }
- c[jg >> 2] = (c[jg >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 82) {
- dj = 0;
- c[zf >> 2] = c[fg >> 2];
- } else if ((dj | 0) == 84) {
- dj = 0;
- if (
- (
- (c[Jf >> 2] | 0) == 3
- ? (c[hg >> 2] | 0) >>> 0 <
- (c[Jf >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[og >> 2] =
- nm(c[Af >> 2] | 0, c[Cf >> 2] | 0) | 0),
- ((c[og >> 2] | 0) >>> 0 >
- (c[ag >> 2] | 0) >>> 0
- ? (((c[Mf >> 2] | 0) -
- (c[og >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ef >> 2] | 0
- ? (c[og >> 2] | 0) >>> 0 <
- (c[Yf >> 2] | 0) >>> 0
- : 0
- ) {
- c[rg >> 2] =
- (c[Xf >> 2] | 0) + (c[og >> 2] | 0);
- c[pg >> 2] =
- Uj(
- c[Cf >> 2] | 0,
- c[rg >> 2] | 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- } else {
- c[qg >> 2] =
- (c[Lf >> 2] | 0) + (c[og >> 2] | 0);
- c[pg >> 2] =
- Tj(
- c[Cf >> 2] | 0,
- c[qg >> 2] | 0,
- c[Df >> 2] | 0
- ) | 0;
- }
- if (
- (c[pg >> 2] | 0) >>> 0 >=
- (c[Jf >> 2] | 0) >>> 0
- ? ((c[hg >> 2] = c[pg >> 2]),
- (c[c[Hf >> 2] >> 2] =
- (c[Mf >> 2] | 0) -
- (c[og >> 2] | 0) +
- 2),
- (c[((c[Hf >> 2] | 0) + 4) >> 2] =
- c[pg >> 2]),
- (c[fg >> 2] = 1),
- ((c[pg >> 2] | 0) >>> 0 >
- (c[Kf >> 2] | 0) >>> 0
- ? 1
- : (((c[Cf >> 2] | 0) +
- (c[pg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[Af >> 2] | 0) + 24) >> 2] =
- (c[Mf >> 2] | 0) + 1;
- c[zf >> 2] = 1;
- break;
- }
- }
- c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2] =
- c[Mf >> 2];
- while (1) {
- aj = c[gg >> 2] | 0;
- c[gg >> 2] = aj + -1;
- if (!aj) break;
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[ag >> 2] | 0) >>> 0
- )
- break;
- c[sg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Rf >> 2] & c[Uf >> 2]) << 1) << 2);
- c[tg >> 2] =
- (c[Vf >> 2] | 0) >>> 0 <
- (c[Wf >> 2] | 0) >>> 0
- ? c[Vf >> 2] | 0
- : c[Wf >> 2] | 0;
- if (
- c[Ef >> 2] | 0
- ? (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Yf >> 2] | 0) >>> 0
- : 0
- ) {
- c[ug >> 2] =
- (c[Xf >> 2] | 0) + (c[Rf >> 2] | 0);
- aj =
- Uj(
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- c[tg >> 2] = (c[tg >> 2] | 0) + aj;
- if (
- (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Yf >> 2] | 0) >>> 0
- )
- c[ug >> 2] =
- (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
- } else {
- c[ug >> 2] =
- (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
- aj =
- Tj(
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- c[Df >> 2] | 0
- ) | 0;
- c[tg >> 2] = (c[tg >> 2] | 0) + aj;
- }
- if (
- (c[tg >> 2] | 0) >>> 0 >
- (c[hg >> 2] | 0) >>> 0
- ) {
- if (
- (c[tg >> 2] | 0) >>> 0 >
- (((c[dg >> 2] | 0) - (c[Rf >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[dg >> 2] =
- (c[Rf >> 2] | 0) + (c[tg >> 2] | 0);
- c[hg >> 2] = c[tg >> 2];
- c[
- ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
- 2
- ] = (c[Mf >> 2] | 0) - (c[Rf >> 2] | 0) + 2;
- c[
- ((c[Hf >> 2] | 0) +
- (c[fg >> 2] << 3) +
- 4) >>
- 2
- ] = c[tg >> 2];
- c[fg >> 2] = (c[fg >> 2] | 0) + 1;
- if ((c[tg >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)
- )
- break;
- }
- aj = c[Rf >> 2] | 0;
- if (
- (d[
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[bg >> 2] >> 2] = aj;
- c[Vf >> 2] = c[tg >> 2];
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[$f >> 2] | 0) >>> 0
- ) {
- dj = 109;
- break;
- }
- c[bg >> 2] = (c[sg >> 2] | 0) + 4;
- c[Rf >> 2] = c[((c[sg >> 2] | 0) + 4) >> 2];
- } else {
- c[c[cg >> 2] >> 2] = aj;
- c[Wf >> 2] = c[tg >> 2];
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[$f >> 2] | 0) >>> 0
- ) {
- dj = 112;
- break;
- }
- c[cg >> 2] = c[sg >> 2];
- c[Rf >> 2] = c[c[sg >> 2] >> 2];
- }
- }
- if ((dj | 0) == 109) {
- dj = 0;
- c[bg >> 2] = eg;
- } else if ((dj | 0) == 112) {
- dj = 0;
- c[cg >> 2] = eg;
- }
- c[c[cg >> 2] >> 2] = 0;
- c[c[bg >> 2] >> 2] = 0;
- c[((c[Af >> 2] | 0) + 24) >> 2] =
- (c[dg >> 2] | 0) - 8;
- c[zf >> 2] = c[fg >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[zf >> 2];
- break a;
- }
- }
- }
- } while (0);
- c[ki >> 2] = c[Ah >> 2];
- if (!(c[ki >> 2] | 0)) {
- c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
- continue;
- }
- c[li >> 2] = 0;
- while (1) {
- if ((c[li >> 2] | 0) >>> 0 >= 3) break;
- c[((c[bi >> 2] | 0) + 16 + (c[li >> 2] << 2)) >> 2] =
- c[((c[Nh >> 2] | 0) + (c[li >> 2] << 2)) >> 2];
- c[li >> 2] = (c[li >> 2] | 0) + 1;
- }
- c[((c[bi >> 2] | 0) + 8) >> 2] = 1;
- c[((c[bi >> 2] | 0) + 12) >> 2] = c[ii >> 2];
- c[mi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[ki >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ];
- do {
- if ((c[mi >> 2] | 0) >>> 0 <= (c[$h >> 2] | 0) >>> 0) {
- c[ni >> 2] =
- om(
- di,
- c[Wh >> 2] | 0,
- c[ii >> 2] | 0,
- c[Th >> 2] | 0
- ) | 0;
- c[oi >> 2] = 0;
- while (1) {
- if ((c[oi >> 2] | 0) >>> 0 >= (c[ai >> 2] | 0) >>> 0)
- break;
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = 1;
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0)) >>
- 2
- ] = 1073741824;
- c[oi >> 2] = (c[oi >> 2] | 0) + 1;
- }
- c[pi >> 2] = 0;
- while (1) {
- if ((c[pi >> 2] | 0) >>> 0 >= (c[ki >> 2] | 0) >>> 0)
- break;
- c[qi >> 2] =
- c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3)) >> 2];
- c[ri >> 2] =
- c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3) + 4) >> 2];
- pm(
- si,
- c[Nh >> 2] | 0,
- c[qi >> 2] | 0,
- c[ji >> 2] | 0
- );
- while (1) {
- if ((c[oi >> 2] | 0) >>> 0 > (c[ri >> 2] | 0) >>> 0)
- break;
- aj = c[ni >> 2] | 0;
- Zh = c[oi >> 2] | 0;
- Uh = c[Th >> 2] | 0;
- _i = c[Rh >> 2] | 0;
- c[yd >> 2] = c[qi >> 2];
- c[zd >> 2] = Zh;
- c[Ad >> 2] = Uh;
- c[Bd >> 2] = _i;
- c[Dd >> 2] = qm(((c[yd >> 2] | 0) + 1) | 0) | 0;
- c[Ed >> 2] = (c[zd >> 2] | 0) - 3;
- if (c[((c[Ad >> 2] | 0) + 56) >> 2] | 0) {
- _i =
- ((qm(((c[Ed >> 2] | 0) + 1) | 0) | 0) + 16) | 0;
- c[xd >> 2] = _i + (c[Dd >> 2] | 0);
- } else {
- _i =
- ((c[Dd >> 2] | 0) +
- (c[((c[Ad >> 2] | 0) + 52) >> 2] | 0)) |
- 0;
- c[Cd >> 2] =
- _i -
- (qm(
- ((c[
- ((c[((c[Ad >> 2] | 0) + 12) >> 2] | 0) +
- (c[Dd >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- if (
- ((c[Bd >> 2] | 0) < 2) &
- ((c[Dd >> 2] | 0) >>> 0 >= 20)
- )
- c[Cd >> 2] =
- (c[Cd >> 2] | 0) +
- (((c[Dd >> 2] | 0) - 19) << 1);
- c[Fd >> 2] = rm(c[Ed >> 2] | 0) | 0;
- _i =
- ((c[(5840 + (c[Fd >> 2] << 2)) >> 2] | 0) +
- (c[((c[Ad >> 2] | 0) + 48) >> 2] | 0)) |
- 0;
- Uh =
- (_i -
- (qm(
- ((c[
- ((c[((c[Ad >> 2] | 0) + 8) >> 2] | 0) +
- (c[Fd >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0)) |
- 0;
- c[Cd >> 2] = (c[Cd >> 2] | 0) + Uh;
- c[xd >> 2] = c[Cd >> 2];
- }
- c[ti >> 2] = aj + (c[xd >> 2] | 0);
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[oi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[qi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[ii >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[ti >> 2];
- aj =
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- c[aj >> 2] = c[si >> 2];
- c[(aj + 4) >> 2] = c[(si + 4) >> 2];
- c[(aj + 8) >> 2] = c[(si + 8) >> 2];
- c[oi >> 2] = (c[oi >> 2] | 0) + 1;
- }
- c[pi >> 2] = (c[pi >> 2] | 0) + 1;
- }
- c[fi >> 2] = (c[oi >> 2] | 0) - 1;
- c[ei >> 2] = 1;
- b: while (1) {
- if ((c[ei >> 2] | 0) >>> 0 > (c[fi >> 2] | 0) >>> 0) {
- dj = 504;
- break;
- }
- c[ui >> 2] = (c[Vh >> 2] | 0) + (c[ei >> 2] | 0);
- if (
- (c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) ==
- 1
- )
- oj =
- ((c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 12) >>
- 2
- ] |
- 0) +
- 1) |
- 0;
- else oj = 1;
- c[vi >> 2] = oj;
- if ((c[ei >> 2] | 0) >>> 0 > (c[vi >> 2] | 0) >>> 0) {
- aj =
- c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - (c[vi >> 2] | 0)) |
- 0) *
- 28) |
- 0)) >>
- 2
- ] | 0;
- c[wi >> 2] =
- aj +
- (sm(
- ((c[ui >> 2] | 0) + (0 - (c[vi >> 2] | 0))) | 0,
- c[vi >> 2] | 0,
- c[Th >> 2] | 0
- ) |
- 0);
- } else
- c[wi >> 2] =
- tm(
- di,
- c[Wh >> 2] | 0,
- c[vi >> 2] | 0,
- c[Th >> 2] | 0
- ) | 0;
- if (
- (c[wi >> 2] | 0) <=
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- ) {
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = 1;
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = 0;
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[vi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[wi >> 2];
- aj =
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- Uh =
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 16) |
- 0;
- c[aj >> 2] = c[Uh >> 2];
- c[(aj + 4) >> 2] = c[(Uh + 4) >> 2];
- c[(aj + 8) >> 2] = c[(Uh + 8) >> 2];
- }
- c: do {
- if (
- (c[ui >> 2] | 0) >>> 0 <=
- (c[Yh >> 2] | 0) >>> 0
- ) {
- if ((c[ei >> 2] | 0) == (c[fi >> 2] | 0)) {
- dj = 504;
- break b;
- }
- if (
- (c[Rh >> 2] | 0) == 0
- ? (c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) + 1) | 0) * 28) |
- 0)) >>
- 2
- ] |
- 0) <=
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- : 0
- )
- break;
- c[xi >> 2] =
- ((c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) !=
- 1) &
- 1;
- if (
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) ==
- 1
- )
- pj =
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] | 0;
- else pj = 0;
- c[yi >> 2] = pj;
- if (
- (c[ei >> 2] | 0) >>> 0 >
- (c[yi >> 2] | 0) >>> 0
- )
- qj =
- c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - (c[yi >> 2] | 0)) |
- 0) *
- 28) |
- 0)) >>
- 2
- ] | 0;
- else qj = 0;
- c[zi >> 2] = qj;
- Uh = c[zi >> 2] | 0;
- c[Ai >> 2] =
- Uh +
- (um(
- ((c[ui >> 2] | 0) + (0 - (c[yi >> 2] | 0))) |
- 0,
- c[yi >> 2] | 0,
- c[Th >> 2] | 0
- ) |
- 0);
- Uh = c[Oh >> 2] | 0;
- aj = c[ui >> 2] | 0;
- _i = c[Xh >> 2] | 0;
- Zh = c[Sh >> 2] | 0;
- Zi =
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- Ph = c[xi >> 2] | 0;
- Qh = c[ci >> 2] | 0;
- _h = c[ai >> 2] | 0;
- c[nd >> 2] = c[Lh >> 2];
- c[od >> 2] = Uh;
- c[pd >> 2] = aj;
- c[qd >> 2] = _i;
- c[rd >> 2] = Zh;
- c[sd >> 2] = Zi;
- c[td >> 2] = Ph;
- c[ud >> 2] = Qh;
- c[vd >> 2] = _h;
- c[wd >> 2] = c[((c[od >> 2] | 0) + 16) >> 2];
- d: do {
- if (
- (c[pd >> 2] | 0) >>> 0 <
- (((c[((c[nd >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[nd >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[md >> 2] = 0;
- else {
- _h = c[od >> 2] | 0;
- Qh = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Zi = c[wd >> 2] | 0;
- Zh = c[rd >> 2] | 0;
- c[dd >> 2] = c[nd >> 2];
- c[ed >> 2] = _h;
- c[fd >> 2] = Qh;
- c[gd >> 2] = Ph;
- c[hd >> 2] = Zi;
- c[id >> 2] = Zh;
- c[jd >> 2] = c[((c[dd >> 2] | 0) + 4) >> 2];
- c[kd >> 2] =
- (c[fd >> 2] | 0) - (c[jd >> 2] | 0);
- c[ld >> 2] = c[((c[dd >> 2] | 0) + 24) >> 2];
- while (1) {
- if (
- (c[ld >> 2] | 0) >>> 0 >=
- (c[kd >> 2] | 0) >>> 0
- )
- break;
- Zh =
- Rj(
- c[dd >> 2] | 0,
- c[ed >> 2] | 0,
- ((c[jd >> 2] | 0) + (c[ld >> 2] | 0)) |
- 0,
- c[gd >> 2] | 0,
- c[hd >> 2] | 0,
- c[id >> 2] | 0
- ) | 0;
- c[ld >> 2] = (c[ld >> 2] | 0) + Zh;
- }
- c[((c[dd >> 2] | 0) + 24) >> 2] = c[kd >> 2];
- switch (c[wd >> 2] | 0) {
- case 3: {
- Zh = c[od >> 2] | 0;
- Zi = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Qh = c[rd >> 2] | 0;
- _h = c[sd >> 2] | 0;
- _i = c[td >> 2] | 0;
- aj = c[ud >> 2] | 0;
- Uh = c[vd >> 2] | 0;
- c[ic >> 2] = c[nd >> 2];
- c[jc >> 2] = Zh;
- c[kc >> 2] = Zi;
- c[lc >> 2] = Ph;
- c[mc >> 2] = Qh;
- c[nc >> 2] = _h;
- c[oc >> 2] = _i;
- c[pc >> 2] = aj;
- c[qc >> 2] = Uh;
- c[rc >> 2] = 3;
- if (
- (c[((c[jc >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- rj =
- c[((c[jc >> 2] | 0) + 20) >> 2] | 0;
- else rj = 4095;
- c[sc >> 2] = rj;
- c[tc >> 2] =
- c[((c[ic >> 2] | 0) + 4) >> 2];
- c[uc >> 2] =
- (c[kc >> 2] | 0) - (c[tc >> 2] | 0);
- c[vc >> 2] =
- c[((c[jc >> 2] | 0) + 8) >> 2];
- c[wc >> 2] =
- (c[rc >> 2] | 0) == 3 ? 3 : 4;
- c[xc >> 2] =
- c[((c[ic >> 2] | 0) + 36) >> 2];
- c[yc >> 2] =
- Sj(
- c[kc >> 2] | 0,
- c[vc >> 2] | 0,
- c[rc >> 2] | 0
- ) | 0;
- c[zc >> 2] =
- c[
- ((c[xc >> 2] | 0) +
- (c[yc >> 2] << 2)) >>
- 2
- ];
- c[Ac >> 2] =
- c[((c[ic >> 2] | 0) + 44) >> 2];
- c[Bc >> 2] =
- (c[((c[jc >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Cc >> 2] = (1 << c[Bc >> 2]) - 1;
- c[Dc >> 2] = 0;
- c[Ec >> 2] = 0;
- c[Fc >> 2] =
- c[((c[ic >> 2] | 0) + 8) >> 2];
- c[Gc >> 2] =
- c[((c[ic >> 2] | 0) + 12) >> 2];
- c[Hc >> 2] =
- (c[Fc >> 2] | 0) + (c[Gc >> 2] | 0);
- c[Ic >> 2] =
- (c[tc >> 2] | 0) + (c[Gc >> 2] | 0);
- if (
- (c[Cc >> 2] | 0) >>> 0 >=
- (c[uc >> 2] | 0) >>> 0
- )
- sj = 0;
- else
- sj =
- ((c[uc >> 2] | 0) -
- (c[Cc >> 2] | 0)) |
- 0;
- c[Jc >> 2] = sj;
- c[Kc >> 2] =
- c[((c[ic >> 2] | 0) + 16) >> 2];
- c[Lc >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[uc >> 2] & c[Cc >> 2]) << 1) << 2);
- c[Mc >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[uc >> 2] & c[Cc >> 2]) << 1) <<
- 2) +
- 4;
- c[Nc >> 2] = (c[uc >> 2] | 0) + 8 + 1;
- c[Pc >> 2] = 0;
- c[Qc >> 2] =
- 1 << c[((c[jc >> 2] | 0) + 12) >> 2];
- c[Rc >> 2] = (c[qc >> 2] | 0) - 1;
- c[Sc >> 2] = 3 + (c[oc >> 2] | 0);
- c[Tc >> 2] = c[oc >> 2];
- while (1) {
- if (
- (c[Tc >> 2] | 0) >>> 0 >=
- (c[Sc >> 2] | 0) >>> 0
- ) {
- dj = 287;
- break;
- }
- Uh = c[nc >> 2] | 0;
- if ((c[Tc >> 2] | 0) == 3)
- tj = ((c[Uh >> 2] | 0) - 1) | 0;
- else
- tj =
- c[(Uh + (c[Tc >> 2] << 2)) >> 2] |
- 0;
- c[Uc >> 2] = tj;
- c[Vc >> 2] =
- (c[uc >> 2] | 0) - (c[Uc >> 2] | 0);
- c[Wc >> 2] = 0;
- do {
- if (
- (((c[Uc >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[uc >> 2] | 0) -
- (c[Gc >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Uh =
- mm(
- c[kc >> 2] | 0,
- c[wc >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- ((c[kc >> 2] | 0) +
- (0 - (c[Uc >> 2] | 0))) |
- 0,
- c[wc >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Tj(
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0) +
- (0 - (c[Uc >> 2] | 0))) |
- 0,
- c[lc >> 2] | 0
- ) | 0;
- c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
- } else {
- c[Xc >> 2] =
- (c[Fc >> 2] | 0) +
- (c[Vc >> 2] | 0);
- if (!(c[mc >> 2] | 0)) break;
- if (
- !(
- ((((c[Gc >> 2] | 0) -
- 1 -
- (c[Vc >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[Uc >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[uc >> 2] | 0) -
- (c[Kc >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Uh =
- mm(
- c[kc >> 2] | 0,
- c[wc >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- c[Xc >> 2] | 0,
- c[wc >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Uj(
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- ((c[Xc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
- }
- } while (0);
- if (
- (c[Wc >> 2] | 0) >>> 0 >
- (c[Rc >> 2] | 0) >>> 0
- ? ((c[Rc >> 2] = c[Wc >> 2]),
- (c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3)) >>
- 2
- ] =
- (c[Tc >> 2] | 0) -
- (c[oc >> 2] | 0)),
- (c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3) +
- 4) >>
- 2
- ] = c[Wc >> 2]),
- (c[Pc >> 2] =
- (c[Pc >> 2] | 0) + 1),
- ((c[Wc >> 2] | 0) >>> 0 >
- (c[sc >> 2] | 0) >>> 0
- ? 1
- : (((c[kc >> 2] | 0) +
- (c[Wc >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 285;
- break;
- }
- c[Tc >> 2] = (c[Tc >> 2] | 0) + 1;
- }
- e: do {
- if ((dj | 0) == 285) {
- dj = 0;
- c[hc >> 2] = c[Pc >> 2];
- } else if ((dj | 0) == 287) {
- dj = 0;
- do {
- if ((c[rc >> 2] | 0) == 3) {
- if (
- (c[Rc >> 2] | 0) >>> 0 >=
- (c[rc >> 2] | 0) >>> 0
- )
- break;
- c[Yc >> 2] =
- nm(
- c[ic >> 2] | 0,
- c[kc >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[Yc >> 2] | 0) >>> 0 >
- (c[Kc >> 2] | 0) >>> 0
- ? (((c[uc >> 2] | 0) -
- (c[Yc >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[mc >> 2] | 0) {
- if (
- (c[Yc >> 2] | 0) >>> 0 >=
- (c[Gc >> 2] | 0) >>> 0
- ) {
- dj = 292;
- break;
- }
- c[$c >> 2] =
- (c[Fc >> 2] | 0) +
- (c[Yc >> 2] | 0);
- c[Zc >> 2] =
- Uj(
- c[kc >> 2] | 0,
- c[$c >> 2] | 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- } else dj = 292;
- } while (0);
- if ((dj | 0) == 292) {
- dj = 0;
- c[_c >> 2] =
- (c[tc >> 2] | 0) +
- (c[Yc >> 2] | 0);
- c[Zc >> 2] =
- Tj(
- c[kc >> 2] | 0,
- c[_c >> 2] | 0,
- c[lc >> 2] | 0
- ) | 0;
- }
- if (
- (c[Zc >> 2] | 0) >>> 0 <
- (c[rc >> 2] | 0) >>> 0
- )
- break;
- c[Rc >> 2] = c[Zc >> 2];
- c[c[pc >> 2] >> 2] =
- (c[uc >> 2] | 0) -
- (c[Yc >> 2] | 0) +
- 2;
- c[((c[pc >> 2] | 0) + 4) >> 2] =
- c[Zc >> 2];
- c[Pc >> 2] = 1;
- if (
- !(
- ((c[Zc >> 2] | 0) >>> 0 >
- (c[sc >> 2] | 0) >>> 0
- ? 1
- : (((c[kc >> 2] | 0) +
- (c[Zc >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[ic >> 2] | 0) + 24) >> 2] =
- (c[uc >> 2] | 0) + 1;
- c[hc >> 2] = 1;
- break e;
- }
- } while (0);
- c[
- ((c[xc >> 2] | 0) +
- (c[yc >> 2] << 2)) >>
- 2
- ] = c[uc >> 2];
- while (1) {
- Uh = c[Qc >> 2] | 0;
- c[Qc >> 2] = Uh + -1;
- if (!Uh) break;
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Kc >> 2] | 0) >>> 0
- )
- break;
- c[ad >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[zc >> 2] & c[Cc >> 2]) <<
- 1) <<
- 2);
- c[bd >> 2] =
- (c[Dc >> 2] | 0) >>> 0 <
- (c[Ec >> 2] | 0) >>> 0
- ? c[Dc >> 2] | 0
- : c[Ec >> 2] | 0;
- do {
- if (c[mc >> 2] | 0) {
- if (
- (((c[zc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Gc >> 2] | 0) >>> 0
- ) {
- dj = 302;
- break;
- }
- c[cd >> 2] =
- (c[Fc >> 2] | 0) +
- (c[zc >> 2] | 0);
- Uh =
- Uj(
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- c[bd >> 2] =
- (c[bd >> 2] | 0) + Uh;
- if (
- (((c[zc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Gc >> 2] | 0) >>> 0
- )
- break;
- c[cd >> 2] =
- (c[tc >> 2] | 0) +
- (c[zc >> 2] | 0);
- } else dj = 302;
- } while (0);
- if ((dj | 0) == 302) {
- dj = 0;
- c[cd >> 2] =
- (c[tc >> 2] | 0) +
- (c[zc >> 2] | 0);
- Uh =
- Tj(
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0
- ) | 0;
- c[bd >> 2] =
- (c[bd >> 2] | 0) + Uh;
- }
- if (
- (c[bd >> 2] | 0) >>> 0 >
- (c[Rc >> 2] | 0) >>> 0
- ) {
- if (
- (c[bd >> 2] | 0) >>> 0 >
- (((c[Nc >> 2] | 0) -
- (c[zc >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Nc >> 2] =
- (c[zc >> 2] | 0) +
- (c[bd >> 2] | 0);
- c[Rc >> 2] = c[bd >> 2];
- c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3)) >>
- 2
- ] =
- (c[uc >> 2] | 0) -
- (c[zc >> 2] | 0) +
- 2;
- c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3) +
- 4) >>
- 2
- ] = c[bd >> 2];
- c[Pc >> 2] = (c[Pc >> 2] | 0) + 1;
- if ((c[bd >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)
- )
- break;
- }
- Uh = c[zc >> 2] | 0;
- if (
- (d[
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Lc >> 2] >> 2] = Uh;
- c[Dc >> 2] = c[bd >> 2];
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Jc >> 2] | 0) >>> 0
- ) {
- dj = 312;
- break;
- }
- c[Lc >> 2] = (c[ad >> 2] | 0) + 4;
- c[zc >> 2] =
- c[((c[ad >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Mc >> 2] >> 2] = Uh;
- c[Ec >> 2] = c[bd >> 2];
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Jc >> 2] | 0) >>> 0
- ) {
- dj = 315;
- break;
- }
- c[Mc >> 2] = c[ad >> 2];
- c[zc >> 2] = c[c[ad >> 2] >> 2];
- }
- }
- if ((dj | 0) == 312) {
- dj = 0;
- c[Lc >> 2] = Oc;
- } else if ((dj | 0) == 315) {
- dj = 0;
- c[Mc >> 2] = Oc;
- }
- c[c[Mc >> 2] >> 2] = 0;
- c[c[Lc >> 2] >> 2] = 0;
- c[((c[ic >> 2] | 0) + 24) >> 2] =
- (c[Nc >> 2] | 0) - 8;
- c[hc >> 2] = c[Pc >> 2];
- }
- } while (0);
- c[md >> 2] = c[hc >> 2];
- break d;
- break;
- }
- case 7:
- case 6: {
- Uh = c[od >> 2] | 0;
- aj = c[pd >> 2] | 0;
- _i = c[qd >> 2] | 0;
- _h = c[rd >> 2] | 0;
- Qh = c[sd >> 2] | 0;
- Ph = c[td >> 2] | 0;
- Zi = c[ud >> 2] | 0;
- Zh = c[vd >> 2] | 0;
- c[u >> 2] = c[nd >> 2];
- c[v >> 2] = Uh;
- c[w >> 2] = aj;
- c[x >> 2] = _i;
- c[y >> 2] = _h;
- c[z >> 2] = Qh;
- c[A >> 2] = Ph;
- c[B >> 2] = Zi;
- c[C >> 2] = Zh;
- c[D >> 2] = 6;
- if (
- (c[((c[v >> 2] | 0) + 20) >> 2] | 0) >>>
- 0 <
- 4095
- )
- uj = c[((c[v >> 2] | 0) + 20) >> 2] | 0;
- else uj = 4095;
- c[E >> 2] = uj;
- c[F >> 2] = c[((c[u >> 2] | 0) + 4) >> 2];
- c[G >> 2] =
- (c[w >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = c[((c[v >> 2] | 0) + 8) >> 2];
- c[I >> 2] = (c[D >> 2] | 0) == 3 ? 3 : 4;
- c[J >> 2] =
- c[((c[u >> 2] | 0) + 36) >> 2];
- c[K >> 2] =
- Sj(
- c[w >> 2] | 0,
- c[H >> 2] | 0,
- c[D >> 2] | 0
- ) | 0;
- c[L >> 2] =
- c[
- ((c[J >> 2] | 0) +
- (c[K >> 2] << 2)) >>
- 2
- ];
- c[M >> 2] =
- c[((c[u >> 2] | 0) + 44) >> 2];
- c[N >> 2] =
- (c[((c[v >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[O >> 2] = (1 << c[N >> 2]) - 1;
- c[P >> 2] = 0;
- c[Q >> 2] = 0;
- c[R >> 2] = c[((c[u >> 2] | 0) + 8) >> 2];
- c[S >> 2] =
- c[((c[u >> 2] | 0) + 12) >> 2];
- c[T >> 2] =
- (c[R >> 2] | 0) + (c[S >> 2] | 0);
- c[U >> 2] =
- (c[F >> 2] | 0) + (c[S >> 2] | 0);
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (c[G >> 2] | 0) >>> 0
- )
- vj = 0;
- else
- vj =
- ((c[G >> 2] | 0) - (c[O >> 2] | 0)) |
- 0;
- c[V >> 2] = vj;
- c[W >> 2] =
- c[((c[u >> 2] | 0) + 16) >> 2];
- c[X >> 2] =
- (c[M >> 2] | 0) +
- (((c[G >> 2] & c[O >> 2]) << 1) << 2);
- c[Y >> 2] =
- (c[M >> 2] | 0) +
- (((c[G >> 2] & c[O >> 2]) << 1) << 2) +
- 4;
- c[Z >> 2] = (c[G >> 2] | 0) + 8 + 1;
- c[$ >> 2] = 0;
- c[aa >> 2] =
- 1 << c[((c[v >> 2] | 0) + 12) >> 2];
- c[ba >> 2] = (c[C >> 2] | 0) - 1;
- c[ca >> 2] = 3 + (c[A >> 2] | 0);
- c[da >> 2] = c[A >> 2];
- while (1) {
- if (
- (c[da >> 2] | 0) >>> 0 >=
- (c[ca >> 2] | 0) >>> 0
- ) {
- dj = 446;
- break;
- }
- Zh = c[z >> 2] | 0;
- if ((c[da >> 2] | 0) == 3)
- wj = ((c[Zh >> 2] | 0) - 1) | 0;
- else
- wj =
- c[(Zh + (c[da >> 2] << 2)) >> 2] |
- 0;
- c[ea >> 2] = wj;
- c[fa >> 2] =
- (c[G >> 2] | 0) - (c[ea >> 2] | 0);
- c[ga >> 2] = 0;
- do {
- if (
- (((c[ea >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[G >> 2] | 0) -
- (c[S >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Zh =
- mm(c[w >> 2] | 0, c[I >> 2] | 0) |
- 0;
- if (
- (Zh | 0) !=
- (mm(
- ((c[w >> 2] | 0) +
- (0 - (c[ea >> 2] | 0))) |
- 0,
- c[I >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Tj(
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0) +
- (0 - (c[ea >> 2] | 0))) |
- 0,
- c[x >> 2] | 0
- ) | 0;
- c[ga >> 2] = Zh + (c[I >> 2] | 0);
- } else {
- c[ha >> 2] =
- (c[R >> 2] | 0) +
- (c[fa >> 2] | 0);
- if (!(c[y >> 2] | 0)) break;
- if (
- !(
- ((((c[S >> 2] | 0) -
- 1 -
- (c[fa >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[ea >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[G >> 2] | 0) -
- (c[W >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Zh =
- mm(c[w >> 2] | 0, c[I >> 2] | 0) |
- 0;
- if (
- (Zh | 0) !=
- (mm(
- c[ha >> 2] | 0,
- c[I >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Uj(
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- ((c[ha >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[ga >> 2] = Zh + (c[I >> 2] | 0);
- }
- } while (0);
- if (
- (c[ga >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- ? ((c[ba >> 2] = c[ga >> 2]),
- (c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3)) >>
- 2
- ] =
- (c[da >> 2] | 0) -
- (c[A >> 2] | 0)),
- (c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3) +
- 4) >>
- 2
- ] = c[ga >> 2]),
- (c[$ >> 2] = (c[$ >> 2] | 0) + 1),
- ((c[ga >> 2] | 0) >>> 0 >
- (c[E >> 2] | 0) >>> 0
- ? 1
- : (((c[w >> 2] | 0) +
- (c[ga >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 444;
- break;
- }
- c[da >> 2] = (c[da >> 2] | 0) + 1;
- }
- f: do {
- if ((dj | 0) == 444) {
- dj = 0;
- c[t >> 2] = c[$ >> 2];
- } else if ((dj | 0) == 446) {
- dj = 0;
- do {
- if ((c[D >> 2] | 0) == 3) {
- if (
- (c[ba >> 2] | 0) >>> 0 >=
- (c[D >> 2] | 0) >>> 0
- )
- break;
- c[ia >> 2] =
- nm(
- c[u >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[ia >> 2] | 0) >>> 0 >
- (c[W >> 2] | 0) >>> 0
- ? (((c[G >> 2] | 0) -
- (c[ia >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[y >> 2] | 0) {
- if (
- (c[ia >> 2] | 0) >>> 0 >=
- (c[S >> 2] | 0) >>> 0
- ) {
- dj = 451;
- break;
- }
- c[la >> 2] =
- (c[R >> 2] | 0) +
- (c[ia >> 2] | 0);
- c[ja >> 2] =
- Uj(
- c[w >> 2] | 0,
- c[la >> 2] | 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- } else dj = 451;
- } while (0);
- if ((dj | 0) == 451) {
- dj = 0;
- c[ka >> 2] =
- (c[F >> 2] | 0) +
- (c[ia >> 2] | 0);
- c[ja >> 2] =
- Tj(
- c[w >> 2] | 0,
- c[ka >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- }
- if (
- (c[ja >> 2] | 0) >>> 0 <
- (c[D >> 2] | 0) >>> 0
- )
- break;
- c[ba >> 2] = c[ja >> 2];
- c[c[B >> 2] >> 2] =
- (c[G >> 2] | 0) -
- (c[ia >> 2] | 0) +
- 2;
- c[((c[B >> 2] | 0) + 4) >> 2] =
- c[ja >> 2];
- c[$ >> 2] = 1;
- if (
- !(
- ((c[ja >> 2] | 0) >>> 0 >
- (c[E >> 2] | 0) >>> 0
- ? 1
- : (((c[w >> 2] | 0) +
- (c[ja >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[u >> 2] | 0) + 24) >> 2] =
- (c[G >> 2] | 0) + 1;
- c[t >> 2] = 1;
- break f;
- }
- } while (0);
- c[
- ((c[J >> 2] | 0) +
- (c[K >> 2] << 2)) >>
- 2
- ] = c[G >> 2];
- while (1) {
- Zh = c[aa >> 2] | 0;
- c[aa >> 2] = Zh + -1;
- if (!Zh) break;
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[W >> 2] | 0) >>> 0
- )
- break;
- c[ma >> 2] =
- (c[M >> 2] | 0) +
- (((c[L >> 2] & c[O >> 2]) << 1) <<
- 2);
- c[na >> 2] =
- (c[P >> 2] | 0) >>> 0 <
- (c[Q >> 2] | 0) >>> 0
- ? c[P >> 2] | 0
- : c[Q >> 2] | 0;
- do {
- if (c[y >> 2] | 0) {
- if (
- (((c[L >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[S >> 2] | 0) >>> 0
- ) {
- dj = 461;
- break;
- }
- c[oa >> 2] =
- (c[R >> 2] | 0) +
- (c[L >> 2] | 0);
- Zh =
- Uj(
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[na >> 2] =
- (c[na >> 2] | 0) + Zh;
- if (
- (((c[L >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[S >> 2] | 0) >>> 0
- )
- break;
- c[oa >> 2] =
- (c[F >> 2] | 0) +
- (c[L >> 2] | 0);
- } else dj = 461;
- } while (0);
- if ((dj | 0) == 461) {
- dj = 0;
- c[oa >> 2] =
- (c[F >> 2] | 0) +
- (c[L >> 2] | 0);
- Zh =
- Tj(
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- c[x >> 2] | 0
- ) | 0;
- c[na >> 2] =
- (c[na >> 2] | 0) + Zh;
- }
- if (
- (c[na >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- ) {
- if (
- (c[na >> 2] | 0) >>> 0 >
- (((c[Z >> 2] | 0) -
- (c[L >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Z >> 2] =
- (c[L >> 2] | 0) +
- (c[na >> 2] | 0);
- c[ba >> 2] = c[na >> 2];
- c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3)) >>
- 2
- ] =
- (c[G >> 2] | 0) -
- (c[L >> 2] | 0) +
- 2;
- c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3) +
- 4) >>
- 2
- ] = c[na >> 2];
- c[$ >> 2] = (c[$ >> 2] | 0) + 1;
- if ((c[na >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)
- )
- break;
- }
- Zh = c[L >> 2] | 0;
- if (
- (d[
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[X >> 2] >> 2] = Zh;
- c[P >> 2] = c[na >> 2];
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[V >> 2] | 0) >>> 0
- ) {
- dj = 471;
- break;
- }
- c[X >> 2] = (c[ma >> 2] | 0) + 4;
- c[L >> 2] =
- c[((c[ma >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Y >> 2] >> 2] = Zh;
- c[Q >> 2] = c[na >> 2];
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[V >> 2] | 0) >>> 0
- ) {
- dj = 474;
- break;
- }
- c[Y >> 2] = c[ma >> 2];
- c[L >> 2] = c[c[ma >> 2] >> 2];
- }
- }
- if ((dj | 0) == 471) {
- dj = 0;
- c[X >> 2] = _;
- } else if ((dj | 0) == 474) {
- dj = 0;
- c[Y >> 2] = _;
- }
- c[c[Y >> 2] >> 2] = 0;
- c[c[X >> 2] >> 2] = 0;
- c[((c[u >> 2] | 0) + 24) >> 2] =
- (c[Z >> 2] | 0) - 8;
- c[t >> 2] = c[$ >> 2];
- }
- } while (0);
- c[md >> 2] = c[t >> 2];
- break d;
- break;
- }
- case 5: {
- Zh = c[od >> 2] | 0;
- Zi = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Qh = c[rd >> 2] | 0;
- _h = c[sd >> 2] | 0;
- _i = c[td >> 2] | 0;
- aj = c[ud >> 2] | 0;
- Uh = c[vd >> 2] | 0;
- c[qa >> 2] = c[nd >> 2];
- c[ra >> 2] = Zh;
- c[sa >> 2] = Zi;
- c[ta >> 2] = Ph;
- c[ua >> 2] = Qh;
- c[va >> 2] = _h;
- c[wa >> 2] = _i;
- c[xa >> 2] = aj;
- c[ya >> 2] = Uh;
- c[za >> 2] = 5;
- if (
- (c[((c[ra >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- xj =
- c[((c[ra >> 2] | 0) + 20) >> 2] | 0;
- else xj = 4095;
- c[Aa >> 2] = xj;
- c[Ba >> 2] =
- c[((c[qa >> 2] | 0) + 4) >> 2];
- c[Ca >> 2] =
- (c[sa >> 2] | 0) - (c[Ba >> 2] | 0);
- c[Da >> 2] =
- c[((c[ra >> 2] | 0) + 8) >> 2];
- c[Ea >> 2] =
- (c[za >> 2] | 0) == 3 ? 3 : 4;
- c[Fa >> 2] =
- c[((c[qa >> 2] | 0) + 36) >> 2];
- c[Ga >> 2] =
- Sj(
- c[sa >> 2] | 0,
- c[Da >> 2] | 0,
- c[za >> 2] | 0
- ) | 0;
- c[Ha >> 2] =
- c[
- ((c[Fa >> 2] | 0) +
- (c[Ga >> 2] << 2)) >>
- 2
- ];
- c[Ia >> 2] =
- c[((c[qa >> 2] | 0) + 44) >> 2];
- c[Ja >> 2] =
- (c[((c[ra >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Ka >> 2] = (1 << c[Ja >> 2]) - 1;
- c[La >> 2] = 0;
- c[Ma >> 2] = 0;
- c[Na >> 2] =
- c[((c[qa >> 2] | 0) + 8) >> 2];
- c[Oa >> 2] =
- c[((c[qa >> 2] | 0) + 12) >> 2];
- c[Pa >> 2] =
- (c[Na >> 2] | 0) + (c[Oa >> 2] | 0);
- c[Qa >> 2] =
- (c[Ba >> 2] | 0) + (c[Oa >> 2] | 0);
- if (
- (c[Ka >> 2] | 0) >>> 0 >=
- (c[Ca >> 2] | 0) >>> 0
- )
- yj = 0;
- else
- yj =
- ((c[Ca >> 2] | 0) -
- (c[Ka >> 2] | 0)) |
- 0;
- c[Ra >> 2] = yj;
- c[Sa >> 2] =
- c[((c[qa >> 2] | 0) + 16) >> 2];
- c[Ta >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ca >> 2] & c[Ka >> 2]) << 1) << 2);
- c[Ua >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ca >> 2] & c[Ka >> 2]) << 1) <<
- 2) +
- 4;
- c[Va >> 2] = (c[Ca >> 2] | 0) + 8 + 1;
- c[Xa >> 2] = 0;
- c[Ya >> 2] =
- 1 << c[((c[ra >> 2] | 0) + 12) >> 2];
- c[Za >> 2] = (c[ya >> 2] | 0) - 1;
- c[_a >> 2] = 3 + (c[wa >> 2] | 0);
- c[$a >> 2] = c[wa >> 2];
- while (1) {
- if (
- (c[$a >> 2] | 0) >>> 0 >=
- (c[_a >> 2] | 0) >>> 0
- ) {
- dj = 393;
- break;
- }
- Uh = c[va >> 2] | 0;
- if ((c[$a >> 2] | 0) == 3)
- zj = ((c[Uh >> 2] | 0) - 1) | 0;
- else
- zj =
- c[(Uh + (c[$a >> 2] << 2)) >> 2] |
- 0;
- c[ab >> 2] = zj;
- c[bb >> 2] =
- (c[Ca >> 2] | 0) - (c[ab >> 2] | 0);
- c[cb >> 2] = 0;
- do {
- if (
- (((c[ab >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ca >> 2] | 0) -
- (c[Oa >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Uh =
- mm(
- c[sa >> 2] | 0,
- c[Ea >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- ((c[sa >> 2] | 0) +
- (0 - (c[ab >> 2] | 0))) |
- 0,
- c[Ea >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Tj(
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0) +
- (0 - (c[ab >> 2] | 0))) |
- 0,
- c[ta >> 2] | 0
- ) | 0;
- c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
- } else {
- c[db >> 2] =
- (c[Na >> 2] | 0) +
- (c[bb >> 2] | 0);
- if (!(c[ua >> 2] | 0)) break;
- if (
- !(
- ((((c[Oa >> 2] | 0) -
- 1 -
- (c[bb >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[ab >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[Ca >> 2] | 0) -
- (c[Sa >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Uh =
- mm(
- c[sa >> 2] | 0,
- c[Ea >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- c[db >> 2] | 0,
- c[Ea >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Uj(
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- ((c[db >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
- }
- } while (0);
- if (
- (c[cb >> 2] | 0) >>> 0 >
- (c[Za >> 2] | 0) >>> 0
- ? ((c[Za >> 2] = c[cb >> 2]),
- (c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3)) >>
- 2
- ] =
- (c[$a >> 2] | 0) -
- (c[wa >> 2] | 0)),
- (c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3) +
- 4) >>
- 2
- ] = c[cb >> 2]),
- (c[Xa >> 2] =
- (c[Xa >> 2] | 0) + 1),
- ((c[cb >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? 1
- : (((c[sa >> 2] | 0) +
- (c[cb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 391;
- break;
- }
- c[$a >> 2] = (c[$a >> 2] | 0) + 1;
- }
- g: do {
- if ((dj | 0) == 391) {
- dj = 0;
- c[pa >> 2] = c[Xa >> 2];
- } else if ((dj | 0) == 393) {
- dj = 0;
- do {
- if ((c[za >> 2] | 0) == 3) {
- if (
- (c[Za >> 2] | 0) >>> 0 >=
- (c[za >> 2] | 0) >>> 0
- )
- break;
- c[eb >> 2] =
- nm(
- c[qa >> 2] | 0,
- c[sa >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[eb >> 2] | 0) >>> 0 >
- (c[Sa >> 2] | 0) >>> 0
- ? (((c[Ca >> 2] | 0) -
- (c[eb >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[ua >> 2] | 0) {
- if (
- (c[eb >> 2] | 0) >>> 0 >=
- (c[Oa >> 2] | 0) >>> 0
- ) {
- dj = 398;
- break;
- }
- c[hb >> 2] =
- (c[Na >> 2] | 0) +
- (c[eb >> 2] | 0);
- c[fb >> 2] =
- Uj(
- c[sa >> 2] | 0,
- c[hb >> 2] | 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- } else dj = 398;
- } while (0);
- if ((dj | 0) == 398) {
- dj = 0;
- c[gb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[eb >> 2] | 0);
- c[fb >> 2] =
- Tj(
- c[sa >> 2] | 0,
- c[gb >> 2] | 0,
- c[ta >> 2] | 0
- ) | 0;
- }
- if (
- (c[fb >> 2] | 0) >>> 0 <
- (c[za >> 2] | 0) >>> 0
- )
- break;
- c[Za >> 2] = c[fb >> 2];
- c[c[xa >> 2] >> 2] =
- (c[Ca >> 2] | 0) -
- (c[eb >> 2] | 0) +
- 2;
- c[((c[xa >> 2] | 0) + 4) >> 2] =
- c[fb >> 2];
- c[Xa >> 2] = 1;
- if (
- !(
- ((c[fb >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? 1
- : (((c[sa >> 2] | 0) +
- (c[fb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[qa >> 2] | 0) + 24) >> 2] =
- (c[Ca >> 2] | 0) + 1;
- c[pa >> 2] = 1;
- break g;
- }
- } while (0);
- c[
- ((c[Fa >> 2] | 0) +
- (c[Ga >> 2] << 2)) >>
- 2
- ] = c[Ca >> 2];
- while (1) {
- Uh = c[Ya >> 2] | 0;
- c[Ya >> 2] = Uh + -1;
- if (!Uh) break;
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Sa >> 2] | 0) >>> 0
- )
- break;
- c[ib >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ha >> 2] & c[Ka >> 2]) <<
- 1) <<
- 2);
- c[jb >> 2] =
- (c[La >> 2] | 0) >>> 0 <
- (c[Ma >> 2] | 0) >>> 0
- ? c[La >> 2] | 0
- : c[Ma >> 2] | 0;
- do {
- if (c[ua >> 2] | 0) {
- if (
- (((c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Oa >> 2] | 0) >>> 0
- ) {
- dj = 408;
- break;
- }
- c[kb >> 2] =
- (c[Na >> 2] | 0) +
- (c[Ha >> 2] | 0);
- Uh =
- Uj(
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- c[jb >> 2] =
- (c[jb >> 2] | 0) + Uh;
- if (
- (((c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Oa >> 2] | 0) >>> 0
- )
- break;
- c[kb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[Ha >> 2] | 0);
- } else dj = 408;
- } while (0);
- if ((dj | 0) == 408) {
- dj = 0;
- c[kb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[Ha >> 2] | 0);
- Uh =
- Tj(
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0
- ) | 0;
- c[jb >> 2] =
- (c[jb >> 2] | 0) + Uh;
- }
- if (
- (c[jb >> 2] | 0) >>> 0 >
- (c[Za >> 2] | 0) >>> 0
- ) {
- if (
- (c[jb >> 2] | 0) >>> 0 >
- (((c[Va >> 2] | 0) -
- (c[Ha >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Va >> 2] =
- (c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0);
- c[Za >> 2] = c[jb >> 2];
- c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3)) >>
- 2
- ] =
- (c[Ca >> 2] | 0) -
- (c[Ha >> 2] | 0) +
- 2;
- c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3) +
- 4) >>
- 2
- ] = c[jb >> 2];
- c[Xa >> 2] = (c[Xa >> 2] | 0) + 1;
- if ((c[jb >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)
- )
- break;
- }
- Uh = c[Ha >> 2] | 0;
- if (
- (d[
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Ta >> 2] >> 2] = Uh;
- c[La >> 2] = c[jb >> 2];
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Ra >> 2] | 0) >>> 0
- ) {
- dj = 418;
- break;
- }
- c[Ta >> 2] = (c[ib >> 2] | 0) + 4;
- c[Ha >> 2] =
- c[((c[ib >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Ua >> 2] >> 2] = Uh;
- c[Ma >> 2] = c[jb >> 2];
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Ra >> 2] | 0) >>> 0
- ) {
- dj = 421;
- break;
- }
- c[Ua >> 2] = c[ib >> 2];
- c[Ha >> 2] = c[c[ib >> 2] >> 2];
- }
- }
- if ((dj | 0) == 418) {
- dj = 0;
- c[Ta >> 2] = Wa;
- } else if ((dj | 0) == 421) {
- dj = 0;
- c[Ua >> 2] = Wa;
- }
- c[c[Ua >> 2] >> 2] = 0;
- c[c[Ta >> 2] >> 2] = 0;
- c[((c[qa >> 2] | 0) + 24) >> 2] =
- (c[Va >> 2] | 0) - 8;
- c[pa >> 2] = c[Xa >> 2];
- }
- } while (0);
- c[md >> 2] = c[pa >> 2];
- break d;
- break;
- }
- default: {
- Uh = c[od >> 2] | 0;
- aj = c[pd >> 2] | 0;
- _i = c[qd >> 2] | 0;
- _h = c[rd >> 2] | 0;
- Qh = c[sd >> 2] | 0;
- Ph = c[td >> 2] | 0;
- Zi = c[ud >> 2] | 0;
- Zh = c[vd >> 2] | 0;
- c[mb >> 2] = c[nd >> 2];
- c[nb >> 2] = Uh;
- c[ob >> 2] = aj;
- c[pb >> 2] = _i;
- c[qb >> 2] = _h;
- c[rb >> 2] = Qh;
- c[sb >> 2] = Ph;
- c[tb >> 2] = Zi;
- c[ub >> 2] = Zh;
- c[vb >> 2] = 4;
- if (
- (c[((c[nb >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- Aj =
- c[((c[nb >> 2] | 0) + 20) >> 2] | 0;
- else Aj = 4095;
- c[wb >> 2] = Aj;
- c[xb >> 2] =
- c[((c[mb >> 2] | 0) + 4) >> 2];
- c[yb >> 2] =
- (c[ob >> 2] | 0) - (c[xb >> 2] | 0);
- c[zb >> 2] =
- c[((c[nb >> 2] | 0) + 8) >> 2];
- c[Ab >> 2] =
- (c[vb >> 2] | 0) == 3 ? 3 : 4;
- c[Bb >> 2] =
- c[((c[mb >> 2] | 0) + 36) >> 2];
- c[Cb >> 2] =
- Sj(
- c[ob >> 2] | 0,
- c[zb >> 2] | 0,
- c[vb >> 2] | 0
- ) | 0;
- c[Db >> 2] =
- c[
- ((c[Bb >> 2] | 0) +
- (c[Cb >> 2] << 2)) >>
- 2
- ];
- c[Eb >> 2] =
- c[((c[mb >> 2] | 0) + 44) >> 2];
- c[Fb >> 2] =
- (c[((c[nb >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Gb >> 2] = (1 << c[Fb >> 2]) - 1;
- c[Hb >> 2] = 0;
- c[Ib >> 2] = 0;
- c[Jb >> 2] =
- c[((c[mb >> 2] | 0) + 8) >> 2];
- c[Kb >> 2] =
- c[((c[mb >> 2] | 0) + 12) >> 2];
- c[Lb >> 2] =
- (c[Jb >> 2] | 0) + (c[Kb >> 2] | 0);
- c[Mb >> 2] =
- (c[xb >> 2] | 0) + (c[Kb >> 2] | 0);
- if (
- (c[Gb >> 2] | 0) >>> 0 >=
- (c[yb >> 2] | 0) >>> 0
- )
- Bj = 0;
- else
- Bj =
- ((c[yb >> 2] | 0) -
- (c[Gb >> 2] | 0)) |
- 0;
- c[Nb >> 2] = Bj;
- c[Ob >> 2] =
- c[((c[mb >> 2] | 0) + 16) >> 2];
- c[Pb >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[yb >> 2] & c[Gb >> 2]) << 1) << 2);
- c[Qb >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[yb >> 2] & c[Gb >> 2]) << 1) <<
- 2) +
- 4;
- c[Rb >> 2] = (c[yb >> 2] | 0) + 8 + 1;
- c[Tb >> 2] = 0;
- c[Ub >> 2] =
- 1 << c[((c[nb >> 2] | 0) + 12) >> 2];
- c[Vb >> 2] = (c[ub >> 2] | 0) - 1;
- c[Wb >> 2] = 3 + (c[sb >> 2] | 0);
- c[Xb >> 2] = c[sb >> 2];
- while (1) {
- if (
- (c[Xb >> 2] | 0) >>> 0 >=
- (c[Wb >> 2] | 0) >>> 0
- ) {
- dj = 340;
- break;
- }
- Zh = c[rb >> 2] | 0;
- if ((c[Xb >> 2] | 0) == 3)
- Cj = ((c[Zh >> 2] | 0) - 1) | 0;
- else
- Cj =
- c[(Zh + (c[Xb >> 2] << 2)) >> 2] |
- 0;
- c[Yb >> 2] = Cj;
- c[Zb >> 2] =
- (c[yb >> 2] | 0) - (c[Yb >> 2] | 0);
- c[_b >> 2] = 0;
- do {
- if (
- (((c[Yb >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[yb >> 2] | 0) -
- (c[Kb >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Zh =
- mm(
- c[ob >> 2] | 0,
- c[Ab >> 2] | 0
- ) | 0;
- if (
- (Zh | 0) !=
- (mm(
- ((c[ob >> 2] | 0) +
- (0 - (c[Yb >> 2] | 0))) |
- 0,
- c[Ab >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Tj(
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0) +
- (0 - (c[Yb >> 2] | 0))) |
- 0,
- c[pb >> 2] | 0
- ) | 0;
- c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
- } else {
- c[$b >> 2] =
- (c[Jb >> 2] | 0) +
- (c[Zb >> 2] | 0);
- if (!(c[qb >> 2] | 0)) break;
- if (
- !(
- ((((c[Kb >> 2] | 0) -
- 1 -
- (c[Zb >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[Yb >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[yb >> 2] | 0) -
- (c[Ob >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Zh =
- mm(
- c[ob >> 2] | 0,
- c[Ab >> 2] | 0
- ) | 0;
- if (
- (Zh | 0) !=
- (mm(
- c[$b >> 2] | 0,
- c[Ab >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Uj(
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- ((c[$b >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
- }
- } while (0);
- if (
- (c[_b >> 2] | 0) >>> 0 >
- (c[Vb >> 2] | 0) >>> 0
- ? ((c[Vb >> 2] = c[_b >> 2]),
- (c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3)) >>
- 2
- ] =
- (c[Xb >> 2] | 0) -
- (c[sb >> 2] | 0)),
- (c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3) +
- 4) >>
- 2
- ] = c[_b >> 2]),
- (c[Tb >> 2] =
- (c[Tb >> 2] | 0) + 1),
- ((c[_b >> 2] | 0) >>> 0 >
- (c[wb >> 2] | 0) >>> 0
- ? 1
- : (((c[ob >> 2] | 0) +
- (c[_b >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 338;
- break;
- }
- c[Xb >> 2] = (c[Xb >> 2] | 0) + 1;
- }
- h: do {
- if ((dj | 0) == 338) {
- dj = 0;
- c[lb >> 2] = c[Tb >> 2];
- } else if ((dj | 0) == 340) {
- dj = 0;
- do {
- if ((c[vb >> 2] | 0) == 3) {
- if (
- (c[Vb >> 2] | 0) >>> 0 >=
- (c[vb >> 2] | 0) >>> 0
- )
- break;
- c[ac >> 2] =
- nm(
- c[mb >> 2] | 0,
- c[ob >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[ac >> 2] | 0) >>> 0 >
- (c[Ob >> 2] | 0) >>> 0
- ? (((c[yb >> 2] | 0) -
- (c[ac >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[qb >> 2] | 0) {
- if (
- (c[ac >> 2] | 0) >>> 0 >=
- (c[Kb >> 2] | 0) >>> 0
- ) {
- dj = 345;
- break;
- }
- c[dc >> 2] =
- (c[Jb >> 2] | 0) +
- (c[ac >> 2] | 0);
- c[bc >> 2] =
- Uj(
- c[ob >> 2] | 0,
- c[dc >> 2] | 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- } else dj = 345;
- } while (0);
- if ((dj | 0) == 345) {
- dj = 0;
- c[cc >> 2] =
- (c[xb >> 2] | 0) +
- (c[ac >> 2] | 0);
- c[bc >> 2] =
- Tj(
- c[ob >> 2] | 0,
- c[cc >> 2] | 0,
- c[pb >> 2] | 0
- ) | 0;
- }
- if (
- (c[bc >> 2] | 0) >>> 0 <
- (c[vb >> 2] | 0) >>> 0
- )
- break;
- c[Vb >> 2] = c[bc >> 2];
- c[c[tb >> 2] >> 2] =
- (c[yb >> 2] | 0) -
- (c[ac >> 2] | 0) +
- 2;
- c[((c[tb >> 2] | 0) + 4) >> 2] =
- c[bc >> 2];
- c[Tb >> 2] = 1;
- if (
- !(
- ((c[bc >> 2] | 0) >>> 0 >
- (c[wb >> 2] | 0) >>> 0
- ? 1
- : (((c[ob >> 2] | 0) +
- (c[bc >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[mb >> 2] | 0) + 24) >> 2] =
- (c[yb >> 2] | 0) + 1;
- c[lb >> 2] = 1;
- break h;
- }
- } while (0);
- c[
- ((c[Bb >> 2] | 0) +
- (c[Cb >> 2] << 2)) >>
- 2
- ] = c[yb >> 2];
- while (1) {
- Zh = c[Ub >> 2] | 0;
- c[Ub >> 2] = Zh + -1;
- if (!Zh) break;
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Ob >> 2] | 0) >>> 0
- )
- break;
- c[ec >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[Db >> 2] & c[Gb >> 2]) <<
- 1) <<
- 2);
- c[fc >> 2] =
- (c[Hb >> 2] | 0) >>> 0 <
- (c[Ib >> 2] | 0) >>> 0
- ? c[Hb >> 2] | 0
- : c[Ib >> 2] | 0;
- do {
- if (c[qb >> 2] | 0) {
- if (
- (((c[Db >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Kb >> 2] | 0) >>> 0
- ) {
- dj = 355;
- break;
- }
- c[gc >> 2] =
- (c[Jb >> 2] | 0) +
- (c[Db >> 2] | 0);
- Zh =
- Uj(
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- c[fc >> 2] =
- (c[fc >> 2] | 0) + Zh;
- if (
- (((c[Db >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Kb >> 2] | 0) >>> 0
- )
- break;
- c[gc >> 2] =
- (c[xb >> 2] | 0) +
- (c[Db >> 2] | 0);
- } else dj = 355;
- } while (0);
- if ((dj | 0) == 355) {
- dj = 0;
- c[gc >> 2] =
- (c[xb >> 2] | 0) +
- (c[Db >> 2] | 0);
- Zh =
- Tj(
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0
- ) | 0;
- c[fc >> 2] =
- (c[fc >> 2] | 0) + Zh;
- }
- if (
- (c[fc >> 2] | 0) >>> 0 >
- (c[Vb >> 2] | 0) >>> 0
- ) {
- if (
- (c[fc >> 2] | 0) >>> 0 >
- (((c[Rb >> 2] | 0) -
- (c[Db >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Rb >> 2] =
- (c[Db >> 2] | 0) +
- (c[fc >> 2] | 0);
- c[Vb >> 2] = c[fc >> 2];
- c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3)) >>
- 2
- ] =
- (c[yb >> 2] | 0) -
- (c[Db >> 2] | 0) +
- 2;
- c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3) +
- 4) >>
- 2
- ] = c[fc >> 2];
- c[Tb >> 2] = (c[Tb >> 2] | 0) + 1;
- if ((c[fc >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)
- )
- break;
- }
- Zh = c[Db >> 2] | 0;
- if (
- (d[
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Pb >> 2] >> 2] = Zh;
- c[Hb >> 2] = c[fc >> 2];
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Nb >> 2] | 0) >>> 0
- ) {
- dj = 365;
- break;
- }
- c[Pb >> 2] = (c[ec >> 2] | 0) + 4;
- c[Db >> 2] =
- c[((c[ec >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Qb >> 2] >> 2] = Zh;
- c[Ib >> 2] = c[fc >> 2];
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Nb >> 2] | 0) >>> 0
- ) {
- dj = 368;
- break;
- }
- c[Qb >> 2] = c[ec >> 2];
- c[Db >> 2] = c[c[ec >> 2] >> 2];
- }
- }
- if ((dj | 0) == 365) {
- dj = 0;
- c[Pb >> 2] = Sb;
- } else if ((dj | 0) == 368) {
- dj = 0;
- c[Qb >> 2] = Sb;
- }
- c[c[Qb >> 2] >> 2] = 0;
- c[c[Pb >> 2] >> 2] = 0;
- c[((c[mb >> 2] | 0) + 24) >> 2] =
- (c[Rb >> 2] | 0) - 8;
- c[lb >> 2] = c[Tb >> 2];
- }
- } while (0);
- c[md >> 2] = c[lb >> 2];
- break d;
- }
- }
- }
- } while (0);
- c[Bi >> 2] = c[md >> 2];
- if (c[Bi >> 2] | 0) {
- c[Di >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[Bi >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ];
- if (
- ((c[Di >> 2] | 0) >>> 0 >
- (c[$h >> 2] | 0) >>> 0
- ? 1
- : (((c[ei >> 2] | 0) + (c[Di >> 2] | 0)) |
- 0) >>>
- 0 >=
- 4096) | 0
- ) {
- dj = 481;
- break b;
- }
- c[Ci >> 2] = 0;
- while (1) {
- if (
- (c[Ci >> 2] | 0) >>> 0 >=
- (c[Bi >> 2] | 0) >>> 0
- )
- break c;
- c[Ei >> 2] =
- c[
- ((c[ci >> 2] | 0) + (c[Ci >> 2] << 3)) >>
- 2
- ];
- pm(
- Fi,
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0,
- c[Ei >> 2] | 0,
- c[xi >> 2] | 0
- );
- c[Gi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (c[Ci >> 2] << 3) +
- 4) >>
- 2
- ];
- if ((c[Ci >> 2] | 0) >>> 0 > 0)
- Dj =
- ((c[
- ((c[ci >> 2] | 0) +
- (((c[Ci >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ] |
- 0) +
- 1) |
- 0;
- else Dj = c[ai >> 2] | 0;
- c[Hi >> 2] = Dj;
- c[Ii >> 2] = c[Gi >> 2];
- i: while (1) {
- if (
- (c[Ii >> 2] | 0) >>> 0 <
- (c[Hi >> 2] | 0) >>> 0
- )
- break;
- c[Ji >> 2] =
- (c[ei >> 2] | 0) + (c[Ii >> 2] | 0);
- Zh = c[Ai >> 2] | 0;
- Zi = c[Ii >> 2] | 0;
- Ph = c[Th >> 2] | 0;
- Qh = c[Rh >> 2] | 0;
- c[k >> 2] = c[Ei >> 2];
- c[m >> 2] = Zi;
- c[n >> 2] = Ph;
- c[o >> 2] = Qh;
- c[q >> 2] =
- qm(((c[k >> 2] | 0) + 1) | 0) | 0;
- c[r >> 2] = (c[m >> 2] | 0) - 3;
- if (c[((c[n >> 2] | 0) + 56) >> 2] | 0) {
- Qh =
- ((qm(((c[r >> 2] | 0) + 1) | 0) | 0) +
- 16) |
- 0;
- c[j >> 2] = Qh + (c[q >> 2] | 0);
- } else {
- Qh =
- ((c[q >> 2] | 0) +
- (c[((c[n >> 2] | 0) + 52) >> 2] |
- 0)) |
- 0;
- c[p >> 2] =
- Qh -
- (qm(
- ((c[
- ((c[((c[n >> 2] | 0) + 12) >> 2] |
- 0) +
- (c[q >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- if (
- ((c[o >> 2] | 0) < 2) &
- ((c[q >> 2] | 0) >>> 0 >= 20)
- )
- c[p >> 2] =
- (c[p >> 2] | 0) +
- (((c[q >> 2] | 0) - 19) << 1);
- c[s >> 2] = rm(c[r >> 2] | 0) | 0;
- Qh =
- ((c[(5840 + (c[s >> 2] << 2)) >> 2] |
- 0) +
- (c[((c[n >> 2] | 0) + 48) >> 2] |
- 0)) |
- 0;
- Ph =
- (Qh -
- (qm(
- ((c[
- ((c[((c[n >> 2] | 0) + 8) >> 2] |
- 0) +
- (c[s >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0)) |
- 0;
- c[p >> 2] = (c[p >> 2] | 0) + Ph;
- c[j >> 2] = c[p >> 2];
- }
- c[Ki >> 2] = Zh + (c[j >> 2] | 0);
- do {
- if (
- (c[Ji >> 2] | 0) >>> 0 <=
- (c[fi >> 2] | 0) >>> 0
- ) {
- if (
- (c[Ki >> 2] | 0) <
- (c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- ) {
- dj = 496;
- break;
- }
- if (!(c[Rh >> 2] | 0)) break i;
- } else dj = 496;
- } while (0);
- if ((dj | 0) == 496) {
- dj = 0;
- while (1) {
- if (
- (c[fi >> 2] | 0) >>> 0 >=
- (c[Ji >> 2] | 0) >>> 0
- )
- break;
- c[
- ((c[bi >> 2] | 0) +
- (((((c[fi >> 2] | 0) + 1) | 0) *
- 28) |
- 0)) >>
- 2
- ] = 1073741824;
- c[fi >> 2] = (c[fi >> 2] | 0) + 1;
- }
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[Ii >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[Ei >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[yi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[Ki >> 2];
- Zh =
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- c[Zh >> 2] = c[Fi >> 2];
- c[(Zh + 4) >> 2] = c[(Fi + 4) >> 2];
- c[(Zh + 8) >> 2] = c[(Fi + 8) >> 2];
- }
- c[Ii >> 2] = (c[Ii >> 2] | 0) + -1;
- }
- c[Ci >> 2] = (c[Ci >> 2] | 0) + 1;
- }
- }
- }
- } while (0);
- c[ei >> 2] = (c[ei >> 2] | 0) + 1;
- }
- if ((dj | 0) == 481) {
- dj = 0;
- c[gi >> 2] = c[Di >> 2];
- c[hi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[Bi >> 2] | 0) - 1) << 3)) >>
- 2
- ];
- c[fi >> 2] = (c[ei >> 2] | 0) + 1;
- break;
- } else if ((dj | 0) == 504) {
- dj = 0;
- c[gi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[fi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[hi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[fi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- c[ei >> 2] = (c[fi >> 2] | 0) - (c[gi >> 2] | 0);
- break;
- }
- } else {
- c[gi >> 2] = c[mi >> 2];
- c[hi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[ki >> 2] | 0) - 1) << 3)) >>
- 2
- ];
- c[ei >> 2] = 0;
- c[fi >> 2] = 1;
- }
- } while (0);
- c[Li >> 2] = c[gi >> 2];
- c[Mi >> 2] = c[hi >> 2];
- c[Ni >> 2] = c[ei >> 2];
- while (1) {
- c[Oi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[Pi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[Li >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[Mi >> 2];
- c[Li >> 2] = c[Oi >> 2];
- c[Mi >> 2] = c[Pi >> 2];
- if ((c[Oi >> 2] | 0) >>> 0 > (c[Ni >> 2] | 0) >>> 0)
- break;
- c[Ni >> 2] = (c[Ni >> 2] | 0) - (c[Oi >> 2] | 0);
- }
- c[Qi >> 2] = 0;
- while (1) {
- if ((c[Qi >> 2] | 0) >>> 0 >= (c[fi >> 2] | 0) >>> 0)
- break;
- c[Ri >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
- c[Si >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Qi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[Ti >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Qi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- if ((c[Si >> 2] | 0) == 1) {
- c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
- c[Qi >> 2] = (c[Qi >> 2] | 0) + 1;
- continue;
- }
- c[Qi >> 2] = (c[Qi >> 2] | 0) + (c[Si >> 2] | 0);
- c[Vh >> 2] = (c[Vh >> 2] | 0) + (c[Si >> 2] | 0);
- if ((c[Ti >> 2] | 0) >>> 0 < 3) {
- c[Ui >> 2] =
- (c[Ti >> 2] | 0) + (((c[Ri >> 2] | 0) == 0) & 1);
- if (c[Ui >> 2] | 0) {
- Zh = c[Nh >> 2] | 0;
- if ((c[Ui >> 2] | 0) == 3)
- Ej = ((c[Zh >> 2] | 0) - 1) | 0;
- else Ej = c[(Zh + (c[Ui >> 2] << 2)) >> 2] | 0;
- c[Vi >> 2] = Ej;
- if ((c[Ui >> 2] | 0) >>> 0 >= 2)
- c[((c[Nh >> 2] | 0) + 8) >> 2] =
- c[((c[Nh >> 2] | 0) + 4) >> 2];
- c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
- c[c[Nh >> 2] >> 2] = c[Vi >> 2];
- }
- } else {
- c[((c[Nh >> 2] | 0) + 8) >> 2] =
- c[((c[Nh >> 2] | 0) + 4) >> 2];
- c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
- c[c[Nh >> 2] >> 2] = (c[Ti >> 2] | 0) - 2;
- }
- vm(
- c[Th >> 2] | 0,
- c[Ri >> 2] | 0,
- c[Wh >> 2] | 0,
- c[Ti >> 2] | 0,
- c[Si >> 2] | 0
- );
- wm(
- c[Mh >> 2] | 0,
- c[Ri >> 2] | 0,
- c[Wh >> 2] | 0,
- c[Ti >> 2] | 0,
- ((c[Si >> 2] | 0) - 3) | 0
- );
- c[Wh >> 2] = c[Vh >> 2];
- }
- xm(c[Th >> 2] | 0);
- }
- l = i;
- return ((c[Xh >> 2] | 0) - (c[Wh >> 2] | 0)) | 0;
- }
- function km(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0,
- Kc = 0,
- Lc = 0,
- Mc = 0,
- Nc = 0,
- Oc = 0,
- Pc = 0,
- Qc = 0,
- Rc = 0,
- Sc = 0,
- Tc = 0,
- Uc = 0,
- Vc = 0,
- Wc = 0,
- Xc = 0,
- Yc = 0,
- Zc = 0,
- _c = 0,
- $c = 0,
- ad = 0,
- bd = 0,
- cd = 0,
- dd = 0,
- ed = 0,
- fd = 0,
- gd = 0,
- hd = 0,
- id = 0,
- jd = 0,
- kd = 0,
- ld = 0,
- md = 0,
- nd = 0,
- od = 0,
- pd = 0,
- qd = 0,
- rd = 0,
- sd = 0,
- td = 0,
- ud = 0,
- vd = 0,
- wd = 0,
- xd = 0,
- yd = 0,
- zd = 0,
- Ad = 0,
- Bd = 0,
- Cd = 0,
- Dd = 0,
- Ed = 0,
- Fd = 0,
- Gd = 0,
- Hd = 0,
- Id = 0,
- Jd = 0,
- Kd = 0,
- Ld = 0,
- Md = 0,
- Nd = 0,
- Od = 0,
- Pd = 0,
- Qd = 0,
- Rd = 0,
- Sd = 0,
- Td = 0,
- Ud = 0,
- Vd = 0,
- Wd = 0,
- Xd = 0,
- Yd = 0,
- Zd = 0,
- _d = 0,
- $d = 0,
- ae = 0,
- be = 0,
- ce = 0,
- de = 0,
- ee = 0,
- fe = 0,
- ge = 0,
- he = 0,
- ie = 0,
- je = 0,
- ke = 0,
- le = 0,
- me = 0,
- ne = 0,
- oe = 0,
- pe = 0,
- qe = 0,
- re = 0,
- se = 0,
- te = 0,
- ue = 0,
- ve = 0,
- we = 0,
- xe = 0,
- ye = 0,
- ze = 0,
- Ae = 0,
- Be = 0,
- Ce = 0,
- De = 0,
- Ee = 0,
- Fe = 0,
- Ge = 0,
- He = 0,
- Ie = 0,
- Je = 0,
- Ke = 0,
- Le = 0,
- Me = 0,
- Ne = 0,
- Oe = 0,
- Pe = 0,
- Qe = 0,
- Re = 0,
- Se = 0,
- Te = 0,
- Ue = 0,
- Ve = 0,
- We = 0,
- Xe = 0,
- Ye = 0,
- Ze = 0,
- _e = 0,
- $e = 0,
- af = 0,
- bf = 0,
- cf = 0,
- df = 0,
- ef = 0,
- ff = 0,
- gf = 0,
- hf = 0,
- jf = 0,
- kf = 0,
- lf = 0,
- mf = 0,
- nf = 0,
- of = 0,
- pf = 0,
- qf = 0,
- rf = 0,
- sf = 0,
- tf = 0,
- uf = 0,
- vf = 0,
- wf = 0,
- xf = 0,
- yf = 0,
- zf = 0,
- Af = 0,
- Bf = 0,
- Cf = 0,
- Df = 0,
- Ef = 0,
- Ff = 0,
- Gf = 0,
- Hf = 0,
- If = 0,
- Jf = 0,
- Kf = 0,
- Lf = 0,
- Mf = 0,
- Nf = 0,
- Of = 0,
- Pf = 0,
- Qf = 0,
- Rf = 0,
- Sf = 0,
- Tf = 0,
- Uf = 0,
- Vf = 0,
- Wf = 0,
- Xf = 0,
- Yf = 0,
- Zf = 0,
- _f = 0,
- $f = 0,
- ag = 0,
- bg = 0,
- cg = 0,
- dg = 0,
- eg = 0,
- fg = 0,
- gg = 0,
- hg = 0,
- ig = 0,
- jg = 0,
- kg = 0,
- lg = 0,
- mg = 0,
- ng = 0,
- og = 0,
- pg = 0,
- qg = 0,
- rg = 0,
- sg = 0,
- tg = 0,
- ug = 0,
- vg = 0,
- wg = 0,
- xg = 0,
- yg = 0,
- zg = 0,
- Ag = 0,
- Bg = 0,
- Cg = 0,
- Dg = 0,
- Eg = 0,
- Fg = 0,
- Gg = 0,
- Hg = 0,
- Ig = 0,
- Jg = 0,
- Kg = 0,
- Lg = 0,
- Mg = 0,
- Ng = 0,
- Og = 0,
- Pg = 0,
- Qg = 0,
- Rg = 0,
- Sg = 0,
- Tg = 0,
- Ug = 0,
- Vg = 0,
- Wg = 0,
- Xg = 0,
- Yg = 0,
- Zg = 0,
- _g = 0,
- $g = 0,
- ah = 0,
- bh = 0,
- ch = 0,
- dh = 0,
- eh = 0,
- fh = 0,
- gh = 0,
- hh = 0,
- ih = 0,
- jh = 0,
- kh = 0,
- lh = 0,
- mh = 0,
- nh = 0,
- oh = 0,
- ph = 0,
- qh = 0,
- rh = 0,
- sh = 0,
- th = 0,
- uh = 0,
- vh = 0,
- wh = 0,
- xh = 0,
- yh = 0,
- zh = 0,
- Ah = 0,
- Bh = 0,
- Ch = 0,
- Dh = 0,
- Eh = 0,
- Fh = 0,
- Gh = 0,
- Hh = 0,
- Ih = 0,
- Jh = 0,
- Kh = 0,
- Lh = 0,
- Mh = 0,
- Nh = 0,
- Oh = 0,
- Ph = 0,
- Qh = 0,
- Rh = 0,
- Sh = 0,
- Th = 0,
- Uh = 0,
- Vh = 0,
- Wh = 0,
- Xh = 0,
- Yh = 0,
- Zh = 0,
- _h = 0,
- $h = 0,
- ai = 0,
- bi = 0,
- ci = 0,
- di = 0,
- ei = 0,
- fi = 0,
- gi = 0,
- hi = 0,
- ii = 0,
- ji = 0,
- ki = 0,
- li = 0,
- mi = 0,
- ni = 0,
- oi = 0,
- pi = 0,
- qi = 0,
- ri = 0,
- si = 0,
- ti = 0,
- ui = 0,
- vi = 0,
- wi = 0,
- xi = 0,
- yi = 0,
- zi = 0,
- Ai = 0,
- Bi = 0,
- Ci = 0,
- Di = 0,
- Ei = 0,
- Fi = 0,
- Gi = 0,
- Hi = 0,
- Ii = 0,
- Ji = 0,
- Ki = 0,
- Li = 0,
- Mi = 0,
- Ni = 0,
- Oi = 0,
- Pi = 0,
- Qi = 0,
- Ri = 0,
- Si = 0,
- Ti = 0,
- Ui = 0,
- Vi = 0,
- Wi = 0,
- Xi = 0,
- Yi = 0,
- Zi = 0,
- _i = 0,
- $i = 0,
- aj = 0,
- bj = 0,
- cj = 0,
- dj = 0,
- ej = 0,
- fj = 0,
- gj = 0,
- hj = 0,
- ij = 0,
- jj = 0,
- kj = 0,
- lj = 0,
- mj = 0,
- nj = 0,
- oj = 0,
- pj = 0,
- qj = 0,
- rj = 0,
- sj = 0,
- tj = 0,
- uj = 0,
- vj = 0,
- wj = 0,
- xj = 0,
- yj = 0,
- zj = 0,
- Aj = 0,
- Bj = 0,
- Cj = 0,
- Dj = 0,
- Ej = 0;
- i = l;
- l = (l + 2144) | 0;
- j = (i + 2136) | 0;
- k = (i + 2132) | 0;
- m = (i + 2128) | 0;
- n = (i + 2124) | 0;
- o = (i + 2120) | 0;
- p = (i + 2116) | 0;
- q = (i + 2112) | 0;
- r = (i + 2108) | 0;
- s = (i + 2104) | 0;
- t = (i + 2100) | 0;
- u = (i + 2096) | 0;
- v = (i + 2092) | 0;
- w = (i + 2088) | 0;
- x = (i + 2084) | 0;
- y = (i + 2080) | 0;
- z = (i + 2076) | 0;
- A = (i + 2072) | 0;
- B = (i + 2068) | 0;
- C = (i + 2064) | 0;
- D = (i + 2060) | 0;
- E = (i + 2056) | 0;
- F = (i + 2052) | 0;
- G = (i + 2048) | 0;
- H = (i + 2044) | 0;
- I = (i + 2040) | 0;
- J = (i + 2036) | 0;
- K = (i + 2032) | 0;
- L = (i + 2028) | 0;
- M = (i + 2024) | 0;
- N = (i + 2020) | 0;
- O = (i + 2016) | 0;
- P = (i + 2012) | 0;
- Q = (i + 2008) | 0;
- R = (i + 2004) | 0;
- S = (i + 2e3) | 0;
- T = (i + 1996) | 0;
- U = (i + 1992) | 0;
- V = (i + 1988) | 0;
- W = (i + 1984) | 0;
- X = (i + 1980) | 0;
- Y = (i + 1976) | 0;
- Z = (i + 1972) | 0;
- _ = (i + 1968) | 0;
- $ = (i + 1964) | 0;
- aa = (i + 1960) | 0;
- ba = (i + 1956) | 0;
- ca = (i + 1952) | 0;
- da = (i + 1948) | 0;
- ea = (i + 1944) | 0;
- fa = (i + 1940) | 0;
- ga = (i + 1936) | 0;
- ha = (i + 1932) | 0;
- ia = (i + 1928) | 0;
- ja = (i + 1924) | 0;
- ka = (i + 1920) | 0;
- la = (i + 1916) | 0;
- ma = (i + 1912) | 0;
- na = (i + 1908) | 0;
- oa = (i + 1904) | 0;
- pa = (i + 1900) | 0;
- qa = (i + 1896) | 0;
- ra = (i + 1892) | 0;
- sa = (i + 1888) | 0;
- ta = (i + 1884) | 0;
- ua = (i + 1880) | 0;
- va = (i + 1876) | 0;
- wa = (i + 1872) | 0;
- xa = (i + 1868) | 0;
- ya = (i + 1864) | 0;
- za = (i + 1860) | 0;
- Aa = (i + 1856) | 0;
- Ba = (i + 1852) | 0;
- Ca = (i + 1848) | 0;
- Da = (i + 1844) | 0;
- Ea = (i + 1840) | 0;
- Fa = (i + 1836) | 0;
- Ga = (i + 1832) | 0;
- Ha = (i + 1828) | 0;
- Ia = (i + 1824) | 0;
- Ja = (i + 1820) | 0;
- Ka = (i + 1816) | 0;
- La = (i + 1812) | 0;
- Ma = (i + 1808) | 0;
- Na = (i + 1804) | 0;
- Oa = (i + 1800) | 0;
- Pa = (i + 1796) | 0;
- Qa = (i + 1792) | 0;
- Ra = (i + 1788) | 0;
- Sa = (i + 1784) | 0;
- Ta = (i + 1780) | 0;
- Ua = (i + 1776) | 0;
- Va = (i + 1772) | 0;
- Wa = (i + 1768) | 0;
- Xa = (i + 1764) | 0;
- Ya = (i + 1760) | 0;
- Za = (i + 1756) | 0;
- _a = (i + 1752) | 0;
- $a = (i + 1748) | 0;
- ab = (i + 1744) | 0;
- bb = (i + 1740) | 0;
- cb = (i + 1736) | 0;
- db = (i + 1732) | 0;
- eb = (i + 1728) | 0;
- fb = (i + 1724) | 0;
- gb = (i + 1720) | 0;
- hb = (i + 1716) | 0;
- ib = (i + 1712) | 0;
- jb = (i + 1708) | 0;
- kb = (i + 1704) | 0;
- lb = (i + 1700) | 0;
- mb = (i + 1696) | 0;
- nb = (i + 1692) | 0;
- ob = (i + 1688) | 0;
- pb = (i + 1684) | 0;
- qb = (i + 1680) | 0;
- rb = (i + 1676) | 0;
- sb = (i + 1672) | 0;
- tb = (i + 1668) | 0;
- ub = (i + 1664) | 0;
- vb = (i + 1660) | 0;
- wb = (i + 1656) | 0;
- xb = (i + 1652) | 0;
- yb = (i + 1648) | 0;
- zb = (i + 1644) | 0;
- Ab = (i + 1640) | 0;
- Bb = (i + 1636) | 0;
- Cb = (i + 1632) | 0;
- Db = (i + 1628) | 0;
- Eb = (i + 1624) | 0;
- Fb = (i + 1620) | 0;
- Gb = (i + 1616) | 0;
- Hb = (i + 1612) | 0;
- Ib = (i + 1608) | 0;
- Jb = (i + 1604) | 0;
- Kb = (i + 1600) | 0;
- Lb = (i + 1596) | 0;
- Mb = (i + 1592) | 0;
- Nb = (i + 1588) | 0;
- Ob = (i + 1584) | 0;
- Pb = (i + 1580) | 0;
- Qb = (i + 1576) | 0;
- Rb = (i + 1572) | 0;
- Sb = (i + 1568) | 0;
- Tb = (i + 1564) | 0;
- Ub = (i + 1560) | 0;
- Vb = (i + 1556) | 0;
- Wb = (i + 1552) | 0;
- Xb = (i + 1548) | 0;
- Yb = (i + 1544) | 0;
- Zb = (i + 1540) | 0;
- _b = (i + 1536) | 0;
- $b = (i + 1532) | 0;
- ac = (i + 1528) | 0;
- bc = (i + 1524) | 0;
- cc = (i + 1520) | 0;
- dc = (i + 1516) | 0;
- ec = (i + 1512) | 0;
- fc = (i + 1508) | 0;
- gc = (i + 1504) | 0;
- hc = (i + 1500) | 0;
- ic = (i + 1496) | 0;
- jc = (i + 1492) | 0;
- kc = (i + 1488) | 0;
- lc = (i + 1484) | 0;
- mc = (i + 1480) | 0;
- nc = (i + 1476) | 0;
- oc = (i + 1472) | 0;
- pc = (i + 1468) | 0;
- qc = (i + 1464) | 0;
- rc = (i + 1460) | 0;
- sc = (i + 1456) | 0;
- tc = (i + 1452) | 0;
- uc = (i + 1448) | 0;
- vc = (i + 1444) | 0;
- wc = (i + 1440) | 0;
- xc = (i + 1436) | 0;
- yc = (i + 1432) | 0;
- zc = (i + 1428) | 0;
- Ac = (i + 1424) | 0;
- Bc = (i + 1420) | 0;
- Cc = (i + 1416) | 0;
- Dc = (i + 1412) | 0;
- Ec = (i + 1408) | 0;
- Fc = (i + 1404) | 0;
- Gc = (i + 1400) | 0;
- Hc = (i + 1396) | 0;
- Ic = (i + 1392) | 0;
- Jc = (i + 1388) | 0;
- Kc = (i + 1384) | 0;
- Lc = (i + 1380) | 0;
- Mc = (i + 1376) | 0;
- Nc = (i + 1372) | 0;
- Oc = (i + 1368) | 0;
- Pc = (i + 1364) | 0;
- Qc = (i + 1360) | 0;
- Rc = (i + 1356) | 0;
- Sc = (i + 1352) | 0;
- Tc = (i + 1348) | 0;
- Uc = (i + 1344) | 0;
- Vc = (i + 1340) | 0;
- Wc = (i + 1336) | 0;
- Xc = (i + 1332) | 0;
- Yc = (i + 1328) | 0;
- Zc = (i + 1324) | 0;
- _c = (i + 1320) | 0;
- $c = (i + 1316) | 0;
- ad = (i + 1312) | 0;
- bd = (i + 1308) | 0;
- cd = (i + 1304) | 0;
- dd = (i + 1300) | 0;
- ed = (i + 1296) | 0;
- fd = (i + 1292) | 0;
- gd = (i + 1288) | 0;
- hd = (i + 1284) | 0;
- id = (i + 1280) | 0;
- jd = (i + 1276) | 0;
- kd = (i + 1272) | 0;
- ld = (i + 1268) | 0;
- md = (i + 1264) | 0;
- nd = (i + 1260) | 0;
- od = (i + 1256) | 0;
- pd = (i + 1252) | 0;
- qd = (i + 1248) | 0;
- rd = (i + 1244) | 0;
- sd = (i + 1240) | 0;
- td = (i + 1236) | 0;
- ud = (i + 1232) | 0;
- vd = (i + 1228) | 0;
- wd = (i + 1224) | 0;
- xd = (i + 1220) | 0;
- yd = (i + 1216) | 0;
- zd = (i + 1212) | 0;
- Ad = (i + 1208) | 0;
- Bd = (i + 1204) | 0;
- Cd = (i + 1200) | 0;
- Dd = (i + 1196) | 0;
- Ed = (i + 1192) | 0;
- Fd = (i + 1188) | 0;
- Gd = (i + 1184) | 0;
- Hd = (i + 1180) | 0;
- Id = (i + 1176) | 0;
- Jd = (i + 1172) | 0;
- Kd = (i + 1168) | 0;
- Ld = (i + 1164) | 0;
- Md = (i + 1160) | 0;
- Nd = (i + 1156) | 0;
- Od = (i + 1152) | 0;
- Pd = (i + 1148) | 0;
- Qd = (i + 1144) | 0;
- Rd = (i + 1140) | 0;
- Sd = (i + 1136) | 0;
- Td = (i + 1132) | 0;
- Ud = (i + 1128) | 0;
- Vd = (i + 1124) | 0;
- Wd = (i + 1120) | 0;
- Xd = (i + 1116) | 0;
- Yd = (i + 1112) | 0;
- Zd = (i + 1108) | 0;
- _d = (i + 1104) | 0;
- $d = (i + 1100) | 0;
- ae = (i + 1096) | 0;
- be = (i + 1092) | 0;
- ce = (i + 1088) | 0;
- de = (i + 1084) | 0;
- ee = (i + 1080) | 0;
- fe = (i + 1076) | 0;
- ge = (i + 1072) | 0;
- he = (i + 1068) | 0;
- ie = (i + 1064) | 0;
- je = (i + 1060) | 0;
- ke = (i + 1056) | 0;
- le = (i + 1052) | 0;
- me = (i + 1048) | 0;
- ne = (i + 1044) | 0;
- oe = (i + 1040) | 0;
- pe = (i + 1036) | 0;
- qe = (i + 1032) | 0;
- re = (i + 1028) | 0;
- se = (i + 1024) | 0;
- te = (i + 1020) | 0;
- ue = (i + 1016) | 0;
- ve = (i + 1012) | 0;
- we = (i + 1008) | 0;
- xe = (i + 1004) | 0;
- ye = (i + 1e3) | 0;
- ze = (i + 996) | 0;
- Ae = (i + 992) | 0;
- Be = (i + 988) | 0;
- Ce = (i + 984) | 0;
- De = (i + 980) | 0;
- Ee = (i + 976) | 0;
- Fe = (i + 972) | 0;
- Ge = (i + 968) | 0;
- He = (i + 964) | 0;
- Ie = (i + 960) | 0;
- Je = (i + 956) | 0;
- Ke = (i + 952) | 0;
- Le = (i + 948) | 0;
- Me = (i + 944) | 0;
- Ne = (i + 940) | 0;
- Oe = (i + 936) | 0;
- Pe = (i + 932) | 0;
- Qe = (i + 928) | 0;
- Re = (i + 924) | 0;
- Se = (i + 920) | 0;
- Te = (i + 916) | 0;
- Ue = (i + 912) | 0;
- Ve = (i + 908) | 0;
- We = (i + 904) | 0;
- Xe = (i + 900) | 0;
- Ye = (i + 896) | 0;
- Ze = (i + 892) | 0;
- _e = (i + 888) | 0;
- $e = (i + 884) | 0;
- af = (i + 880) | 0;
- bf = (i + 876) | 0;
- cf = (i + 872) | 0;
- df = (i + 868) | 0;
- ef = (i + 864) | 0;
- ff = (i + 860) | 0;
- gf = (i + 856) | 0;
- hf = (i + 852) | 0;
- jf = (i + 848) | 0;
- kf = (i + 844) | 0;
- lf = (i + 840) | 0;
- mf = (i + 836) | 0;
- nf = (i + 832) | 0;
- of = (i + 828) | 0;
- pf = (i + 824) | 0;
- qf = (i + 820) | 0;
- rf = (i + 816) | 0;
- sf = (i + 812) | 0;
- tf = (i + 808) | 0;
- uf = (i + 804) | 0;
- vf = (i + 800) | 0;
- wf = (i + 796) | 0;
- xf = (i + 792) | 0;
- yf = (i + 788) | 0;
- zf = (i + 784) | 0;
- Af = (i + 780) | 0;
- Bf = (i + 776) | 0;
- Cf = (i + 772) | 0;
- Df = (i + 768) | 0;
- Ef = (i + 764) | 0;
- Ff = (i + 760) | 0;
- Gf = (i + 756) | 0;
- Hf = (i + 752) | 0;
- If = (i + 748) | 0;
- Jf = (i + 744) | 0;
- Kf = (i + 740) | 0;
- Lf = (i + 736) | 0;
- Mf = (i + 732) | 0;
- Nf = (i + 728) | 0;
- Of = (i + 724) | 0;
- Pf = (i + 720) | 0;
- Qf = (i + 716) | 0;
- Rf = (i + 712) | 0;
- Sf = (i + 708) | 0;
- Tf = (i + 704) | 0;
- Uf = (i + 700) | 0;
- Vf = (i + 696) | 0;
- Wf = (i + 692) | 0;
- Xf = (i + 688) | 0;
- Yf = (i + 684) | 0;
- Zf = (i + 680) | 0;
- _f = (i + 676) | 0;
- $f = (i + 672) | 0;
- ag = (i + 668) | 0;
- bg = (i + 664) | 0;
- cg = (i + 660) | 0;
- dg = (i + 656) | 0;
- eg = (i + 652) | 0;
- fg = (i + 648) | 0;
- gg = (i + 644) | 0;
- hg = (i + 640) | 0;
- ig = (i + 636) | 0;
- jg = (i + 632) | 0;
- kg = (i + 628) | 0;
- lg = (i + 624) | 0;
- mg = (i + 620) | 0;
- ng = (i + 616) | 0;
- og = (i + 612) | 0;
- pg = (i + 608) | 0;
- qg = (i + 604) | 0;
- rg = (i + 600) | 0;
- sg = (i + 596) | 0;
- tg = (i + 592) | 0;
- ug = (i + 588) | 0;
- vg = (i + 584) | 0;
- wg = (i + 580) | 0;
- xg = (i + 576) | 0;
- yg = (i + 572) | 0;
- zg = (i + 568) | 0;
- Ag = (i + 564) | 0;
- Bg = (i + 560) | 0;
- Cg = (i + 556) | 0;
- Dg = (i + 552) | 0;
- Eg = (i + 548) | 0;
- Fg = (i + 544) | 0;
- Gg = (i + 540) | 0;
- Hg = (i + 536) | 0;
- Ig = (i + 532) | 0;
- Jg = (i + 528) | 0;
- Kg = (i + 524) | 0;
- Lg = (i + 520) | 0;
- Mg = (i + 516) | 0;
- Ng = (i + 512) | 0;
- Og = (i + 508) | 0;
- Pg = (i + 504) | 0;
- Qg = (i + 500) | 0;
- Rg = (i + 496) | 0;
- Sg = (i + 492) | 0;
- Tg = (i + 488) | 0;
- Ug = (i + 484) | 0;
- Vg = (i + 480) | 0;
- Wg = (i + 476) | 0;
- Xg = (i + 472) | 0;
- Yg = (i + 468) | 0;
- Zg = (i + 464) | 0;
- _g = (i + 460) | 0;
- $g = (i + 456) | 0;
- ah = (i + 452) | 0;
- bh = (i + 448) | 0;
- ch = (i + 444) | 0;
- dh = (i + 440) | 0;
- eh = (i + 436) | 0;
- fh = (i + 432) | 0;
- gh = (i + 428) | 0;
- hh = (i + 424) | 0;
- ih = (i + 420) | 0;
- jh = (i + 416) | 0;
- kh = (i + 412) | 0;
- lh = (i + 408) | 0;
- mh = (i + 404) | 0;
- nh = (i + 400) | 0;
- oh = (i + 396) | 0;
- ph = (i + 392) | 0;
- qh = (i + 388) | 0;
- rh = (i + 384) | 0;
- sh = (i + 380) | 0;
- th = (i + 376) | 0;
- uh = (i + 372) | 0;
- vh = (i + 368) | 0;
- wh = (i + 364) | 0;
- xh = (i + 360) | 0;
- yh = (i + 356) | 0;
- zh = (i + 352) | 0;
- Ah = (i + 348) | 0;
- Bh = (i + 344) | 0;
- Ch = (i + 340) | 0;
- Dh = (i + 336) | 0;
- Eh = (i + 332) | 0;
- Fh = (i + 328) | 0;
- Gh = (i + 324) | 0;
- Hh = (i + 320) | 0;
- Ih = (i + 316) | 0;
- Jh = (i + 312) | 0;
- Kh = (i + 308) | 0;
- Lh = (i + 304) | 0;
- Mh = (i + 300) | 0;
- Nh = (i + 296) | 0;
- Oh = (i + 292) | 0;
- Ph = (i + 288) | 0;
- Qh = (i + 284) | 0;
- Rh = (i + 280) | 0;
- Sh = (i + 276) | 0;
- Th = (i + 272) | 0;
- Uh = (i + 268) | 0;
- Vh = (i + 264) | 0;
- Wh = (i + 260) | 0;
- Xh = (i + 256) | 0;
- Yh = (i + 252) | 0;
- Zh = (i + 248) | 0;
- _h = (i + 244) | 0;
- $h = (i + 240) | 0;
- ai = (i + 236) | 0;
- bi = (i + 232) | 0;
- ci = (i + 228) | 0;
- di = (i + 216) | 0;
- ei = (i + 212) | 0;
- fi = (i + 208) | 0;
- gi = (i + 204) | 0;
- hi = (i + 200) | 0;
- ii = (i + 196) | 0;
- ji = (i + 192) | 0;
- ki = (i + 188) | 0;
- li = (i + 184) | 0;
- mi = (i + 180) | 0;
- ni = (i + 176) | 0;
- oi = (i + 172) | 0;
- pi = (i + 168) | 0;
- qi = (i + 164) | 0;
- ri = (i + 160) | 0;
- si = (i + 148) | 0;
- ti = (i + 144) | 0;
- ui = (i + 140) | 0;
- vi = (i + 136) | 0;
- wi = (i + 132) | 0;
- xi = (i + 128) | 0;
- yi = (i + 124) | 0;
- zi = (i + 120) | 0;
- Ai = (i + 116) | 0;
- Bi = (i + 112) | 0;
- Ci = (i + 108) | 0;
- Di = (i + 104) | 0;
- Ei = (i + 100) | 0;
- Fi = (i + 88) | 0;
- Gi = (i + 84) | 0;
- Hi = (i + 80) | 0;
- Ii = (i + 76) | 0;
- Ji = (i + 72) | 0;
- Ki = (i + 68) | 0;
- Li = (i + 64) | 0;
- Mi = (i + 60) | 0;
- Ni = (i + 56) | 0;
- Oi = (i + 52) | 0;
- Pi = (i + 48) | 0;
- Qi = (i + 44) | 0;
- Ri = (i + 40) | 0;
- Si = (i + 36) | 0;
- Ti = (i + 32) | 0;
- Ui = (i + 28) | 0;
- Vi = (i + 24) | 0;
- Wi = (i + 20) | 0;
- Xi = (i + 16) | 0;
- Yi = (i + 12) | 0;
- Zi = (i + 8) | 0;
- _i = (i + 4) | 0;
- $i = i;
- c[Wi >> 2] = a;
- c[Xi >> 2] = b;
- c[Yi >> 2] = e;
- c[Zi >> 2] = f;
- c[_i >> 2] = g;
- c[$i >> 2] = h;
- h = c[Xi >> 2] | 0;
- Xi = c[Yi >> 2] | 0;
- Yi = c[Zi >> 2] | 0;
- Zi = c[_i >> 2] | 0;
- _i = c[$i >> 2] | 0;
- c[Lh >> 2] = c[Wi >> 2];
- c[Mh >> 2] = h;
- c[Nh >> 2] = Xi;
- c[Oh >> 2] = Yi;
- c[Ph >> 2] = Zi;
- c[Qh >> 2] = _i;
- c[Rh >> 2] = 2;
- c[Sh >> 2] = 1;
- c[Th >> 2] = (c[Lh >> 2] | 0) + 48;
- c[Uh >> 2] = c[Ph >> 2];
- c[Vh >> 2] = c[Uh >> 2];
- c[Wh >> 2] = c[Uh >> 2];
- c[Xh >> 2] = (c[Uh >> 2] | 0) + (c[Qh >> 2] | 0);
- c[Yh >> 2] = (c[Xh >> 2] | 0) + -8;
- c[Zh >> 2] = c[((c[Lh >> 2] | 0) + 4) >> 2];
- c[_h >> 2] =
- (c[Zh >> 2] | 0) + (c[((c[Lh >> 2] | 0) + 12) >> 2] | 0);
- if ((c[((c[Oh >> 2] | 0) + 20) >> 2] | 0) >>> 0 < 4095)
- aj = c[((c[Oh >> 2] | 0) + 20) >> 2] | 0;
- else aj = 4095;
- c[$h >> 2] = aj;
- c[ai >> 2] =
- (c[((c[Oh >> 2] | 0) + 16) >> 2] | 0) == 3 ? 3 : 4;
- c[bi >> 2] = c[((c[Th >> 2] | 0) + 20) >> 2];
- c[ci >> 2] = c[((c[Th >> 2] | 0) + 16) >> 2];
- c[((c[Lh >> 2] | 0) + 28) >> 2] =
- c[((c[Lh >> 2] | 0) + 24) >> 2];
- lm(c[Th >> 2] | 0, c[Ph >> 2] | 0, c[Qh >> 2] | 0);
- c[Vh >> 2] =
- (c[Vh >> 2] | 0) +
- (((c[Vh >> 2] | 0) == (c[_h >> 2] | 0)) & 1);
- c[di >> 2] = 0;
- c[(di + 4) >> 2] = 0;
- c[(di + 8) >> 2] = 0;
- while (1) {
- if ((c[Vh >> 2] | 0) >>> 0 >= (c[Yh >> 2] | 0) >>> 0) break;
- c[fi >> 2] = 0;
- c[ii >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
- c[ji >> 2] = (((c[ii >> 2] | 0) != 0) ^ 1) & 1;
- _h = c[Oh >> 2] | 0;
- Qh = c[Vh >> 2] | 0;
- Ph = c[Xh >> 2] | 0;
- aj = c[Sh >> 2] | 0;
- Zh = c[Nh >> 2] | 0;
- Uh = c[ji >> 2] | 0;
- _i = c[ci >> 2] | 0;
- Zi = c[ai >> 2] | 0;
- c[Bh >> 2] = c[Lh >> 2];
- c[Ch >> 2] = _h;
- c[Dh >> 2] = Qh;
- c[Eh >> 2] = Ph;
- c[Fh >> 2] = aj;
- c[Gh >> 2] = Zh;
- c[Hh >> 2] = Uh;
- c[Ih >> 2] = _i;
- c[Jh >> 2] = Zi;
- c[Kh >> 2] = c[((c[Ch >> 2] | 0) + 16) >> 2];
- a: do {
- if (
- (c[Dh >> 2] | 0) >>> 0 <
- (((c[((c[Bh >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[Bh >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Ah >> 2] = 0;
- else {
- Zi = c[Ch >> 2] | 0;
- _i = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- Zh = c[Kh >> 2] | 0;
- aj = c[Fh >> 2] | 0;
- c[rh >> 2] = c[Bh >> 2];
- c[sh >> 2] = Zi;
- c[th >> 2] = _i;
- c[uh >> 2] = Uh;
- c[vh >> 2] = Zh;
- c[wh >> 2] = aj;
- c[xh >> 2] = c[((c[rh >> 2] | 0) + 4) >> 2];
- c[yh >> 2] = (c[th >> 2] | 0) - (c[xh >> 2] | 0);
- c[zh >> 2] = c[((c[rh >> 2] | 0) + 24) >> 2];
- while (1) {
- if ((c[zh >> 2] | 0) >>> 0 >= (c[yh >> 2] | 0) >>> 0)
- break;
- aj =
- Rj(
- c[rh >> 2] | 0,
- c[sh >> 2] | 0,
- ((c[xh >> 2] | 0) + (c[zh >> 2] | 0)) | 0,
- c[uh >> 2] | 0,
- c[vh >> 2] | 0,
- c[wh >> 2] | 0
- ) | 0;
- c[zh >> 2] = (c[zh >> 2] | 0) + aj;
- }
- c[((c[rh >> 2] | 0) + 24) >> 2] = c[yh >> 2];
- switch (c[Kh >> 2] | 0) {
- case 3: {
- aj = c[Ch >> 2] | 0;
- Zh = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- _i = c[Fh >> 2] | 0;
- Zi = c[Gh >> 2] | 0;
- Ph = c[Hh >> 2] | 0;
- Qh = c[Ih >> 2] | 0;
- _h = c[Jh >> 2] | 0;
- c[wg >> 2] = c[Bh >> 2];
- c[xg >> 2] = aj;
- c[yg >> 2] = Zh;
- c[zg >> 2] = Uh;
- c[Ag >> 2] = _i;
- c[Bg >> 2] = Zi;
- c[Cg >> 2] = Ph;
- c[Dg >> 2] = Qh;
- c[Eg >> 2] = _h;
- c[Fg >> 2] = 3;
- if (
- (c[((c[xg >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- bj = c[((c[xg >> 2] | 0) + 20) >> 2] | 0;
- else bj = 4095;
- c[Gg >> 2] = bj;
- c[Hg >> 2] = c[((c[wg >> 2] | 0) + 4) >> 2];
- c[Ig >> 2] = (c[yg >> 2] | 0) - (c[Hg >> 2] | 0);
- c[Jg >> 2] = c[((c[xg >> 2] | 0) + 8) >> 2];
- c[Kg >> 2] = (c[Fg >> 2] | 0) == 3 ? 3 : 4;
- c[Lg >> 2] = c[((c[wg >> 2] | 0) + 36) >> 2];
- c[Mg >> 2] =
- Sj(
- c[yg >> 2] | 0,
- c[Jg >> 2] | 0,
- c[Fg >> 2] | 0
- ) | 0;
- c[Ng >> 2] =
- c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2];
- c[Og >> 2] = c[((c[wg >> 2] | 0) + 44) >> 2];
- c[Pg >> 2] =
- (c[((c[xg >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Qg >> 2] = (1 << c[Pg >> 2]) - 1;
- c[Rg >> 2] = 0;
- c[Sg >> 2] = 0;
- c[Tg >> 2] = c[((c[wg >> 2] | 0) + 8) >> 2];
- c[Ug >> 2] = c[((c[wg >> 2] | 0) + 12) >> 2];
- c[Vg >> 2] = (c[Tg >> 2] | 0) + (c[Ug >> 2] | 0);
- c[Wg >> 2] = (c[Hg >> 2] | 0) + (c[Ug >> 2] | 0);
- if (
- (c[Qg >> 2] | 0) >>> 0 >=
- (c[Ig >> 2] | 0) >>> 0
- )
- cj = 0;
- else cj = ((c[Ig >> 2] | 0) - (c[Qg >> 2] | 0)) | 0;
- c[Xg >> 2] = cj;
- c[Yg >> 2] = c[((c[wg >> 2] | 0) + 16) >> 2];
- c[Zg >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2);
- c[_g >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2) +
- 4;
- c[$g >> 2] = (c[Ig >> 2] | 0) + 8 + 1;
- c[bh >> 2] = 0;
- c[ch >> 2] = 1 << c[((c[xg >> 2] | 0) + 12) >> 2];
- c[dh >> 2] = (c[Eg >> 2] | 0) - 1;
- c[eh >> 2] = 3 + (c[Cg >> 2] | 0);
- c[fh >> 2] = c[Cg >> 2];
- while (1) {
- if (
- (c[fh >> 2] | 0) >>> 0 >=
- (c[eh >> 2] | 0) >>> 0
- ) {
- dj = 31;
- break;
- }
- _h = c[Bg >> 2] | 0;
- if ((c[fh >> 2] | 0) == 3)
- ej = ((c[_h >> 2] | 0) - 1) | 0;
- else ej = c[(_h + (c[fh >> 2] << 2)) >> 2] | 0;
- c[gh >> 2] = ej;
- c[hh >> 2] = (c[Ig >> 2] | 0) - (c[gh >> 2] | 0);
- c[ih >> 2] = 0;
- if (
- (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ig >> 2] | 0) - (c[Ug >> 2] | 0)) | 0) >>>
- 0
- ) {
- _h = mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0;
- if (
- (_h | 0) ==
- (mm(
- ((c[yg >> 2] | 0) +
- (0 - (c[gh >> 2] | 0))) |
- 0,
- c[Kg >> 2] | 0
- ) |
- 0)
- ) {
- _h =
- Tj(
- ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- ((c[yg >> 2] | 0) +
- (c[Kg >> 2] | 0) +
- (0 - (c[gh >> 2] | 0))) |
- 0,
- c[zg >> 2] | 0
- ) | 0;
- c[ih >> 2] = _h + (c[Kg >> 2] | 0);
- }
- } else {
- c[jh >> 2] =
- (c[Tg >> 2] | 0) + (c[hh >> 2] | 0);
- if (
- (
- c[Ag >> 2] | 0
- ? ((((c[Ug >> 2] | 0) -
- 1 -
- (c[hh >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ig >> 2] | 0) -
- (c[Yg >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((_h =
- mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0),
- (_h | 0) ==
- (mm(c[jh >> 2] | 0, c[Kg >> 2] | 0) |
- 0))
- : 0
- ) {
- _h =
- Uj(
- ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- ((c[jh >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- c[ih >> 2] = _h + (c[Kg >> 2] | 0);
- }
- }
- if (
- (c[ih >> 2] | 0) >>> 0 > (c[dh >> 2] | 0) >>> 0
- ? ((c[dh >> 2] = c[ih >> 2]),
- (c[
- ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
- 2
- ] = (c[fh >> 2] | 0) - (c[Cg >> 2] | 0)),
- (c[
- ((c[Dg >> 2] | 0) +
- (c[bh >> 2] << 3) +
- 4) >>
- 2
- ] = c[ih >> 2]),
- (c[bh >> 2] = (c[bh >> 2] | 0) + 1),
- ((c[ih >> 2] | 0) >>> 0 >
- (c[Gg >> 2] | 0) >>> 0
- ? 1
- : (((c[yg >> 2] | 0) + (c[ih >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 29;
- break;
- }
- c[fh >> 2] = (c[fh >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 29) {
- dj = 0;
- c[vg >> 2] = c[bh >> 2];
- } else if ((dj | 0) == 31) {
- dj = 0;
- if (
- (
- (c[Fg >> 2] | 0) == 3
- ? (c[dh >> 2] | 0) >>> 0 <
- (c[Fg >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[kh >> 2] =
- nm(c[wg >> 2] | 0, c[yg >> 2] | 0) | 0),
- ((c[kh >> 2] | 0) >>> 0 >
- (c[Yg >> 2] | 0) >>> 0
- ? (((c[Ig >> 2] | 0) -
- (c[kh >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ag >> 2] | 0
- ? (c[kh >> 2] | 0) >>> 0 <
- (c[Ug >> 2] | 0) >>> 0
- : 0
- ) {
- c[nh >> 2] =
- (c[Tg >> 2] | 0) + (c[kh >> 2] | 0);
- c[lh >> 2] =
- Uj(
- c[yg >> 2] | 0,
- c[nh >> 2] | 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- } else {
- c[mh >> 2] =
- (c[Hg >> 2] | 0) + (c[kh >> 2] | 0);
- c[lh >> 2] =
- Tj(
- c[yg >> 2] | 0,
- c[mh >> 2] | 0,
- c[zg >> 2] | 0
- ) | 0;
- }
- if (
- (c[lh >> 2] | 0) >>> 0 >=
- (c[Fg >> 2] | 0) >>> 0
- ? ((c[dh >> 2] = c[lh >> 2]),
- (c[c[Dg >> 2] >> 2] =
- (c[Ig >> 2] | 0) -
- (c[kh >> 2] | 0) +
- 2),
- (c[((c[Dg >> 2] | 0) + 4) >> 2] =
- c[lh >> 2]),
- (c[bh >> 2] = 1),
- ((c[lh >> 2] | 0) >>> 0 >
- (c[Gg >> 2] | 0) >>> 0
- ? 1
- : (((c[yg >> 2] | 0) +
- (c[lh >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[wg >> 2] | 0) + 24) >> 2] =
- (c[Ig >> 2] | 0) + 1;
- c[vg >> 2] = 1;
- break;
- }
- }
- c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2] =
- c[Ig >> 2];
- while (1) {
- _h = c[ch >> 2] | 0;
- c[ch >> 2] = _h + -1;
- if (!_h) break;
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Yg >> 2] | 0) >>> 0
- )
- break;
- c[oh >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ng >> 2] & c[Qg >> 2]) << 1) << 2);
- c[ph >> 2] =
- (c[Rg >> 2] | 0) >>> 0 <
- (c[Sg >> 2] | 0) >>> 0
- ? c[Rg >> 2] | 0
- : c[Sg >> 2] | 0;
- if (
- c[Ag >> 2] | 0
- ? (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Ug >> 2] | 0) >>> 0
- : 0
- ) {
- c[qh >> 2] =
- (c[Tg >> 2] | 0) + (c[Ng >> 2] | 0);
- _h =
- Uj(
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- c[ph >> 2] = (c[ph >> 2] | 0) + _h;
- if (
- (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Ug >> 2] | 0) >>> 0
- )
- c[qh >> 2] =
- (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
- } else {
- c[qh >> 2] =
- (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
- _h =
- Tj(
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- c[zg >> 2] | 0
- ) | 0;
- c[ph >> 2] = (c[ph >> 2] | 0) + _h;
- }
- if (
- (c[ph >> 2] | 0) >>> 0 >
- (c[dh >> 2] | 0) >>> 0
- ) {
- if (
- (c[ph >> 2] | 0) >>> 0 >
- (((c[$g >> 2] | 0) - (c[Ng >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[$g >> 2] =
- (c[Ng >> 2] | 0) + (c[ph >> 2] | 0);
- c[dh >> 2] = c[ph >> 2];
- c[
- ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
- 2
- ] = (c[Ig >> 2] | 0) - (c[Ng >> 2] | 0) + 2;
- c[
- ((c[Dg >> 2] | 0) +
- (c[bh >> 2] << 3) +
- 4) >>
- 2
- ] = c[ph >> 2];
- c[bh >> 2] = (c[bh >> 2] | 0) + 1;
- if ((c[ph >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)
- )
- break;
- }
- _h = c[Ng >> 2] | 0;
- if (
- (d[
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Zg >> 2] >> 2] = _h;
- c[Rg >> 2] = c[ph >> 2];
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Xg >> 2] | 0) >>> 0
- ) {
- dj = 56;
- break;
- }
- c[Zg >> 2] = (c[oh >> 2] | 0) + 4;
- c[Ng >> 2] = c[((c[oh >> 2] | 0) + 4) >> 2];
- } else {
- c[c[_g >> 2] >> 2] = _h;
- c[Sg >> 2] = c[ph >> 2];
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Xg >> 2] | 0) >>> 0
- ) {
- dj = 59;
- break;
- }
- c[_g >> 2] = c[oh >> 2];
- c[Ng >> 2] = c[c[oh >> 2] >> 2];
- }
- }
- if ((dj | 0) == 56) {
- dj = 0;
- c[Zg >> 2] = ah;
- } else if ((dj | 0) == 59) {
- dj = 0;
- c[_g >> 2] = ah;
- }
- c[c[_g >> 2] >> 2] = 0;
- c[c[Zg >> 2] >> 2] = 0;
- c[((c[wg >> 2] | 0) + 24) >> 2] =
- (c[$g >> 2] | 0) - 8;
- c[vg >> 2] = c[bh >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[vg >> 2];
- break a;
- break;
- }
- case 7:
- case 6: {
- _h = c[Ch >> 2] | 0;
- Qh = c[Dh >> 2] | 0;
- Ph = c[Eh >> 2] | 0;
- Zi = c[Fh >> 2] | 0;
- _i = c[Gh >> 2] | 0;
- Uh = c[Hh >> 2] | 0;
- Zh = c[Ih >> 2] | 0;
- aj = c[Jh >> 2] | 0;
- c[Hd >> 2] = c[Bh >> 2];
- c[Id >> 2] = _h;
- c[Jd >> 2] = Qh;
- c[Kd >> 2] = Ph;
- c[Ld >> 2] = Zi;
- c[Md >> 2] = _i;
- c[Nd >> 2] = Uh;
- c[Od >> 2] = Zh;
- c[Pd >> 2] = aj;
- c[Qd >> 2] = 6;
- if (
- (c[((c[Id >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- fj = c[((c[Id >> 2] | 0) + 20) >> 2] | 0;
- else fj = 4095;
- c[Rd >> 2] = fj;
- c[Sd >> 2] = c[((c[Hd >> 2] | 0) + 4) >> 2];
- c[Td >> 2] = (c[Jd >> 2] | 0) - (c[Sd >> 2] | 0);
- c[Ud >> 2] = c[((c[Id >> 2] | 0) + 8) >> 2];
- c[Vd >> 2] = (c[Qd >> 2] | 0) == 3 ? 3 : 4;
- c[Wd >> 2] = c[((c[Hd >> 2] | 0) + 36) >> 2];
- c[Xd >> 2] =
- Sj(
- c[Jd >> 2] | 0,
- c[Ud >> 2] | 0,
- c[Qd >> 2] | 0
- ) | 0;
- c[Yd >> 2] =
- c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2];
- c[Zd >> 2] = c[((c[Hd >> 2] | 0) + 44) >> 2];
- c[_d >> 2] =
- (c[((c[Id >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[$d >> 2] = (1 << c[_d >> 2]) - 1;
- c[ae >> 2] = 0;
- c[be >> 2] = 0;
- c[ce >> 2] = c[((c[Hd >> 2] | 0) + 8) >> 2];
- c[de >> 2] = c[((c[Hd >> 2] | 0) + 12) >> 2];
- c[ee >> 2] = (c[ce >> 2] | 0) + (c[de >> 2] | 0);
- c[fe >> 2] = (c[Sd >> 2] | 0) + (c[de >> 2] | 0);
- if (
- (c[$d >> 2] | 0) >>> 0 >=
- (c[Td >> 2] | 0) >>> 0
- )
- gj = 0;
- else gj = ((c[Td >> 2] | 0) - (c[$d >> 2] | 0)) | 0;
- c[ge >> 2] = gj;
- c[he >> 2] = c[((c[Hd >> 2] | 0) + 16) >> 2];
- c[ie >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Td >> 2] & c[$d >> 2]) << 1) << 2);
- c[je >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Td >> 2] & c[$d >> 2]) << 1) << 2) +
- 4;
- c[ke >> 2] = (c[Td >> 2] | 0) + 8 + 1;
- c[me >> 2] = 0;
- c[ne >> 2] = 1 << c[((c[Id >> 2] | 0) + 12) >> 2];
- c[oe >> 2] = (c[Pd >> 2] | 0) - 1;
- c[pe >> 2] = 3 + (c[Nd >> 2] | 0);
- c[qe >> 2] = c[Nd >> 2];
- while (1) {
- if (
- (c[qe >> 2] | 0) >>> 0 >=
- (c[pe >> 2] | 0) >>> 0
- ) {
- dj = 190;
- break;
- }
- aj = c[Md >> 2] | 0;
- if ((c[qe >> 2] | 0) == 3)
- hj = ((c[aj >> 2] | 0) - 1) | 0;
- else hj = c[(aj + (c[qe >> 2] << 2)) >> 2] | 0;
- c[re >> 2] = hj;
- c[se >> 2] = (c[Td >> 2] | 0) - (c[re >> 2] | 0);
- c[te >> 2] = 0;
- if (
- (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Td >> 2] | 0) - (c[de >> 2] | 0)) | 0) >>>
- 0
- ) {
- aj = mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0;
- if (
- (aj | 0) ==
- (mm(
- ((c[Jd >> 2] | 0) +
- (0 - (c[re >> 2] | 0))) |
- 0,
- c[Vd >> 2] | 0
- ) |
- 0)
- ) {
- aj =
- Tj(
- ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- ((c[Jd >> 2] | 0) +
- (c[Vd >> 2] | 0) +
- (0 - (c[re >> 2] | 0))) |
- 0,
- c[Kd >> 2] | 0
- ) | 0;
- c[te >> 2] = aj + (c[Vd >> 2] | 0);
- }
- } else {
- c[ue >> 2] =
- (c[ce >> 2] | 0) + (c[se >> 2] | 0);
- if (
- (
- c[Ld >> 2] | 0
- ? ((((c[de >> 2] | 0) -
- 1 -
- (c[se >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Td >> 2] | 0) -
- (c[he >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((aj =
- mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0),
- (aj | 0) ==
- (mm(c[ue >> 2] | 0, c[Vd >> 2] | 0) |
- 0))
- : 0
- ) {
- aj =
- Uj(
- ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- ((c[ue >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- c[te >> 2] = aj + (c[Vd >> 2] | 0);
- }
- }
- if (
- (c[te >> 2] | 0) >>> 0 > (c[oe >> 2] | 0) >>> 0
- ? ((c[oe >> 2] = c[te >> 2]),
- (c[
- ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
- 2
- ] = (c[qe >> 2] | 0) - (c[Nd >> 2] | 0)),
- (c[
- ((c[Od >> 2] | 0) +
- (c[me >> 2] << 3) +
- 4) >>
- 2
- ] = c[te >> 2]),
- (c[me >> 2] = (c[me >> 2] | 0) + 1),
- ((c[te >> 2] | 0) >>> 0 >
- (c[Rd >> 2] | 0) >>> 0
- ? 1
- : (((c[Jd >> 2] | 0) + (c[te >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 188;
- break;
- }
- c[qe >> 2] = (c[qe >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 188) {
- dj = 0;
- c[Gd >> 2] = c[me >> 2];
- } else if ((dj | 0) == 190) {
- dj = 0;
- if (
- (
- (c[Qd >> 2] | 0) == 3
- ? (c[oe >> 2] | 0) >>> 0 <
- (c[Qd >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[ve >> 2] =
- nm(c[Hd >> 2] | 0, c[Jd >> 2] | 0) | 0),
- ((c[ve >> 2] | 0) >>> 0 >
- (c[he >> 2] | 0) >>> 0
- ? (((c[Td >> 2] | 0) -
- (c[ve >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ld >> 2] | 0
- ? (c[ve >> 2] | 0) >>> 0 <
- (c[de >> 2] | 0) >>> 0
- : 0
- ) {
- c[ye >> 2] =
- (c[ce >> 2] | 0) + (c[ve >> 2] | 0);
- c[we >> 2] =
- Uj(
- c[Jd >> 2] | 0,
- c[ye >> 2] | 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- } else {
- c[xe >> 2] =
- (c[Sd >> 2] | 0) + (c[ve >> 2] | 0);
- c[we >> 2] =
- Tj(
- c[Jd >> 2] | 0,
- c[xe >> 2] | 0,
- c[Kd >> 2] | 0
- ) | 0;
- }
- if (
- (c[we >> 2] | 0) >>> 0 >=
- (c[Qd >> 2] | 0) >>> 0
- ? ((c[oe >> 2] = c[we >> 2]),
- (c[c[Od >> 2] >> 2] =
- (c[Td >> 2] | 0) -
- (c[ve >> 2] | 0) +
- 2),
- (c[((c[Od >> 2] | 0) + 4) >> 2] =
- c[we >> 2]),
- (c[me >> 2] = 1),
- ((c[we >> 2] | 0) >>> 0 >
- (c[Rd >> 2] | 0) >>> 0
- ? 1
- : (((c[Jd >> 2] | 0) +
- (c[we >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[Hd >> 2] | 0) + 24) >> 2] =
- (c[Td >> 2] | 0) + 1;
- c[Gd >> 2] = 1;
- break;
- }
- }
- c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2] =
- c[Td >> 2];
- while (1) {
- aj = c[ne >> 2] | 0;
- c[ne >> 2] = aj + -1;
- if (!aj) break;
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[he >> 2] | 0) >>> 0
- )
- break;
- c[ze >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Yd >> 2] & c[$d >> 2]) << 1) << 2);
- c[Ae >> 2] =
- (c[ae >> 2] | 0) >>> 0 <
- (c[be >> 2] | 0) >>> 0
- ? c[ae >> 2] | 0
- : c[be >> 2] | 0;
- if (
- c[Ld >> 2] | 0
- ? (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[de >> 2] | 0) >>> 0
- : 0
- ) {
- c[Be >> 2] =
- (c[ce >> 2] | 0) + (c[Yd >> 2] | 0);
- aj =
- Uj(
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
- if (
- (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[de >> 2] | 0) >>> 0
- )
- c[Be >> 2] =
- (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
- } else {
- c[Be >> 2] =
- (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
- aj =
- Tj(
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- c[Kd >> 2] | 0
- ) | 0;
- c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
- }
- if (
- (c[Ae >> 2] | 0) >>> 0 >
- (c[oe >> 2] | 0) >>> 0
- ) {
- if (
- (c[Ae >> 2] | 0) >>> 0 >
- (((c[ke >> 2] | 0) - (c[Yd >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[ke >> 2] =
- (c[Yd >> 2] | 0) + (c[Ae >> 2] | 0);
- c[oe >> 2] = c[Ae >> 2];
- c[
- ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
- 2
- ] = (c[Td >> 2] | 0) - (c[Yd >> 2] | 0) + 2;
- c[
- ((c[Od >> 2] | 0) +
- (c[me >> 2] << 3) +
- 4) >>
- 2
- ] = c[Ae >> 2];
- c[me >> 2] = (c[me >> 2] | 0) + 1;
- if ((c[Ae >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)
- )
- break;
- }
- aj = c[Yd >> 2] | 0;
- if (
- (d[
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[ie >> 2] >> 2] = aj;
- c[ae >> 2] = c[Ae >> 2];
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[ge >> 2] | 0) >>> 0
- ) {
- dj = 215;
- break;
- }
- c[ie >> 2] = (c[ze >> 2] | 0) + 4;
- c[Yd >> 2] = c[((c[ze >> 2] | 0) + 4) >> 2];
- } else {
- c[c[je >> 2] >> 2] = aj;
- c[be >> 2] = c[Ae >> 2];
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[ge >> 2] | 0) >>> 0
- ) {
- dj = 218;
- break;
- }
- c[je >> 2] = c[ze >> 2];
- c[Yd >> 2] = c[c[ze >> 2] >> 2];
- }
- }
- if ((dj | 0) == 215) {
- dj = 0;
- c[ie >> 2] = le;
- } else if ((dj | 0) == 218) {
- dj = 0;
- c[je >> 2] = le;
- }
- c[c[je >> 2] >> 2] = 0;
- c[c[ie >> 2] >> 2] = 0;
- c[((c[Hd >> 2] | 0) + 24) >> 2] =
- (c[ke >> 2] | 0) - 8;
- c[Gd >> 2] = c[me >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[Gd >> 2];
- break a;
- break;
- }
- case 5: {
- aj = c[Ch >> 2] | 0;
- Zh = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- _i = c[Fh >> 2] | 0;
- Zi = c[Gh >> 2] | 0;
- Ph = c[Hh >> 2] | 0;
- Qh = c[Ih >> 2] | 0;
- _h = c[Jh >> 2] | 0;
- c[De >> 2] = c[Bh >> 2];
- c[Ee >> 2] = aj;
- c[Fe >> 2] = Zh;
- c[Ge >> 2] = Uh;
- c[He >> 2] = _i;
- c[Ie >> 2] = Zi;
- c[Je >> 2] = Ph;
- c[Ke >> 2] = Qh;
- c[Le >> 2] = _h;
- c[Me >> 2] = 5;
- if (
- (c[((c[Ee >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- ij = c[((c[Ee >> 2] | 0) + 20) >> 2] | 0;
- else ij = 4095;
- c[Ne >> 2] = ij;
- c[Oe >> 2] = c[((c[De >> 2] | 0) + 4) >> 2];
- c[Pe >> 2] = (c[Fe >> 2] | 0) - (c[Oe >> 2] | 0);
- c[Qe >> 2] = c[((c[Ee >> 2] | 0) + 8) >> 2];
- c[Re >> 2] = (c[Me >> 2] | 0) == 3 ? 3 : 4;
- c[Se >> 2] = c[((c[De >> 2] | 0) + 36) >> 2];
- c[Te >> 2] =
- Sj(
- c[Fe >> 2] | 0,
- c[Qe >> 2] | 0,
- c[Me >> 2] | 0
- ) | 0;
- c[Ue >> 2] =
- c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2];
- c[Ve >> 2] = c[((c[De >> 2] | 0) + 44) >> 2];
- c[We >> 2] =
- (c[((c[Ee >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Xe >> 2] = (1 << c[We >> 2]) - 1;
- c[Ye >> 2] = 0;
- c[Ze >> 2] = 0;
- c[_e >> 2] = c[((c[De >> 2] | 0) + 8) >> 2];
- c[$e >> 2] = c[((c[De >> 2] | 0) + 12) >> 2];
- c[af >> 2] = (c[_e >> 2] | 0) + (c[$e >> 2] | 0);
- c[bf >> 2] = (c[Oe >> 2] | 0) + (c[$e >> 2] | 0);
- if (
- (c[Xe >> 2] | 0) >>> 0 >=
- (c[Pe >> 2] | 0) >>> 0
- )
- jj = 0;
- else jj = ((c[Pe >> 2] | 0) - (c[Xe >> 2] | 0)) | 0;
- c[cf >> 2] = jj;
- c[df >> 2] = c[((c[De >> 2] | 0) + 16) >> 2];
- c[ef >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2);
- c[ff >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2) +
- 4;
- c[gf >> 2] = (c[Pe >> 2] | 0) + 8 + 1;
- c[jf >> 2] = 0;
- c[kf >> 2] = 1 << c[((c[Ee >> 2] | 0) + 12) >> 2];
- c[lf >> 2] = (c[Le >> 2] | 0) - 1;
- c[mf >> 2] = 3 + (c[Je >> 2] | 0);
- c[nf >> 2] = c[Je >> 2];
- while (1) {
- if (
- (c[nf >> 2] | 0) >>> 0 >=
- (c[mf >> 2] | 0) >>> 0
- ) {
- dj = 137;
- break;
- }
- _h = c[Ie >> 2] | 0;
- if ((c[nf >> 2] | 0) == 3)
- kj = ((c[_h >> 2] | 0) - 1) | 0;
- else kj = c[(_h + (c[nf >> 2] << 2)) >> 2] | 0;
- c[of >> 2] = kj;
- c[pf >> 2] = (c[Pe >> 2] | 0) - (c[of >> 2] | 0);
- c[qf >> 2] = 0;
- if (
- (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Pe >> 2] | 0) - (c[$e >> 2] | 0)) | 0) >>>
- 0
- ) {
- _h = mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0;
- if (
- (_h | 0) ==
- (mm(
- ((c[Fe >> 2] | 0) +
- (0 - (c[of >> 2] | 0))) |
- 0,
- c[Re >> 2] | 0
- ) |
- 0)
- ) {
- _h =
- Tj(
- ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- ((c[Fe >> 2] | 0) +
- (c[Re >> 2] | 0) +
- (0 - (c[of >> 2] | 0))) |
- 0,
- c[Ge >> 2] | 0
- ) | 0;
- c[qf >> 2] = _h + (c[Re >> 2] | 0);
- }
- } else {
- c[rf >> 2] =
- (c[_e >> 2] | 0) + (c[pf >> 2] | 0);
- if (
- (
- c[He >> 2] | 0
- ? ((((c[$e >> 2] | 0) -
- 1 -
- (c[pf >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Pe >> 2] | 0) -
- (c[df >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((_h =
- mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0),
- (_h | 0) ==
- (mm(c[rf >> 2] | 0, c[Re >> 2] | 0) |
- 0))
- : 0
- ) {
- _h =
- Uj(
- ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- ((c[rf >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- c[qf >> 2] = _h + (c[Re >> 2] | 0);
- }
- }
- if (
- (c[qf >> 2] | 0) >>> 0 > (c[lf >> 2] | 0) >>> 0
- ? ((c[lf >> 2] = c[qf >> 2]),
- (c[
- ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
- 2
- ] = (c[nf >> 2] | 0) - (c[Je >> 2] | 0)),
- (c[
- ((c[Ke >> 2] | 0) +
- (c[jf >> 2] << 3) +
- 4) >>
- 2
- ] = c[qf >> 2]),
- (c[jf >> 2] = (c[jf >> 2] | 0) + 1),
- ((c[qf >> 2] | 0) >>> 0 >
- (c[Ne >> 2] | 0) >>> 0
- ? 1
- : (((c[Fe >> 2] | 0) + (c[qf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 135;
- break;
- }
- c[nf >> 2] = (c[nf >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 135) {
- dj = 0;
- c[Ce >> 2] = c[jf >> 2];
- } else if ((dj | 0) == 137) {
- dj = 0;
- if (
- (
- (c[Me >> 2] | 0) == 3
- ? (c[lf >> 2] | 0) >>> 0 <
- (c[Me >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[sf >> 2] =
- nm(c[De >> 2] | 0, c[Fe >> 2] | 0) | 0),
- ((c[sf >> 2] | 0) >>> 0 >
- (c[df >> 2] | 0) >>> 0
- ? (((c[Pe >> 2] | 0) -
- (c[sf >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[He >> 2] | 0
- ? (c[sf >> 2] | 0) >>> 0 <
- (c[$e >> 2] | 0) >>> 0
- : 0
- ) {
- c[vf >> 2] =
- (c[_e >> 2] | 0) + (c[sf >> 2] | 0);
- c[tf >> 2] =
- Uj(
- c[Fe >> 2] | 0,
- c[vf >> 2] | 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- } else {
- c[uf >> 2] =
- (c[Oe >> 2] | 0) + (c[sf >> 2] | 0);
- c[tf >> 2] =
- Tj(
- c[Fe >> 2] | 0,
- c[uf >> 2] | 0,
- c[Ge >> 2] | 0
- ) | 0;
- }
- if (
- (c[tf >> 2] | 0) >>> 0 >=
- (c[Me >> 2] | 0) >>> 0
- ? ((c[lf >> 2] = c[tf >> 2]),
- (c[c[Ke >> 2] >> 2] =
- (c[Pe >> 2] | 0) -
- (c[sf >> 2] | 0) +
- 2),
- (c[((c[Ke >> 2] | 0) + 4) >> 2] =
- c[tf >> 2]),
- (c[jf >> 2] = 1),
- ((c[tf >> 2] | 0) >>> 0 >
- (c[Ne >> 2] | 0) >>> 0
- ? 1
- : (((c[Fe >> 2] | 0) +
- (c[tf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[De >> 2] | 0) + 24) >> 2] =
- (c[Pe >> 2] | 0) + 1;
- c[Ce >> 2] = 1;
- break;
- }
- }
- c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2] =
- c[Pe >> 2];
- while (1) {
- _h = c[kf >> 2] | 0;
- c[kf >> 2] = _h + -1;
- if (!_h) break;
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[df >> 2] | 0) >>> 0
- )
- break;
- c[wf >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Ue >> 2] & c[Xe >> 2]) << 1) << 2);
- c[xf >> 2] =
- (c[Ye >> 2] | 0) >>> 0 <
- (c[Ze >> 2] | 0) >>> 0
- ? c[Ye >> 2] | 0
- : c[Ze >> 2] | 0;
- if (
- c[He >> 2] | 0
- ? (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[$e >> 2] | 0) >>> 0
- : 0
- ) {
- c[yf >> 2] =
- (c[_e >> 2] | 0) + (c[Ue >> 2] | 0);
- _h =
- Uj(
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- c[xf >> 2] = (c[xf >> 2] | 0) + _h;
- if (
- (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[$e >> 2] | 0) >>> 0
- )
- c[yf >> 2] =
- (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
- } else {
- c[yf >> 2] =
- (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
- _h =
- Tj(
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- c[Ge >> 2] | 0
- ) | 0;
- c[xf >> 2] = (c[xf >> 2] | 0) + _h;
- }
- if (
- (c[xf >> 2] | 0) >>> 0 >
- (c[lf >> 2] | 0) >>> 0
- ) {
- if (
- (c[xf >> 2] | 0) >>> 0 >
- (((c[gf >> 2] | 0) - (c[Ue >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[gf >> 2] =
- (c[Ue >> 2] | 0) + (c[xf >> 2] | 0);
- c[lf >> 2] = c[xf >> 2];
- c[
- ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
- 2
- ] = (c[Pe >> 2] | 0) - (c[Ue >> 2] | 0) + 2;
- c[
- ((c[Ke >> 2] | 0) +
- (c[jf >> 2] << 3) +
- 4) >>
- 2
- ] = c[xf >> 2];
- c[jf >> 2] = (c[jf >> 2] | 0) + 1;
- if ((c[xf >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)
- )
- break;
- }
- _h = c[Ue >> 2] | 0;
- if (
- (d[
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[ef >> 2] >> 2] = _h;
- c[Ye >> 2] = c[xf >> 2];
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[cf >> 2] | 0) >>> 0
- ) {
- dj = 162;
- break;
- }
- c[ef >> 2] = (c[wf >> 2] | 0) + 4;
- c[Ue >> 2] = c[((c[wf >> 2] | 0) + 4) >> 2];
- } else {
- c[c[ff >> 2] >> 2] = _h;
- c[Ze >> 2] = c[xf >> 2];
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[cf >> 2] | 0) >>> 0
- ) {
- dj = 165;
- break;
- }
- c[ff >> 2] = c[wf >> 2];
- c[Ue >> 2] = c[c[wf >> 2] >> 2];
- }
- }
- if ((dj | 0) == 162) {
- dj = 0;
- c[ef >> 2] = hf;
- } else if ((dj | 0) == 165) {
- dj = 0;
- c[ff >> 2] = hf;
- }
- c[c[ff >> 2] >> 2] = 0;
- c[c[ef >> 2] >> 2] = 0;
- c[((c[De >> 2] | 0) + 24) >> 2] =
- (c[gf >> 2] | 0) - 8;
- c[Ce >> 2] = c[jf >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[Ce >> 2];
- break a;
- break;
- }
- default: {
- _h = c[Ch >> 2] | 0;
- Qh = c[Dh >> 2] | 0;
- Ph = c[Eh >> 2] | 0;
- Zi = c[Fh >> 2] | 0;
- _i = c[Gh >> 2] | 0;
- Uh = c[Hh >> 2] | 0;
- Zh = c[Ih >> 2] | 0;
- aj = c[Jh >> 2] | 0;
- c[Af >> 2] = c[Bh >> 2];
- c[Bf >> 2] = _h;
- c[Cf >> 2] = Qh;
- c[Df >> 2] = Ph;
- c[Ef >> 2] = Zi;
- c[Ff >> 2] = _i;
- c[Gf >> 2] = Uh;
- c[Hf >> 2] = Zh;
- c[If >> 2] = aj;
- c[Jf >> 2] = 4;
- if (
- (c[((c[Bf >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- lj = c[((c[Bf >> 2] | 0) + 20) >> 2] | 0;
- else lj = 4095;
- c[Kf >> 2] = lj;
- c[Lf >> 2] = c[((c[Af >> 2] | 0) + 4) >> 2];
- c[Mf >> 2] = (c[Cf >> 2] | 0) - (c[Lf >> 2] | 0);
- c[Nf >> 2] = c[((c[Bf >> 2] | 0) + 8) >> 2];
- c[Of >> 2] = (c[Jf >> 2] | 0) == 3 ? 3 : 4;
- c[Pf >> 2] = c[((c[Af >> 2] | 0) + 36) >> 2];
- c[Qf >> 2] =
- Sj(
- c[Cf >> 2] | 0,
- c[Nf >> 2] | 0,
- c[Jf >> 2] | 0
- ) | 0;
- c[Rf >> 2] =
- c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2];
- c[Sf >> 2] = c[((c[Af >> 2] | 0) + 44) >> 2];
- c[Tf >> 2] =
- (c[((c[Bf >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Uf >> 2] = (1 << c[Tf >> 2]) - 1;
- c[Vf >> 2] = 0;
- c[Wf >> 2] = 0;
- c[Xf >> 2] = c[((c[Af >> 2] | 0) + 8) >> 2];
- c[Yf >> 2] = c[((c[Af >> 2] | 0) + 12) >> 2];
- c[Zf >> 2] = (c[Xf >> 2] | 0) + (c[Yf >> 2] | 0);
- c[_f >> 2] = (c[Lf >> 2] | 0) + (c[Yf >> 2] | 0);
- if (
- (c[Uf >> 2] | 0) >>> 0 >=
- (c[Mf >> 2] | 0) >>> 0
- )
- mj = 0;
- else mj = ((c[Mf >> 2] | 0) - (c[Uf >> 2] | 0)) | 0;
- c[$f >> 2] = mj;
- c[ag >> 2] = c[((c[Af >> 2] | 0) + 16) >> 2];
- c[bg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2);
- c[cg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2) +
- 4;
- c[dg >> 2] = (c[Mf >> 2] | 0) + 8 + 1;
- c[fg >> 2] = 0;
- c[gg >> 2] = 1 << c[((c[Bf >> 2] | 0) + 12) >> 2];
- c[hg >> 2] = (c[If >> 2] | 0) - 1;
- c[ig >> 2] = 3 + (c[Gf >> 2] | 0);
- c[jg >> 2] = c[Gf >> 2];
- while (1) {
- if (
- (c[jg >> 2] | 0) >>> 0 >=
- (c[ig >> 2] | 0) >>> 0
- ) {
- dj = 84;
- break;
- }
- aj = c[Ff >> 2] | 0;
- if ((c[jg >> 2] | 0) == 3)
- nj = ((c[aj >> 2] | 0) - 1) | 0;
- else nj = c[(aj + (c[jg >> 2] << 2)) >> 2] | 0;
- c[kg >> 2] = nj;
- c[lg >> 2] = (c[Mf >> 2] | 0) - (c[kg >> 2] | 0);
- c[mg >> 2] = 0;
- if (
- (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Mf >> 2] | 0) - (c[Yf >> 2] | 0)) | 0) >>>
- 0
- ) {
- aj = mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0;
- if (
- (aj | 0) ==
- (mm(
- ((c[Cf >> 2] | 0) +
- (0 - (c[kg >> 2] | 0))) |
- 0,
- c[Of >> 2] | 0
- ) |
- 0)
- ) {
- aj =
- Tj(
- ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- ((c[Cf >> 2] | 0) +
- (c[Of >> 2] | 0) +
- (0 - (c[kg >> 2] | 0))) |
- 0,
- c[Df >> 2] | 0
- ) | 0;
- c[mg >> 2] = aj + (c[Of >> 2] | 0);
- }
- } else {
- c[ng >> 2] =
- (c[Xf >> 2] | 0) + (c[lg >> 2] | 0);
- if (
- (
- c[Ef >> 2] | 0
- ? ((((c[Yf >> 2] | 0) -
- 1 -
- (c[lg >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Mf >> 2] | 0) -
- (c[ag >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((aj =
- mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0),
- (aj | 0) ==
- (mm(c[ng >> 2] | 0, c[Of >> 2] | 0) |
- 0))
- : 0
- ) {
- aj =
- Uj(
- ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- ((c[ng >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- c[mg >> 2] = aj + (c[Of >> 2] | 0);
- }
- }
- if (
- (c[mg >> 2] | 0) >>> 0 > (c[hg >> 2] | 0) >>> 0
- ? ((c[hg >> 2] = c[mg >> 2]),
- (c[
- ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
- 2
- ] = (c[jg >> 2] | 0) - (c[Gf >> 2] | 0)),
- (c[
- ((c[Hf >> 2] | 0) +
- (c[fg >> 2] << 3) +
- 4) >>
- 2
- ] = c[mg >> 2]),
- (c[fg >> 2] = (c[fg >> 2] | 0) + 1),
- ((c[mg >> 2] | 0) >>> 0 >
- (c[Kf >> 2] | 0) >>> 0
- ? 1
- : (((c[Cf >> 2] | 0) + (c[mg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 82;
- break;
- }
- c[jg >> 2] = (c[jg >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 82) {
- dj = 0;
- c[zf >> 2] = c[fg >> 2];
- } else if ((dj | 0) == 84) {
- dj = 0;
- if (
- (
- (c[Jf >> 2] | 0) == 3
- ? (c[hg >> 2] | 0) >>> 0 <
- (c[Jf >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[og >> 2] =
- nm(c[Af >> 2] | 0, c[Cf >> 2] | 0) | 0),
- ((c[og >> 2] | 0) >>> 0 >
- (c[ag >> 2] | 0) >>> 0
- ? (((c[Mf >> 2] | 0) -
- (c[og >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ef >> 2] | 0
- ? (c[og >> 2] | 0) >>> 0 <
- (c[Yf >> 2] | 0) >>> 0
- : 0
- ) {
- c[rg >> 2] =
- (c[Xf >> 2] | 0) + (c[og >> 2] | 0);
- c[pg >> 2] =
- Uj(
- c[Cf >> 2] | 0,
- c[rg >> 2] | 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- } else {
- c[qg >> 2] =
- (c[Lf >> 2] | 0) + (c[og >> 2] | 0);
- c[pg >> 2] =
- Tj(
- c[Cf >> 2] | 0,
- c[qg >> 2] | 0,
- c[Df >> 2] | 0
- ) | 0;
- }
- if (
- (c[pg >> 2] | 0) >>> 0 >=
- (c[Jf >> 2] | 0) >>> 0
- ? ((c[hg >> 2] = c[pg >> 2]),
- (c[c[Hf >> 2] >> 2] =
- (c[Mf >> 2] | 0) -
- (c[og >> 2] | 0) +
- 2),
- (c[((c[Hf >> 2] | 0) + 4) >> 2] =
- c[pg >> 2]),
- (c[fg >> 2] = 1),
- ((c[pg >> 2] | 0) >>> 0 >
- (c[Kf >> 2] | 0) >>> 0
- ? 1
- : (((c[Cf >> 2] | 0) +
- (c[pg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[Af >> 2] | 0) + 24) >> 2] =
- (c[Mf >> 2] | 0) + 1;
- c[zf >> 2] = 1;
- break;
- }
- }
- c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2] =
- c[Mf >> 2];
- while (1) {
- aj = c[gg >> 2] | 0;
- c[gg >> 2] = aj + -1;
- if (!aj) break;
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[ag >> 2] | 0) >>> 0
- )
- break;
- c[sg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Rf >> 2] & c[Uf >> 2]) << 1) << 2);
- c[tg >> 2] =
- (c[Vf >> 2] | 0) >>> 0 <
- (c[Wf >> 2] | 0) >>> 0
- ? c[Vf >> 2] | 0
- : c[Wf >> 2] | 0;
- if (
- c[Ef >> 2] | 0
- ? (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Yf >> 2] | 0) >>> 0
- : 0
- ) {
- c[ug >> 2] =
- (c[Xf >> 2] | 0) + (c[Rf >> 2] | 0);
- aj =
- Uj(
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- c[tg >> 2] = (c[tg >> 2] | 0) + aj;
- if (
- (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Yf >> 2] | 0) >>> 0
- )
- c[ug >> 2] =
- (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
- } else {
- c[ug >> 2] =
- (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
- aj =
- Tj(
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- c[Df >> 2] | 0
- ) | 0;
- c[tg >> 2] = (c[tg >> 2] | 0) + aj;
- }
- if (
- (c[tg >> 2] | 0) >>> 0 >
- (c[hg >> 2] | 0) >>> 0
- ) {
- if (
- (c[tg >> 2] | 0) >>> 0 >
- (((c[dg >> 2] | 0) - (c[Rf >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[dg >> 2] =
- (c[Rf >> 2] | 0) + (c[tg >> 2] | 0);
- c[hg >> 2] = c[tg >> 2];
- c[
- ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
- 2
- ] = (c[Mf >> 2] | 0) - (c[Rf >> 2] | 0) + 2;
- c[
- ((c[Hf >> 2] | 0) +
- (c[fg >> 2] << 3) +
- 4) >>
- 2
- ] = c[tg >> 2];
- c[fg >> 2] = (c[fg >> 2] | 0) + 1;
- if ((c[tg >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)
- )
- break;
- }
- aj = c[Rf >> 2] | 0;
- if (
- (d[
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[bg >> 2] >> 2] = aj;
- c[Vf >> 2] = c[tg >> 2];
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[$f >> 2] | 0) >>> 0
- ) {
- dj = 109;
- break;
- }
- c[bg >> 2] = (c[sg >> 2] | 0) + 4;
- c[Rf >> 2] = c[((c[sg >> 2] | 0) + 4) >> 2];
- } else {
- c[c[cg >> 2] >> 2] = aj;
- c[Wf >> 2] = c[tg >> 2];
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[$f >> 2] | 0) >>> 0
- ) {
- dj = 112;
- break;
- }
- c[cg >> 2] = c[sg >> 2];
- c[Rf >> 2] = c[c[sg >> 2] >> 2];
- }
- }
- if ((dj | 0) == 109) {
- dj = 0;
- c[bg >> 2] = eg;
- } else if ((dj | 0) == 112) {
- dj = 0;
- c[cg >> 2] = eg;
- }
- c[c[cg >> 2] >> 2] = 0;
- c[c[bg >> 2] >> 2] = 0;
- c[((c[Af >> 2] | 0) + 24) >> 2] =
- (c[dg >> 2] | 0) - 8;
- c[zf >> 2] = c[fg >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[zf >> 2];
- break a;
- }
- }
- }
- } while (0);
- c[ki >> 2] = c[Ah >> 2];
- if (!(c[ki >> 2] | 0)) {
- c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
- continue;
- }
- c[li >> 2] = 0;
- while (1) {
- if ((c[li >> 2] | 0) >>> 0 >= 3) break;
- c[((c[bi >> 2] | 0) + 16 + (c[li >> 2] << 2)) >> 2] =
- c[((c[Nh >> 2] | 0) + (c[li >> 2] << 2)) >> 2];
- c[li >> 2] = (c[li >> 2] | 0) + 1;
- }
- c[((c[bi >> 2] | 0) + 8) >> 2] = 1;
- c[((c[bi >> 2] | 0) + 12) >> 2] = c[ii >> 2];
- c[mi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[ki >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ];
- do {
- if ((c[mi >> 2] | 0) >>> 0 <= (c[$h >> 2] | 0) >>> 0) {
- c[ni >> 2] =
- om(
- di,
- c[Wh >> 2] | 0,
- c[ii >> 2] | 0,
- c[Th >> 2] | 0
- ) | 0;
- c[oi >> 2] = 0;
- while (1) {
- if ((c[oi >> 2] | 0) >>> 0 >= (c[ai >> 2] | 0) >>> 0)
- break;
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = 1;
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0)) >>
- 2
- ] = 1073741824;
- c[oi >> 2] = (c[oi >> 2] | 0) + 1;
- }
- c[pi >> 2] = 0;
- while (1) {
- if ((c[pi >> 2] | 0) >>> 0 >= (c[ki >> 2] | 0) >>> 0)
- break;
- c[qi >> 2] =
- c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3)) >> 2];
- c[ri >> 2] =
- c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3) + 4) >> 2];
- pm(
- si,
- c[Nh >> 2] | 0,
- c[qi >> 2] | 0,
- c[ji >> 2] | 0
- );
- while (1) {
- if ((c[oi >> 2] | 0) >>> 0 > (c[ri >> 2] | 0) >>> 0)
- break;
- aj = c[ni >> 2] | 0;
- Zh = c[oi >> 2] | 0;
- Uh = c[Th >> 2] | 0;
- _i = c[Rh >> 2] | 0;
- c[yd >> 2] = c[qi >> 2];
- c[zd >> 2] = Zh;
- c[Ad >> 2] = Uh;
- c[Bd >> 2] = _i;
- c[Dd >> 2] = qm(((c[yd >> 2] | 0) + 1) | 0) | 0;
- c[Ed >> 2] = (c[zd >> 2] | 0) - 3;
- if (c[((c[Ad >> 2] | 0) + 56) >> 2] | 0) {
- _i =
- ((qm(((c[Ed >> 2] | 0) + 1) | 0) | 0) + 16) | 0;
- c[xd >> 2] = _i + (c[Dd >> 2] | 0);
- } else {
- _i =
- ((c[Dd >> 2] | 0) +
- (c[((c[Ad >> 2] | 0) + 52) >> 2] | 0)) |
- 0;
- c[Cd >> 2] =
- _i -
- (qm(
- ((c[
- ((c[((c[Ad >> 2] | 0) + 12) >> 2] | 0) +
- (c[Dd >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- if (
- ((c[Bd >> 2] | 0) < 2) &
- ((c[Dd >> 2] | 0) >>> 0 >= 20)
- )
- c[Cd >> 2] =
- (c[Cd >> 2] | 0) +
- (((c[Dd >> 2] | 0) - 19) << 1);
- c[Fd >> 2] = rm(c[Ed >> 2] | 0) | 0;
- _i =
- ((c[(5840 + (c[Fd >> 2] << 2)) >> 2] | 0) +
- (c[((c[Ad >> 2] | 0) + 48) >> 2] | 0)) |
- 0;
- Uh =
- (_i -
- (qm(
- ((c[
- ((c[((c[Ad >> 2] | 0) + 8) >> 2] | 0) +
- (c[Fd >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0)) |
- 0;
- c[Cd >> 2] = (c[Cd >> 2] | 0) + Uh;
- c[xd >> 2] = c[Cd >> 2];
- }
- c[ti >> 2] = aj + (c[xd >> 2] | 0);
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[oi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[qi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[ii >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[ti >> 2];
- aj =
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- c[aj >> 2] = c[si >> 2];
- c[(aj + 4) >> 2] = c[(si + 4) >> 2];
- c[(aj + 8) >> 2] = c[(si + 8) >> 2];
- c[oi >> 2] = (c[oi >> 2] | 0) + 1;
- }
- c[pi >> 2] = (c[pi >> 2] | 0) + 1;
- }
- c[fi >> 2] = (c[oi >> 2] | 0) - 1;
- c[ei >> 2] = 1;
- b: while (1) {
- if ((c[ei >> 2] | 0) >>> 0 > (c[fi >> 2] | 0) >>> 0) {
- dj = 504;
- break;
- }
- c[ui >> 2] = (c[Vh >> 2] | 0) + (c[ei >> 2] | 0);
- if (
- (c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) ==
- 1
- )
- oj =
- ((c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 12) >>
- 2
- ] |
- 0) +
- 1) |
- 0;
- else oj = 1;
- c[vi >> 2] = oj;
- if ((c[ei >> 2] | 0) >>> 0 > (c[vi >> 2] | 0) >>> 0) {
- aj =
- c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - (c[vi >> 2] | 0)) |
- 0) *
- 28) |
- 0)) >>
- 2
- ] | 0;
- c[wi >> 2] =
- aj +
- (sm(
- ((c[ui >> 2] | 0) + (0 - (c[vi >> 2] | 0))) | 0,
- c[vi >> 2] | 0,
- c[Th >> 2] | 0
- ) |
- 0);
- } else
- c[wi >> 2] =
- tm(
- di,
- c[Wh >> 2] | 0,
- c[vi >> 2] | 0,
- c[Th >> 2] | 0
- ) | 0;
- if (
- (c[wi >> 2] | 0) <=
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- ) {
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = 1;
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = 0;
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[vi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[wi >> 2];
- aj =
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- Uh =
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 16) |
- 0;
- c[aj >> 2] = c[Uh >> 2];
- c[(aj + 4) >> 2] = c[(Uh + 4) >> 2];
- c[(aj + 8) >> 2] = c[(Uh + 8) >> 2];
- }
- c: do {
- if (
- (c[ui >> 2] | 0) >>> 0 <=
- (c[Yh >> 2] | 0) >>> 0
- ) {
- if ((c[ei >> 2] | 0) == (c[fi >> 2] | 0)) {
- dj = 504;
- break b;
- }
- if (
- (c[Rh >> 2] | 0) == 0
- ? (c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) + 1) | 0) * 28) |
- 0)) >>
- 2
- ] |
- 0) <=
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- : 0
- )
- break;
- c[xi >> 2] =
- ((c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) !=
- 1) &
- 1;
- if (
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) ==
- 1
- )
- pj =
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] | 0;
- else pj = 0;
- c[yi >> 2] = pj;
- if (
- (c[ei >> 2] | 0) >>> 0 >
- (c[yi >> 2] | 0) >>> 0
- )
- qj =
- c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - (c[yi >> 2] | 0)) |
- 0) *
- 28) |
- 0)) >>
- 2
- ] | 0;
- else qj = 0;
- c[zi >> 2] = qj;
- Uh = c[zi >> 2] | 0;
- c[Ai >> 2] =
- Uh +
- (um(
- ((c[ui >> 2] | 0) + (0 - (c[yi >> 2] | 0))) |
- 0,
- c[yi >> 2] | 0,
- c[Th >> 2] | 0
- ) |
- 0);
- Uh = c[Oh >> 2] | 0;
- aj = c[ui >> 2] | 0;
- _i = c[Xh >> 2] | 0;
- Zh = c[Sh >> 2] | 0;
- Zi =
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- Ph = c[xi >> 2] | 0;
- Qh = c[ci >> 2] | 0;
- _h = c[ai >> 2] | 0;
- c[nd >> 2] = c[Lh >> 2];
- c[od >> 2] = Uh;
- c[pd >> 2] = aj;
- c[qd >> 2] = _i;
- c[rd >> 2] = Zh;
- c[sd >> 2] = Zi;
- c[td >> 2] = Ph;
- c[ud >> 2] = Qh;
- c[vd >> 2] = _h;
- c[wd >> 2] = c[((c[od >> 2] | 0) + 16) >> 2];
- d: do {
- if (
- (c[pd >> 2] | 0) >>> 0 <
- (((c[((c[nd >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[nd >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[md >> 2] = 0;
- else {
- _h = c[od >> 2] | 0;
- Qh = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Zi = c[wd >> 2] | 0;
- Zh = c[rd >> 2] | 0;
- c[dd >> 2] = c[nd >> 2];
- c[ed >> 2] = _h;
- c[fd >> 2] = Qh;
- c[gd >> 2] = Ph;
- c[hd >> 2] = Zi;
- c[id >> 2] = Zh;
- c[jd >> 2] = c[((c[dd >> 2] | 0) + 4) >> 2];
- c[kd >> 2] =
- (c[fd >> 2] | 0) - (c[jd >> 2] | 0);
- c[ld >> 2] = c[((c[dd >> 2] | 0) + 24) >> 2];
- while (1) {
- if (
- (c[ld >> 2] | 0) >>> 0 >=
- (c[kd >> 2] | 0) >>> 0
- )
- break;
- Zh =
- Rj(
- c[dd >> 2] | 0,
- c[ed >> 2] | 0,
- ((c[jd >> 2] | 0) + (c[ld >> 2] | 0)) |
- 0,
- c[gd >> 2] | 0,
- c[hd >> 2] | 0,
- c[id >> 2] | 0
- ) | 0;
- c[ld >> 2] = (c[ld >> 2] | 0) + Zh;
- }
- c[((c[dd >> 2] | 0) + 24) >> 2] = c[kd >> 2];
- switch (c[wd >> 2] | 0) {
- case 3: {
- Zh = c[od >> 2] | 0;
- Zi = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Qh = c[rd >> 2] | 0;
- _h = c[sd >> 2] | 0;
- _i = c[td >> 2] | 0;
- aj = c[ud >> 2] | 0;
- Uh = c[vd >> 2] | 0;
- c[ic >> 2] = c[nd >> 2];
- c[jc >> 2] = Zh;
- c[kc >> 2] = Zi;
- c[lc >> 2] = Ph;
- c[mc >> 2] = Qh;
- c[nc >> 2] = _h;
- c[oc >> 2] = _i;
- c[pc >> 2] = aj;
- c[qc >> 2] = Uh;
- c[rc >> 2] = 3;
- if (
- (c[((c[jc >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- rj =
- c[((c[jc >> 2] | 0) + 20) >> 2] | 0;
- else rj = 4095;
- c[sc >> 2] = rj;
- c[tc >> 2] =
- c[((c[ic >> 2] | 0) + 4) >> 2];
- c[uc >> 2] =
- (c[kc >> 2] | 0) - (c[tc >> 2] | 0);
- c[vc >> 2] =
- c[((c[jc >> 2] | 0) + 8) >> 2];
- c[wc >> 2] =
- (c[rc >> 2] | 0) == 3 ? 3 : 4;
- c[xc >> 2] =
- c[((c[ic >> 2] | 0) + 36) >> 2];
- c[yc >> 2] =
- Sj(
- c[kc >> 2] | 0,
- c[vc >> 2] | 0,
- c[rc >> 2] | 0
- ) | 0;
- c[zc >> 2] =
- c[
- ((c[xc >> 2] | 0) +
- (c[yc >> 2] << 2)) >>
- 2
- ];
- c[Ac >> 2] =
- c[((c[ic >> 2] | 0) + 44) >> 2];
- c[Bc >> 2] =
- (c[((c[jc >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Cc >> 2] = (1 << c[Bc >> 2]) - 1;
- c[Dc >> 2] = 0;
- c[Ec >> 2] = 0;
- c[Fc >> 2] =
- c[((c[ic >> 2] | 0) + 8) >> 2];
- c[Gc >> 2] =
- c[((c[ic >> 2] | 0) + 12) >> 2];
- c[Hc >> 2] =
- (c[Fc >> 2] | 0) + (c[Gc >> 2] | 0);
- c[Ic >> 2] =
- (c[tc >> 2] | 0) + (c[Gc >> 2] | 0);
- if (
- (c[Cc >> 2] | 0) >>> 0 >=
- (c[uc >> 2] | 0) >>> 0
- )
- sj = 0;
- else
- sj =
- ((c[uc >> 2] | 0) -
- (c[Cc >> 2] | 0)) |
- 0;
- c[Jc >> 2] = sj;
- c[Kc >> 2] =
- c[((c[ic >> 2] | 0) + 16) >> 2];
- c[Lc >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[uc >> 2] & c[Cc >> 2]) << 1) << 2);
- c[Mc >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[uc >> 2] & c[Cc >> 2]) << 1) <<
- 2) +
- 4;
- c[Nc >> 2] = (c[uc >> 2] | 0) + 8 + 1;
- c[Pc >> 2] = 0;
- c[Qc >> 2] =
- 1 << c[((c[jc >> 2] | 0) + 12) >> 2];
- c[Rc >> 2] = (c[qc >> 2] | 0) - 1;
- c[Sc >> 2] = 3 + (c[oc >> 2] | 0);
- c[Tc >> 2] = c[oc >> 2];
- while (1) {
- if (
- (c[Tc >> 2] | 0) >>> 0 >=
- (c[Sc >> 2] | 0) >>> 0
- ) {
- dj = 287;
- break;
- }
- Uh = c[nc >> 2] | 0;
- if ((c[Tc >> 2] | 0) == 3)
- tj = ((c[Uh >> 2] | 0) - 1) | 0;
- else
- tj =
- c[(Uh + (c[Tc >> 2] << 2)) >> 2] |
- 0;
- c[Uc >> 2] = tj;
- c[Vc >> 2] =
- (c[uc >> 2] | 0) - (c[Uc >> 2] | 0);
- c[Wc >> 2] = 0;
- do {
- if (
- (((c[Uc >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[uc >> 2] | 0) -
- (c[Gc >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Uh =
- mm(
- c[kc >> 2] | 0,
- c[wc >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- ((c[kc >> 2] | 0) +
- (0 - (c[Uc >> 2] | 0))) |
- 0,
- c[wc >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Tj(
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0) +
- (0 - (c[Uc >> 2] | 0))) |
- 0,
- c[lc >> 2] | 0
- ) | 0;
- c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
- } else {
- c[Xc >> 2] =
- (c[Fc >> 2] | 0) +
- (c[Vc >> 2] | 0);
- if (!(c[mc >> 2] | 0)) break;
- if (
- !(
- ((((c[Gc >> 2] | 0) -
- 1 -
- (c[Vc >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[Uc >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[uc >> 2] | 0) -
- (c[Kc >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Uh =
- mm(
- c[kc >> 2] | 0,
- c[wc >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- c[Xc >> 2] | 0,
- c[wc >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Uj(
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- ((c[Xc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
- }
- } while (0);
- if (
- (c[Wc >> 2] | 0) >>> 0 >
- (c[Rc >> 2] | 0) >>> 0
- ? ((c[Rc >> 2] = c[Wc >> 2]),
- (c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3)) >>
- 2
- ] =
- (c[Tc >> 2] | 0) -
- (c[oc >> 2] | 0)),
- (c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3) +
- 4) >>
- 2
- ] = c[Wc >> 2]),
- (c[Pc >> 2] =
- (c[Pc >> 2] | 0) + 1),
- ((c[Wc >> 2] | 0) >>> 0 >
- (c[sc >> 2] | 0) >>> 0
- ? 1
- : (((c[kc >> 2] | 0) +
- (c[Wc >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 285;
- break;
- }
- c[Tc >> 2] = (c[Tc >> 2] | 0) + 1;
- }
- e: do {
- if ((dj | 0) == 285) {
- dj = 0;
- c[hc >> 2] = c[Pc >> 2];
- } else if ((dj | 0) == 287) {
- dj = 0;
- do {
- if ((c[rc >> 2] | 0) == 3) {
- if (
- (c[Rc >> 2] | 0) >>> 0 >=
- (c[rc >> 2] | 0) >>> 0
- )
- break;
- c[Yc >> 2] =
- nm(
- c[ic >> 2] | 0,
- c[kc >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[Yc >> 2] | 0) >>> 0 >
- (c[Kc >> 2] | 0) >>> 0
- ? (((c[uc >> 2] | 0) -
- (c[Yc >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[mc >> 2] | 0) {
- if (
- (c[Yc >> 2] | 0) >>> 0 >=
- (c[Gc >> 2] | 0) >>> 0
- ) {
- dj = 292;
- break;
- }
- c[$c >> 2] =
- (c[Fc >> 2] | 0) +
- (c[Yc >> 2] | 0);
- c[Zc >> 2] =
- Uj(
- c[kc >> 2] | 0,
- c[$c >> 2] | 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- } else dj = 292;
- } while (0);
- if ((dj | 0) == 292) {
- dj = 0;
- c[_c >> 2] =
- (c[tc >> 2] | 0) +
- (c[Yc >> 2] | 0);
- c[Zc >> 2] =
- Tj(
- c[kc >> 2] | 0,
- c[_c >> 2] | 0,
- c[lc >> 2] | 0
- ) | 0;
- }
- if (
- (c[Zc >> 2] | 0) >>> 0 <
- (c[rc >> 2] | 0) >>> 0
- )
- break;
- c[Rc >> 2] = c[Zc >> 2];
- c[c[pc >> 2] >> 2] =
- (c[uc >> 2] | 0) -
- (c[Yc >> 2] | 0) +
- 2;
- c[((c[pc >> 2] | 0) + 4) >> 2] =
- c[Zc >> 2];
- c[Pc >> 2] = 1;
- if (
- !(
- ((c[Zc >> 2] | 0) >>> 0 >
- (c[sc >> 2] | 0) >>> 0
- ? 1
- : (((c[kc >> 2] | 0) +
- (c[Zc >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[ic >> 2] | 0) + 24) >> 2] =
- (c[uc >> 2] | 0) + 1;
- c[hc >> 2] = 1;
- break e;
- }
- } while (0);
- c[
- ((c[xc >> 2] | 0) +
- (c[yc >> 2] << 2)) >>
- 2
- ] = c[uc >> 2];
- while (1) {
- Uh = c[Qc >> 2] | 0;
- c[Qc >> 2] = Uh + -1;
- if (!Uh) break;
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Kc >> 2] | 0) >>> 0
- )
- break;
- c[ad >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[zc >> 2] & c[Cc >> 2]) <<
- 1) <<
- 2);
- c[bd >> 2] =
- (c[Dc >> 2] | 0) >>> 0 <
- (c[Ec >> 2] | 0) >>> 0
- ? c[Dc >> 2] | 0
- : c[Ec >> 2] | 0;
- do {
- if (c[mc >> 2] | 0) {
- if (
- (((c[zc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Gc >> 2] | 0) >>> 0
- ) {
- dj = 302;
- break;
- }
- c[cd >> 2] =
- (c[Fc >> 2] | 0) +
- (c[zc >> 2] | 0);
- Uh =
- Uj(
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- c[bd >> 2] =
- (c[bd >> 2] | 0) + Uh;
- if (
- (((c[zc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Gc >> 2] | 0) >>> 0
- )
- break;
- c[cd >> 2] =
- (c[tc >> 2] | 0) +
- (c[zc >> 2] | 0);
- } else dj = 302;
- } while (0);
- if ((dj | 0) == 302) {
- dj = 0;
- c[cd >> 2] =
- (c[tc >> 2] | 0) +
- (c[zc >> 2] | 0);
- Uh =
- Tj(
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0
- ) | 0;
- c[bd >> 2] =
- (c[bd >> 2] | 0) + Uh;
- }
- if (
- (c[bd >> 2] | 0) >>> 0 >
- (c[Rc >> 2] | 0) >>> 0
- ) {
- if (
- (c[bd >> 2] | 0) >>> 0 >
- (((c[Nc >> 2] | 0) -
- (c[zc >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Nc >> 2] =
- (c[zc >> 2] | 0) +
- (c[bd >> 2] | 0);
- c[Rc >> 2] = c[bd >> 2];
- c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3)) >>
- 2
- ] =
- (c[uc >> 2] | 0) -
- (c[zc >> 2] | 0) +
- 2;
- c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3) +
- 4) >>
- 2
- ] = c[bd >> 2];
- c[Pc >> 2] = (c[Pc >> 2] | 0) + 1;
- if ((c[bd >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)
- )
- break;
- }
- Uh = c[zc >> 2] | 0;
- if (
- (d[
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Lc >> 2] >> 2] = Uh;
- c[Dc >> 2] = c[bd >> 2];
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Jc >> 2] | 0) >>> 0
- ) {
- dj = 312;
- break;
- }
- c[Lc >> 2] = (c[ad >> 2] | 0) + 4;
- c[zc >> 2] =
- c[((c[ad >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Mc >> 2] >> 2] = Uh;
- c[Ec >> 2] = c[bd >> 2];
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Jc >> 2] | 0) >>> 0
- ) {
- dj = 315;
- break;
- }
- c[Mc >> 2] = c[ad >> 2];
- c[zc >> 2] = c[c[ad >> 2] >> 2];
- }
- }
- if ((dj | 0) == 312) {
- dj = 0;
- c[Lc >> 2] = Oc;
- } else if ((dj | 0) == 315) {
- dj = 0;
- c[Mc >> 2] = Oc;
- }
- c[c[Mc >> 2] >> 2] = 0;
- c[c[Lc >> 2] >> 2] = 0;
- c[((c[ic >> 2] | 0) + 24) >> 2] =
- (c[Nc >> 2] | 0) - 8;
- c[hc >> 2] = c[Pc >> 2];
- }
- } while (0);
- c[md >> 2] = c[hc >> 2];
- break d;
- break;
- }
- case 7:
- case 6: {
- Uh = c[od >> 2] | 0;
- aj = c[pd >> 2] | 0;
- _i = c[qd >> 2] | 0;
- _h = c[rd >> 2] | 0;
- Qh = c[sd >> 2] | 0;
- Ph = c[td >> 2] | 0;
- Zi = c[ud >> 2] | 0;
- Zh = c[vd >> 2] | 0;
- c[u >> 2] = c[nd >> 2];
- c[v >> 2] = Uh;
- c[w >> 2] = aj;
- c[x >> 2] = _i;
- c[y >> 2] = _h;
- c[z >> 2] = Qh;
- c[A >> 2] = Ph;
- c[B >> 2] = Zi;
- c[C >> 2] = Zh;
- c[D >> 2] = 6;
- if (
- (c[((c[v >> 2] | 0) + 20) >> 2] | 0) >>>
- 0 <
- 4095
- )
- uj = c[((c[v >> 2] | 0) + 20) >> 2] | 0;
- else uj = 4095;
- c[E >> 2] = uj;
- c[F >> 2] = c[((c[u >> 2] | 0) + 4) >> 2];
- c[G >> 2] =
- (c[w >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = c[((c[v >> 2] | 0) + 8) >> 2];
- c[I >> 2] = (c[D >> 2] | 0) == 3 ? 3 : 4;
- c[J >> 2] =
- c[((c[u >> 2] | 0) + 36) >> 2];
- c[K >> 2] =
- Sj(
- c[w >> 2] | 0,
- c[H >> 2] | 0,
- c[D >> 2] | 0
- ) | 0;
- c[L >> 2] =
- c[
- ((c[J >> 2] | 0) +
- (c[K >> 2] << 2)) >>
- 2
- ];
- c[M >> 2] =
- c[((c[u >> 2] | 0) + 44) >> 2];
- c[N >> 2] =
- (c[((c[v >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[O >> 2] = (1 << c[N >> 2]) - 1;
- c[P >> 2] = 0;
- c[Q >> 2] = 0;
- c[R >> 2] = c[((c[u >> 2] | 0) + 8) >> 2];
- c[S >> 2] =
- c[((c[u >> 2] | 0) + 12) >> 2];
- c[T >> 2] =
- (c[R >> 2] | 0) + (c[S >> 2] | 0);
- c[U >> 2] =
- (c[F >> 2] | 0) + (c[S >> 2] | 0);
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (c[G >> 2] | 0) >>> 0
- )
- vj = 0;
- else
- vj =
- ((c[G >> 2] | 0) - (c[O >> 2] | 0)) |
- 0;
- c[V >> 2] = vj;
- c[W >> 2] =
- c[((c[u >> 2] | 0) + 16) >> 2];
- c[X >> 2] =
- (c[M >> 2] | 0) +
- (((c[G >> 2] & c[O >> 2]) << 1) << 2);
- c[Y >> 2] =
- (c[M >> 2] | 0) +
- (((c[G >> 2] & c[O >> 2]) << 1) << 2) +
- 4;
- c[Z >> 2] = (c[G >> 2] | 0) + 8 + 1;
- c[$ >> 2] = 0;
- c[aa >> 2] =
- 1 << c[((c[v >> 2] | 0) + 12) >> 2];
- c[ba >> 2] = (c[C >> 2] | 0) - 1;
- c[ca >> 2] = 3 + (c[A >> 2] | 0);
- c[da >> 2] = c[A >> 2];
- while (1) {
- if (
- (c[da >> 2] | 0) >>> 0 >=
- (c[ca >> 2] | 0) >>> 0
- ) {
- dj = 446;
- break;
- }
- Zh = c[z >> 2] | 0;
- if ((c[da >> 2] | 0) == 3)
- wj = ((c[Zh >> 2] | 0) - 1) | 0;
- else
- wj =
- c[(Zh + (c[da >> 2] << 2)) >> 2] |
- 0;
- c[ea >> 2] = wj;
- c[fa >> 2] =
- (c[G >> 2] | 0) - (c[ea >> 2] | 0);
- c[ga >> 2] = 0;
- do {
- if (
- (((c[ea >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[G >> 2] | 0) -
- (c[S >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Zh =
- mm(c[w >> 2] | 0, c[I >> 2] | 0) |
- 0;
- if (
- (Zh | 0) !=
- (mm(
- ((c[w >> 2] | 0) +
- (0 - (c[ea >> 2] | 0))) |
- 0,
- c[I >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Tj(
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0) +
- (0 - (c[ea >> 2] | 0))) |
- 0,
- c[x >> 2] | 0
- ) | 0;
- c[ga >> 2] = Zh + (c[I >> 2] | 0);
- } else {
- c[ha >> 2] =
- (c[R >> 2] | 0) +
- (c[fa >> 2] | 0);
- if (!(c[y >> 2] | 0)) break;
- if (
- !(
- ((((c[S >> 2] | 0) -
- 1 -
- (c[fa >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[ea >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[G >> 2] | 0) -
- (c[W >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Zh =
- mm(c[w >> 2] | 0, c[I >> 2] | 0) |
- 0;
- if (
- (Zh | 0) !=
- (mm(
- c[ha >> 2] | 0,
- c[I >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Uj(
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- ((c[ha >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[ga >> 2] = Zh + (c[I >> 2] | 0);
- }
- } while (0);
- if (
- (c[ga >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- ? ((c[ba >> 2] = c[ga >> 2]),
- (c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3)) >>
- 2
- ] =
- (c[da >> 2] | 0) -
- (c[A >> 2] | 0)),
- (c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3) +
- 4) >>
- 2
- ] = c[ga >> 2]),
- (c[$ >> 2] = (c[$ >> 2] | 0) + 1),
- ((c[ga >> 2] | 0) >>> 0 >
- (c[E >> 2] | 0) >>> 0
- ? 1
- : (((c[w >> 2] | 0) +
- (c[ga >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 444;
- break;
- }
- c[da >> 2] = (c[da >> 2] | 0) + 1;
- }
- f: do {
- if ((dj | 0) == 444) {
- dj = 0;
- c[t >> 2] = c[$ >> 2];
- } else if ((dj | 0) == 446) {
- dj = 0;
- do {
- if ((c[D >> 2] | 0) == 3) {
- if (
- (c[ba >> 2] | 0) >>> 0 >=
- (c[D >> 2] | 0) >>> 0
- )
- break;
- c[ia >> 2] =
- nm(
- c[u >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[ia >> 2] | 0) >>> 0 >
- (c[W >> 2] | 0) >>> 0
- ? (((c[G >> 2] | 0) -
- (c[ia >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[y >> 2] | 0) {
- if (
- (c[ia >> 2] | 0) >>> 0 >=
- (c[S >> 2] | 0) >>> 0
- ) {
- dj = 451;
- break;
- }
- c[la >> 2] =
- (c[R >> 2] | 0) +
- (c[ia >> 2] | 0);
- c[ja >> 2] =
- Uj(
- c[w >> 2] | 0,
- c[la >> 2] | 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- } else dj = 451;
- } while (0);
- if ((dj | 0) == 451) {
- dj = 0;
- c[ka >> 2] =
- (c[F >> 2] | 0) +
- (c[ia >> 2] | 0);
- c[ja >> 2] =
- Tj(
- c[w >> 2] | 0,
- c[ka >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- }
- if (
- (c[ja >> 2] | 0) >>> 0 <
- (c[D >> 2] | 0) >>> 0
- )
- break;
- c[ba >> 2] = c[ja >> 2];
- c[c[B >> 2] >> 2] =
- (c[G >> 2] | 0) -
- (c[ia >> 2] | 0) +
- 2;
- c[((c[B >> 2] | 0) + 4) >> 2] =
- c[ja >> 2];
- c[$ >> 2] = 1;
- if (
- !(
- ((c[ja >> 2] | 0) >>> 0 >
- (c[E >> 2] | 0) >>> 0
- ? 1
- : (((c[w >> 2] | 0) +
- (c[ja >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[u >> 2] | 0) + 24) >> 2] =
- (c[G >> 2] | 0) + 1;
- c[t >> 2] = 1;
- break f;
- }
- } while (0);
- c[
- ((c[J >> 2] | 0) +
- (c[K >> 2] << 2)) >>
- 2
- ] = c[G >> 2];
- while (1) {
- Zh = c[aa >> 2] | 0;
- c[aa >> 2] = Zh + -1;
- if (!Zh) break;
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[W >> 2] | 0) >>> 0
- )
- break;
- c[ma >> 2] =
- (c[M >> 2] | 0) +
- (((c[L >> 2] & c[O >> 2]) << 1) <<
- 2);
- c[na >> 2] =
- (c[P >> 2] | 0) >>> 0 <
- (c[Q >> 2] | 0) >>> 0
- ? c[P >> 2] | 0
- : c[Q >> 2] | 0;
- do {
- if (c[y >> 2] | 0) {
- if (
- (((c[L >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[S >> 2] | 0) >>> 0
- ) {
- dj = 461;
- break;
- }
- c[oa >> 2] =
- (c[R >> 2] | 0) +
- (c[L >> 2] | 0);
- Zh =
- Uj(
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[na >> 2] =
- (c[na >> 2] | 0) + Zh;
- if (
- (((c[L >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[S >> 2] | 0) >>> 0
- )
- break;
- c[oa >> 2] =
- (c[F >> 2] | 0) +
- (c[L >> 2] | 0);
- } else dj = 461;
- } while (0);
- if ((dj | 0) == 461) {
- dj = 0;
- c[oa >> 2] =
- (c[F >> 2] | 0) +
- (c[L >> 2] | 0);
- Zh =
- Tj(
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- c[x >> 2] | 0
- ) | 0;
- c[na >> 2] =
- (c[na >> 2] | 0) + Zh;
- }
- if (
- (c[na >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- ) {
- if (
- (c[na >> 2] | 0) >>> 0 >
- (((c[Z >> 2] | 0) -
- (c[L >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Z >> 2] =
- (c[L >> 2] | 0) +
- (c[na >> 2] | 0);
- c[ba >> 2] = c[na >> 2];
- c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3)) >>
- 2
- ] =
- (c[G >> 2] | 0) -
- (c[L >> 2] | 0) +
- 2;
- c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3) +
- 4) >>
- 2
- ] = c[na >> 2];
- c[$ >> 2] = (c[$ >> 2] | 0) + 1;
- if ((c[na >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)
- )
- break;
- }
- Zh = c[L >> 2] | 0;
- if (
- (d[
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[X >> 2] >> 2] = Zh;
- c[P >> 2] = c[na >> 2];
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[V >> 2] | 0) >>> 0
- ) {
- dj = 471;
- break;
- }
- c[X >> 2] = (c[ma >> 2] | 0) + 4;
- c[L >> 2] =
- c[((c[ma >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Y >> 2] >> 2] = Zh;
- c[Q >> 2] = c[na >> 2];
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[V >> 2] | 0) >>> 0
- ) {
- dj = 474;
- break;
- }
- c[Y >> 2] = c[ma >> 2];
- c[L >> 2] = c[c[ma >> 2] >> 2];
- }
- }
- if ((dj | 0) == 471) {
- dj = 0;
- c[X >> 2] = _;
- } else if ((dj | 0) == 474) {
- dj = 0;
- c[Y >> 2] = _;
- }
- c[c[Y >> 2] >> 2] = 0;
- c[c[X >> 2] >> 2] = 0;
- c[((c[u >> 2] | 0) + 24) >> 2] =
- (c[Z >> 2] | 0) - 8;
- c[t >> 2] = c[$ >> 2];
- }
- } while (0);
- c[md >> 2] = c[t >> 2];
- break d;
- break;
- }
- case 5: {
- Zh = c[od >> 2] | 0;
- Zi = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Qh = c[rd >> 2] | 0;
- _h = c[sd >> 2] | 0;
- _i = c[td >> 2] | 0;
- aj = c[ud >> 2] | 0;
- Uh = c[vd >> 2] | 0;
- c[qa >> 2] = c[nd >> 2];
- c[ra >> 2] = Zh;
- c[sa >> 2] = Zi;
- c[ta >> 2] = Ph;
- c[ua >> 2] = Qh;
- c[va >> 2] = _h;
- c[wa >> 2] = _i;
- c[xa >> 2] = aj;
- c[ya >> 2] = Uh;
- c[za >> 2] = 5;
- if (
- (c[((c[ra >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- xj =
- c[((c[ra >> 2] | 0) + 20) >> 2] | 0;
- else xj = 4095;
- c[Aa >> 2] = xj;
- c[Ba >> 2] =
- c[((c[qa >> 2] | 0) + 4) >> 2];
- c[Ca >> 2] =
- (c[sa >> 2] | 0) - (c[Ba >> 2] | 0);
- c[Da >> 2] =
- c[((c[ra >> 2] | 0) + 8) >> 2];
- c[Ea >> 2] =
- (c[za >> 2] | 0) == 3 ? 3 : 4;
- c[Fa >> 2] =
- c[((c[qa >> 2] | 0) + 36) >> 2];
- c[Ga >> 2] =
- Sj(
- c[sa >> 2] | 0,
- c[Da >> 2] | 0,
- c[za >> 2] | 0
- ) | 0;
- c[Ha >> 2] =
- c[
- ((c[Fa >> 2] | 0) +
- (c[Ga >> 2] << 2)) >>
- 2
- ];
- c[Ia >> 2] =
- c[((c[qa >> 2] | 0) + 44) >> 2];
- c[Ja >> 2] =
- (c[((c[ra >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Ka >> 2] = (1 << c[Ja >> 2]) - 1;
- c[La >> 2] = 0;
- c[Ma >> 2] = 0;
- c[Na >> 2] =
- c[((c[qa >> 2] | 0) + 8) >> 2];
- c[Oa >> 2] =
- c[((c[qa >> 2] | 0) + 12) >> 2];
- c[Pa >> 2] =
- (c[Na >> 2] | 0) + (c[Oa >> 2] | 0);
- c[Qa >> 2] =
- (c[Ba >> 2] | 0) + (c[Oa >> 2] | 0);
- if (
- (c[Ka >> 2] | 0) >>> 0 >=
- (c[Ca >> 2] | 0) >>> 0
- )
- yj = 0;
- else
- yj =
- ((c[Ca >> 2] | 0) -
- (c[Ka >> 2] | 0)) |
- 0;
- c[Ra >> 2] = yj;
- c[Sa >> 2] =
- c[((c[qa >> 2] | 0) + 16) >> 2];
- c[Ta >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ca >> 2] & c[Ka >> 2]) << 1) << 2);
- c[Ua >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ca >> 2] & c[Ka >> 2]) << 1) <<
- 2) +
- 4;
- c[Va >> 2] = (c[Ca >> 2] | 0) + 8 + 1;
- c[Xa >> 2] = 0;
- c[Ya >> 2] =
- 1 << c[((c[ra >> 2] | 0) + 12) >> 2];
- c[Za >> 2] = (c[ya >> 2] | 0) - 1;
- c[_a >> 2] = 3 + (c[wa >> 2] | 0);
- c[$a >> 2] = c[wa >> 2];
- while (1) {
- if (
- (c[$a >> 2] | 0) >>> 0 >=
- (c[_a >> 2] | 0) >>> 0
- ) {
- dj = 393;
- break;
- }
- Uh = c[va >> 2] | 0;
- if ((c[$a >> 2] | 0) == 3)
- zj = ((c[Uh >> 2] | 0) - 1) | 0;
- else
- zj =
- c[(Uh + (c[$a >> 2] << 2)) >> 2] |
- 0;
- c[ab >> 2] = zj;
- c[bb >> 2] =
- (c[Ca >> 2] | 0) - (c[ab >> 2] | 0);
- c[cb >> 2] = 0;
- do {
- if (
- (((c[ab >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ca >> 2] | 0) -
- (c[Oa >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Uh =
- mm(
- c[sa >> 2] | 0,
- c[Ea >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- ((c[sa >> 2] | 0) +
- (0 - (c[ab >> 2] | 0))) |
- 0,
- c[Ea >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Tj(
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0) +
- (0 - (c[ab >> 2] | 0))) |
- 0,
- c[ta >> 2] | 0
- ) | 0;
- c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
- } else {
- c[db >> 2] =
- (c[Na >> 2] | 0) +
- (c[bb >> 2] | 0);
- if (!(c[ua >> 2] | 0)) break;
- if (
- !(
- ((((c[Oa >> 2] | 0) -
- 1 -
- (c[bb >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[ab >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[Ca >> 2] | 0) -
- (c[Sa >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Uh =
- mm(
- c[sa >> 2] | 0,
- c[Ea >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- c[db >> 2] | 0,
- c[Ea >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Uj(
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- ((c[db >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
- }
- } while (0);
- if (
- (c[cb >> 2] | 0) >>> 0 >
- (c[Za >> 2] | 0) >>> 0
- ? ((c[Za >> 2] = c[cb >> 2]),
- (c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3)) >>
- 2
- ] =
- (c[$a >> 2] | 0) -
- (c[wa >> 2] | 0)),
- (c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3) +
- 4) >>
- 2
- ] = c[cb >> 2]),
- (c[Xa >> 2] =
- (c[Xa >> 2] | 0) + 1),
- ((c[cb >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? 1
- : (((c[sa >> 2] | 0) +
- (c[cb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 391;
- break;
- }
- c[$a >> 2] = (c[$a >> 2] | 0) + 1;
- }
- g: do {
- if ((dj | 0) == 391) {
- dj = 0;
- c[pa >> 2] = c[Xa >> 2];
- } else if ((dj | 0) == 393) {
- dj = 0;
- do {
- if ((c[za >> 2] | 0) == 3) {
- if (
- (c[Za >> 2] | 0) >>> 0 >=
- (c[za >> 2] | 0) >>> 0
- )
- break;
- c[eb >> 2] =
- nm(
- c[qa >> 2] | 0,
- c[sa >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[eb >> 2] | 0) >>> 0 >
- (c[Sa >> 2] | 0) >>> 0
- ? (((c[Ca >> 2] | 0) -
- (c[eb >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[ua >> 2] | 0) {
- if (
- (c[eb >> 2] | 0) >>> 0 >=
- (c[Oa >> 2] | 0) >>> 0
- ) {
- dj = 398;
- break;
- }
- c[hb >> 2] =
- (c[Na >> 2] | 0) +
- (c[eb >> 2] | 0);
- c[fb >> 2] =
- Uj(
- c[sa >> 2] | 0,
- c[hb >> 2] | 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- } else dj = 398;
- } while (0);
- if ((dj | 0) == 398) {
- dj = 0;
- c[gb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[eb >> 2] | 0);
- c[fb >> 2] =
- Tj(
- c[sa >> 2] | 0,
- c[gb >> 2] | 0,
- c[ta >> 2] | 0
- ) | 0;
- }
- if (
- (c[fb >> 2] | 0) >>> 0 <
- (c[za >> 2] | 0) >>> 0
- )
- break;
- c[Za >> 2] = c[fb >> 2];
- c[c[xa >> 2] >> 2] =
- (c[Ca >> 2] | 0) -
- (c[eb >> 2] | 0) +
- 2;
- c[((c[xa >> 2] | 0) + 4) >> 2] =
- c[fb >> 2];
- c[Xa >> 2] = 1;
- if (
- !(
- ((c[fb >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? 1
- : (((c[sa >> 2] | 0) +
- (c[fb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[qa >> 2] | 0) + 24) >> 2] =
- (c[Ca >> 2] | 0) + 1;
- c[pa >> 2] = 1;
- break g;
- }
- } while (0);
- c[
- ((c[Fa >> 2] | 0) +
- (c[Ga >> 2] << 2)) >>
- 2
- ] = c[Ca >> 2];
- while (1) {
- Uh = c[Ya >> 2] | 0;
- c[Ya >> 2] = Uh + -1;
- if (!Uh) break;
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Sa >> 2] | 0) >>> 0
- )
- break;
- c[ib >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ha >> 2] & c[Ka >> 2]) <<
- 1) <<
- 2);
- c[jb >> 2] =
- (c[La >> 2] | 0) >>> 0 <
- (c[Ma >> 2] | 0) >>> 0
- ? c[La >> 2] | 0
- : c[Ma >> 2] | 0;
- do {
- if (c[ua >> 2] | 0) {
- if (
- (((c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Oa >> 2] | 0) >>> 0
- ) {
- dj = 408;
- break;
- }
- c[kb >> 2] =
- (c[Na >> 2] | 0) +
- (c[Ha >> 2] | 0);
- Uh =
- Uj(
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- c[jb >> 2] =
- (c[jb >> 2] | 0) + Uh;
- if (
- (((c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Oa >> 2] | 0) >>> 0
- )
- break;
- c[kb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[Ha >> 2] | 0);
- } else dj = 408;
- } while (0);
- if ((dj | 0) == 408) {
- dj = 0;
- c[kb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[Ha >> 2] | 0);
- Uh =
- Tj(
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0
- ) | 0;
- c[jb >> 2] =
- (c[jb >> 2] | 0) + Uh;
- }
- if (
- (c[jb >> 2] | 0) >>> 0 >
- (c[Za >> 2] | 0) >>> 0
- ) {
- if (
- (c[jb >> 2] | 0) >>> 0 >
- (((c[Va >> 2] | 0) -
- (c[Ha >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Va >> 2] =
- (c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0);
- c[Za >> 2] = c[jb >> 2];
- c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3)) >>
- 2
- ] =
- (c[Ca >> 2] | 0) -
- (c[Ha >> 2] | 0) +
- 2;
- c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3) +
- 4) >>
- 2
- ] = c[jb >> 2];
- c[Xa >> 2] = (c[Xa >> 2] | 0) + 1;
- if ((c[jb >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)
- )
- break;
- }
- Uh = c[Ha >> 2] | 0;
- if (
- (d[
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Ta >> 2] >> 2] = Uh;
- c[La >> 2] = c[jb >> 2];
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Ra >> 2] | 0) >>> 0
- ) {
- dj = 418;
- break;
- }
- c[Ta >> 2] = (c[ib >> 2] | 0) + 4;
- c[Ha >> 2] =
- c[((c[ib >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Ua >> 2] >> 2] = Uh;
- c[Ma >> 2] = c[jb >> 2];
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Ra >> 2] | 0) >>> 0
- ) {
- dj = 421;
- break;
- }
- c[Ua >> 2] = c[ib >> 2];
- c[Ha >> 2] = c[c[ib >> 2] >> 2];
- }
- }
- if ((dj | 0) == 418) {
- dj = 0;
- c[Ta >> 2] = Wa;
- } else if ((dj | 0) == 421) {
- dj = 0;
- c[Ua >> 2] = Wa;
- }
- c[c[Ua >> 2] >> 2] = 0;
- c[c[Ta >> 2] >> 2] = 0;
- c[((c[qa >> 2] | 0) + 24) >> 2] =
- (c[Va >> 2] | 0) - 8;
- c[pa >> 2] = c[Xa >> 2];
- }
- } while (0);
- c[md >> 2] = c[pa >> 2];
- break d;
- break;
- }
- default: {
- Uh = c[od >> 2] | 0;
- aj = c[pd >> 2] | 0;
- _i = c[qd >> 2] | 0;
- _h = c[rd >> 2] | 0;
- Qh = c[sd >> 2] | 0;
- Ph = c[td >> 2] | 0;
- Zi = c[ud >> 2] | 0;
- Zh = c[vd >> 2] | 0;
- c[mb >> 2] = c[nd >> 2];
- c[nb >> 2] = Uh;
- c[ob >> 2] = aj;
- c[pb >> 2] = _i;
- c[qb >> 2] = _h;
- c[rb >> 2] = Qh;
- c[sb >> 2] = Ph;
- c[tb >> 2] = Zi;
- c[ub >> 2] = Zh;
- c[vb >> 2] = 4;
- if (
- (c[((c[nb >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- Aj =
- c[((c[nb >> 2] | 0) + 20) >> 2] | 0;
- else Aj = 4095;
- c[wb >> 2] = Aj;
- c[xb >> 2] =
- c[((c[mb >> 2] | 0) + 4) >> 2];
- c[yb >> 2] =
- (c[ob >> 2] | 0) - (c[xb >> 2] | 0);
- c[zb >> 2] =
- c[((c[nb >> 2] | 0) + 8) >> 2];
- c[Ab >> 2] =
- (c[vb >> 2] | 0) == 3 ? 3 : 4;
- c[Bb >> 2] =
- c[((c[mb >> 2] | 0) + 36) >> 2];
- c[Cb >> 2] =
- Sj(
- c[ob >> 2] | 0,
- c[zb >> 2] | 0,
- c[vb >> 2] | 0
- ) | 0;
- c[Db >> 2] =
- c[
- ((c[Bb >> 2] | 0) +
- (c[Cb >> 2] << 2)) >>
- 2
- ];
- c[Eb >> 2] =
- c[((c[mb >> 2] | 0) + 44) >> 2];
- c[Fb >> 2] =
- (c[((c[nb >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Gb >> 2] = (1 << c[Fb >> 2]) - 1;
- c[Hb >> 2] = 0;
- c[Ib >> 2] = 0;
- c[Jb >> 2] =
- c[((c[mb >> 2] | 0) + 8) >> 2];
- c[Kb >> 2] =
- c[((c[mb >> 2] | 0) + 12) >> 2];
- c[Lb >> 2] =
- (c[Jb >> 2] | 0) + (c[Kb >> 2] | 0);
- c[Mb >> 2] =
- (c[xb >> 2] | 0) + (c[Kb >> 2] | 0);
- if (
- (c[Gb >> 2] | 0) >>> 0 >=
- (c[yb >> 2] | 0) >>> 0
- )
- Bj = 0;
- else
- Bj =
- ((c[yb >> 2] | 0) -
- (c[Gb >> 2] | 0)) |
- 0;
- c[Nb >> 2] = Bj;
- c[Ob >> 2] =
- c[((c[mb >> 2] | 0) + 16) >> 2];
- c[Pb >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[yb >> 2] & c[Gb >> 2]) << 1) << 2);
- c[Qb >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[yb >> 2] & c[Gb >> 2]) << 1) <<
- 2) +
- 4;
- c[Rb >> 2] = (c[yb >> 2] | 0) + 8 + 1;
- c[Tb >> 2] = 0;
- c[Ub >> 2] =
- 1 << c[((c[nb >> 2] | 0) + 12) >> 2];
- c[Vb >> 2] = (c[ub >> 2] | 0) - 1;
- c[Wb >> 2] = 3 + (c[sb >> 2] | 0);
- c[Xb >> 2] = c[sb >> 2];
- while (1) {
- if (
- (c[Xb >> 2] | 0) >>> 0 >=
- (c[Wb >> 2] | 0) >>> 0
- ) {
- dj = 340;
- break;
- }
- Zh = c[rb >> 2] | 0;
- if ((c[Xb >> 2] | 0) == 3)
- Cj = ((c[Zh >> 2] | 0) - 1) | 0;
- else
- Cj =
- c[(Zh + (c[Xb >> 2] << 2)) >> 2] |
- 0;
- c[Yb >> 2] = Cj;
- c[Zb >> 2] =
- (c[yb >> 2] | 0) - (c[Yb >> 2] | 0);
- c[_b >> 2] = 0;
- do {
- if (
- (((c[Yb >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[yb >> 2] | 0) -
- (c[Kb >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Zh =
- mm(
- c[ob >> 2] | 0,
- c[Ab >> 2] | 0
- ) | 0;
- if (
- (Zh | 0) !=
- (mm(
- ((c[ob >> 2] | 0) +
- (0 - (c[Yb >> 2] | 0))) |
- 0,
- c[Ab >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Tj(
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0) +
- (0 - (c[Yb >> 2] | 0))) |
- 0,
- c[pb >> 2] | 0
- ) | 0;
- c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
- } else {
- c[$b >> 2] =
- (c[Jb >> 2] | 0) +
- (c[Zb >> 2] | 0);
- if (!(c[qb >> 2] | 0)) break;
- if (
- !(
- ((((c[Kb >> 2] | 0) -
- 1 -
- (c[Zb >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[Yb >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[yb >> 2] | 0) -
- (c[Ob >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Zh =
- mm(
- c[ob >> 2] | 0,
- c[Ab >> 2] | 0
- ) | 0;
- if (
- (Zh | 0) !=
- (mm(
- c[$b >> 2] | 0,
- c[Ab >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Uj(
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- ((c[$b >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
- }
- } while (0);
- if (
- (c[_b >> 2] | 0) >>> 0 >
- (c[Vb >> 2] | 0) >>> 0
- ? ((c[Vb >> 2] = c[_b >> 2]),
- (c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3)) >>
- 2
- ] =
- (c[Xb >> 2] | 0) -
- (c[sb >> 2] | 0)),
- (c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3) +
- 4) >>
- 2
- ] = c[_b >> 2]),
- (c[Tb >> 2] =
- (c[Tb >> 2] | 0) + 1),
- ((c[_b >> 2] | 0) >>> 0 >
- (c[wb >> 2] | 0) >>> 0
- ? 1
- : (((c[ob >> 2] | 0) +
- (c[_b >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 338;
- break;
- }
- c[Xb >> 2] = (c[Xb >> 2] | 0) + 1;
- }
- h: do {
- if ((dj | 0) == 338) {
- dj = 0;
- c[lb >> 2] = c[Tb >> 2];
- } else if ((dj | 0) == 340) {
- dj = 0;
- do {
- if ((c[vb >> 2] | 0) == 3) {
- if (
- (c[Vb >> 2] | 0) >>> 0 >=
- (c[vb >> 2] | 0) >>> 0
- )
- break;
- c[ac >> 2] =
- nm(
- c[mb >> 2] | 0,
- c[ob >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[ac >> 2] | 0) >>> 0 >
- (c[Ob >> 2] | 0) >>> 0
- ? (((c[yb >> 2] | 0) -
- (c[ac >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[qb >> 2] | 0) {
- if (
- (c[ac >> 2] | 0) >>> 0 >=
- (c[Kb >> 2] | 0) >>> 0
- ) {
- dj = 345;
- break;
- }
- c[dc >> 2] =
- (c[Jb >> 2] | 0) +
- (c[ac >> 2] | 0);
- c[bc >> 2] =
- Uj(
- c[ob >> 2] | 0,
- c[dc >> 2] | 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- } else dj = 345;
- } while (0);
- if ((dj | 0) == 345) {
- dj = 0;
- c[cc >> 2] =
- (c[xb >> 2] | 0) +
- (c[ac >> 2] | 0);
- c[bc >> 2] =
- Tj(
- c[ob >> 2] | 0,
- c[cc >> 2] | 0,
- c[pb >> 2] | 0
- ) | 0;
- }
- if (
- (c[bc >> 2] | 0) >>> 0 <
- (c[vb >> 2] | 0) >>> 0
- )
- break;
- c[Vb >> 2] = c[bc >> 2];
- c[c[tb >> 2] >> 2] =
- (c[yb >> 2] | 0) -
- (c[ac >> 2] | 0) +
- 2;
- c[((c[tb >> 2] | 0) + 4) >> 2] =
- c[bc >> 2];
- c[Tb >> 2] = 1;
- if (
- !(
- ((c[bc >> 2] | 0) >>> 0 >
- (c[wb >> 2] | 0) >>> 0
- ? 1
- : (((c[ob >> 2] | 0) +
- (c[bc >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[mb >> 2] | 0) + 24) >> 2] =
- (c[yb >> 2] | 0) + 1;
- c[lb >> 2] = 1;
- break h;
- }
- } while (0);
- c[
- ((c[Bb >> 2] | 0) +
- (c[Cb >> 2] << 2)) >>
- 2
- ] = c[yb >> 2];
- while (1) {
- Zh = c[Ub >> 2] | 0;
- c[Ub >> 2] = Zh + -1;
- if (!Zh) break;
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Ob >> 2] | 0) >>> 0
- )
- break;
- c[ec >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[Db >> 2] & c[Gb >> 2]) <<
- 1) <<
- 2);
- c[fc >> 2] =
- (c[Hb >> 2] | 0) >>> 0 <
- (c[Ib >> 2] | 0) >>> 0
- ? c[Hb >> 2] | 0
- : c[Ib >> 2] | 0;
- do {
- if (c[qb >> 2] | 0) {
- if (
- (((c[Db >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Kb >> 2] | 0) >>> 0
- ) {
- dj = 355;
- break;
- }
- c[gc >> 2] =
- (c[Jb >> 2] | 0) +
- (c[Db >> 2] | 0);
- Zh =
- Uj(
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- c[fc >> 2] =
- (c[fc >> 2] | 0) + Zh;
- if (
- (((c[Db >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Kb >> 2] | 0) >>> 0
- )
- break;
- c[gc >> 2] =
- (c[xb >> 2] | 0) +
- (c[Db >> 2] | 0);
- } else dj = 355;
- } while (0);
- if ((dj | 0) == 355) {
- dj = 0;
- c[gc >> 2] =
- (c[xb >> 2] | 0) +
- (c[Db >> 2] | 0);
- Zh =
- Tj(
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0
- ) | 0;
- c[fc >> 2] =
- (c[fc >> 2] | 0) + Zh;
- }
- if (
- (c[fc >> 2] | 0) >>> 0 >
- (c[Vb >> 2] | 0) >>> 0
- ) {
- if (
- (c[fc >> 2] | 0) >>> 0 >
- (((c[Rb >> 2] | 0) -
- (c[Db >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Rb >> 2] =
- (c[Db >> 2] | 0) +
- (c[fc >> 2] | 0);
- c[Vb >> 2] = c[fc >> 2];
- c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3)) >>
- 2
- ] =
- (c[yb >> 2] | 0) -
- (c[Db >> 2] | 0) +
- 2;
- c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3) +
- 4) >>
- 2
- ] = c[fc >> 2];
- c[Tb >> 2] = (c[Tb >> 2] | 0) + 1;
- if ((c[fc >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)
- )
- break;
- }
- Zh = c[Db >> 2] | 0;
- if (
- (d[
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Pb >> 2] >> 2] = Zh;
- c[Hb >> 2] = c[fc >> 2];
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Nb >> 2] | 0) >>> 0
- ) {
- dj = 365;
- break;
- }
- c[Pb >> 2] = (c[ec >> 2] | 0) + 4;
- c[Db >> 2] =
- c[((c[ec >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Qb >> 2] >> 2] = Zh;
- c[Ib >> 2] = c[fc >> 2];
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Nb >> 2] | 0) >>> 0
- ) {
- dj = 368;
- break;
- }
- c[Qb >> 2] = c[ec >> 2];
- c[Db >> 2] = c[c[ec >> 2] >> 2];
- }
- }
- if ((dj | 0) == 365) {
- dj = 0;
- c[Pb >> 2] = Sb;
- } else if ((dj | 0) == 368) {
- dj = 0;
- c[Qb >> 2] = Sb;
- }
- c[c[Qb >> 2] >> 2] = 0;
- c[c[Pb >> 2] >> 2] = 0;
- c[((c[mb >> 2] | 0) + 24) >> 2] =
- (c[Rb >> 2] | 0) - 8;
- c[lb >> 2] = c[Tb >> 2];
- }
- } while (0);
- c[md >> 2] = c[lb >> 2];
- break d;
- }
- }
- }
- } while (0);
- c[Bi >> 2] = c[md >> 2];
- if (c[Bi >> 2] | 0) {
- c[Di >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[Bi >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ];
- if (
- ((c[Di >> 2] | 0) >>> 0 >
- (c[$h >> 2] | 0) >>> 0
- ? 1
- : (((c[ei >> 2] | 0) + (c[Di >> 2] | 0)) |
- 0) >>>
- 0 >=
- 4096) | 0
- ) {
- dj = 481;
- break b;
- }
- c[Ci >> 2] = 0;
- while (1) {
- if (
- (c[Ci >> 2] | 0) >>> 0 >=
- (c[Bi >> 2] | 0) >>> 0
- )
- break c;
- c[Ei >> 2] =
- c[
- ((c[ci >> 2] | 0) + (c[Ci >> 2] << 3)) >>
- 2
- ];
- pm(
- Fi,
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0,
- c[Ei >> 2] | 0,
- c[xi >> 2] | 0
- );
- c[Gi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (c[Ci >> 2] << 3) +
- 4) >>
- 2
- ];
- if ((c[Ci >> 2] | 0) >>> 0 > 0)
- Dj =
- ((c[
- ((c[ci >> 2] | 0) +
- (((c[Ci >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ] |
- 0) +
- 1) |
- 0;
- else Dj = c[ai >> 2] | 0;
- c[Hi >> 2] = Dj;
- c[Ii >> 2] = c[Gi >> 2];
- i: while (1) {
- if (
- (c[Ii >> 2] | 0) >>> 0 <
- (c[Hi >> 2] | 0) >>> 0
- )
- break;
- c[Ji >> 2] =
- (c[ei >> 2] | 0) + (c[Ii >> 2] | 0);
- Zh = c[Ai >> 2] | 0;
- Zi = c[Ii >> 2] | 0;
- Ph = c[Th >> 2] | 0;
- Qh = c[Rh >> 2] | 0;
- c[k >> 2] = c[Ei >> 2];
- c[m >> 2] = Zi;
- c[n >> 2] = Ph;
- c[o >> 2] = Qh;
- c[q >> 2] =
- qm(((c[k >> 2] | 0) + 1) | 0) | 0;
- c[r >> 2] = (c[m >> 2] | 0) - 3;
- if (c[((c[n >> 2] | 0) + 56) >> 2] | 0) {
- Qh =
- ((qm(((c[r >> 2] | 0) + 1) | 0) | 0) +
- 16) |
- 0;
- c[j >> 2] = Qh + (c[q >> 2] | 0);
- } else {
- Qh =
- ((c[q >> 2] | 0) +
- (c[((c[n >> 2] | 0) + 52) >> 2] |
- 0)) |
- 0;
- c[p >> 2] =
- Qh -
- (qm(
- ((c[
- ((c[((c[n >> 2] | 0) + 12) >> 2] |
- 0) +
- (c[q >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- if (
- ((c[o >> 2] | 0) < 2) &
- ((c[q >> 2] | 0) >>> 0 >= 20)
- )
- c[p >> 2] =
- (c[p >> 2] | 0) +
- (((c[q >> 2] | 0) - 19) << 1);
- c[s >> 2] = rm(c[r >> 2] | 0) | 0;
- Qh =
- ((c[(5840 + (c[s >> 2] << 2)) >> 2] |
- 0) +
- (c[((c[n >> 2] | 0) + 48) >> 2] |
- 0)) |
- 0;
- Ph =
- (Qh -
- (qm(
- ((c[
- ((c[((c[n >> 2] | 0) + 8) >> 2] |
- 0) +
- (c[s >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0)) |
- 0;
- c[p >> 2] = (c[p >> 2] | 0) + Ph;
- c[j >> 2] = c[p >> 2];
- }
- c[Ki >> 2] = Zh + (c[j >> 2] | 0);
- do {
- if (
- (c[Ji >> 2] | 0) >>> 0 <=
- (c[fi >> 2] | 0) >>> 0
- ) {
- if (
- (c[Ki >> 2] | 0) <
- (c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- ) {
- dj = 496;
- break;
- }
- if (!(c[Rh >> 2] | 0)) break i;
- } else dj = 496;
- } while (0);
- if ((dj | 0) == 496) {
- dj = 0;
- while (1) {
- if (
- (c[fi >> 2] | 0) >>> 0 >=
- (c[Ji >> 2] | 0) >>> 0
- )
- break;
- c[
- ((c[bi >> 2] | 0) +
- (((((c[fi >> 2] | 0) + 1) | 0) *
- 28) |
- 0)) >>
- 2
- ] = 1073741824;
- c[fi >> 2] = (c[fi >> 2] | 0) + 1;
- }
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[Ii >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[Ei >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[yi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[Ki >> 2];
- Zh =
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- c[Zh >> 2] = c[Fi >> 2];
- c[(Zh + 4) >> 2] = c[(Fi + 4) >> 2];
- c[(Zh + 8) >> 2] = c[(Fi + 8) >> 2];
- }
- c[Ii >> 2] = (c[Ii >> 2] | 0) + -1;
- }
- c[Ci >> 2] = (c[Ci >> 2] | 0) + 1;
- }
- }
- }
- } while (0);
- c[ei >> 2] = (c[ei >> 2] | 0) + 1;
- }
- if ((dj | 0) == 481) {
- dj = 0;
- c[gi >> 2] = c[Di >> 2];
- c[hi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[Bi >> 2] | 0) - 1) << 3)) >>
- 2
- ];
- c[fi >> 2] = (c[ei >> 2] | 0) + 1;
- break;
- } else if ((dj | 0) == 504) {
- dj = 0;
- c[gi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[fi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[hi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[fi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- c[ei >> 2] = (c[fi >> 2] | 0) - (c[gi >> 2] | 0);
- break;
- }
- } else {
- c[gi >> 2] = c[mi >> 2];
- c[hi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[ki >> 2] | 0) - 1) << 3)) >>
- 2
- ];
- c[ei >> 2] = 0;
- c[fi >> 2] = 1;
- }
- } while (0);
- c[Li >> 2] = c[gi >> 2];
- c[Mi >> 2] = c[hi >> 2];
- c[Ni >> 2] = c[ei >> 2];
- while (1) {
- c[Oi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[Pi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[Li >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[Mi >> 2];
- c[Li >> 2] = c[Oi >> 2];
- c[Mi >> 2] = c[Pi >> 2];
- if ((c[Oi >> 2] | 0) >>> 0 > (c[Ni >> 2] | 0) >>> 0)
- break;
- c[Ni >> 2] = (c[Ni >> 2] | 0) - (c[Oi >> 2] | 0);
- }
- c[Qi >> 2] = 0;
- while (1) {
- if ((c[Qi >> 2] | 0) >>> 0 >= (c[fi >> 2] | 0) >>> 0)
- break;
- c[Ri >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
- c[Si >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Qi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[Ti >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Qi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- if ((c[Si >> 2] | 0) == 1) {
- c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
- c[Qi >> 2] = (c[Qi >> 2] | 0) + 1;
- continue;
- }
- c[Qi >> 2] = (c[Qi >> 2] | 0) + (c[Si >> 2] | 0);
- c[Vh >> 2] = (c[Vh >> 2] | 0) + (c[Si >> 2] | 0);
- if ((c[Ti >> 2] | 0) >>> 0 < 3) {
- c[Ui >> 2] =
- (c[Ti >> 2] | 0) + (((c[Ri >> 2] | 0) == 0) & 1);
- if (c[Ui >> 2] | 0) {
- Zh = c[Nh >> 2] | 0;
- if ((c[Ui >> 2] | 0) == 3)
- Ej = ((c[Zh >> 2] | 0) - 1) | 0;
- else Ej = c[(Zh + (c[Ui >> 2] << 2)) >> 2] | 0;
- c[Vi >> 2] = Ej;
- if ((c[Ui >> 2] | 0) >>> 0 >= 2)
- c[((c[Nh >> 2] | 0) + 8) >> 2] =
- c[((c[Nh >> 2] | 0) + 4) >> 2];
- c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
- c[c[Nh >> 2] >> 2] = c[Vi >> 2];
- }
- } else {
- c[((c[Nh >> 2] | 0) + 8) >> 2] =
- c[((c[Nh >> 2] | 0) + 4) >> 2];
- c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
- c[c[Nh >> 2] >> 2] = (c[Ti >> 2] | 0) - 2;
- }
- vm(
- c[Th >> 2] | 0,
- c[Ri >> 2] | 0,
- c[Wh >> 2] | 0,
- c[Ti >> 2] | 0,
- c[Si >> 2] | 0
- );
- wm(
- c[Mh >> 2] | 0,
- c[Ri >> 2] | 0,
- c[Wh >> 2] | 0,
- c[Ti >> 2] | 0,
- ((c[Si >> 2] | 0) - 3) | 0
- );
- c[Wh >> 2] = c[Vh >> 2];
- }
- xm(c[Th >> 2] | 0);
- }
- l = i;
- return ((c[Xh >> 2] | 0) - (c[Wh >> 2] | 0)) | 0;
- }
- function lm(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = e;
- c[((c[g >> 2] | 0) + 56) >> 2] = 0;
- if (c[((c[g >> 2] | 0) + 28) >> 2] | 0) {
- c[((c[g >> 2] | 0) + 24) >> 2] = 0;
- c[k >> 2] = 0;
- while (1) {
- m = c[g >> 2] | 0;
- if ((c[k >> 2] | 0) >>> 0 > 255) break;
- c[((c[c[g >> 2] >> 2] | 0) + (c[k >> 2] << 2)) >> 2] =
- 1 +
- ((c[((c[m >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) >>>
- 5);
- e = ((c[g >> 2] | 0) + 24) | 0;
- c[e >> 2] =
- (c[e >> 2] | 0) +
- (c[((c[c[g >> 2] >> 2] | 0) + (c[k >> 2] << 2)) >> 2] |
- 0);
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- c[(m + 28) >> 2] = 0;
- c[k >> 2] = 0;
- while (1) {
- n = c[g >> 2] | 0;
- if ((c[k >> 2] | 0) >>> 0 > 35) break;
- c[
- ((c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
- (c[k >> 2] << 2)) >>
- 2
- ] =
- 1 +
- ((c[((c[(n + 4) >> 2] | 0) + (c[k >> 2] << 2)) >> 2] |
- 0) >>>
- 5);
- m = ((c[g >> 2] | 0) + 28) | 0;
- c[m >> 2] =
- (c[m >> 2] | 0) +
- (c[
- ((c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
- (c[k >> 2] << 2)) >>
- 2
- ] |
- 0);
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- c[(n + 32) >> 2] = 0;
- c[k >> 2] = 0;
- while (1) {
- o = c[g >> 2] | 0;
- if ((c[k >> 2] | 0) >>> 0 > 52) break;
- c[
- ((c[((c[g >> 2] | 0) + 8) >> 2] | 0) +
- (c[k >> 2] << 2)) >>
- 2
- ] =
- 1 +
- ((c[((c[(o + 8) >> 2] | 0) + (c[k >> 2] << 2)) >> 2] |
- 0) >>>
- 4);
- n = ((c[g >> 2] | 0) + 32) | 0;
- c[n >> 2] =
- (c[n >> 2] | 0) +
- (c[
- ((c[((c[g >> 2] | 0) + 8) >> 2] | 0) +
- (c[k >> 2] << 2)) >>
- 2
- ] |
- 0);
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- c[(o + 36) >> 2] = 0;
- c[k >> 2] = 0;
- while (1) {
- if ((c[k >> 2] | 0) >>> 0 > 31) break;
- c[
- ((c[((c[g >> 2] | 0) + 12) >> 2] | 0) +
- (c[k >> 2] << 2)) >>
- 2
- ] =
- 1 +
- ((c[
- ((c[((c[g >> 2] | 0) + 12) >> 2] | 0) +
- (c[k >> 2] << 2)) >>
- 2
- ] |
- 0) >>>
- 4);
- o = ((c[g >> 2] | 0) + 36) | 0;
- c[o >> 2] =
- (c[o >> 2] | 0) +
- (c[
- ((c[((c[g >> 2] | 0) + 12) >> 2] | 0) +
- (c[k >> 2] << 2)) >>
- 2
- ] |
- 0);
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- p = c[g >> 2] | 0;
- xm(p);
- l = f;
- return;
- }
- if ((c[i >> 2] | 0) >>> 0 <= 1024)
- c[((c[g >> 2] | 0) + 56) >> 2] = 1;
- c[j >> 2] = 0;
- while (1) {
- if ((c[j >> 2] | 0) >>> 0 > 255) break;
- c[((c[c[g >> 2] >> 2] | 0) + (c[j >> 2] << 2)) >> 2] = 0;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- }
- c[j >> 2] = 0;
- while (1) {
- q = c[g >> 2] | 0;
- if ((c[j >> 2] | 0) >>> 0 >= (c[i >> 2] | 0) >>> 0) break;
- k =
- ((c[q >> 2] | 0) +
- ((d[((c[h >> 2] | 0) + (c[j >> 2] | 0)) >> 0] | 0) <<
- 2)) |
- 0;
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- }
- c[(q + 24) >> 2] = 0;
- c[j >> 2] = 0;
- while (1) {
- if ((c[j >> 2] | 0) >>> 0 > 255) break;
- c[((c[c[g >> 2] >> 2] | 0) + (c[j >> 2] << 2)) >> 2] =
- 1 +
- ((c[((c[c[g >> 2] >> 2] | 0) + (c[j >> 2] << 2)) >> 2] |
- 0) >>>
- 4);
- q = ((c[g >> 2] | 0) + 24) | 0;
- c[q >> 2] =
- (c[q >> 2] | 0) +
- (c[((c[c[g >> 2] >> 2] | 0) + (c[j >> 2] << 2)) >> 2] |
- 0);
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- }
- c[j >> 2] = 0;
- while (1) {
- r = c[g >> 2] | 0;
- if ((c[j >> 2] | 0) >>> 0 > 35) break;
- c[((c[(r + 4) >> 2] | 0) + (c[j >> 2] << 2)) >> 2] = 1;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- }
- c[(r + 28) >> 2] = 36;
- c[j >> 2] = 0;
- while (1) {
- s = c[g >> 2] | 0;
- if ((c[j >> 2] | 0) >>> 0 > 52) break;
- c[((c[(s + 8) >> 2] | 0) + (c[j >> 2] << 2)) >> 2] = 1;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- }
- c[(s + 32) >> 2] = 53;
- c[j >> 2] = 0;
- while (1) {
- t = c[g >> 2] | 0;
- if ((c[j >> 2] | 0) >>> 0 > 31) break;
- c[((c[(t + 12) >> 2] | 0) + (c[j >> 2] << 2)) >> 2] = 1;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- }
- c[(t + 36) >> 2] = 32;
- p = c[g >> 2] | 0;
- xm(p);
- l = f;
- return;
- }
- function mm(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- do {
- if ((c[g >> 2] | 0) == 3) {
- b = (_j() | 0) != 0;
- a = Yj(c[f >> 2] | 0) | 0;
- if (b) {
- c[e >> 2] = a << 8;
- break;
- } else {
- c[e >> 2] = a >>> 8;
- break;
- }
- } else c[e >> 2] = Yj(c[f >> 2] | 0) | 0;
- } while (0);
- l = d;
- return c[e >> 2] | 0;
- }
- function nm(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 28) | 0;
- f = (d + 24) | 0;
- g = (d + 20) | 0;
- h = (d + 16) | 0;
- i = (d + 12) | 0;
- j = (d + 8) | 0;
- k = (d + 4) | 0;
- m = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = c[((c[e >> 2] | 0) + 40) >> 2];
- c[h >> 2] = c[((c[e >> 2] | 0) + 32) >> 2];
- c[i >> 2] = c[((c[e >> 2] | 0) + 4) >> 2];
- c[j >> 2] = c[((c[e >> 2] | 0) + 28) >> 2];
- b = ((c[f >> 2] | 0) - (c[i >> 2] | 0)) | 0;
- c[((c[e >> 2] | 0) + 28) >> 2] = b;
- c[k >> 2] = b;
- c[m >> 2] = Fm(c[f >> 2] | 0, c[h >> 2] | 0) | 0;
- while (1) {
- if ((c[j >> 2] | 0) >>> 0 >= (c[k >> 2] | 0) >>> 0) break;
- f = c[j >> 2] | 0;
- b = c[g >> 2] | 0;
- c[
- (b +
- ((Fm(
- ((c[i >> 2] | 0) + (c[j >> 2] | 0)) | 0,
- c[h >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = f;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- }
- l = d;
- return c[((c[g >> 2] | 0) + (c[m >> 2] << 2)) >> 2] | 0;
- }
- function om(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- f = l;
- l = (l + 16) | 0;
- g = (f + 12) | 0;
- h = (f + 8) | 0;
- i = (f + 4) | 0;
- j = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- e =
- Dm(
- c[g >> 2] | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0
- ) | 0;
- h = (e + (Cm(c[i >> 2] | 0, c[j >> 2] | 0) | 0)) | 0;
- l = f;
- return h | 0;
- }
- function pm(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = e;
- if ((c[h >> 2] | 0) >>> 0 >= 3) {
- c[(j + 8) >> 2] = c[((c[g >> 2] | 0) + 4) >> 2];
- c[(j + 4) >> 2] = c[c[g >> 2] >> 2];
- c[j >> 2] = (c[h >> 2] | 0) - 2;
- c[a >> 2] = c[j >> 2];
- c[(a + 4) >> 2] = c[(j + 4) >> 2];
- c[(a + 8) >> 2] = c[(j + 8) >> 2];
- l = f;
- return;
- }
- c[k >> 2] = (c[h >> 2] | 0) + (c[i >> 2] | 0);
- if ((c[k >> 2] | 0) >>> 0 <= 0) {
- i = c[g >> 2] | 0;
- c[j >> 2] = c[i >> 2];
- c[(j + 4) >> 2] = c[(i + 4) >> 2];
- c[(j + 8) >> 2] = c[(i + 8) >> 2];
- c[a >> 2] = c[j >> 2];
- c[(a + 4) >> 2] = c[(j + 4) >> 2];
- c[(a + 8) >> 2] = c[(j + 8) >> 2];
- l = f;
- return;
- }
- i = c[g >> 2] | 0;
- if ((c[k >> 2] | 0) == 3) n = ((c[i >> 2] | 0) - 1) | 0;
- else n = c[(i + (c[k >> 2] << 2)) >> 2] | 0;
- c[m >> 2] = n;
- n = c[g >> 2] | 0;
- if ((c[k >> 2] | 0) >>> 0 >= 2) o = c[(n + 4) >> 2] | 0;
- else o = c[(n + 8) >> 2] | 0;
- c[(j + 8) >> 2] = o;
- c[(j + 4) >> 2] = c[c[g >> 2] >> 2];
- c[j >> 2] = c[m >> 2];
- c[a >> 2] = c[j >> 2];
- c[(a + 4) >> 2] = c[(j + 4) >> 2];
- c[(a + 8) >> 2] = c[(j + 8) >> 2];
- l = f;
- return;
- }
- function qm(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function rm(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- if ((c[e >> 2] | 0) >>> 0 > 127) {
- f = ((qm(a) | 0) + 36) | 0;
- l = b;
- return f | 0;
- } else {
- f = d[(3072 + a) >> 0] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function sm(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = Bm(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- c[i >> 2] = d + (Em(c[g >> 2] | 0, c[h >> 2] | 0) | 0);
- l = e;
- return c[i >> 2] | 0;
- }
- function tm(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- e =
- Dm(
- c[g >> 2] | 0,
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0
- ) | 0;
- c[k >> 2] = e + (Em(c[i >> 2] | 0, c[j >> 2] | 0) | 0);
- l = f;
- return c[k >> 2] | 0;
- }
- function um(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- d = Bm(c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0) | 0;
- f = (d + (Cm(c[g >> 2] | 0, c[h >> 2] | 0) | 0)) | 0;
- l = e;
- return f | 0;
- }
- function vm(a, b, e, f, g) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- h = l;
- l = (l + 48) | 0;
- i = (h + 36) | 0;
- j = (h + 32) | 0;
- k = (h + 28) | 0;
- m = (h + 24) | 0;
- n = (h + 20) | 0;
- o = (h + 16) | 0;
- p = (h + 12) | 0;
- q = (h + 8) | 0;
- r = (h + 4) | 0;
- s = h;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- c[o >> 2] = 0;
- while (1) {
- if ((c[o >> 2] | 0) >>> 0 >= (c[j >> 2] | 0) >>> 0) break;
- g =
- ((c[c[i >> 2] >> 2] | 0) +
- ((d[((c[k >> 2] | 0) + (c[o >> 2] | 0)) >> 0] | 0) <<
- 2)) |
- 0;
- c[g >> 2] = (c[g >> 2] | 0) + 2;
- c[o >> 2] = (c[o >> 2] | 0) + 1;
- }
- o = ((c[i >> 2] | 0) + 24) | 0;
- c[o >> 2] = (c[o >> 2] | 0) + (c[j >> 2] << 1);
- c[p >> 2] = Am(c[j >> 2] | 0) | 0;
- j =
- ((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + (c[p >> 2] << 2)) |
- 0;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- j = ((c[i >> 2] | 0) + 28) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- c[q >> 2] = qm(((c[m >> 2] | 0) + 1) | 0) | 0;
- m =
- ((c[((c[i >> 2] | 0) + 12) >> 2] | 0) + (c[q >> 2] << 2)) |
- 0;
- c[m >> 2] = (c[m >> 2] | 0) + 1;
- m = ((c[i >> 2] | 0) + 36) | 0;
- c[m >> 2] = (c[m >> 2] | 0) + 1;
- c[r >> 2] = (c[n >> 2] | 0) - 3;
- c[s >> 2] = rm(c[r >> 2] | 0) | 0;
- r =
- ((c[((c[i >> 2] | 0) + 8) >> 2] | 0) + (c[s >> 2] << 2)) |
- 0;
- c[r >> 2] = (c[r >> 2] | 0) + 1;
- r = ((c[i >> 2] | 0) + 32) | 0;
- c[r >> 2] = (c[r >> 2] | 0) + 1;
- l = h;
- return;
- }
- function wm(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- ym(
- c[((c[i >> 2] | 0) + 12) >> 2] | 0,
- c[k >> 2] | 0,
- c[j >> 2] | 0
- );
- k = ((c[i >> 2] | 0) + 12) | 0;
- c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
- if ((c[j >> 2] | 0) >>> 0 > 65535) {
- c[((c[i >> 2] | 0) + 28) >> 2] = 1;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- }
- b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
- c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
- if ((c[n >> 2] | 0) >>> 0 <= 65535) {
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- c[((c[i >> 2] | 0) + 28) >> 2] = 2;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- function xm(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = qm(((c[((c[d >> 2] | 0) + 24) >> 2] | 0) + 1) | 0) | 0;
- c[((c[d >> 2] | 0) + 40) >> 2] = a;
- a = qm(((c[((c[d >> 2] | 0) + 28) >> 2] | 0) + 1) | 0) | 0;
- c[((c[d >> 2] | 0) + 44) >> 2] = a;
- a = qm(((c[((c[d >> 2] | 0) + 32) >> 2] | 0) + 1) | 0) | 0;
- c[((c[d >> 2] | 0) + 48) >> 2] = a;
- a = qm(((c[((c[d >> 2] | 0) + 36) >> 2] | 0) + 1) | 0) | 0;
- c[((c[d >> 2] | 0) + 52) >> 2] = a;
- l = b;
- return;
- }
- function ym(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- zm(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function zm(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function Am(a) {
- a = a | 0;
- var b = 0,
- e = 0,
- f = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- if ((c[e >> 2] | 0) >>> 0 > 63) {
- f = ((qm(a) | 0) + 19) | 0;
- l = b;
- return f | 0;
- } else {
- f = d[(3008 + a) >> 0] | 0;
- l = b;
- return f | 0;
- }
- return 0;
- }
- function Bm(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 20) | 0;
- h = (f + 16) | 0;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = (f + 4) | 0;
- m = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- e = c[i >> 2] | 0;
- if (c[((c[j >> 2] | 0) + 56) >> 2] | 0) {
- c[g >> 2] = e * 6;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- if (!e) {
- c[g >> 2] = 0;
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- c[m >> 2] =
- N(c[i >> 2] | 0, c[((c[j >> 2] | 0) + 40) >> 2] | 0) | 0;
- c[k >> 2] = 0;
- while (1) {
- if ((c[k >> 2] | 0) >>> 0 >= (c[i >> 2] | 0) >>> 0) break;
- e =
- qm(
- ((c[
- ((c[c[j >> 2] >> 2] | 0) +
- ((d[((c[h >> 2] | 0) + (c[k >> 2] | 0)) >> 0] |
- 0) <<
- 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) | 0;
- c[m >> 2] = (c[m >> 2] | 0) - e;
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- }
- c[g >> 2] = c[m >> 2];
- n = c[g >> 2] | 0;
- l = f;
- return n | 0;
- }
- function Cm(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 16) | 0;
- f = (d + 12) | 0;
- g = (d + 8) | 0;
- h = (d + 4) | 0;
- i = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- b = c[f >> 2] | 0;
- if (c[((c[g >> 2] | 0) + 56) >> 2] | 0) {
- c[e >> 2] = qm((b + 1) | 0) | 0;
- j = c[e >> 2] | 0;
- l = d;
- return j | 0;
- } else {
- c[h >> 2] = Am(b) | 0;
- b =
- ((c[(5696 + (c[h >> 2] << 2)) >> 2] | 0) +
- (c[((c[g >> 2] | 0) + 44) >> 2] | 0)) |
- 0;
- c[i >> 2] =
- b -
- (qm(
- ((c[
- ((c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
- (c[h >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- c[e >> 2] = c[i >> 2];
- j = c[e >> 2] | 0;
- l = d;
- return j | 0;
- }
- return 0;
- }
- function Dm(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- if ((c[h >> 2] | 0) == (c[c[g >> 2] >> 2] | 0)) {
- c[k >> 2] = c[((c[g >> 2] | 0) + 8) >> 2];
- c[n >> 2] =
- (c[h >> 2] | 0) + (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
- c[m >> 2] =
- (c[i >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
- } else {
- c[k >> 2] = 0;
- c[n >> 2] = c[h >> 2];
- c[m >> 2] = c[i >> 2];
- }
- e = c[k >> 2] | 0;
- c[o >> 2] =
- e + (Bm(c[n >> 2] | 0, c[m >> 2] | 0, c[j >> 2] | 0) | 0);
- c[c[g >> 2] >> 2] = c[h >> 2];
- c[((c[g >> 2] | 0) + 4) >> 2] = c[i >> 2];
- c[((c[g >> 2] | 0) + 8) >> 2] = c[o >> 2];
- l = f;
- return c[o >> 2] | 0;
- }
- function Em(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 16) | 0;
- f = (d + 12) | 0;
- g = (d + 8) | 0;
- h = (d + 4) | 0;
- i = d;
- c[f >> 2] = a;
- c[g >> 2] = b;
- b = c[f >> 2] | 0;
- if (c[((c[g >> 2] | 0) + 56) >> 2] | 0) {
- c[e >> 2] = qm((b + 1) | 0) | 0;
- j = c[e >> 2] | 0;
- l = d;
- return j | 0;
- } else {
- c[h >> 2] = Am(b) | 0;
- b = c[(5696 + (c[h >> 2] << 2)) >> 2] | 0;
- f =
- (b +
- (qm(
- ((c[c[((c[g >> 2] | 0) + 4) >> 2] >> 2] | 0) + 1) | 0
- ) |
- 0)) |
- 0;
- c[i >> 2] =
- f -
- (qm(
- ((c[
- ((c[((c[g >> 2] | 0) + 4) >> 2] | 0) +
- (c[h >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- c[e >> 2] = c[i >> 2];
- j = c[e >> 2] | 0;
- l = d;
- return j | 0;
- }
- return 0;
- }
- function Fm(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = Gm(c[e >> 2] | 0) | 0;
- e = Hm(b, c[f >> 2] | 0) | 0;
- l = d;
- return e | 0;
- }
- function Gm(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (_j() | 0) != 0;
- f = Yj(c[e >> 2] | 0) | 0;
- if (a) {
- c[d >> 2] = f;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- } else {
- c[d >> 2] = Im(f) | 0;
- g = c[d >> 2] | 0;
- l = b;
- return g | 0;
- }
- return 0;
- }
- function Hm(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- b = N(c[e >> 2] << 8, 506832829) | 0;
- l = d;
- return (b >>> ((32 - (c[f >> 2] | 0)) | 0)) | 0;
- }
- function Im(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (
- ((c[d >> 2] << 24) & -16777216) |
- ((c[d >> 2] << 8) & 16711680) |
- (((c[d >> 2] | 0) >>> 8) & 65280) |
- (((c[d >> 2] | 0) >>> 24) & 255) |
- 0
- );
- }
- function Jm(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- switch (c[((c[j >> 2] | 0) + 16) >> 2] | 0) {
- case 7:
- case 6: {
- c[h >> 2] =
- Vm(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 6
- ) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- case 5: {
- c[h >> 2] =
- Vm(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 5
- ) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- default: {
- c[h >> 2] =
- Vm(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 4
- ) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- }
- return 0;
- }
- function Km(a, b, e, f, g) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0;
- h = l;
- l = (l + 320) | 0;
- i = (h + 308) | 0;
- j = (h + 304) | 0;
- k = (h + 300) | 0;
- m = (h + 296) | 0;
- n = (h + 292) | 0;
- o = (h + 288) | 0;
- p = (h + 284) | 0;
- q = (h + 280) | 0;
- r = (h + 276) | 0;
- s = (h + 272) | 0;
- t = (h + 268) | 0;
- u = (h + 264) | 0;
- v = (h + 260) | 0;
- w = (h + 256) | 0;
- x = (h + 252) | 0;
- y = (h + 248) | 0;
- z = (h + 244) | 0;
- A = (h + 240) | 0;
- B = (h + 236) | 0;
- C = (h + 232) | 0;
- D = (h + 228) | 0;
- E = (h + 224) | 0;
- F = (h + 220) | 0;
- G = (h + 216) | 0;
- H = (h + 212) | 0;
- I = (h + 208) | 0;
- J = (h + 204) | 0;
- K = (h + 200) | 0;
- L = (h + 196) | 0;
- M = (h + 192) | 0;
- N = (h + 188) | 0;
- O = (h + 184) | 0;
- P = (h + 180) | 0;
- Q = (h + 176) | 0;
- R = (h + 172) | 0;
- S = (h + 168) | 0;
- T = (h + 164) | 0;
- U = (h + 160) | 0;
- V = (h + 156) | 0;
- W = (h + 152) | 0;
- X = (h + 148) | 0;
- Y = (h + 144) | 0;
- Z = (h + 140) | 0;
- _ = (h + 136) | 0;
- $ = (h + 132) | 0;
- aa = (h + 128) | 0;
- ba = (h + 124) | 0;
- ca = (h + 120) | 0;
- da = (h + 116) | 0;
- ea = (h + 112) | 0;
- fa = (h + 108) | 0;
- ga = (h + 104) | 0;
- ha = (h + 100) | 0;
- ia = (h + 96) | 0;
- ja = (h + 92) | 0;
- ka = (h + 88) | 0;
- la = (h + 84) | 0;
- ma = (h + 80) | 0;
- na = (h + 76) | 0;
- oa = (h + 72) | 0;
- pa = (h + 68) | 0;
- qa = (h + 64) | 0;
- ra = (h + 60) | 0;
- sa = (h + 56) | 0;
- ta = (h + 52) | 0;
- ua = (h + 48) | 0;
- va = (h + 44) | 0;
- wa = (h + 40) | 0;
- xa = (h + 36) | 0;
- ya = (h + 32) | 0;
- za = (h + 28) | 0;
- Aa = (h + 24) | 0;
- Ba = (h + 20) | 0;
- Ca = (h + 16) | 0;
- Da = (h + 12) | 0;
- Ea = (h + 8) | 0;
- Fa = (h + 4) | 0;
- Ga = h;
- c[Ca >> 2] = a;
- c[Da >> 2] = b;
- c[Ea >> 2] = e;
- c[Fa >> 2] = f;
- c[Ga >> 2] = g;
- switch (c[((c[Da >> 2] | 0) + 16) >> 2] | 0) {
- case 7:
- case 6: {
- g = c[Da >> 2] | 0;
- f = c[Ea >> 2] | 0;
- e = c[Fa >> 2] | 0;
- b = c[Ga >> 2] | 0;
- c[i >> 2] = c[Ca >> 2];
- c[j >> 2] = g;
- c[k >> 2] = f;
- c[m >> 2] = e;
- c[n >> 2] = b;
- c[o >> 2] = 6;
- c[p >> 2] = 1;
- c[q >> 2] = c[((c[i >> 2] | 0) + 44) >> 2];
- c[r >> 2] = 1 << c[((c[j >> 2] | 0) + 4) >> 2];
- c[s >> 2] = (c[r >> 2] | 0) - 1;
- c[t >> 2] = c[((c[i >> 2] | 0) + 4) >> 2];
- c[u >> 2] = c[((c[i >> 2] | 0) + 8) >> 2];
- c[v >> 2] = c[((c[i >> 2] | 0) + 12) >> 2];
- c[w >> 2] = (c[t >> 2] | 0) + (c[v >> 2] | 0);
- c[x >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
- c[y >> 2] = c[((c[i >> 2] | 0) + 16) >> 2];
- c[z >> 2] = (c[k >> 2] | 0) - (c[t >> 2] | 0);
- if ((c[z >> 2] | 0) >>> 0 > (c[r >> 2] | 0) >>> 0)
- Ha = ((c[z >> 2] | 0) - (c[r >> 2] | 0)) | 0;
- else Ha = 0;
- c[A >> 2] = Ha;
- c[B >> 2] = 1 << c[((c[j >> 2] | 0) + 12) >> 2];
- c[C >> 2] = 3;
- c[D >> 2] =
- mk(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- while (1) {
- if (
- !(
- ((c[B >> 2] | 0) >>> 0 > 0
- ? (c[D >> 2] | 0) >>> 0 > (c[y >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- c[E >> 2] = 0;
- if (
- c[p >> 2] | 0
- ? (c[D >> 2] | 0) >>> 0 < (c[v >> 2] | 0) >>> 0
- : 0
- ) {
- c[G >> 2] = (c[u >> 2] | 0) + (c[D >> 2] | 0);
- o = Bk(c[G >> 2] | 0) | 0;
- if ((o | 0) == (Bk(c[k >> 2] | 0) | 0))
- c[E >> 2] =
- (Lm(
- ((c[k >> 2] | 0) + 4) | 0,
- ((c[G >> 2] | 0) + 4) | 0,
- c[m >> 2] | 0,
- c[x >> 2] | 0,
- c[w >> 2] | 0
- ) |
- 0) +
- 4;
- } else Ia = 38;
- if (
- (Ia | 0) == 38
- ? ((Ia = 0),
- (c[F >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0)),
- (d[((c[F >> 2] | 0) + (c[C >> 2] | 0)) >> 0] |
- 0 |
- 0) ==
- (d[((c[k >> 2] | 0) + (c[C >> 2] | 0)) >> 0] |
- 0 |
- 0))
- : 0
- )
- c[E >> 2] =
- Qm(c[k >> 2] | 0, c[F >> 2] | 0, c[m >> 2] | 0) | 0;
- if (
- (c[E >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
- ? ((c[C >> 2] = c[E >> 2]),
- (c[c[n >> 2] >> 2] =
- (c[z >> 2] | 0) - (c[D >> 2] | 0) + 2),
- (((c[k >> 2] | 0) + (c[E >> 2] | 0)) | 0) ==
- (c[m >> 2] | 0))
- : 0
- )
- break;
- if ((c[D >> 2] | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0)
- break;
- c[D >> 2] =
- c[
- ((c[q >> 2] | 0) +
- ((c[D >> 2] & c[s >> 2]) << 2)) >>
- 2
- ];
- c[B >> 2] = (c[B >> 2] | 0) + -1;
- }
- c[Ba >> 2] = c[C >> 2];
- Ja = c[Ba >> 2] | 0;
- l = h;
- return Ja | 0;
- }
- case 5: {
- C = c[Da >> 2] | 0;
- B = c[Ea >> 2] | 0;
- s = c[Fa >> 2] | 0;
- D = c[Ga >> 2] | 0;
- c[H >> 2] = c[Ca >> 2];
- c[I >> 2] = C;
- c[J >> 2] = B;
- c[K >> 2] = s;
- c[L >> 2] = D;
- c[M >> 2] = 5;
- c[N >> 2] = 1;
- c[O >> 2] = c[((c[H >> 2] | 0) + 44) >> 2];
- c[P >> 2] = 1 << c[((c[I >> 2] | 0) + 4) >> 2];
- c[Q >> 2] = (c[P >> 2] | 0) - 1;
- c[R >> 2] = c[((c[H >> 2] | 0) + 4) >> 2];
- c[S >> 2] = c[((c[H >> 2] | 0) + 8) >> 2];
- c[T >> 2] = c[((c[H >> 2] | 0) + 12) >> 2];
- c[U >> 2] = (c[R >> 2] | 0) + (c[T >> 2] | 0);
- c[V >> 2] = (c[S >> 2] | 0) + (c[T >> 2] | 0);
- c[W >> 2] = c[((c[H >> 2] | 0) + 16) >> 2];
- c[X >> 2] = (c[J >> 2] | 0) - (c[R >> 2] | 0);
- if ((c[X >> 2] | 0) >>> 0 > (c[P >> 2] | 0) >>> 0)
- Ka = ((c[X >> 2] | 0) - (c[P >> 2] | 0)) | 0;
- else Ka = 0;
- c[Y >> 2] = Ka;
- c[Z >> 2] = 1 << c[((c[I >> 2] | 0) + 12) >> 2];
- c[_ >> 2] = 3;
- c[$ >> 2] =
- mk(
- c[H >> 2] | 0,
- c[I >> 2] | 0,
- c[J >> 2] | 0,
- c[M >> 2] | 0
- ) | 0;
- while (1) {
- if (
- !(
- ((c[Z >> 2] | 0) >>> 0 > 0
- ? (c[$ >> 2] | 0) >>> 0 > (c[W >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- c[aa >> 2] = 0;
- if (
- c[N >> 2] | 0
- ? (c[$ >> 2] | 0) >>> 0 < (c[T >> 2] | 0) >>> 0
- : 0
- ) {
- c[ca >> 2] = (c[S >> 2] | 0) + (c[$ >> 2] | 0);
- M = Bk(c[ca >> 2] | 0) | 0;
- if ((M | 0) == (Bk(c[J >> 2] | 0) | 0))
- c[aa >> 2] =
- (Lm(
- ((c[J >> 2] | 0) + 4) | 0,
- ((c[ca >> 2] | 0) + 4) | 0,
- c[K >> 2] | 0,
- c[V >> 2] | 0,
- c[U >> 2] | 0
- ) |
- 0) +
- 4;
- } else Ia = 23;
- if (
- (Ia | 0) == 23
- ? ((Ia = 0),
- (c[ba >> 2] = (c[R >> 2] | 0) + (c[$ >> 2] | 0)),
- (d[((c[ba >> 2] | 0) + (c[_ >> 2] | 0)) >> 0] |
- 0 |
- 0) ==
- (d[((c[J >> 2] | 0) + (c[_ >> 2] | 0)) >> 0] |
- 0 |
- 0))
- : 0
- )
- c[aa >> 2] =
- Qm(c[J >> 2] | 0, c[ba >> 2] | 0, c[K >> 2] | 0) |
- 0;
- if (
- (c[aa >> 2] | 0) >>> 0 > (c[_ >> 2] | 0) >>> 0
- ? ((c[_ >> 2] = c[aa >> 2]),
- (c[c[L >> 2] >> 2] =
- (c[X >> 2] | 0) - (c[$ >> 2] | 0) + 2),
- (((c[J >> 2] | 0) + (c[aa >> 2] | 0)) | 0) ==
- (c[K >> 2] | 0))
- : 0
- )
- break;
- if ((c[$ >> 2] | 0) >>> 0 <= (c[Y >> 2] | 0) >>> 0)
- break;
- c[$ >> 2] =
- c[
- ((c[O >> 2] | 0) +
- ((c[$ >> 2] & c[Q >> 2]) << 2)) >>
- 2
- ];
- c[Z >> 2] = (c[Z >> 2] | 0) + -1;
- }
- c[Ba >> 2] = c[_ >> 2];
- Ja = c[Ba >> 2] | 0;
- l = h;
- return Ja | 0;
- }
- default: {
- _ = c[Da >> 2] | 0;
- Da = c[Ea >> 2] | 0;
- Ea = c[Fa >> 2] | 0;
- Fa = c[Ga >> 2] | 0;
- c[da >> 2] = c[Ca >> 2];
- c[ea >> 2] = _;
- c[fa >> 2] = Da;
- c[ga >> 2] = Ea;
- c[ha >> 2] = Fa;
- c[ia >> 2] = 4;
- c[ja >> 2] = 1;
- c[ka >> 2] = c[((c[da >> 2] | 0) + 44) >> 2];
- c[la >> 2] = 1 << c[((c[ea >> 2] | 0) + 4) >> 2];
- c[ma >> 2] = (c[la >> 2] | 0) - 1;
- c[na >> 2] = c[((c[da >> 2] | 0) + 4) >> 2];
- c[oa >> 2] = c[((c[da >> 2] | 0) + 8) >> 2];
- c[pa >> 2] = c[((c[da >> 2] | 0) + 12) >> 2];
- c[qa >> 2] = (c[na >> 2] | 0) + (c[pa >> 2] | 0);
- c[ra >> 2] = (c[oa >> 2] | 0) + (c[pa >> 2] | 0);
- c[sa >> 2] = c[((c[da >> 2] | 0) + 16) >> 2];
- c[ta >> 2] = (c[fa >> 2] | 0) - (c[na >> 2] | 0);
- if ((c[ta >> 2] | 0) >>> 0 > (c[la >> 2] | 0) >>> 0)
- La = ((c[ta >> 2] | 0) - (c[la >> 2] | 0)) | 0;
- else La = 0;
- c[ua >> 2] = La;
- c[va >> 2] = 1 << c[((c[ea >> 2] | 0) + 12) >> 2];
- c[wa >> 2] = 3;
- c[xa >> 2] =
- mk(
- c[da >> 2] | 0,
- c[ea >> 2] | 0,
- c[fa >> 2] | 0,
- c[ia >> 2] | 0
- ) | 0;
- while (1) {
- if (
- !(
- ((c[va >> 2] | 0) >>> 0 > 0
- ? (c[xa >> 2] | 0) >>> 0 > (c[sa >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- c[ya >> 2] = 0;
- if (
- c[ja >> 2] | 0
- ? (c[xa >> 2] | 0) >>> 0 < (c[pa >> 2] | 0) >>> 0
- : 0
- ) {
- c[Aa >> 2] = (c[oa >> 2] | 0) + (c[xa >> 2] | 0);
- ia = Bk(c[Aa >> 2] | 0) | 0;
- if ((ia | 0) == (Bk(c[fa >> 2] | 0) | 0))
- c[ya >> 2] =
- (Lm(
- ((c[fa >> 2] | 0) + 4) | 0,
- ((c[Aa >> 2] | 0) + 4) | 0,
- c[ga >> 2] | 0,
- c[ra >> 2] | 0,
- c[qa >> 2] | 0
- ) |
- 0) +
- 4;
- } else Ia = 8;
- if (
- (Ia | 0) == 8
- ? ((Ia = 0),
- (c[za >> 2] =
- (c[na >> 2] | 0) + (c[xa >> 2] | 0)),
- (d[((c[za >> 2] | 0) + (c[wa >> 2] | 0)) >> 0] |
- 0 |
- 0) ==
- (d[((c[fa >> 2] | 0) + (c[wa >> 2] | 0)) >> 0] |
- 0 |
- 0))
- : 0
- )
- c[ya >> 2] =
- Qm(c[fa >> 2] | 0, c[za >> 2] | 0, c[ga >> 2] | 0) |
- 0;
- if (
- (c[ya >> 2] | 0) >>> 0 > (c[wa >> 2] | 0) >>> 0
- ? ((c[wa >> 2] = c[ya >> 2]),
- (c[c[ha >> 2] >> 2] =
- (c[ta >> 2] | 0) - (c[xa >> 2] | 0) + 2),
- (((c[fa >> 2] | 0) + (c[ya >> 2] | 0)) | 0) ==
- (c[ga >> 2] | 0))
- : 0
- )
- break;
- if ((c[xa >> 2] | 0) >>> 0 <= (c[ua >> 2] | 0) >>> 0)
- break;
- c[xa >> 2] =
- c[
- ((c[ka >> 2] | 0) +
- ((c[xa >> 2] & c[ma >> 2]) << 2)) >>
- 2
- ];
- c[va >> 2] = (c[va >> 2] | 0) + -1;
- }
- c[Ba >> 2] = c[wa >> 2];
- Ja = c[Ba >> 2] | 0;
- l = h;
- return Ja | 0;
- }
- }
- return 0;
- }
- function Lm(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if (
- (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[k >> 2] | 0) >>> 0
- )
- q =
- ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0;
- else q = c[k >> 2] | 0;
- c[o >> 2] = q;
- c[p >> 2] =
- Qm(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
- o = c[p >> 2] | 0;
- if (
- (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
- (c[m >> 2] | 0)
- ) {
- c[h >> 2] = o;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- c[h >> 2] =
- o +
- (Qm(
- ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0
- ) |
- 0);
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- return 0;
- }
- function Mm(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- a = (31 - (Q(c[d >> 2] | 0) | 0)) | 0;
- l = b;
- return a | 0;
- }
- function Nm(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- Om(
- c[((c[i >> 2] | 0) + 12) >> 2] | 0,
- c[k >> 2] | 0,
- c[j >> 2] | 0
- );
- k = ((c[i >> 2] | 0) + 12) | 0;
- c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
- if ((c[j >> 2] | 0) >>> 0 > 65535) {
- c[((c[i >> 2] | 0) + 28) >> 2] = 1;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- }
- b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
- c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
- if ((c[n >> 2] | 0) >>> 0 <= 65535) {
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- c[((c[i >> 2] | 0) + 28) >> 2] = 2;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- function Om(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- Pm(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function Pm(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function Qm(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = c[h >> 2];
- c[m >> 2] = (c[j >> 2] | 0) + -3;
- a: do {
- if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
- e = Rm(c[i >> 2] | 0) | 0;
- c[n >> 2] = e ^ (Rm(c[h >> 2] | 0) | 0);
- if (c[n >> 2] | 0) {
- c[g >> 2] = Sm(c[n >> 2] | 0) | 0;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- while (1) {
- if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
- break a;
- e = Rm(c[i >> 2] | 0) | 0;
- c[o >> 2] = e ^ (Rm(c[h >> 2] | 0) | 0);
- if (c[o >> 2] | 0) break;
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- e = Sm(c[o >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + e;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- } while (0);
- if (
- (
- Tm() | 0
- ? (c[h >> 2] | 0) >>> 0 <
- (((c[j >> 2] | 0) + -3) | 0) >>> 0
- : 0
- )
- ? ((o = Bk(c[i >> 2] | 0) | 0),
- (o | 0) == (Bk(c[h >> 2] | 0) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
- ? ((o = (Um(c[i >> 2] | 0) | 0) & 65535),
- (o | 0) == (((Um(c[h >> 2] | 0) | 0) & 65535) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 2;
- c[i >> 2] = (c[i >> 2] | 0) + 2;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? (d[c[i >> 2] >> 0] | 0 | 0) ==
- (d[c[h >> 2] >> 0] | 0 | 0)
- : 0
- )
- c[h >> 2] = (c[h >> 2] | 0) + 1;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- function Rm(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function Sm(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (vk() | 0) != 0;
- f = (Tm() | 0) != 0;
- g = c[e >> 2] | 0;
- do {
- if (a) {
- if (f) {
- e = ob(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (fE(g | 0) | 0) >> 3;
- break;
- }
- } else if (f) {
- e = lE(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (Q(g | 0) | 0) >> 3;
- break;
- }
- } while (0);
- l = b;
- return c[d >> 2] | 0;
- }
- function Tm() {
- return 0;
- }
- function Um(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function Vm(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 24) | 0;
- j = (h + 20) | 0;
- k = (h + 16) | 0;
- m = (h + 12) | 0;
- n = (h + 8) | 0;
- o = (h + 4) | 0;
- p = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- if (
- (c[m >> 2] | 0) >>> 0 <
- (((c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- c[i >> 2] = 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- } else {
- Wm(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[p >> 2] | 0
- );
- c[i >> 2] =
- Xm(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- 1
- ) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- }
- return 0;
- }
- function Wm(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- g = l;
- l = (l + 80) | 0;
- h = (g + 64) | 0;
- i = (g + 60) | 0;
- j = (g + 56) | 0;
- k = (g + 48) | 0;
- m = (g + 44) | 0;
- n = (g + 40) | 0;
- o = (g + 36) | 0;
- p = (g + 32) | 0;
- q = (g + 28) | 0;
- r = (g + 24) | 0;
- s = (g + 20) | 0;
- t = (g + 16) | 0;
- u = (g + 12) | 0;
- v = (g + 8) | 0;
- w = (g + 4) | 0;
- x = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[(g + 52) >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = c[((c[h >> 2] | 0) + 36) >> 2];
- c[n >> 2] = c[((c[i >> 2] | 0) + 8) >> 2];
- c[o >> 2] = c[((c[h >> 2] | 0) + 44) >> 2];
- c[p >> 2] = (c[((c[i >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[q >> 2] = (1 << c[p >> 2]) - 1;
- c[r >> 2] = c[((c[h >> 2] | 0) + 4) >> 2];
- c[s >> 2] = (c[j >> 2] | 0) - (c[r >> 2] | 0);
- c[t >> 2] = c[((c[h >> 2] | 0) + 24) >> 2];
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) break;
- c[u >> 2] =
- nk(
- ((c[r >> 2] | 0) + (c[t >> 2] | 0)) | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0
- ) | 0;
- c[v >> 2] = c[((c[m >> 2] | 0) + (c[u >> 2] << 2)) >> 2];
- c[w >> 2] =
- (c[o >> 2] | 0) + (((c[t >> 2] & c[q >> 2]) << 1) << 2);
- c[x >> 2] = (c[w >> 2] | 0) + 4;
- c[((c[m >> 2] | 0) + (c[u >> 2] << 2)) >> 2] = c[t >> 2];
- c[c[w >> 2] >> 2] = c[v >> 2];
- c[c[x >> 2] >> 2] = 1;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- c[((c[h >> 2] | 0) + 24) >> 2] = c[s >> 2];
- l = g;
- return;
- }
- function Xm(a, b, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0;
- j = l;
- l = (l + 176) | 0;
- k = (j + 160) | 0;
- m = (j + 156) | 0;
- n = (j + 152) | 0;
- o = (j + 148) | 0;
- p = (j + 144) | 0;
- q = (j + 140) | 0;
- r = (j + 136) | 0;
- s = (j + 132) | 0;
- t = (j + 128) | 0;
- u = (j + 124) | 0;
- v = (j + 120) | 0;
- w = (j + 116) | 0;
- x = (j + 112) | 0;
- y = (j + 108) | 0;
- z = (j + 104) | 0;
- A = (j + 100) | 0;
- B = (j + 96) | 0;
- C = (j + 92) | 0;
- D = (j + 88) | 0;
- E = (j + 84) | 0;
- F = (j + 80) | 0;
- G = (j + 76) | 0;
- H = (j + 72) | 0;
- I = (j + 68) | 0;
- J = (j + 64) | 0;
- K = (j + 60) | 0;
- L = (j + 56) | 0;
- M = (j + 52) | 0;
- N = (j + 48) | 0;
- O = (j + 44) | 0;
- P = (j + 40) | 0;
- Q = (j + 36) | 0;
- R = (j + 32) | 0;
- S = (j + 28) | 0;
- T = (j + 24) | 0;
- U = (j + 20) | 0;
- V = (j + 16) | 0;
- W = (j + 12) | 0;
- X = (j + 8) | 0;
- Y = (j + 4) | 0;
- Z = j;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = i;
- c[s >> 2] = c[((c[k >> 2] | 0) + 36) >> 2];
- c[t >> 2] = c[((c[m >> 2] | 0) + 8) >> 2];
- c[u >> 2] =
- nk(c[n >> 2] | 0, c[t >> 2] | 0, c[q >> 2] | 0) | 0;
- c[v >> 2] = c[((c[s >> 2] | 0) + (c[u >> 2] << 2)) >> 2];
- c[w >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
- c[x >> 2] = (c[n >> 2] | 0) - (c[w >> 2] | 0);
- c[y >> 2] = c[((c[k >> 2] | 0) + 16) >> 2];
- c[z >> 2] = c[((c[k >> 2] | 0) + 44) >> 2];
- c[A >> 2] = (c[((c[m >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[B >> 2] = (1 << c[A >> 2]) - 1;
- if ((c[B >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) _ = 0;
- else _ = ((c[x >> 2] | 0) - (c[B >> 2] | 0)) | 0;
- c[C >> 2] = _;
- c[D >> 2] =
- (c[C >> 2] | 0) >>> 0 > (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[y >> 2] | 0;
- c[E >> 2] =
- (c[z >> 2] | 0) + (((c[v >> 2] & c[B >> 2]) << 1) << 2);
- c[F >> 2] =
- (c[z >> 2] | 0) + (((c[v >> 2] & c[B >> 2]) << 1) << 2) + 4;
- c[G >> 2] = 1 << c[((c[m >> 2] | 0) + 12) >> 2];
- c[H >> 2] = c[G >> 2];
- c[I >> 2] = 0;
- while (1) {
- if ((c[v >> 2] | 0) >>> 0 <= (c[D >> 2] | 0) >>> 0) break;
- if (
- !((c[H >> 2] | 0) >>> 0 > 1
- ? (c[c[F >> 2] >> 2] | 0) == 1
- : 0)
- )
- break;
- c[c[F >> 2] >> 2] = c[I >> 2];
- c[I >> 2] = c[v >> 2];
- c[v >> 2] = c[c[E >> 2] >> 2];
- c[E >> 2] =
- (c[z >> 2] | 0) + (((c[v >> 2] & c[B >> 2]) << 1) << 2);
- c[F >> 2] =
- (c[z >> 2] | 0) +
- (((c[v >> 2] & c[B >> 2]) << 1) << 2) +
- 4;
- c[H >> 2] = (c[H >> 2] | 0) + -1;
- }
- if (
- (c[v >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0
- ? (c[c[F >> 2] >> 2] | 0) == 1
- : 0
- ) {
- c[c[F >> 2] >> 2] = 0;
- c[c[E >> 2] >> 2] = 0;
- }
- c[v >> 2] = c[I >> 2];
- while (1) {
- if (!(c[v >> 2] | 0)) break;
- c[J >> 2] =
- (c[z >> 2] | 0) +
- (((c[v >> 2] & c[B >> 2]) << 1) << 2) +
- 4;
- c[K >> 2] = c[c[J >> 2] >> 2];
- Ym(
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[v >> 2] | 0,
- c[o >> 2] | 0,
- c[H >> 2] | 0,
- c[D >> 2] | 0,
- c[r >> 2] | 0
- );
- c[v >> 2] = c[K >> 2];
- c[H >> 2] = (c[H >> 2] | 0) + 1;
- }
- c[L >> 2] = 0;
- c[M >> 2] = 0;
- c[N >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
- c[O >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
- c[P >> 2] = (c[N >> 2] | 0) + (c[O >> 2] | 0);
- c[Q >> 2] = (c[w >> 2] | 0) + (c[O >> 2] | 0);
- c[R >> 2] =
- (c[z >> 2] | 0) + (((c[x >> 2] & c[B >> 2]) << 1) << 2);
- c[S >> 2] =
- (c[z >> 2] | 0) + (((c[x >> 2] & c[B >> 2]) << 1) << 2) + 4;
- c[T >> 2] = (c[x >> 2] | 0) + 8 + 1;
- c[V >> 2] = 0;
- c[v >> 2] = c[((c[s >> 2] | 0) + (c[u >> 2] << 2)) >> 2];
- c[((c[s >> 2] | 0) + (c[u >> 2] << 2)) >> 2] = c[x >> 2];
- while (1) {
- u = c[G >> 2] | 0;
- c[G >> 2] = u + -1;
- if (!u) break;
- if ((c[v >> 2] | 0) >>> 0 <= (c[y >> 2] | 0) >>> 0) break;
- c[W >> 2] =
- (c[z >> 2] | 0) + (((c[v >> 2] & c[B >> 2]) << 1) << 2);
- c[X >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[M >> 2] | 0) >>> 0
- ? c[L >> 2] | 0
- : c[M >> 2] | 0;
- if (
- c[r >> 2] | 0
- ? (((c[v >> 2] | 0) + (c[X >> 2] | 0)) | 0) >>> 0 <
- (c[O >> 2] | 0) >>> 0
- : 0
- ) {
- c[Y >> 2] = (c[N >> 2] | 0) + (c[v >> 2] | 0);
- u =
- Lm(
- ((c[n >> 2] | 0) + (c[X >> 2] | 0)) | 0,
- ((c[Y >> 2] | 0) + (c[X >> 2] | 0)) | 0,
- c[o >> 2] | 0,
- c[P >> 2] | 0,
- c[Q >> 2] | 0
- ) | 0;
- c[X >> 2] = (c[X >> 2] | 0) + u;
- if (
- (((c[v >> 2] | 0) + (c[X >> 2] | 0)) | 0) >>> 0 >=
- (c[O >> 2] | 0) >>> 0
- )
- c[Y >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- } else {
- c[Y >> 2] = (c[w >> 2] | 0) + (c[v >> 2] | 0);
- u =
- Qm(
- ((c[n >> 2] | 0) + (c[X >> 2] | 0)) | 0,
- ((c[Y >> 2] | 0) + (c[X >> 2] | 0)) | 0,
- c[o >> 2] | 0
- ) | 0;
- c[X >> 2] = (c[X >> 2] | 0) + u;
- }
- if ((c[X >> 2] | 0) >>> 0 > (c[V >> 2] | 0) >>> 0) {
- if (
- (c[X >> 2] | 0) >>> 0 >
- (((c[T >> 2] | 0) - (c[v >> 2] | 0)) | 0) >>> 0
- )
- c[T >> 2] = (c[v >> 2] | 0) + (c[X >> 2] | 0);
- u = ((c[X >> 2] | 0) - (c[V >> 2] | 0)) << 2;
- s = Mm(((c[x >> 2] | 0) - (c[v >> 2] | 0) + 1) | 0) | 0;
- if (
- (u | 0) >
- ((s - (Mm(((c[c[p >> 2] >> 2] | 0) + 1) | 0) | 0)) | 0)
- ) {
- c[V >> 2] = c[X >> 2];
- c[c[p >> 2] >> 2] =
- 2 + (c[x >> 2] | 0) - (c[v >> 2] | 0);
- }
- if (
- (((c[n >> 2] | 0) + (c[X >> 2] | 0)) | 0) ==
- (c[o >> 2] | 0)
- )
- break;
- }
- s = c[v >> 2] | 0;
- if (
- (d[((c[Y >> 2] | 0) + (c[X >> 2] | 0)) >> 0] | 0 | 0) <
- (d[((c[n >> 2] | 0) + (c[X >> 2] | 0)) >> 0] | 0 | 0)
- ) {
- c[c[R >> 2] >> 2] = s;
- c[L >> 2] = c[X >> 2];
- if ((c[v >> 2] | 0) >>> 0 <= (c[C >> 2] | 0) >>> 0) {
- $ = 29;
- break;
- }
- c[R >> 2] = (c[W >> 2] | 0) + 4;
- c[v >> 2] = c[((c[W >> 2] | 0) + 4) >> 2];
- } else {
- c[c[S >> 2] >> 2] = s;
- c[M >> 2] = c[X >> 2];
- if ((c[v >> 2] | 0) >>> 0 <= (c[C >> 2] | 0) >>> 0) {
- $ = 32;
- break;
- }
- c[S >> 2] = c[W >> 2];
- c[v >> 2] = c[c[W >> 2] >> 2];
- }
- }
- if (($ | 0) == 29) c[R >> 2] = U;
- else if (($ | 0) == 32) c[S >> 2] = U;
- c[c[S >> 2] >> 2] = 0;
- c[c[R >> 2] >> 2] = 0;
- c[((c[k >> 2] | 0) + 24) >> 2] = (c[T >> 2] | 0) - 8;
- if ((c[V >> 2] | 0) >>> 0 < 3) {
- aa = c[V >> 2] | 0;
- l = j;
- return aa | 0;
- }
- c[Z >> 2] = (c[x >> 2] | 0) - ((c[c[p >> 2] >> 2] | 0) - 2);
- aa = c[V >> 2] | 0;
- l = j;
- return aa | 0;
- }
- function Ym(a, b, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0;
- j = l;
- l = (l + 112) | 0;
- k = (j + 108) | 0;
- m = (j + 104) | 0;
- n = (j + 100) | 0;
- o = (j + 96) | 0;
- p = (j + 92) | 0;
- q = (j + 88) | 0;
- r = (j + 84) | 0;
- s = (j + 80) | 0;
- t = (j + 76) | 0;
- u = (j + 72) | 0;
- v = (j + 68) | 0;
- w = (j + 64) | 0;
- x = (j + 60) | 0;
- y = (j + 56) | 0;
- z = (j + 52) | 0;
- A = (j + 48) | 0;
- B = (j + 44) | 0;
- C = (j + 40) | 0;
- D = (j + 36) | 0;
- E = (j + 32) | 0;
- F = (j + 28) | 0;
- G = (j + 24) | 0;
- H = (j + 20) | 0;
- I = (j + 16) | 0;
- J = (j + 12) | 0;
- K = (j + 8) | 0;
- L = (j + 4) | 0;
- M = j;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = i;
- c[s >> 2] = c[((c[k >> 2] | 0) + 44) >> 2];
- c[t >> 2] = (c[((c[m >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[u >> 2] = (1 << c[t >> 2]) - 1;
- c[v >> 2] = 0;
- c[w >> 2] = 0;
- c[x >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
- c[y >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
- c[z >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
- c[A >> 2] =
- (c[n >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0
- ? ((c[x >> 2] | 0) + (c[n >> 2] | 0)) | 0
- : ((c[y >> 2] | 0) + (c[n >> 2] | 0)) | 0;
- c[B >> 2] =
- (c[n >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0
- ? c[o >> 2] | 0
- : ((c[y >> 2] | 0) + (c[z >> 2] | 0)) | 0;
- c[C >> 2] = (c[y >> 2] | 0) + (c[z >> 2] | 0);
- c[D >> 2] = (c[x >> 2] | 0) + (c[z >> 2] | 0);
- c[F >> 2] =
- (c[s >> 2] | 0) + (((c[n >> 2] & c[u >> 2]) << 1) << 2);
- c[G >> 2] = (c[F >> 2] | 0) + 4;
- c[H >> 2] = c[c[F >> 2] >> 2];
- c[J >> 2] = c[((c[k >> 2] | 0) + 16) >> 2];
- while (1) {
- k = c[p >> 2] | 0;
- c[p >> 2] = k + -1;
- if (!k) {
- N = 23;
- break;
- }
- if ((c[H >> 2] | 0) >>> 0 <= (c[J >> 2] | 0) >>> 0) {
- N = 23;
- break;
- }
- c[K >> 2] =
- (c[s >> 2] | 0) + (((c[H >> 2] & c[u >> 2]) << 1) << 2);
- c[L >> 2] =
- (c[v >> 2] | 0) >>> 0 < (c[w >> 2] | 0) >>> 0
- ? c[v >> 2] | 0
- : c[w >> 2] | 0;
- if (
- (
- c[r >> 2] | 0
- ? (((c[H >> 2] | 0) + (c[L >> 2] | 0)) | 0) >>> 0 <
- (c[z >> 2] | 0) >>> 0
- : 0
- )
- ? (c[n >> 2] | 0) >>> 0 >= (c[z >> 2] | 0) >>> 0
- : 0
- ) {
- c[E >> 2] = (c[y >> 2] | 0) + (c[H >> 2] | 0);
- k =
- Lm(
- ((c[A >> 2] | 0) + (c[L >> 2] | 0)) | 0,
- ((c[E >> 2] | 0) + (c[L >> 2] | 0)) | 0,
- c[B >> 2] | 0,
- c[C >> 2] | 0,
- c[D >> 2] | 0
- ) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + k;
- if (
- (((c[H >> 2] | 0) + (c[L >> 2] | 0)) | 0) >>> 0 >=
- (c[z >> 2] | 0) >>> 0
- )
- c[E >> 2] = (c[x >> 2] | 0) + (c[H >> 2] | 0);
- } else {
- if (
- c[r >> 2] | 0
- ? (((c[H >> 2] | 0) + (c[L >> 2] | 0)) | 0) >>> 0 <
- (c[z >> 2] | 0) >>> 0
- : 0
- )
- O = c[y >> 2] | 0;
- else O = c[x >> 2] | 0;
- c[M >> 2] = O;
- c[E >> 2] = (c[M >> 2] | 0) + (c[H >> 2] | 0);
- k =
- Qm(
- ((c[A >> 2] | 0) + (c[L >> 2] | 0)) | 0,
- ((c[E >> 2] | 0) + (c[L >> 2] | 0)) | 0,
- c[B >> 2] | 0
- ) | 0;
- c[L >> 2] = (c[L >> 2] | 0) + k;
- }
- if (
- (((c[A >> 2] | 0) + (c[L >> 2] | 0)) | 0) ==
- (c[B >> 2] | 0)
- ) {
- N = 23;
- break;
- }
- k = c[H >> 2] | 0;
- if (
- (d[((c[E >> 2] | 0) + (c[L >> 2] | 0)) >> 0] | 0 | 0) <
- (d[((c[A >> 2] | 0) + (c[L >> 2] | 0)) >> 0] | 0 | 0)
- ) {
- c[c[F >> 2] >> 2] = k;
- c[v >> 2] = c[L >> 2];
- if ((c[H >> 2] | 0) >>> 0 <= (c[q >> 2] | 0) >>> 0) {
- N = 17;
- break;
- }
- c[F >> 2] = (c[K >> 2] | 0) + 4;
- c[H >> 2] = c[((c[K >> 2] | 0) + 4) >> 2];
- } else {
- c[c[G >> 2] >> 2] = k;
- c[w >> 2] = c[L >> 2];
- if ((c[H >> 2] | 0) >>> 0 <= (c[q >> 2] | 0) >>> 0) {
- N = 20;
- break;
- }
- c[G >> 2] = c[K >> 2];
- c[H >> 2] = c[c[K >> 2] >> 2];
- }
- }
- if ((N | 0) == 17) {
- c[F >> 2] = I;
- P = c[G >> 2] | 0;
- c[P >> 2] = 0;
- Q = c[F >> 2] | 0;
- c[Q >> 2] = 0;
- l = j;
- return;
- } else if ((N | 0) == 20) {
- c[G >> 2] = I;
- P = c[G >> 2] | 0;
- c[P >> 2] = 0;
- Q = c[F >> 2] | 0;
- c[Q >> 2] = 0;
- l = j;
- return;
- } else if ((N | 0) == 23) {
- P = c[G >> 2] | 0;
- c[P >> 2] = 0;
- Q = c[F >> 2] | 0;
- c[Q >> 2] = 0;
- l = j;
- return;
- }
- }
- function Zm(a, b, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0;
- j = l;
- l = (l + 240) | 0;
- k = (j + 224) | 0;
- m = (j + 220) | 0;
- n = (j + 216) | 0;
- o = (j + 212) | 0;
- p = (j + 208) | 0;
- q = (j + 204) | 0;
- r = (j + 200) | 0;
- s = (j + 196) | 0;
- t = (j + 192) | 0;
- u = (j + 188) | 0;
- v = (j + 184) | 0;
- w = (j + 180) | 0;
- x = (j + 176) | 0;
- z = (j + 172) | 0;
- A = (j + 168) | 0;
- B = (j + 164) | 0;
- C = (j + 160) | 0;
- D = (j + 156) | 0;
- E = (j + 152) | 0;
- F = (j + 148) | 0;
- G = (j + 144) | 0;
- H = (j + 140) | 0;
- I = (j + 136) | 0;
- J = (j + 132) | 0;
- K = (j + 128) | 0;
- L = (j + 124) | 0;
- M = (j + 120) | 0;
- N = (j + 116) | 0;
- O = (j + 112) | 0;
- P = (j + 108) | 0;
- Q = (j + 104) | 0;
- R = (j + 100) | 0;
- S = (j + 96) | 0;
- T = (j + 92) | 0;
- U = (j + 88) | 0;
- V = (j + 84) | 0;
- W = (j + 80) | 0;
- X = (j + 76) | 0;
- Y = (j + 72) | 0;
- Z = (j + 68) | 0;
- _ = (j + 64) | 0;
- $ = (j + 60) | 0;
- aa = (j + 56) | 0;
- ba = (j + 52) | 0;
- ca = (j + 48) | 0;
- da = (j + 44) | 0;
- ea = (j + 40) | 0;
- fa = (j + 36) | 0;
- ga = (j + 32) | 0;
- ha = (j + 28) | 0;
- ia = (j + 24) | 0;
- ja = (j + 20) | 0;
- ka = (j + 16) | 0;
- la = (j + 12) | 0;
- ma = (j + 8) | 0;
- na = (j + 4) | 0;
- oa = j;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = h;
- c[r >> 2] = i;
- c[s >> 2] = c[((c[k >> 2] | 0) + 36) >> 2];
- c[t >> 2] = c[((c[o >> 2] | 0) + 8) >> 2];
- c[u >> 2] = c[((c[k >> 2] | 0) + 44) >> 2];
- c[v >> 2] = c[((c[o >> 2] | 0) + 4) >> 2];
- c[w >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
- c[x >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
- c[z >> 2] = c[p >> 2];
- c[A >> 2] = c[z >> 2];
- c[B >> 2] = c[z >> 2];
- c[C >> 2] = c[((c[k >> 2] | 0) + 16) >> 2];
- c[D >> 2] = (c[x >> 2] | 0) + (c[C >> 2] | 0);
- c[E >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
- c[F >> 2] = (c[w >> 2] | 0) + (c[E >> 2] | 0);
- c[G >> 2] = (c[x >> 2] | 0) + (c[E >> 2] | 0);
- c[H >> 2] = (c[z >> 2] | 0) + (c[q >> 2] | 0);
- c[I >> 2] = (c[H >> 2] | 0) + -8;
- c[J >> 2] = c[c[n >> 2] >> 2];
- c[K >> 2] = c[((c[n >> 2] | 0) + 4) >> 2];
- a: while (1) {
- if ((c[A >> 2] | 0) >>> 0 >= (c[I >> 2] | 0) >>> 0) break;
- c[L >> 2] =
- Dk(c[A >> 2] | 0, c[v >> 2] | 0, c[r >> 2] | 0) | 0;
- c[M >> 2] = c[((c[u >> 2] | 0) + (c[L >> 2] << 2)) >> 2];
- c[N >> 2] =
- (c[M >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[x >> 2] | 0
- : c[w >> 2] | 0;
- c[O >> 2] = (c[N >> 2] | 0) + (c[M >> 2] | 0);
- c[P >> 2] = Dk(c[A >> 2] | 0, c[t >> 2] | 0, 8) | 0;
- c[Q >> 2] = c[((c[s >> 2] | 0) + (c[P >> 2] << 2)) >> 2];
- c[R >> 2] =
- (c[Q >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[x >> 2] | 0
- : c[w >> 2] | 0;
- c[S >> 2] = (c[R >> 2] | 0) + (c[Q >> 2] | 0);
- c[T >> 2] = (c[A >> 2] | 0) - (c[w >> 2] | 0);
- c[U >> 2] = (c[T >> 2] | 0) + 1 - (c[J >> 2] | 0);
- c[V >> 2] =
- (c[U >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[x >> 2] | 0
- : c[w >> 2] | 0;
- c[W >> 2] = (c[V >> 2] | 0) + (c[U >> 2] | 0);
- q = c[T >> 2] | 0;
- c[((c[s >> 2] | 0) + (c[P >> 2] << 2)) >> 2] = q;
- c[((c[u >> 2] | 0) + (c[L >> 2] << 2)) >> 2] = q;
- if (
- ((c[U >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
- ? (((c[E >> 2] | 0) - 1 - (c[U >> 2] | 0)) | 0) >>> 0 >=
- 3
- : 0) | 0
- ? ((q = Rk(c[W >> 2] | 0) | 0),
- (q | 0) == (Rk(((c[A >> 2] | 0) + 1) | 0) | 0))
- : 0
- ) {
- c[Y >> 2] =
- (c[U >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[G >> 2] | 0
- : c[H >> 2] | 0;
- c[X >> 2] =
- (_m(
- ((c[A >> 2] | 0) + 1 + 4) | 0,
- ((c[W >> 2] | 0) + 4) | 0,
- c[H >> 2] | 0,
- c[Y >> 2] | 0,
- c[F >> 2] | 0
- ) |
- 0) +
- 4;
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- $m(
- c[m >> 2] | 0,
- ((c[A >> 2] | 0) - (c[B >> 2] | 0)) | 0,
- c[B >> 2] | 0,
- 0,
- ((c[X >> 2] | 0) - 3) | 0
- );
- } else pa = 6;
- do {
- if ((pa | 0) == 6) {
- pa = 0;
- if (
- (c[Q >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
- ? ((q = Mk(c[S >> 2] | 0) | 0),
- (z = y),
- (k = Mk(c[A >> 2] | 0) | 0),
- ((q | 0) == (k | 0)) & ((z | 0) == (y | 0)))
- : 0
- ) {
- c[Z >> 2] =
- (c[Q >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[G >> 2] | 0
- : c[H >> 2] | 0;
- c[_ >> 2] =
- (c[Q >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[D >> 2] | 0
- : c[F >> 2] | 0;
- c[X >> 2] =
- (_m(
- ((c[A >> 2] | 0) + 8) | 0,
- ((c[S >> 2] | 0) + 8) | 0,
- c[H >> 2] | 0,
- c[Z >> 2] | 0,
- c[F >> 2] | 0
- ) |
- 0) +
- 8;
- c[$ >> 2] = (c[T >> 2] | 0) - (c[Q >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[A >> 2] | 0) >>> 0 > (c[B >> 2] | 0) >>> 0
- ? (c[S >> 2] | 0) >>> 0 >
- (c[_ >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[A >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[S >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[A >> 2] = (c[A >> 2] | 0) + -1;
- c[S >> 2] = (c[S >> 2] | 0) + -1;
- c[X >> 2] = (c[X >> 2] | 0) + 1;
- }
- c[K >> 2] = c[J >> 2];
- c[J >> 2] = c[$ >> 2];
- $m(
- c[m >> 2] | 0,
- ((c[A >> 2] | 0) - (c[B >> 2] | 0)) | 0,
- c[B >> 2] | 0,
- ((c[$ >> 2] | 0) + 2) | 0,
- ((c[X >> 2] | 0) - 3) | 0
- );
- break;
- }
- if (
- (c[M >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
- ? ((z = Rk(c[O >> 2] | 0) | 0),
- (z | 0) == (Rk(c[A >> 2] | 0) | 0))
- : 0
- ) {
- c[aa >> 2] =
- Dk(((c[A >> 2] | 0) + 1) | 0, c[t >> 2] | 0, 8) | 0;
- c[ba >> 2] =
- c[((c[s >> 2] | 0) + (c[aa >> 2] << 2)) >> 2];
- c[ca >> 2] =
- (c[ba >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[x >> 2] | 0
- : c[w >> 2] | 0;
- c[da >> 2] = (c[ca >> 2] | 0) + (c[ba >> 2] | 0);
- c[((c[s >> 2] | 0) + (c[aa >> 2] << 2)) >> 2] =
- (c[T >> 2] | 0) + 1;
- b: do {
- if (
- (c[ba >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
- ? ((z = Mk(c[da >> 2] | 0) | 0),
- (k = y),
- (q = Mk(((c[A >> 2] | 0) + 1) | 0) | 0),
- ((z | 0) == (q | 0)) & ((k | 0) == (y | 0)))
- : 0
- ) {
- c[fa >> 2] =
- (c[ba >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[G >> 2] | 0
- : c[H >> 2] | 0;
- c[ga >> 2] =
- (c[ba >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[D >> 2] | 0
- : c[F >> 2] | 0;
- c[X >> 2] =
- (_m(
- ((c[A >> 2] | 0) + 9) | 0,
- ((c[da >> 2] | 0) + 8) | 0,
- c[H >> 2] | 0,
- c[fa >> 2] | 0,
- c[F >> 2] | 0
- ) |
- 0) +
- 8;
- c[A >> 2] = (c[A >> 2] | 0) + 1;
- c[ea >> 2] =
- (c[T >> 2] | 0) + 1 - (c[ba >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[A >> 2] | 0) >>> 0 >
- (c[B >> 2] | 0) >>> 0
- ? (c[da >> 2] | 0) >>> 0 >
- (c[ga >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break b;
- if (
- (d[((c[A >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[da >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break b;
- c[A >> 2] = (c[A >> 2] | 0) + -1;
- c[da >> 2] = (c[da >> 2] | 0) + -1;
- c[X >> 2] = (c[X >> 2] | 0) + 1;
- }
- } else pa = 21;
- } while (0);
- c: do {
- if ((pa | 0) == 21) {
- pa = 0;
- c[ha >> 2] =
- (c[M >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[G >> 2] | 0
- : c[H >> 2] | 0;
- c[ia >> 2] =
- (c[M >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[D >> 2] | 0
- : c[F >> 2] | 0;
- c[X >> 2] =
- (_m(
- ((c[A >> 2] | 0) + 4) | 0,
- ((c[O >> 2] | 0) + 4) | 0,
- c[H >> 2] | 0,
- c[ha >> 2] | 0,
- c[F >> 2] | 0
- ) |
- 0) +
- 4;
- c[ea >> 2] = (c[T >> 2] | 0) - (c[M >> 2] | 0);
- while (1) {
- if (
- !(
- ((c[A >> 2] | 0) >>> 0 >
- (c[B >> 2] | 0) >>> 0
- ? (c[O >> 2] | 0) >>> 0 >
- (c[ia >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break c;
- if (
- (d[((c[A >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[O >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break c;
- c[A >> 2] = (c[A >> 2] | 0) + -1;
- c[O >> 2] = (c[O >> 2] | 0) + -1;
- c[X >> 2] = (c[X >> 2] | 0) + 1;
- }
- }
- } while (0);
- c[K >> 2] = c[J >> 2];
- c[J >> 2] = c[ea >> 2];
- $m(
- c[m >> 2] | 0,
- ((c[A >> 2] | 0) - (c[B >> 2] | 0)) | 0,
- c[B >> 2] | 0,
- ((c[ea >> 2] | 0) + 2) | 0,
- ((c[X >> 2] | 0) - 3) | 0
- );
- break;
- }
- c[A >> 2] =
- (c[A >> 2] | 0) +
- ((((c[A >> 2] | 0) - (c[B >> 2] | 0)) >> 8) + 1);
- continue a;
- }
- } while (0);
- c[A >> 2] = (c[A >> 2] | 0) + (c[X >> 2] | 0);
- c[B >> 2] = c[A >> 2];
- d: do {
- if ((c[A >> 2] | 0) >>> 0 <= (c[I >> 2] | 0) >>> 0) {
- k = ((c[T >> 2] | 0) + 2) | 0;
- q = c[u >> 2] | 0;
- c[
- (q +
- ((Dk(
- ((c[w >> 2] | 0) + (c[T >> 2] | 0) + 2) | 0,
- c[v >> 2] | 0,
- c[r >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = k;
- k = ((c[T >> 2] | 0) + 2) | 0;
- q = c[s >> 2] | 0;
- c[
- (q +
- ((Dk(
- ((c[w >> 2] | 0) + (c[T >> 2] | 0) + 2) | 0,
- c[t >> 2] | 0,
- 8
- ) |
- 0) <<
- 2)) >>
- 2
- ] = k;
- k = ((c[A >> 2] | 0) + -2 - (c[w >> 2] | 0)) | 0;
- q = c[u >> 2] | 0;
- c[
- (q +
- ((Dk(
- ((c[A >> 2] | 0) + -2) | 0,
- c[v >> 2] | 0,
- c[r >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = k;
- k = ((c[A >> 2] | 0) + -2 - (c[w >> 2] | 0)) | 0;
- q = c[s >> 2] | 0;
- c[
- (q +
- ((Dk(((c[A >> 2] | 0) + -2) | 0, c[t >> 2] | 0, 8) |
- 0) <<
- 2)) >>
- 2
- ] = k;
- while (1) {
- if ((c[A >> 2] | 0) >>> 0 > (c[I >> 2] | 0) >>> 0)
- break d;
- c[ja >> 2] = (c[A >> 2] | 0) - (c[w >> 2] | 0);
- c[ka >> 2] = (c[ja >> 2] | 0) - (c[K >> 2] | 0);
- c[la >> 2] =
- (c[ka >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? ((c[x >> 2] | 0) + (c[ka >> 2] | 0)) | 0
- : ((c[w >> 2] | 0) + (c[ka >> 2] | 0)) | 0;
- if (
- !(
- ((c[ka >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
- ? (((c[E >> 2] | 0) - 1 - (c[ka >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0
- )
- )
- break d;
- k = Rk(c[la >> 2] | 0) | 0;
- if ((k | 0) != (Rk(c[A >> 2] | 0) | 0)) break d;
- c[ma >> 2] =
- (c[ka >> 2] | 0) >>> 0 < (c[E >> 2] | 0) >>> 0
- ? c[G >> 2] | 0
- : c[H >> 2] | 0;
- c[na >> 2] =
- (_m(
- ((c[A >> 2] | 0) + 4) | 0,
- ((c[la >> 2] | 0) + 4) | 0,
- c[H >> 2] | 0,
- c[ma >> 2] | 0,
- c[F >> 2] | 0
- ) |
- 0) +
- 4;
- c[oa >> 2] = c[K >> 2];
- c[K >> 2] = c[J >> 2];
- c[J >> 2] = c[oa >> 2];
- $m(
- c[m >> 2] | 0,
- 0,
- c[B >> 2] | 0,
- 0,
- ((c[na >> 2] | 0) - 3) | 0
- );
- k = c[ja >> 2] | 0;
- q = c[u >> 2] | 0;
- c[
- (q +
- ((Dk(
- c[A >> 2] | 0,
- c[v >> 2] | 0,
- c[r >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = k;
- k = c[ja >> 2] | 0;
- q = c[s >> 2] | 0;
- c[
- (q +
- ((Dk(c[A >> 2] | 0, c[t >> 2] | 0, 8) | 0) <<
- 2)) >>
- 2
- ] = k;
- c[A >> 2] = (c[A >> 2] | 0) + (c[na >> 2] | 0);
- c[B >> 2] = c[A >> 2];
- }
- }
- } while (0);
- }
- c[c[n >> 2] >> 2] = c[J >> 2];
- c[((c[n >> 2] | 0) + 4) >> 2] = c[K >> 2];
- l = j;
- return ((c[H >> 2] | 0) - (c[B >> 2] | 0)) | 0;
- }
- function _m(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if (
- (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[k >> 2] | 0) >>> 0
- )
- q =
- ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0;
- else q = c[k >> 2] | 0;
- c[o >> 2] = q;
- c[p >> 2] =
- cn(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
- o = c[p >> 2] | 0;
- if (
- (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
- (c[m >> 2] | 0)
- ) {
- c[h >> 2] = o;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- c[h >> 2] =
- o +
- (cn(
- ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0
- ) |
- 0);
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- return 0;
- }
- function $m(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- an(
- c[((c[i >> 2] | 0) + 12) >> 2] | 0,
- c[k >> 2] | 0,
- c[j >> 2] | 0
- );
- k = ((c[i >> 2] | 0) + 12) | 0;
- c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
- if ((c[j >> 2] | 0) >>> 0 > 65535) {
- c[((c[i >> 2] | 0) + 28) >> 2] = 1;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- }
- b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
- c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
- if ((c[n >> 2] | 0) >>> 0 <= 65535) {
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- c[((c[i >> 2] | 0) + 28) >> 2] = 2;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- function an(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- bn(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function bn(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function cn(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = c[h >> 2];
- c[m >> 2] = (c[j >> 2] | 0) + -3;
- a: do {
- if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
- e = dn(c[i >> 2] | 0) | 0;
- c[n >> 2] = e ^ (dn(c[h >> 2] | 0) | 0);
- if (c[n >> 2] | 0) {
- c[g >> 2] = en(c[n >> 2] | 0) | 0;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- while (1) {
- if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
- break a;
- e = dn(c[i >> 2] | 0) | 0;
- c[o >> 2] = e ^ (dn(c[h >> 2] | 0) | 0);
- if (c[o >> 2] | 0) break;
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- e = en(c[o >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + e;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- } while (0);
- if (
- (
- fn() | 0
- ? (c[h >> 2] | 0) >>> 0 <
- (((c[j >> 2] | 0) + -3) | 0) >>> 0
- : 0
- )
- ? ((o = Rk(c[i >> 2] | 0) | 0),
- (o | 0) == (Rk(c[h >> 2] | 0) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
- ? ((o = (gn(c[i >> 2] | 0) | 0) & 65535),
- (o | 0) == (((gn(c[h >> 2] | 0) | 0) & 65535) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 2;
- c[i >> 2] = (c[i >> 2] | 0) + 2;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? (d[c[i >> 2] >> 0] | 0 | 0) ==
- (d[c[h >> 2] >> 0] | 0 | 0)
- : 0
- )
- c[h >> 2] = (c[h >> 2] | 0) + 1;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- function dn(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function en(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (Lk() | 0) != 0;
- f = (fn() | 0) != 0;
- g = c[e >> 2] | 0;
- do {
- if (a) {
- if (f) {
- e = ob(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (fE(g | 0) | 0) >> 3;
- break;
- }
- } else if (f) {
- e = lE(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (Q(g | 0) | 0) >> 3;
- break;
- }
- } while (0);
- l = b;
- return c[d >> 2] | 0;
- }
- function fn() {
- return 0;
- }
- function gn(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function hn(a, b, e, f, g, h, i, j) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0;
- k = l;
- l = (l + 176) | 0;
- m = (k + 164) | 0;
- n = (k + 160) | 0;
- o = (k + 156) | 0;
- p = (k + 152) | 0;
- q = (k + 148) | 0;
- r = (k + 144) | 0;
- s = (k + 140) | 0;
- t = (k + 136) | 0;
- u = (k + 132) | 0;
- v = (k + 128) | 0;
- w = (k + 124) | 0;
- x = (k + 120) | 0;
- y = (k + 116) | 0;
- z = (k + 112) | 0;
- A = (k + 108) | 0;
- B = (k + 104) | 0;
- C = (k + 100) | 0;
- D = (k + 96) | 0;
- E = (k + 92) | 0;
- F = (k + 88) | 0;
- G = (k + 84) | 0;
- H = (k + 80) | 0;
- I = (k + 76) | 0;
- J = (k + 72) | 0;
- K = (k + 68) | 0;
- L = (k + 64) | 0;
- M = (k + 60) | 0;
- N = (k + 56) | 0;
- O = (k + 52) | 0;
- P = (k + 48) | 0;
- Q = (k + 44) | 0;
- R = (k + 40) | 0;
- S = (k + 36) | 0;
- T = (k + 32) | 0;
- U = (k + 28) | 0;
- V = (k + 24) | 0;
- W = (k + 20) | 0;
- X = (k + 16) | 0;
- Y = (k + 12) | 0;
- Z = (k + 8) | 0;
- _ = (k + 4) | 0;
- $ = k;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = j;
- c[u >> 2] = c[((c[m >> 2] | 0) + 36) >> 2];
- c[v >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[w >> 2] = c[((c[m >> 2] | 0) + 8) >> 2];
- c[x >> 2] = c[p >> 2];
- c[y >> 2] = c[x >> 2];
- c[z >> 2] = c[x >> 2];
- c[A >> 2] = c[((c[m >> 2] | 0) + 16) >> 2];
- c[B >> 2] = (c[w >> 2] | 0) + (c[A >> 2] | 0);
- c[C >> 2] = c[((c[m >> 2] | 0) + 12) >> 2];
- c[D >> 2] = (c[v >> 2] | 0) + (c[C >> 2] | 0);
- c[E >> 2] = (c[w >> 2] | 0) + (c[C >> 2] | 0);
- c[F >> 2] = (c[x >> 2] | 0) + (c[q >> 2] | 0);
- c[G >> 2] = (c[F >> 2] | 0) + -8;
- c[H >> 2] = c[c[o >> 2] >> 2];
- c[I >> 2] = c[((c[o >> 2] | 0) + 4) >> 2];
- a: while (1) {
- if ((c[y >> 2] | 0) >>> 0 >= (c[G >> 2] | 0) >>> 0) break;
- c[J >> 2] =
- Tk(c[y >> 2] | 0, c[r >> 2] | 0, c[t >> 2] | 0) | 0;
- c[K >> 2] = c[((c[u >> 2] | 0) + (c[J >> 2] << 2)) >> 2];
- c[L >> 2] =
- (c[K >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
- ? c[w >> 2] | 0
- : c[v >> 2] | 0;
- c[M >> 2] = (c[L >> 2] | 0) + (c[K >> 2] | 0);
- c[N >> 2] = (c[y >> 2] | 0) - (c[v >> 2] | 0);
- c[O >> 2] = (c[N >> 2] | 0) + 1 - (c[H >> 2] | 0);
- c[P >> 2] =
- (c[O >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
- ? c[w >> 2] | 0
- : c[v >> 2] | 0;
- c[Q >> 2] = (c[P >> 2] | 0) + (c[O >> 2] | 0);
- c[((c[u >> 2] | 0) + (c[J >> 2] << 2)) >> 2] = c[N >> 2];
- if (
- ((c[O >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
- ? (((c[C >> 2] | 0) - 1 - (c[O >> 2] | 0)) | 0) >>> 0 >=
- 3
- : 0) | 0
- ? ((q = fl(c[Q >> 2] | 0) | 0),
- (q | 0) == (fl(((c[y >> 2] | 0) + 1) | 0) | 0))
- : 0
- ) {
- c[S >> 2] =
- (c[O >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
- ? c[E >> 2] | 0
- : c[F >> 2] | 0;
- c[R >> 2] =
- (jn(
- ((c[y >> 2] | 0) + 1 + 4) | 0,
- ((c[Q >> 2] | 0) + 4) | 0,
- c[F >> 2] | 0,
- c[S >> 2] | 0,
- c[D >> 2] | 0
- ) |
- 0) +
- 4;
- c[y >> 2] = (c[y >> 2] | 0) + 1;
- kn(
- c[n >> 2] | 0,
- ((c[y >> 2] | 0) - (c[z >> 2] | 0)) | 0,
- c[z >> 2] | 0,
- 0,
- ((c[R >> 2] | 0) - 3) | 0
- );
- } else aa = 6;
- do {
- if ((aa | 0) == 6) {
- aa = 0;
- if (
- (c[K >> 2] | 0) >>> 0 >= (c[A >> 2] | 0) >>> 0
- ? ((q = fl(c[M >> 2] | 0) | 0),
- (q | 0) == (fl(c[y >> 2] | 0) | 0))
- : 0
- ) {
- c[T >> 2] =
- (c[K >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
- ? c[E >> 2] | 0
- : c[F >> 2] | 0;
- c[U >> 2] =
- (c[K >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[D >> 2] | 0;
- c[R >> 2] =
- (jn(
- ((c[y >> 2] | 0) + 4) | 0,
- ((c[M >> 2] | 0) + 4) | 0,
- c[F >> 2] | 0,
- c[T >> 2] | 0,
- c[D >> 2] | 0
- ) |
- 0) +
- 4;
- while (1) {
- if (
- !(
- ((c[y >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (c[M >> 2] | 0) >>> 0 >
- (c[U >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[y >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[M >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[y >> 2] = (c[y >> 2] | 0) + -1;
- c[M >> 2] = (c[M >> 2] | 0) + -1;
- c[R >> 2] = (c[R >> 2] | 0) + 1;
- }
- c[V >> 2] = (c[N >> 2] | 0) - (c[K >> 2] | 0);
- c[I >> 2] = c[H >> 2];
- c[H >> 2] = c[V >> 2];
- kn(
- c[n >> 2] | 0,
- ((c[y >> 2] | 0) - (c[z >> 2] | 0)) | 0,
- c[z >> 2] | 0,
- ((c[V >> 2] | 0) + 2) | 0,
- ((c[R >> 2] | 0) - 3) | 0
- );
- break;
- }
- c[y >> 2] =
- (c[y >> 2] | 0) +
- ((((c[y >> 2] | 0) - (c[z >> 2] | 0)) >> 8) +
- (c[s >> 2] | 0));
- continue a;
- }
- } while (0);
- c[y >> 2] = (c[y >> 2] | 0) + (c[R >> 2] | 0);
- c[z >> 2] = c[y >> 2];
- b: do {
- if ((c[y >> 2] | 0) >>> 0 <= (c[G >> 2] | 0) >>> 0) {
- q = ((c[N >> 2] | 0) + 2) | 0;
- x = c[u >> 2] | 0;
- c[
- (x +
- ((Tk(
- ((c[v >> 2] | 0) + (c[N >> 2] | 0) + 2) | 0,
- c[r >> 2] | 0,
- c[t >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = q;
- q = ((c[y >> 2] | 0) + -2 - (c[v >> 2] | 0)) | 0;
- x = c[u >> 2] | 0;
- c[
- (x +
- ((Tk(
- ((c[y >> 2] | 0) + -2) | 0,
- c[r >> 2] | 0,
- c[t >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = q;
- while (1) {
- if ((c[y >> 2] | 0) >>> 0 > (c[G >> 2] | 0) >>> 0)
- break b;
- c[W >> 2] = (c[y >> 2] | 0) - (c[v >> 2] | 0);
- c[X >> 2] = (c[W >> 2] | 0) - (c[I >> 2] | 0);
- c[Y >> 2] =
- (c[X >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
- ? ((c[w >> 2] | 0) + (c[X >> 2] | 0)) | 0
- : ((c[v >> 2] | 0) + (c[X >> 2] | 0)) | 0;
- if (
- !(
- ((c[X >> 2] | 0) >>> 0 > (c[A >> 2] | 0) >>> 0
- ? (((c[C >> 2] | 0) - 1 - (c[X >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0
- )
- )
- break b;
- q = fl(c[Y >> 2] | 0) | 0;
- if ((q | 0) != (fl(c[y >> 2] | 0) | 0)) break b;
- c[Z >> 2] =
- (c[X >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0
- ? c[E >> 2] | 0
- : c[F >> 2] | 0;
- c[_ >> 2] =
- (jn(
- ((c[y >> 2] | 0) + 4) | 0,
- ((c[Y >> 2] | 0) + 4) | 0,
- c[F >> 2] | 0,
- c[Z >> 2] | 0,
- c[D >> 2] | 0
- ) |
- 0) +
- 4;
- c[$ >> 2] = c[I >> 2];
- c[I >> 2] = c[H >> 2];
- c[H >> 2] = c[$ >> 2];
- kn(
- c[n >> 2] | 0,
- 0,
- c[z >> 2] | 0,
- 0,
- ((c[_ >> 2] | 0) - 3) | 0
- );
- q = c[W >> 2] | 0;
- x = c[u >> 2] | 0;
- c[
- (x +
- ((Tk(
- c[y >> 2] | 0,
- c[r >> 2] | 0,
- c[t >> 2] | 0
- ) |
- 0) <<
- 2)) >>
- 2
- ] = q;
- c[y >> 2] = (c[y >> 2] | 0) + (c[_ >> 2] | 0);
- c[z >> 2] = c[y >> 2];
- }
- }
- } while (0);
- }
- c[c[o >> 2] >> 2] = c[H >> 2];
- c[((c[o >> 2] | 0) + 4) >> 2] = c[I >> 2];
- l = k;
- return ((c[F >> 2] | 0) - (c[z >> 2] | 0)) | 0;
- }
- function jn(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if (
- (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[k >> 2] | 0) >>> 0
- )
- q =
- ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0;
- else q = c[k >> 2] | 0;
- c[o >> 2] = q;
- c[p >> 2] =
- nn(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
- o = c[p >> 2] | 0;
- if (
- (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
- (c[m >> 2] | 0)
- ) {
- c[h >> 2] = o;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- c[h >> 2] =
- o +
- (nn(
- ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0
- ) |
- 0);
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- return 0;
- }
- function kn(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- ln(
- c[((c[i >> 2] | 0) + 12) >> 2] | 0,
- c[k >> 2] | 0,
- c[j >> 2] | 0
- );
- k = ((c[i >> 2] | 0) + 12) | 0;
- c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
- if ((c[j >> 2] | 0) >>> 0 > 65535) {
- c[((c[i >> 2] | 0) + 28) >> 2] = 1;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- }
- b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
- c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
- if ((c[n >> 2] | 0) >>> 0 <= 65535) {
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- c[((c[i >> 2] | 0) + 28) >> 2] = 2;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- function ln(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- mn(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function mn(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function nn(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = c[h >> 2];
- c[m >> 2] = (c[j >> 2] | 0) + -3;
- a: do {
- if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
- e = on(c[i >> 2] | 0) | 0;
- c[n >> 2] = e ^ (on(c[h >> 2] | 0) | 0);
- if (c[n >> 2] | 0) {
- c[g >> 2] = pn(c[n >> 2] | 0) | 0;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- while (1) {
- if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
- break a;
- e = on(c[i >> 2] | 0) | 0;
- c[o >> 2] = e ^ (on(c[h >> 2] | 0) | 0);
- if (c[o >> 2] | 0) break;
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- e = pn(c[o >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + e;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- } while (0);
- if (
- (
- qn() | 0
- ? (c[h >> 2] | 0) >>> 0 <
- (((c[j >> 2] | 0) + -3) | 0) >>> 0
- : 0
- )
- ? ((o = fl(c[i >> 2] | 0) | 0),
- (o | 0) == (fl(c[h >> 2] | 0) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
- ? ((o = (rn(c[i >> 2] | 0) | 0) & 65535),
- (o | 0) == (((rn(c[h >> 2] | 0) | 0) & 65535) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 2;
- c[i >> 2] = (c[i >> 2] | 0) + 2;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? (d[c[i >> 2] >> 0] | 0 | 0) ==
- (d[c[h >> 2] >> 0] | 0 | 0)
- : 0
- )
- c[h >> 2] = (c[h >> 2] | 0) + 1;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- function on(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function pn(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = ($k() | 0) != 0;
- f = (qn() | 0) != 0;
- g = c[e >> 2] | 0;
- do {
- if (a) {
- if (f) {
- e = ob(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (fE(g | 0) | 0) >> 3;
- break;
- }
- } else if (f) {
- e = lE(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (Q(g | 0) | 0) >> 3;
- break;
- }
- } while (0);
- l = b;
- return c[d >> 2] | 0;
- }
- function qn() {
- return 0;
- }
- function rn(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function sn(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- switch (c[((c[j >> 2] | 0) + 16) >> 2] | 0) {
- case 7:
- case 6: {
- c[h >> 2] =
- un(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 6
- ) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- case 5: {
- c[h >> 2] =
- un(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 5
- ) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- default: {
- c[h >> 2] =
- un(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 4
- ) | 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- }
- return 0;
- }
- function tn(a, b, e, f, g) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0;
- h = l;
- l = (l + 320) | 0;
- i = (h + 308) | 0;
- j = (h + 304) | 0;
- k = (h + 300) | 0;
- m = (h + 296) | 0;
- n = (h + 292) | 0;
- o = (h + 288) | 0;
- p = (h + 284) | 0;
- q = (h + 280) | 0;
- r = (h + 276) | 0;
- s = (h + 272) | 0;
- t = (h + 268) | 0;
- u = (h + 264) | 0;
- v = (h + 260) | 0;
- w = (h + 256) | 0;
- x = (h + 252) | 0;
- y = (h + 248) | 0;
- z = (h + 244) | 0;
- A = (h + 240) | 0;
- B = (h + 236) | 0;
- C = (h + 232) | 0;
- D = (h + 228) | 0;
- E = (h + 224) | 0;
- F = (h + 220) | 0;
- G = (h + 216) | 0;
- H = (h + 212) | 0;
- I = (h + 208) | 0;
- J = (h + 204) | 0;
- K = (h + 200) | 0;
- L = (h + 196) | 0;
- M = (h + 192) | 0;
- N = (h + 188) | 0;
- O = (h + 184) | 0;
- P = (h + 180) | 0;
- Q = (h + 176) | 0;
- R = (h + 172) | 0;
- S = (h + 168) | 0;
- T = (h + 164) | 0;
- U = (h + 160) | 0;
- V = (h + 156) | 0;
- W = (h + 152) | 0;
- X = (h + 148) | 0;
- Y = (h + 144) | 0;
- Z = (h + 140) | 0;
- _ = (h + 136) | 0;
- $ = (h + 132) | 0;
- aa = (h + 128) | 0;
- ba = (h + 124) | 0;
- ca = (h + 120) | 0;
- da = (h + 116) | 0;
- ea = (h + 112) | 0;
- fa = (h + 108) | 0;
- ga = (h + 104) | 0;
- ha = (h + 100) | 0;
- ia = (h + 96) | 0;
- ja = (h + 92) | 0;
- ka = (h + 88) | 0;
- la = (h + 84) | 0;
- ma = (h + 80) | 0;
- na = (h + 76) | 0;
- oa = (h + 72) | 0;
- pa = (h + 68) | 0;
- qa = (h + 64) | 0;
- ra = (h + 60) | 0;
- sa = (h + 56) | 0;
- ta = (h + 52) | 0;
- ua = (h + 48) | 0;
- va = (h + 44) | 0;
- wa = (h + 40) | 0;
- xa = (h + 36) | 0;
- ya = (h + 32) | 0;
- za = (h + 28) | 0;
- Aa = (h + 24) | 0;
- Ba = (h + 20) | 0;
- Ca = (h + 16) | 0;
- Da = (h + 12) | 0;
- Ea = (h + 8) | 0;
- Fa = (h + 4) | 0;
- Ga = h;
- c[Ca >> 2] = a;
- c[Da >> 2] = b;
- c[Ea >> 2] = e;
- c[Fa >> 2] = f;
- c[Ga >> 2] = g;
- switch (c[((c[Da >> 2] | 0) + 16) >> 2] | 0) {
- case 7:
- case 6: {
- g = c[Da >> 2] | 0;
- f = c[Ea >> 2] | 0;
- e = c[Fa >> 2] | 0;
- b = c[Ga >> 2] | 0;
- c[i >> 2] = c[Ca >> 2];
- c[j >> 2] = g;
- c[k >> 2] = f;
- c[m >> 2] = e;
- c[n >> 2] = b;
- c[o >> 2] = 6;
- c[p >> 2] = 0;
- c[q >> 2] = c[((c[i >> 2] | 0) + 44) >> 2];
- c[r >> 2] = 1 << c[((c[j >> 2] | 0) + 4) >> 2];
- c[s >> 2] = (c[r >> 2] | 0) - 1;
- c[t >> 2] = c[((c[i >> 2] | 0) + 4) >> 2];
- c[u >> 2] = c[((c[i >> 2] | 0) + 8) >> 2];
- c[v >> 2] = c[((c[i >> 2] | 0) + 12) >> 2];
- c[w >> 2] = (c[t >> 2] | 0) + (c[v >> 2] | 0);
- c[x >> 2] = (c[u >> 2] | 0) + (c[v >> 2] | 0);
- c[y >> 2] = c[((c[i >> 2] | 0) + 16) >> 2];
- c[z >> 2] = (c[k >> 2] | 0) - (c[t >> 2] | 0);
- if ((c[z >> 2] | 0) >>> 0 > (c[r >> 2] | 0) >>> 0)
- Ha = ((c[z >> 2] | 0) - (c[r >> 2] | 0)) | 0;
- else Ha = 0;
- c[A >> 2] = Ha;
- c[B >> 2] = 1 << c[((c[j >> 2] | 0) + 12) >> 2];
- c[C >> 2] = 3;
- c[D >> 2] =
- mk(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- while (1) {
- if (
- !(
- ((c[B >> 2] | 0) >>> 0 > 0
- ? (c[D >> 2] | 0) >>> 0 > (c[y >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- c[E >> 2] = 0;
- if (
- c[p >> 2] | 0
- ? (c[D >> 2] | 0) >>> 0 < (c[v >> 2] | 0) >>> 0
- : 0
- ) {
- c[G >> 2] = (c[u >> 2] | 0) + (c[D >> 2] | 0);
- o = Bk(c[G >> 2] | 0) | 0;
- if ((o | 0) == (Bk(c[k >> 2] | 0) | 0))
- c[E >> 2] =
- (Lm(
- ((c[k >> 2] | 0) + 4) | 0,
- ((c[G >> 2] | 0) + 4) | 0,
- c[m >> 2] | 0,
- c[x >> 2] | 0,
- c[w >> 2] | 0
- ) |
- 0) +
- 4;
- } else Ia = 38;
- if (
- (Ia | 0) == 38
- ? ((Ia = 0),
- (c[F >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0)),
- (d[((c[F >> 2] | 0) + (c[C >> 2] | 0)) >> 0] |
- 0 |
- 0) ==
- (d[((c[k >> 2] | 0) + (c[C >> 2] | 0)) >> 0] |
- 0 |
- 0))
- : 0
- )
- c[E >> 2] =
- Qm(c[k >> 2] | 0, c[F >> 2] | 0, c[m >> 2] | 0) | 0;
- if (
- (c[E >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0
- ? ((c[C >> 2] = c[E >> 2]),
- (c[c[n >> 2] >> 2] =
- (c[z >> 2] | 0) - (c[D >> 2] | 0) + 2),
- (((c[k >> 2] | 0) + (c[E >> 2] | 0)) | 0) ==
- (c[m >> 2] | 0))
- : 0
- )
- break;
- if ((c[D >> 2] | 0) >>> 0 <= (c[A >> 2] | 0) >>> 0)
- break;
- c[D >> 2] =
- c[
- ((c[q >> 2] | 0) +
- ((c[D >> 2] & c[s >> 2]) << 2)) >>
- 2
- ];
- c[B >> 2] = (c[B >> 2] | 0) + -1;
- }
- c[Ba >> 2] = c[C >> 2];
- Ja = c[Ba >> 2] | 0;
- l = h;
- return Ja | 0;
- }
- case 5: {
- C = c[Da >> 2] | 0;
- B = c[Ea >> 2] | 0;
- s = c[Fa >> 2] | 0;
- D = c[Ga >> 2] | 0;
- c[H >> 2] = c[Ca >> 2];
- c[I >> 2] = C;
- c[J >> 2] = B;
- c[K >> 2] = s;
- c[L >> 2] = D;
- c[M >> 2] = 5;
- c[N >> 2] = 0;
- c[O >> 2] = c[((c[H >> 2] | 0) + 44) >> 2];
- c[P >> 2] = 1 << c[((c[I >> 2] | 0) + 4) >> 2];
- c[Q >> 2] = (c[P >> 2] | 0) - 1;
- c[R >> 2] = c[((c[H >> 2] | 0) + 4) >> 2];
- c[S >> 2] = c[((c[H >> 2] | 0) + 8) >> 2];
- c[T >> 2] = c[((c[H >> 2] | 0) + 12) >> 2];
- c[U >> 2] = (c[R >> 2] | 0) + (c[T >> 2] | 0);
- c[V >> 2] = (c[S >> 2] | 0) + (c[T >> 2] | 0);
- c[W >> 2] = c[((c[H >> 2] | 0) + 16) >> 2];
- c[X >> 2] = (c[J >> 2] | 0) - (c[R >> 2] | 0);
- if ((c[X >> 2] | 0) >>> 0 > (c[P >> 2] | 0) >>> 0)
- Ka = ((c[X >> 2] | 0) - (c[P >> 2] | 0)) | 0;
- else Ka = 0;
- c[Y >> 2] = Ka;
- c[Z >> 2] = 1 << c[((c[I >> 2] | 0) + 12) >> 2];
- c[_ >> 2] = 3;
- c[$ >> 2] =
- mk(
- c[H >> 2] | 0,
- c[I >> 2] | 0,
- c[J >> 2] | 0,
- c[M >> 2] | 0
- ) | 0;
- while (1) {
- if (
- !(
- ((c[Z >> 2] | 0) >>> 0 > 0
- ? (c[$ >> 2] | 0) >>> 0 > (c[W >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- c[aa >> 2] = 0;
- if (
- c[N >> 2] | 0
- ? (c[$ >> 2] | 0) >>> 0 < (c[T >> 2] | 0) >>> 0
- : 0
- ) {
- c[ca >> 2] = (c[S >> 2] | 0) + (c[$ >> 2] | 0);
- M = Bk(c[ca >> 2] | 0) | 0;
- if ((M | 0) == (Bk(c[J >> 2] | 0) | 0))
- c[aa >> 2] =
- (Lm(
- ((c[J >> 2] | 0) + 4) | 0,
- ((c[ca >> 2] | 0) + 4) | 0,
- c[K >> 2] | 0,
- c[V >> 2] | 0,
- c[U >> 2] | 0
- ) |
- 0) +
- 4;
- } else Ia = 23;
- if (
- (Ia | 0) == 23
- ? ((Ia = 0),
- (c[ba >> 2] = (c[R >> 2] | 0) + (c[$ >> 2] | 0)),
- (d[((c[ba >> 2] | 0) + (c[_ >> 2] | 0)) >> 0] |
- 0 |
- 0) ==
- (d[((c[J >> 2] | 0) + (c[_ >> 2] | 0)) >> 0] |
- 0 |
- 0))
- : 0
- )
- c[aa >> 2] =
- Qm(c[J >> 2] | 0, c[ba >> 2] | 0, c[K >> 2] | 0) |
- 0;
- if (
- (c[aa >> 2] | 0) >>> 0 > (c[_ >> 2] | 0) >>> 0
- ? ((c[_ >> 2] = c[aa >> 2]),
- (c[c[L >> 2] >> 2] =
- (c[X >> 2] | 0) - (c[$ >> 2] | 0) + 2),
- (((c[J >> 2] | 0) + (c[aa >> 2] | 0)) | 0) ==
- (c[K >> 2] | 0))
- : 0
- )
- break;
- if ((c[$ >> 2] | 0) >>> 0 <= (c[Y >> 2] | 0) >>> 0)
- break;
- c[$ >> 2] =
- c[
- ((c[O >> 2] | 0) +
- ((c[$ >> 2] & c[Q >> 2]) << 2)) >>
- 2
- ];
- c[Z >> 2] = (c[Z >> 2] | 0) + -1;
- }
- c[Ba >> 2] = c[_ >> 2];
- Ja = c[Ba >> 2] | 0;
- l = h;
- return Ja | 0;
- }
- default: {
- _ = c[Da >> 2] | 0;
- Da = c[Ea >> 2] | 0;
- Ea = c[Fa >> 2] | 0;
- Fa = c[Ga >> 2] | 0;
- c[da >> 2] = c[Ca >> 2];
- c[ea >> 2] = _;
- c[fa >> 2] = Da;
- c[ga >> 2] = Ea;
- c[ha >> 2] = Fa;
- c[ia >> 2] = 4;
- c[ja >> 2] = 0;
- c[ka >> 2] = c[((c[da >> 2] | 0) + 44) >> 2];
- c[la >> 2] = 1 << c[((c[ea >> 2] | 0) + 4) >> 2];
- c[ma >> 2] = (c[la >> 2] | 0) - 1;
- c[na >> 2] = c[((c[da >> 2] | 0) + 4) >> 2];
- c[oa >> 2] = c[((c[da >> 2] | 0) + 8) >> 2];
- c[pa >> 2] = c[((c[da >> 2] | 0) + 12) >> 2];
- c[qa >> 2] = (c[na >> 2] | 0) + (c[pa >> 2] | 0);
- c[ra >> 2] = (c[oa >> 2] | 0) + (c[pa >> 2] | 0);
- c[sa >> 2] = c[((c[da >> 2] | 0) + 16) >> 2];
- c[ta >> 2] = (c[fa >> 2] | 0) - (c[na >> 2] | 0);
- if ((c[ta >> 2] | 0) >>> 0 > (c[la >> 2] | 0) >>> 0)
- La = ((c[ta >> 2] | 0) - (c[la >> 2] | 0)) | 0;
- else La = 0;
- c[ua >> 2] = La;
- c[va >> 2] = 1 << c[((c[ea >> 2] | 0) + 12) >> 2];
- c[wa >> 2] = 3;
- c[xa >> 2] =
- mk(
- c[da >> 2] | 0,
- c[ea >> 2] | 0,
- c[fa >> 2] | 0,
- c[ia >> 2] | 0
- ) | 0;
- while (1) {
- if (
- !(
- ((c[va >> 2] | 0) >>> 0 > 0
- ? (c[xa >> 2] | 0) >>> 0 > (c[sa >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- c[ya >> 2] = 0;
- if (
- c[ja >> 2] | 0
- ? (c[xa >> 2] | 0) >>> 0 < (c[pa >> 2] | 0) >>> 0
- : 0
- ) {
- c[Aa >> 2] = (c[oa >> 2] | 0) + (c[xa >> 2] | 0);
- ia = Bk(c[Aa >> 2] | 0) | 0;
- if ((ia | 0) == (Bk(c[fa >> 2] | 0) | 0))
- c[ya >> 2] =
- (Lm(
- ((c[fa >> 2] | 0) + 4) | 0,
- ((c[Aa >> 2] | 0) + 4) | 0,
- c[ga >> 2] | 0,
- c[ra >> 2] | 0,
- c[qa >> 2] | 0
- ) |
- 0) +
- 4;
- } else Ia = 8;
- if (
- (Ia | 0) == 8
- ? ((Ia = 0),
- (c[za >> 2] =
- (c[na >> 2] | 0) + (c[xa >> 2] | 0)),
- (d[((c[za >> 2] | 0) + (c[wa >> 2] | 0)) >> 0] |
- 0 |
- 0) ==
- (d[((c[fa >> 2] | 0) + (c[wa >> 2] | 0)) >> 0] |
- 0 |
- 0))
- : 0
- )
- c[ya >> 2] =
- Qm(c[fa >> 2] | 0, c[za >> 2] | 0, c[ga >> 2] | 0) |
- 0;
- if (
- (c[ya >> 2] | 0) >>> 0 > (c[wa >> 2] | 0) >>> 0
- ? ((c[wa >> 2] = c[ya >> 2]),
- (c[c[ha >> 2] >> 2] =
- (c[ta >> 2] | 0) - (c[xa >> 2] | 0) + 2),
- (((c[fa >> 2] | 0) + (c[ya >> 2] | 0)) | 0) ==
- (c[ga >> 2] | 0))
- : 0
- )
- break;
- if ((c[xa >> 2] | 0) >>> 0 <= (c[ua >> 2] | 0) >>> 0)
- break;
- c[xa >> 2] =
- c[
- ((c[ka >> 2] | 0) +
- ((c[xa >> 2] & c[ma >> 2]) << 2)) >>
- 2
- ];
- c[va >> 2] = (c[va >> 2] | 0) + -1;
- }
- c[Ba >> 2] = c[wa >> 2];
- Ja = c[Ba >> 2] | 0;
- l = h;
- return Ja | 0;
- }
- }
- return 0;
- }
- function un(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 24) | 0;
- j = (h + 20) | 0;
- k = (h + 16) | 0;
- m = (h + 12) | 0;
- n = (h + 8) | 0;
- o = (h + 4) | 0;
- p = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- if (
- (c[m >> 2] | 0) >>> 0 <
- (((c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- c[i >> 2] = 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- } else {
- Wm(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[p >> 2] | 0
- );
- c[i >> 2] =
- Xm(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- 0
- ) | 0;
- q = c[i >> 2] | 0;
- l = h;
- return q | 0;
- }
- return 0;
- }
- function vn(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 16) | 0;
- i = (g + 12) | 0;
- j = (g + 8) | 0;
- k = (g + 4) | 0;
- m = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- f =
- wn(
- c[h >> 2] | 0,
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- 1,
- 0
- ) | 0;
- l = g;
- return f | 0;
- }
- function wn(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0;
- i = l;
- l = (l + 160) | 0;
- j = (i + 48) | 0;
- k = (i + 40) | 0;
- m = (i + 36) | 0;
- n = (i + 32) | 0;
- o = (i + 28) | 0;
- p = (i + 24) | 0;
- q = (i + 20) | 0;
- r = (i + 16) | 0;
- s = (i + 12) | 0;
- t = (i + 8) | 0;
- u = (i + 4) | 0;
- v = i;
- c[m >> 2] = a;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = (c[m >> 2] | 0) + 472 + 8;
- c[u >> 2] = 0;
- if (!(c[c[m >> 2] >> 2] | 0)) {
- c[k >> 2] = -60;
- w = c[k >> 2] | 0;
- l = i;
- return w | 0;
- }
- do {
- if (c[r >> 2] | 0 ? (c[c[m >> 2] >> 2] | 0) == 1 : 0) {
- h = c[n >> 2] | 0;
- g = c[o >> 2] | 0;
- f = ((c[m >> 2] | 0) + 116) | 0;
- e = ((c[m >> 2] | 0) + 240) | 0;
- d = eE(c[e >> 2] | 0, c[(e + 4) >> 2] | 0, 1, 0) | 0;
- e = y;
- b = c[((c[m >> 2] | 0) + 220) >> 2] | 0;
- a = j;
- x = f;
- f = (a + 104) | 0;
- do {
- c[a >> 2] = c[x >> 2];
- a = (a + 4) | 0;
- x = (x + 4) | 0;
- } while ((a | 0) < (f | 0));
- c[u >> 2] = xn(h, g, j, d, e, b) | 0;
- x = (Ph(c[u >> 2] | 0) | 0) != 0;
- a = c[u >> 2] | 0;
- if (!x) {
- c[o >> 2] = (c[o >> 2] | 0) - a;
- c[n >> 2] = (c[n >> 2] | 0) + (c[u >> 2] | 0);
- c[c[m >> 2] >> 2] = 2;
- break;
- }
- c[k >> 2] = a;
- w = c[k >> 2] | 0;
- l = i;
- return w | 0;
- }
- } while (0);
- if (!(c[q >> 2] | 0)) {
- c[k >> 2] = c[u >> 2];
- w = c[k >> 2] | 0;
- l = i;
- return w | 0;
- }
- if (!(Mj(c[t >> 2] | 0, c[p >> 2] | 0, c[q >> 2] | 0) | 0))
- c[((c[t >> 2] | 0) + 24) >> 2] =
- c[((c[t >> 2] | 0) + 12) >> 2];
- if (c[((c[m >> 2] | 0) + 116 + 68) >> 2] | 0)
- Mj(
- ((c[m >> 2] | 0) + 408) | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0
- ) | 0;
- t = c[m >> 2] | 0;
- j = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- p = c[q >> 2] | 0;
- if (c[r >> 2] | 0) z = yn(t, j, n, o, p, c[s >> 2] | 0) | 0;
- else z = zn(t, j, n, o, p) | 0;
- c[v >> 2] = z;
- if (Ph(c[v >> 2] | 0) | 0) {
- c[k >> 2] = c[v >> 2];
- w = c[k >> 2] | 0;
- l = i;
- return w | 0;
- }
- z = ((c[m >> 2] | 0) + 248) | 0;
- p = z;
- o =
- dE(c[p >> 2] | 0, c[(p + 4) >> 2] | 0, c[q >> 2] | 0, 0) |
- 0;
- q = z;
- c[q >> 2] = o;
- c[(q + 4) >> 2] = y;
- q = ((c[m >> 2] | 0) + 256) | 0;
- o = q;
- z =
- dE(
- c[o >> 2] | 0,
- c[(o + 4) >> 2] | 0,
- ((c[v >> 2] | 0) + (c[u >> 2] | 0)) | 0,
- 0
- ) | 0;
- o = q;
- c[o >> 2] = z;
- c[(o + 4) >> 2] = y;
- if (
- c[((c[m >> 2] | 0) + 116 + 32) >> 2] | 0
- ? ((o = ((c[m >> 2] | 0) + 248) | 0),
- (z = dE(c[o >> 2] | 0, c[(o + 4) >> 2] | 0, 1, 0) | 0),
- (o = y),
- (q = ((c[m >> 2] | 0) + 240) | 0),
- (m = c[(q + 4) >> 2] | 0),
- (o >>> 0 > m >>> 0) |
- ((o | 0) == (m | 0)
- ? z >>> 0 > (c[q >> 2] | 0) >>> 0
- : 0))
- : 0
- ) {
- c[k >> 2] = -72;
- w = c[k >> 2] | 0;
- l = i;
- return w | 0;
- }
- c[k >> 2] = (c[v >> 2] | 0) + (c[u >> 2] | 0);
- w = c[k >> 2] | 0;
- l = i;
- return w | 0;
- }
- function xn(b, d, e, f, g, h) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0;
- i = l;
- l = (l + 64) | 0;
- j = (i + 52) | 0;
- k = (i + 48) | 0;
- m = (i + 44) | 0;
- n = i;
- o = (i + 40) | 0;
- p = (i + 36) | 0;
- q = (i + 32) | 0;
- r = (i + 28) | 0;
- s = (i + 24) | 0;
- t = (i + 20) | 0;
- u = (i + 16) | 0;
- v = (i + 57) | 0;
- w = (i + 12) | 0;
- x = (i + 56) | 0;
- y = (i + 8) | 0;
- c[k >> 2] = b;
- c[m >> 2] = d;
- d = n;
- c[d >> 2] = f;
- c[(d + 4) >> 2] = g;
- c[o >> 2] = h;
- c[p >> 2] = c[k >> 2];
- c[q >> 2] =
- (((c[o >> 2] | 0) >>> 0 > 0) & 1) +
- (((c[o >> 2] | 0) >>> 0 >= 256) & 1) +
- (((c[o >> 2] | 0) >>> 0 >= 65536) & 1);
- c[r >> 2] = c[(e + 32 + 8) >> 2] | 0 ? 0 : c[q >> 2] | 0;
- c[s >> 2] = ((c[(e + 32 + 4) >> 2] | 0) >>> 0 > 0) & 1;
- c[t >> 2] = 1 << c[(e + 4) >> 2];
- if (c[(e + 32) >> 2] | 0) {
- q = n;
- h = c[(q + 4) >> 2] | 0;
- z =
- (0 > h >>> 0) |
- (0 == (h | 0)
- ? (c[t >> 2] | 0) >>> 0 >= (c[q >> 2] | 0) >>> 0
- : 0);
- } else z = 0;
- c[u >> 2] = z & 1;
- a[v >> 0] = ((c[(e + 4) >> 2] | 0) - 10) << 3;
- if (c[(e + 32) >> 2] | 0) {
- z = n;
- q = c[(z + 4) >> 2] | 0;
- t = n;
- h = c[(t + 4) >> 2] | 0;
- g = n;
- d = c[(g + 4) >> 2] | 0;
- A =
- ((((q >>> 0 > 0) |
- (((q | 0) == 0) & ((c[z >> 2] | 0) >>> 0 >= 256))) &
- 1) +
- (((h >>> 0 > 0) |
- (((h | 0) == 0) & ((c[t >> 2] | 0) >>> 0 >= 65792))) &
- 1) +
- (((d >>> 0 > 0) |
- (((d | 0) == 0) &
- ((c[g >> 2] | 0) >>> 0 >= 4294967295))) &
- 1)) |
- 0;
- } else A = 0;
- c[w >> 2] = A;
- a[x >> 0] =
- (c[r >> 2] | 0) +
- (c[s >> 2] << 2) +
- (c[u >> 2] << 5) +
- (c[w >> 2] << 6);
- c[y >> 2] = 0;
- if ((c[m >> 2] | 0) >>> 0 < 18) {
- c[j >> 2] = -70;
- B = c[j >> 2] | 0;
- l = i;
- return B | 0;
- }
- if (!(c[e >> 2] | 0)) {
- Pl(c[k >> 2] | 0, -47205080);
- c[y >> 2] = 4;
- }
- k = a[x >> 0] | 0;
- x = c[p >> 2] | 0;
- e = c[y >> 2] | 0;
- c[y >> 2] = e + 1;
- a[(x + e) >> 0] = k;
- if (!(c[u >> 2] | 0)) {
- k = a[v >> 0] | 0;
- v = c[p >> 2] | 0;
- e = c[y >> 2] | 0;
- c[y >> 2] = e + 1;
- a[(v + e) >> 0] = k;
- }
- switch (c[r >> 2] | 0) {
- case 3: {
- Pl(
- ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0,
- c[o >> 2] | 0
- );
- c[y >> 2] = (c[y >> 2] | 0) + 4;
- break;
- }
- case 1: {
- a[((c[p >> 2] | 0) + (c[y >> 2] | 0)) >> 0] = c[o >> 2];
- c[y >> 2] = (c[y >> 2] | 0) + 1;
- break;
- }
- case 2: {
- xl(
- ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0,
- c[o >> 2] & 65535
- );
- c[y >> 2] = (c[y >> 2] | 0) + 2;
- break;
- }
- default: {
- }
- }
- switch (c[w >> 2] | 0) {
- case 3: {
- w = n;
- Ql(
- ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0,
- c[w >> 2] | 0,
- c[(w + 4) >> 2] | 0
- );
- c[y >> 2] = (c[y >> 2] | 0) + 8;
- break;
- }
- case 1: {
- w = ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0;
- o = n;
- xl(
- w,
- (eE(c[o >> 2] | 0, c[(o + 4) >> 2] | 0, 256, 0) | 0) &
- 65535
- );
- c[y >> 2] = (c[y >> 2] | 0) + 2;
- break;
- }
- case 2: {
- Pl(
- ((c[p >> 2] | 0) + (c[y >> 2] | 0)) | 0,
- c[n >> 2] | 0
- );
- c[y >> 2] = (c[y >> 2] | 0) + 4;
- break;
- }
- default:
- if (c[u >> 2] | 0) {
- u = c[n >> 2] & 255;
- n = c[p >> 2] | 0;
- p = c[y >> 2] | 0;
- c[y >> 2] = p + 1;
- a[(n + p) >> 0] = u;
- }
- }
- c[j >> 2] = c[y >> 2];
- B = c[j >> 2] | 0;
- l = i;
- return B | 0;
- }
- function yn(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0;
- h = l;
- l = (l + 112) | 0;
- i = (h + 80) | 0;
- j = (h + 76) | 0;
- k = (h + 72) | 0;
- m = (h + 68) | 0;
- n = (h + 64) | 0;
- o = (h + 60) | 0;
- p = (h + 56) | 0;
- q = (h + 52) | 0;
- r = (h + 48) | 0;
- s = (h + 44) | 0;
- t = (h + 40) | 0;
- u = (h + 36) | 0;
- v = (h + 32) | 0;
- w = (h + 28) | 0;
- x = (h + 24) | 0;
- y = (h + 20) | 0;
- z = (h + 16) | 0;
- A = (h + 12) | 0;
- B = (h + 8) | 0;
- C = (h + 4) | 0;
- D = h;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = c[((c[k >> 2] | 0) + 232) >> 2];
- c[s >> 2] = c[p >> 2];
- c[t >> 2] = c[o >> 2];
- c[u >> 2] = c[m >> 2];
- c[v >> 2] = c[u >> 2];
- c[w >> 2] = 1 << c[((c[k >> 2] | 0) + 116 + 4) >> 2];
- if (
- c[p >> 2] | 0
- ? (c[((c[k >> 2] | 0) + 116 + 32 + 4) >> 2] | 0) != 0
- : 0
- )
- Nh(
- ((c[k >> 2] | 0) + 264) | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- while (1) {
- if (!(c[s >> 2] | 0)) {
- E = 24;
- break;
- }
- c[x >> 2] = (c[k >> 2] | 0) + 472 + 8;
- c[y >> 2] =
- c[q >> 2] &
- ((c[r >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0);
- if ((c[n >> 2] | 0) >>> 0 < 6) {
- E = 6;
- break;
- }
- if ((c[s >> 2] | 0) >>> 0 < (c[r >> 2] | 0) >>> 0)
- c[r >> 2] = c[s >> 2];
- p = c[x >> 2] | 0;
- o = ((c[t >> 2] | 0) + (c[r >> 2] | 0)) | 0;
- c[i >> 2] = c[p >> 2];
- c[(i + 4) >> 2] = c[(p + 4) >> 2];
- c[(i + 8) >> 2] = c[(p + 8) >> 2];
- c[(i + 12) >> 2] = c[(p + 12) >> 2];
- c[(i + 16) >> 2] = c[(p + 16) >> 2];
- if (ro(i, o) | 0) {
- c[z >> 2] =
- vj(
- c[((c[k >> 2] | 0) + 116 + 4 + 4) >> 2] | 0,
- c[((c[k >> 2] | 0) + 116 + 4 + 24) >> 2] | 0
- ) | 0;
- c[A >> 2] =
- so(
- c[x >> 2] | 0,
- c[z >> 2] | 0,
- c[w >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- to(c[k >> 2] | 0, c[A >> 2] | 0);
- if (
- (c[((c[x >> 2] | 0) + 24) >> 2] | 0) >>> 0 <
- (c[A >> 2] | 0) >>> 0
- )
- c[((c[x >> 2] | 0) + 24) >> 2] = 0;
- else {
- o = ((c[x >> 2] | 0) + 24) | 0;
- c[o >> 2] = (c[o >> 2] | 0) - (c[A >> 2] | 0);
- }
- c[((c[x >> 2] | 0) + 20) >> 2] = 0;
- }
- uo(
- c[x >> 2] | 0,
- ((c[t >> 2] | 0) + (c[r >> 2] | 0)) | 0,
- c[w >> 2] | 0,
- ((c[x >> 2] | 0) + 20) | 0
- );
- if (
- (c[((c[x >> 2] | 0) + 24) >> 2] | 0) >>> 0 <
- (c[((c[x >> 2] | 0) + 16) >> 2] | 0) >>> 0
- )
- c[((c[x >> 2] | 0) + 24) >> 2] =
- c[((c[x >> 2] | 0) + 16) >> 2];
- c[B >> 2] =
- zn(
- c[k >> 2] | 0,
- ((c[v >> 2] | 0) + 3) | 0,
- ((c[n >> 2] | 0) - 3) | 0,
- c[t >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- o = (Ph(c[B >> 2] | 0) | 0) != 0;
- F = c[B >> 2] | 0;
- if (o) {
- E = 17;
- break;
- }
- o = c[y >> 2] | 0;
- if (!F) {
- c[C >> 2] = o + 0 + (c[r >> 2] << 3);
- if (
- (((c[r >> 2] | 0) + 3) | 0) >>> 0 >
- (c[n >> 2] | 0) >>> 0
- ) {
- E = 20;
- break;
- }
- Pl(c[v >> 2] | 0, c[C >> 2] | 0);
- mE(
- ((c[v >> 2] | 0) + 3) | 0,
- c[t >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- c[B >> 2] = 3 + (c[r >> 2] | 0);
- } else {
- c[D >> 2] = o + 4 + (c[B >> 2] << 3);
- wl(c[v >> 2] | 0, c[D >> 2] | 0);
- c[B >> 2] = (c[B >> 2] | 0) + 3;
- }
- c[t >> 2] = (c[t >> 2] | 0) + (c[r >> 2] | 0);
- c[s >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- c[v >> 2] = (c[v >> 2] | 0) + (c[B >> 2] | 0);
- c[n >> 2] = (c[n >> 2] | 0) - (c[B >> 2] | 0);
- }
- if ((E | 0) == 6) {
- c[j >> 2] = -70;
- G = c[j >> 2] | 0;
- l = h;
- return G | 0;
- } else if ((E | 0) == 17) {
- c[j >> 2] = F;
- G = c[j >> 2] | 0;
- l = h;
- return G | 0;
- } else if ((E | 0) == 20) {
- c[j >> 2] = -70;
- G = c[j >> 2] | 0;
- l = h;
- return G | 0;
- } else if ((E | 0) == 24) {
- if (
- c[q >> 2] | 0
- ? (c[v >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
- : 0
- )
- c[c[k >> 2] >> 2] = 3;
- c[j >> 2] = (c[v >> 2] | 0) - (c[u >> 2] | 0);
- G = c[j >> 2] | 0;
- l = h;
- return G | 0;
- }
- return 0;
- }
- function zn(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0;
- g = l;
- l = (l + 112) | 0;
- h = (g + 92) | 0;
- i = (g + 88) | 0;
- j = (g + 84) | 0;
- k = (g + 80) | 0;
- m = (g + 76) | 0;
- n = (g + 72) | 0;
- o = (g + 68) | 0;
- p = (g + 64) | 0;
- q = (g + 60) | 0;
- r = (g + 56) | 0;
- s = (g + 52) | 0;
- t = (g + 48) | 0;
- u = (g + 44) | 0;
- v = (g + 40) | 0;
- w = (g + 24) | 0;
- x = (g + 16) | 0;
- y = (g + 12) | 0;
- z = (g + 8) | 0;
- A = (g + 4) | 0;
- B = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = (c[j >> 2] | 0) + 472 + 8;
- f = c[j >> 2] | 0;
- if ((c[o >> 2] | 0) >>> 0 < 7) {
- An(
- (f + 456) | 0,
- c[o >> 2] | 0,
- c[((c[j >> 2] | 0) + 116 + 4 + 16) >> 2] | 0
- );
- c[i >> 2] = 0;
- C = c[i >> 2] | 0;
- l = g;
- return C | 0;
- }
- Bn((f + 368) | 0);
- c[q >> 2] = c[((c[p >> 2] | 0) + 4) >> 2];
- c[r >> 2] = c[n >> 2];
- c[s >> 2] = (c[r >> 2] | 0) - (c[q >> 2] | 0);
- if (
- (c[s >> 2] | 0) >>> 0 >
- (((c[((c[p >> 2] | 0) + 24) >> 2] | 0) + 384) | 0) >>> 0
- ) {
- if (
- 192 <
- (((c[s >> 2] | 0) -
- (c[((c[p >> 2] | 0) + 24) >> 2] | 0) -
- 384) |
- 0) >>>
- 0
- )
- D = 192;
- else
- D =
- ((c[s >> 2] | 0) -
- (c[((c[p >> 2] | 0) + 24) >> 2] | 0) -
- 384) |
- 0;
- c[((c[p >> 2] | 0) + 24) >> 2] = (c[s >> 2] | 0) - D;
- }
- D = c[p >> 2] | 0;
- c[h >> 2] = c[D >> 2];
- c[(h + 4) >> 2] = c[(D + 4) >> 2];
- c[(h + 8) >> 2] = c[(D + 8) >> 2];
- c[(h + 12) >> 2] = c[(D + 12) >> 2];
- c[(h + 16) >> 2] = c[(D + 16) >> 2];
- c[t >> 2] = Cn(h) | 0;
- c[v >> 2] = 0;
- while (1) {
- E = c[j >> 2] | 0;
- if ((c[v >> 2] | 0) >= 3) break;
- c[
- ((c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0) +
- 4580 +
- (c[v >> 2] << 2)) >>
- 2
- ] =
- c[
- ((c[(E + 472) >> 2] | 0) + 4580 + (c[v >> 2] << 2)) >> 2
- ];
- c[v >> 2] = (c[v >> 2] | 0) + 1;
- }
- v = c[j >> 2] | 0;
- do {
- if (
- (c[(E + 456 + 4) >> 2] | 0) >>> 0 <
- (c[((c[j >> 2] | 0) + 456 + 8) >> 2] | 0) >>> 0
- )
- c[u >> 2] =
- Dn(
- (v + 456) | 0,
- c[p >> 2] | 0,
- ((c[j >> 2] | 0) + 368) | 0,
- ((c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0) + 4580) |
- 0,
- ((c[j >> 2] | 0) + 116 + 4) | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- else {
- if (!(c[(v + 116 + 68) >> 2] | 0)) {
- c[y >> 2] =
- Wl(
- c[((c[j >> 2] | 0) + 116 + 4 + 24) >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- c[u >> 2] =
- uc[c[y >> 2] & 31](
- c[p >> 2] | 0,
- ((c[j >> 2] | 0) + 368) | 0,
- ((c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0) + 4580) |
- 0,
- ((c[j >> 2] | 0) + 116 + 4) | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- break;
- }
- c[w >> 2] = 0;
- c[(w + 4) >> 2] = 0;
- c[(w + 8) >> 2] = 0;
- c[(w + 12) >> 2] = 0;
- c[w >> 2] = c[((c[j >> 2] | 0) + 448) >> 2];
- c[(w + 12) >> 2] = c[((c[j >> 2] | 0) + 452) >> 2];
- c[x >> 2] =
- En(
- ((c[j >> 2] | 0) + 408) | 0,
- w,
- ((c[j >> 2] | 0) + 116 + 68) | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- if (!(wj(c[x >> 2] | 0) | 0)) {
- c[u >> 2] =
- Dn(
- w,
- c[p >> 2] | 0,
- ((c[j >> 2] | 0) + 368) | 0,
- ((c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0) + 4580) |
- 0,
- ((c[j >> 2] | 0) + 116 + 4) | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- break;
- }
- c[i >> 2] = c[x >> 2];
- C = c[i >> 2] | 0;
- l = g;
- return C | 0;
- }
- } while (0);
- c[z >> 2] =
- (c[n >> 2] | 0) + (c[o >> 2] | 0) + (0 - (c[u >> 2] | 0));
- Fn(((c[j >> 2] | 0) + 368) | 0, c[z >> 2] | 0, c[u >> 2] | 0);
- c[A >> 2] =
- Gn(
- ((c[j >> 2] | 0) + 368) | 0,
- c[((c[j >> 2] | 0) + 472) >> 2] | 0,
- c[((c[j >> 2] | 0) + 472 + 4) >> 2] | 0,
- ((c[j >> 2] | 0) + 116) | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[o >> 2] | 0,
- c[((c[j >> 2] | 0) + 588) >> 2] | 0,
- c[((c[j >> 2] | 0) + 8) >> 2] | 0
- ) | 0;
- o = (Ph(c[A >> 2] | 0) | 0) != 0;
- if (o | ((c[A >> 2] | 0) == 0)) {
- c[i >> 2] = c[A >> 2];
- C = c[i >> 2] | 0;
- l = g;
- return C | 0;
- } else {
- c[B >> 2] = c[((c[j >> 2] | 0) + 472) >> 2];
- c[((c[j >> 2] | 0) + 472) >> 2] =
- c[((c[j >> 2] | 0) + 472 + 4) >> 2];
- c[((c[j >> 2] | 0) + 472 + 4) >> 2] = c[B >> 2];
- c[i >> 2] = c[A >> 2];
- C = c[i >> 2] | 0;
- l = g;
- return C | 0;
- }
- return 0;
- }
- function An(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- while (1) {
- if ((c[g >> 2] | 0) >>> 0 <= 0) {
- j = 12;
- break;
- }
- if (
- (c[((c[f >> 2] | 0) + 4) >> 2] | 0) >>> 0 >=
- (c[((c[f >> 2] | 0) + 8) >> 2] | 0) >>> 0
- ) {
- j = 12;
- break;
- }
- c[i >> 2] =
- (c[c[f >> 2] >> 2] | 0) +
- (((c[((c[f >> 2] | 0) + 4) >> 2] | 0) * 12) | 0);
- if (
- (c[g >> 2] | 0) >>> 0 <=
- (c[((c[i >> 2] | 0) + 4) >> 2] | 0) >>> 0
- ) {
- j = 5;
- break;
- }
- c[g >> 2] =
- (c[g >> 2] | 0) - (c[((c[i >> 2] | 0) + 4) >> 2] | 0);
- c[((c[i >> 2] | 0) + 4) >> 2] = 0;
- if (
- (c[g >> 2] | 0) >>> 0 <
- (c[((c[i >> 2] | 0) + 8) >> 2] | 0) >>> 0
- ) {
- j = 7;
- break;
- }
- c[g >> 2] =
- (c[g >> 2] | 0) - (c[((c[i >> 2] | 0) + 8) >> 2] | 0);
- c[((c[i >> 2] | 0) + 8) >> 2] = 0;
- d = ((c[f >> 2] | 0) + 4) | 0;
- c[d >> 2] = (c[d >> 2] | 0) + 1;
- }
- if ((j | 0) == 5) {
- d = ((c[i >> 2] | 0) + 4) | 0;
- c[d >> 2] = (c[d >> 2] | 0) - (c[g >> 2] | 0);
- l = e;
- return;
- } else if ((j | 0) == 7) {
- d = ((c[i >> 2] | 0) + 8) | 0;
- c[d >> 2] = (c[d >> 2] | 0) - (c[g >> 2] | 0);
- if (
- (c[((c[i >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (c[h >> 2] | 0) >>> 0
- ) {
- l = e;
- return;
- }
- if (
- (((c[((c[f >> 2] | 0) + 4) >> 2] | 0) + 1) | 0) >>> 0 <
- (c[((c[f >> 2] | 0) + 8) >> 2] | 0) >>> 0
- ) {
- h = ((c[i >> 2] | 0) + 12 + 4) | 0;
- c[h >> 2] =
- (c[h >> 2] | 0) + (c[((c[i >> 2] | 0) + 8) >> 2] | 0);
- }
- i = ((c[f >> 2] | 0) + 4) | 0;
- c[i >> 2] = (c[i >> 2] | 0) + 1;
- l = e;
- return;
- } else if ((j | 0) == 12) {
- l = e;
- return;
- }
- }
- function Bn(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- c[((c[d >> 2] | 0) + 12) >> 2] =
- c[((c[d >> 2] | 0) + 8) >> 2];
- c[((c[d >> 2] | 0) + 4) >> 2] = c[c[d >> 2] >> 2];
- c[((c[d >> 2] | 0) + 28) >> 2] = 0;
- l = b;
- return;
- }
- function Cn(a) {
- a = a | 0;
- return (
- ((c[(a + 16) >> 2] | 0) >>> 0 <
- (c[(a + 12) >> 2] | 0) >>> 0) |
- 0
- );
- }
- function Dn(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0;
- j = l;
- l = (l + 80) | 0;
- k = (j + 76) | 0;
- m = (j + 72) | 0;
- n = (j + 68) | 0;
- o = (j + 64) | 0;
- p = (j + 60) | 0;
- q = (j + 56) | 0;
- r = (j + 52) | 0;
- s = (j + 48) | 0;
- t = (j + 44) | 0;
- u = (j + 40) | 0;
- v = (j + 36) | 0;
- w = (j + 32) | 0;
- x = (j + 28) | 0;
- y = (j + 24) | 0;
- z = (j + 12) | 0;
- A = (j + 8) | 0;
- B = (j + 4) | 0;
- C = j;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- c[o >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- c[t >> 2] = c[((c[p >> 2] | 0) + 16) >> 2];
- c[u >> 2] =
- Wl(c[((c[p >> 2] | 0) + 24) >> 2] | 0, c[s >> 2] | 0) | 0;
- c[v >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[w >> 2] = c[q >> 2];
- c[x >> 2] = (c[w >> 2] | 0) + (c[r >> 2] | 0);
- c[y >> 2] = c[w >> 2];
- while (1) {
- if (
- (c[((c[k >> 2] | 0) + 4) >> 2] | 0) >>> 0 >=
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0) >>> 0
- )
- break;
- if ((c[y >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) break;
- lo(
- z,
- c[k >> 2] | 0,
- ((c[x >> 2] | 0) - (c[y >> 2] | 0)) | 0,
- c[t >> 2] | 0
- );
- if (!(c[z >> 2] | 0)) break;
- mo(c[m >> 2] | 0, c[y >> 2] | 0);
- no(c[m >> 2] | 0, c[p >> 2] | 0, c[y >> 2] | 0) | 0;
- c[B >> 2] =
- uc[c[u >> 2] & 31](
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[y >> 2] | 0,
- c[(z + 4) >> 2] | 0
- ) | 0;
- c[y >> 2] = (c[y >> 2] | 0) + (c[(z + 4) >> 2] | 0);
- c[((c[m >> 2] | 0) + 24) >> 2] =
- (c[y >> 2] | 0) - (c[v >> 2] | 0);
- c[A >> 2] = 2;
- while (1) {
- if ((c[A >> 2] | 0) <= 0) break;
- c[((c[o >> 2] | 0) + (c[A >> 2] << 2)) >> 2] =
- c[
- ((c[o >> 2] | 0) + (((c[A >> 2] | 0) - 1) << 2)) >> 2
- ];
- c[A >> 2] = (c[A >> 2] | 0) + -1;
- }
- c[c[o >> 2] >> 2] = c[z >> 2];
- oo(
- c[n >> 2] | 0,
- c[B >> 2] | 0,
- ((c[y >> 2] | 0) + (0 - (c[B >> 2] | 0))) | 0,
- ((c[z >> 2] | 0) + 2) | 0,
- ((c[(z + 8) >> 2] | 0) - 3) | 0
- );
- c[y >> 2] = (c[y >> 2] | 0) + (c[(z + 8) >> 2] | 0);
- }
- mo(c[m >> 2] | 0, c[y >> 2] | 0);
- no(c[m >> 2] | 0, c[p >> 2] | 0, c[y >> 2] | 0) | 0;
- c[C >> 2] =
- uc[c[u >> 2] & 31](
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[y >> 2] | 0,
- ((c[x >> 2] | 0) - (c[y >> 2] | 0)) | 0
- ) | 0;
- c[((c[m >> 2] | 0) + 24) >> 2] =
- (c[x >> 2] | 0) - (c[v >> 2] | 0);
- l = j;
- return c[C >> 2] | 0;
- }
- function En(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0;
- g = l;
- l = (l + 112) | 0;
- h = (g + 84) | 0;
- i = (g + 80) | 0;
- j = (g + 76) | 0;
- k = (g + 72) | 0;
- m = (g + 68) | 0;
- n = (g + 64) | 0;
- o = (g + 60) | 0;
- p = (g + 56) | 0;
- q = (g + 52) | 0;
- r = (g + 48) | 0;
- s = (g + 40) | 0;
- t = (g + 36) | 0;
- u = (g + 32) | 0;
- v = (g + 28) | 0;
- w = (g + 24) | 0;
- x = (g + 20) | 0;
- y = (g + 16) | 0;
- z = (g + 12) | 0;
- A = (g + 8) | 0;
- B = (g + 4) | 0;
- C = g;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = 1 << c[((c[m >> 2] | 0) + 20) >> 2];
- c[q >> 2] = c[n >> 2];
- c[r >> 2] = (c[q >> 2] | 0) + (c[o >> 2] | 0);
- c[(g + 44) >> 2] = 1048576;
- c[s >> 2] =
- ((((c[o >> 2] | 0) >>> 0) / 1048576) | 0) +
- (((((c[o >> 2] | 0) >>> 0) % 1048576 | 0 | 0) != 0) & 1);
- c[u >> 2] = 0;
- c[t >> 2] = 0;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[s >> 2] | 0) >>> 0) {
- D = 12;
- break;
- }
- if (
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0) >>> 0 >=
- (c[((c[k >> 2] | 0) + 12) >> 2] | 0) >>> 0
- ) {
- D = 12;
- break;
- }
- c[v >> 2] = (c[q >> 2] | 0) + (c[t >> 2] << 20);
- c[w >> 2] = (c[r >> 2] | 0) - (c[v >> 2] | 0);
- c[x >> 2] =
- (c[w >> 2] | 0) >>> 0 < 1048576
- ? c[r >> 2] | 0
- : ((c[v >> 2] | 0) + 1048576) | 0;
- c[y >> 2] = (c[x >> 2] | 0) - (c[v >> 2] | 0);
- c[A >> 2] = c[((c[k >> 2] | 0) + 8) >> 2];
- o = c[j >> 2] | 0;
- f = c[x >> 2] | 0;
- c[h >> 2] = c[o >> 2];
- c[(h + 4) >> 2] = c[(o + 4) >> 2];
- c[(h + 8) >> 2] = c[(o + 8) >> 2];
- c[(h + 12) >> 2] = c[(o + 12) >> 2];
- c[(h + 16) >> 2] = c[(o + 16) >> 2];
- if (On(h, f) | 0) {
- c[B >> 2] = 1 << c[((c[m >> 2] | 0) + 4) >> 2];
- c[C >> 2] =
- Pn(c[j >> 2] | 0, 0, c[p >> 2] | 0, c[n >> 2] | 0) | 0;
- Qn(
- c[((c[j >> 2] | 0) + 20) >> 2] | 0,
- c[B >> 2] | 0,
- c[C >> 2] | 0
- );
- }
- Rn(c[j >> 2] | 0, c[x >> 2] | 0, c[p >> 2] | 0, 0);
- c[z >> 2] =
- Sn(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[v >> 2] | 0,
- c[y >> 2] | 0
- ) | 0;
- if (Ph(c[z >> 2] | 0) | 0) {
- D = 7;
- break;
- }
- if (
- (c[A >> 2] | 0) >>> 0 <
- (c[((c[k >> 2] | 0) + 8) >> 2] | 0) >>> 0
- ) {
- f =
- ((c[c[k >> 2] >> 2] | 0) +
- (((c[A >> 2] | 0) * 12) | 0) +
- 4) |
- 0;
- c[f >> 2] = (c[f >> 2] | 0) + (c[u >> 2] | 0);
- c[u >> 2] = c[z >> 2];
- } else c[u >> 2] = (c[u >> 2] | 0) + (c[y >> 2] | 0);
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- }
- if ((D | 0) == 7) {
- c[i >> 2] = c[z >> 2];
- E = c[i >> 2] | 0;
- l = g;
- return E | 0;
- } else if ((D | 0) == 12) {
- c[i >> 2] = 0;
- E = c[i >> 2] | 0;
- l = g;
- return E | 0;
- }
- return 0;
- }
- function Fn(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 8) | 0;
- g = (e + 4) | 0;
- h = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- mE(
- c[((c[f >> 2] | 0) + 12) >> 2] | 0,
- c[g >> 2] | 0,
- c[h >> 2] | 0
- ) | 0;
- g = ((c[f >> 2] | 0) + 12) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + (c[h >> 2] | 0);
- l = e;
- return;
- }
- function Gn(a, b, d, e, f, g, h, i, j) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0;
- k = l;
- l = (l + 48) | 0;
- m = (k + 44) | 0;
- n = (k + 40) | 0;
- o = (k + 36) | 0;
- p = (k + 32) | 0;
- q = (k + 28) | 0;
- r = (k + 24) | 0;
- s = (k + 20) | 0;
- t = (k + 16) | 0;
- u = (k + 12) | 0;
- v = (k + 8) | 0;
- w = (k + 4) | 0;
- x = k;
- c[n >> 2] = a;
- c[o >> 2] = b;
- c[p >> 2] = d;
- c[q >> 2] = e;
- c[r >> 2] = f;
- c[s >> 2] = g;
- c[t >> 2] = h;
- c[u >> 2] = i;
- c[v >> 2] = j;
- c[w >> 2] =
- Hn(
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[s >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- if (
- ((c[w >> 2] | 0) == -70
- ? (c[t >> 2] | 0) >>> 0 <= (c[s >> 2] | 0) >>> 0
- : 0) | 0
- ) {
- c[m >> 2] = 0;
- y = c[m >> 2] | 0;
- l = k;
- return y | 0;
- }
- if (Ph(c[w >> 2] | 0) | 0) {
- c[m >> 2] = c[w >> 2];
- y = c[m >> 2] | 0;
- l = k;
- return y | 0;
- }
- s = c[t >> 2] | 0;
- c[x >> 2] = s - (In(c[t >> 2] | 0) | 0);
- if ((c[w >> 2] | 0) >>> 0 >= (c[x >> 2] | 0) >>> 0) {
- c[m >> 2] = 0;
- y = c[m >> 2] | 0;
- l = k;
- return y | 0;
- }
- if ((c[((c[p >> 2] | 0) + 4568) >> 2] | 0) == 2)
- c[((c[p >> 2] | 0) + 4568) >> 2] = 1;
- c[m >> 2] = c[w >> 2];
- y = c[m >> 2] | 0;
- l = k;
- return y | 0;
- }
- function Hn(b, d, e, f, g, h, i, j) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0;
- k = l;
- l = (l + 368) | 0;
- m = (k + 364) | 0;
- n = (k + 360) | 0;
- o = (k + 356) | 0;
- p = (k + 352) | 0;
- q = (k + 348) | 0;
- r = (k + 344) | 0;
- s = (k + 340) | 0;
- t = (k + 336) | 0;
- u = (k + 332) | 0;
- v = (k + 328) | 0;
- w = k;
- x = (k + 324) | 0;
- y = (k + 320) | 0;
- z = (k + 316) | 0;
- A = (k + 312) | 0;
- B = (k + 308) | 0;
- C = (k + 304) | 0;
- D = (k + 300) | 0;
- E = (k + 296) | 0;
- F = (k + 292) | 0;
- G = (k + 288) | 0;
- H = (k + 284) | 0;
- I = (k + 280) | 0;
- J = (k + 276) | 0;
- K = (k + 272) | 0;
- L = (k + 268) | 0;
- M = (k + 264) | 0;
- N = (k + 260) | 0;
- O = (k + 256) | 0;
- P = (k + 252) | 0;
- Q = (k + 248) | 0;
- R = (k + 244) | 0;
- S = (k + 240) | 0;
- T = (k + 236) | 0;
- U = (k + 232) | 0;
- V = (k + 228) | 0;
- W = (k + 224) | 0;
- X = (k + 220) | 0;
- Y = (k + 216) | 0;
- Z = (k + 212) | 0;
- c[n >> 2] = b;
- c[o >> 2] = d;
- c[p >> 2] = e;
- c[q >> 2] = f;
- c[r >> 2] = g;
- c[s >> 2] = h;
- c[t >> 2] = i;
- c[u >> 2] = j;
- j = c[((c[q >> 2] | 0) + 4) >> 2] | 0;
- i = (Il() | 0) != 0;
- c[v >> 2] = (j >>> 0 > (i ? 25 : 57) >>> 0) & 1;
- c[x >> 2] = (c[p >> 2] | 0) + 3248;
- c[y >> 2] = (c[p >> 2] | 0) + 1024;
- c[z >> 2] = (c[p >> 2] | 0) + 1796;
- c[D >> 2] = c[c[n >> 2] >> 2];
- c[E >> 2] = c[((c[n >> 2] | 0) + 24) >> 2];
- c[F >> 2] = c[((c[n >> 2] | 0) + 16) >> 2];
- c[G >> 2] = c[((c[n >> 2] | 0) + 20) >> 2];
- c[H >> 2] = c[r >> 2];
- c[I >> 2] = (c[H >> 2] | 0) + (c[s >> 2] | 0);
- c[J >> 2] = c[H >> 2];
- c[K >> 2] =
- ((((c[((c[n >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[n >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- c[M >> 2] = c[((c[n >> 2] | 0) + 8) >> 2];
- c[N >> 2] =
- (c[((c[n >> 2] | 0) + 12) >> 2] | 0) - (c[M >> 2] | 0);
- c[O >> 2] =
- Jn(
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[((c[q >> 2] | 0) + 4 + 24) >> 2] | 0,
- c[((c[q >> 2] | 0) + 48) >> 2] | 0,
- c[J >> 2] | 0,
- c[s >> 2] | 0,
- c[M >> 2] | 0,
- c[N >> 2] | 0,
- c[t >> 2] | 0,
- c[u >> 2] | 0
- ) | 0;
- N = (Ph(c[O >> 2] | 0) | 0) != 0;
- M = c[O >> 2] | 0;
- if (N) {
- c[m >> 2] = M;
- _ = c[m >> 2] | 0;
- l = k;
- return _ | 0;
- }
- c[J >> 2] = (c[J >> 2] | 0) + M;
- if ((((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0) < 4) {
- c[m >> 2] = -70;
- _ = c[m >> 2] | 0;
- l = k;
- return _ | 0;
- }
- M = c[K >> 2] | 0;
- do {
- if ((c[K >> 2] | 0) >>> 0 >= 127) {
- if (M >>> 0 < 32512) {
- a[c[J >> 2] >> 0] = ((c[K >> 2] | 0) >>> 8) + 128;
- a[((c[J >> 2] | 0) + 1) >> 0] = c[K >> 2];
- c[J >> 2] = (c[J >> 2] | 0) + 2;
- break;
- } else {
- a[c[J >> 2] >> 0] = -1;
- xl(
- ((c[J >> 2] | 0) + 1) | 0,
- ((c[K >> 2] | 0) - 32512) & 65535
- );
- c[J >> 2] = (c[J >> 2] | 0) + 3;
- break;
- }
- } else {
- N = c[J >> 2] | 0;
- c[J >> 2] = N + 1;
- a[N >> 0] = M;
- }
- } while (0);
- if (!(c[K >> 2] | 0)) {
- mE(
- ((c[p >> 2] | 0) + 3248) | 0,
- ((c[o >> 2] | 0) + 3248) | 0,
- 1316
- ) | 0;
- c[((c[p >> 2] | 0) + 4576) >> 2] =
- c[((c[o >> 2] | 0) + 4576) >> 2];
- mE(
- ((c[p >> 2] | 0) + 1024) | 0,
- ((c[o >> 2] | 0) + 1024) | 0,
- 772
- ) | 0;
- c[((c[p >> 2] | 0) + 4568) >> 2] =
- c[((c[o >> 2] | 0) + 4568) >> 2];
- mE(
- ((c[p >> 2] | 0) + 1796) | 0,
- ((c[o >> 2] | 0) + 1796) | 0,
- 1452
- ) | 0;
- c[((c[p >> 2] | 0) + 4572) >> 2] =
- c[((c[o >> 2] | 0) + 4572) >> 2];
- c[m >> 2] = (c[J >> 2] | 0) - (c[H >> 2] | 0);
- _ = c[m >> 2] | 0;
- l = k;
- return _ | 0;
- }
- M = c[J >> 2] | 0;
- c[J >> 2] = M + 1;
- c[L >> 2] = M;
- zl(c[n >> 2] | 0);
- c[P >> 2] = 35;
- c[Q >> 2] =
- _h(w, P, c[F >> 2] | 0, c[K >> 2] | 0, c[t >> 2] | 0) | 0;
- c[((c[p >> 2] | 0) + 4576) >> 2] =
- c[((c[o >> 2] | 0) + 4576) >> 2];
- c[A >> 2] =
- Kn(
- ((c[p >> 2] | 0) + 4576) | 0,
- c[Q >> 2] | 0,
- c[K >> 2] | 0,
- 6,
- 1
- ) | 0;
- c[R >> 2] =
- Ln(
- c[J >> 2] | 0,
- ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0,
- c[x >> 2] | 0,
- 9,
- c[A >> 2] | 0,
- w,
- c[P >> 2] | 0,
- c[F >> 2] | 0,
- c[K >> 2] | 0,
- 3200,
- 6,
- 35,
- ((c[o >> 2] | 0) + 3248) | 0,
- 1316,
- c[t >> 2] | 0,
- 6144
- ) | 0;
- P = (Ph(c[R >> 2] | 0) | 0) != 0;
- Q = c[R >> 2] | 0;
- if (P) {
- c[m >> 2] = Q;
- _ = c[m >> 2] | 0;
- l = k;
- return _ | 0;
- }
- c[J >> 2] = (c[J >> 2] | 0) + Q;
- c[S >> 2] = 31;
- c[T >> 2] =
- _h(w, S, c[E >> 2] | 0, c[K >> 2] | 0, c[t >> 2] | 0) | 0;
- c[U >> 2] = (c[S >> 2] | 0) >>> 0 <= 28 ? 1 : 0;
- c[((c[p >> 2] | 0) + 4568) >> 2] =
- c[((c[o >> 2] | 0) + 4568) >> 2];
- c[B >> 2] =
- Kn(
- ((c[p >> 2] | 0) + 4568) | 0,
- c[T >> 2] | 0,
- c[K >> 2] | 0,
- 5,
- c[U >> 2] | 0
- ) | 0;
- c[V >> 2] =
- Ln(
- c[J >> 2] | 0,
- ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0,
- c[y >> 2] | 0,
- 8,
- c[B >> 2] | 0,
- w,
- c[S >> 2] | 0,
- c[E >> 2] | 0,
- c[K >> 2] | 0,
- 3280,
- 5,
- 28,
- ((c[o >> 2] | 0) + 1024) | 0,
- 772,
- c[t >> 2] | 0,
- 6144
- ) | 0;
- S = (Ph(c[V >> 2] | 0) | 0) != 0;
- U = c[V >> 2] | 0;
- if (S) {
- c[m >> 2] = U;
- _ = c[m >> 2] | 0;
- l = k;
- return _ | 0;
- }
- c[J >> 2] = (c[J >> 2] | 0) + U;
- c[W >> 2] = 52;
- c[X >> 2] =
- _h(w, W, c[G >> 2] | 0, c[K >> 2] | 0, c[t >> 2] | 0) | 0;
- c[((c[p >> 2] | 0) + 4572) >> 2] =
- c[((c[o >> 2] | 0) + 4572) >> 2];
- c[C >> 2] =
- Kn(
- ((c[p >> 2] | 0) + 4572) | 0,
- c[X >> 2] | 0,
- c[K >> 2] | 0,
- 6,
- 1
- ) | 0;
- c[Y >> 2] =
- Ln(
- c[J >> 2] | 0,
- ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0,
- c[z >> 2] | 0,
- 9,
- c[C >> 2] | 0,
- w,
- c[W >> 2] | 0,
- c[G >> 2] | 0,
- c[K >> 2] | 0,
- 3344,
- 6,
- 52,
- ((c[o >> 2] | 0) + 1796) | 0,
- 1452,
- c[t >> 2] | 0,
- 6144
- ) | 0;
- t = (Ph(c[Y >> 2] | 0) | 0) != 0;
- o = c[Y >> 2] | 0;
- if (t) {
- c[m >> 2] = o;
- _ = c[m >> 2] | 0;
- l = k;
- return _ | 0;
- }
- c[J >> 2] = (c[J >> 2] | 0) + o;
- a[c[L >> 2] >> 0] =
- (c[A >> 2] << 6) + (c[B >> 2] << 4) + (c[C >> 2] << 2);
- c[Z >> 2] =
- Cl(
- c[J >> 2] | 0,
- ((c[I >> 2] | 0) - (c[J >> 2] | 0)) | 0,
- c[z >> 2] | 0,
- c[G >> 2] | 0,
- c[y >> 2] | 0,
- c[E >> 2] | 0,
- c[x >> 2] | 0,
- c[F >> 2] | 0,
- c[D >> 2] | 0,
- c[K >> 2] | 0,
- c[v >> 2] | 0,
- c[u >> 2] | 0
- ) | 0;
- u = (Ph(c[Z >> 2] | 0) | 0) != 0;
- v = c[Z >> 2] | 0;
- if (u) {
- c[m >> 2] = v;
- _ = c[m >> 2] | 0;
- l = k;
- return _ | 0;
- } else {
- c[J >> 2] = (c[J >> 2] | 0) + v;
- c[m >> 2] = (c[J >> 2] | 0) - (c[H >> 2] | 0);
- _ = c[m >> 2] | 0;
- l = k;
- return _ | 0;
- }
- return 0;
- }
- function In(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return (((c[d >> 2] | 0) >>> 6) + 2) | 0;
- }
- function Jn(b, d, e, f, g, h, i, j, k, m) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- var n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0;
- n = l;
- l = (l + 96) | 0;
- o = (n + 88) | 0;
- p = (n + 84) | 0;
- q = (n + 80) | 0;
- r = (n + 76) | 0;
- s = (n + 72) | 0;
- t = (n + 68) | 0;
- u = (n + 64) | 0;
- v = (n + 60) | 0;
- w = (n + 56) | 0;
- x = (n + 52) | 0;
- y = (n + 48) | 0;
- z = (n + 44) | 0;
- A = (n + 40) | 0;
- B = (n + 36) | 0;
- C = (n + 32) | 0;
- D = (n + 28) | 0;
- E = (n + 24) | 0;
- F = (n + 20) | 0;
- G = (n + 16) | 0;
- H = (n + 12) | 0;
- I = (n + 8) | 0;
- J = (n + 4) | 0;
- K = n;
- c[p >> 2] = b;
- c[q >> 2] = d;
- c[r >> 2] = e;
- c[s >> 2] = f;
- c[t >> 2] = g;
- c[u >> 2] = h;
- c[v >> 2] = i;
- c[w >> 2] = j;
- c[x >> 2] = k;
- c[y >> 2] = m;
- c[z >> 2] = In(c[w >> 2] | 0) | 0;
- c[A >> 2] =
- 3 +
- (((c[w >> 2] | 0) >>> 0 >= 1024) & 1) +
- (((c[w >> 2] | 0) >>> 0 >= 16384) & 1);
- c[B >> 2] = c[t >> 2];
- c[C >> 2] = ((c[w >> 2] | 0) >>> 0 < 256) & 1;
- c[D >> 2] = 2;
- c[((c[q >> 2] | 0) + 4564) >> 2] =
- c[((c[p >> 2] | 0) + 4564) >> 2];
- mE(c[q >> 2] | 0, c[p >> 2] | 0, 1024) | 0;
- if (c[s >> 2] | 0) {
- c[o >> 2] =
- Mn(
- c[t >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- L = c[o >> 2] | 0;
- l = n;
- return L | 0;
- }
- c[F >> 2] =
- (c[((c[p >> 2] | 0) + 4564) >> 2] | 0) == 2 ? 6 : 63;
- if ((c[w >> 2] | 0) >>> 0 <= (c[F >> 2] | 0) >>> 0) {
- c[o >> 2] =
- Mn(
- c[t >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- L = c[o >> 2] | 0;
- l = n;
- return L | 0;
- }
- if (
- (c[u >> 2] | 0) >>> 0 <
- (((c[A >> 2] | 0) + 1) | 0) >>> 0
- ) {
- c[o >> 2] = -70;
- L = c[o >> 2] | 0;
- l = n;
- return L | 0;
- }
- c[G >> 2] = c[((c[p >> 2] | 0) + 4564) >> 2];
- c[H >> 2] =
- (c[r >> 2] | 0) >>> 0 < 4
- ? ((c[w >> 2] | 0) >>> 0 <= 1024) & 1
- : 0;
- if (((c[G >> 2] | 0) == 2) & ((c[A >> 2] | 0) == 3))
- c[C >> 2] = 1;
- r = ((c[B >> 2] | 0) + (c[A >> 2] | 0)) | 0;
- F = ((c[u >> 2] | 0) - (c[A >> 2] | 0)) | 0;
- s = c[v >> 2] | 0;
- m = c[w >> 2] | 0;
- k = c[x >> 2] | 0;
- x = c[q >> 2] | 0;
- j = c[H >> 2] | 0;
- H = c[y >> 2] | 0;
- if (c[C >> 2] | 0)
- M = jj(r, F, s, m, 255, 11, k, 6144, x, G, j, H) | 0;
- else M = kj(r, F, s, m, 255, 11, k, 6144, x, G, j, H) | 0;
- c[E >> 2] = M;
- if (c[G >> 2] | 0) c[D >> 2] = 3;
- G =
- (c[E >> 2] | 0) == 0
- ? 1
- : (c[E >> 2] | 0) >>> 0 >=
- (((c[w >> 2] | 0) - (c[z >> 2] | 0)) | 0) >>> 0;
- if (G | (wj(c[E >> 2] | 0) | 0) | 0) {
- mE(c[q >> 2] | 0, c[p >> 2] | 0, 1024) | 0;
- c[o >> 2] =
- Mn(
- c[t >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- L = c[o >> 2] | 0;
- l = n;
- return L | 0;
- }
- if ((c[E >> 2] | 0) == 1) {
- mE(c[q >> 2] | 0, c[p >> 2] | 0, 1024) | 0;
- c[o >> 2] =
- Nn(
- c[t >> 2] | 0,
- c[u >> 2] | 0,
- c[v >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- L = c[o >> 2] | 0;
- l = n;
- return L | 0;
- }
- if ((c[D >> 2] | 0) == 2)
- c[((c[q >> 2] | 0) + 4564) >> 2] = 1;
- switch (c[A >> 2] | 0) {
- case 3: {
- c[I >> 2] =
- (c[D >> 2] | 0) +
- (((((c[C >> 2] | 0) != 0) ^ 1) & 1) << 2) +
- (c[w >> 2] << 4) +
- (c[E >> 2] << 14);
- wl(c[B >> 2] | 0, c[I >> 2] | 0);
- break;
- }
- case 4: {
- c[J >> 2] =
- (c[D >> 2] | 0) +
- 8 +
- (c[w >> 2] << 4) +
- (c[E >> 2] << 18);
- Pl(c[B >> 2] | 0, c[J >> 2] | 0);
- break;
- }
- case 5: {
- c[K >> 2] =
- (c[D >> 2] | 0) +
- 12 +
- (c[w >> 2] << 4) +
- (c[E >> 2] << 22);
- Pl(c[B >> 2] | 0, c[K >> 2] | 0);
- a[((c[B >> 2] | 0) + 4) >> 0] = (c[E >> 2] | 0) >>> 10;
- break;
- }
- default: {
- }
- }
- c[o >> 2] = (c[A >> 2] | 0) + (c[E >> 2] | 0);
- L = c[o >> 2] | 0;
- l = n;
- return L | 0;
- }
- function Kn(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 16) | 0;
- j = (g + 12) | 0;
- k = (g + 8) | 0;
- m = (g + 4) | 0;
- n = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if (
- (c[j >> 2] | 0) == (c[k >> 2] | 0)
- ? ((c[n >> 2] | 0) == 0) | ((c[k >> 2] | 0) >>> 0 > 2)
- : 0
- ) {
- c[c[i >> 2] >> 2] = 1;
- c[h >> 2] = 1;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- if (
- c[n >> 2] | 0
- ? (c[k >> 2] | 0) >>> 0 < 1e3
- ? (c[c[i >> 2] >> 2] | 0) == 2
- : 0
- : 0
- ) {
- c[h >> 2] = 3;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- do {
- if (c[n >> 2] | 0) {
- if (
- (c[k >> 2] | 0) >>> 0 >= 64
- ? (c[j >> 2] | 0) >>> 0 >=
- ((c[k >> 2] | 0) >>>
- (((c[m >> 2] | 0) - 1) | 0)) >>>
- 0
- : 0
- )
- break;
- c[c[i >> 2] >> 2] = 0;
- c[h >> 2] = 0;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- } while (0);
- c[c[i >> 2] >> 2] = 1;
- c[h >> 2] = 2;
- o = c[h >> 2] | 0;
- l = g;
- return o | 0;
- }
- function Ln(b, e, f, g, h, i, j, k, m, n, o, p, q, r, s, t) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- k = k | 0;
- m = m | 0;
- n = n | 0;
- o = o | 0;
- p = p | 0;
- q = q | 0;
- r = r | 0;
- s = s | 0;
- t = t | 0;
- var u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0;
- u = l;
- l = (l + 224) | 0;
- v = (u + 208) | 0;
- w = (u + 204) | 0;
- x = (u + 200) | 0;
- y = (u + 196) | 0;
- z = (u + 192) | 0;
- A = (u + 188) | 0;
- B = (u + 184) | 0;
- C = (u + 180) | 0;
- D = (u + 176) | 0;
- E = (u + 172) | 0;
- F = (u + 168) | 0;
- G = (u + 164) | 0;
- H = (u + 160) | 0;
- I = (u + 156) | 0;
- J = (u + 152) | 0;
- K = (u + 148) | 0;
- L = (u + 144) | 0;
- M = (u + 140) | 0;
- N = (u + 136) | 0;
- O = (u + 132) | 0;
- P = (u + 128) | 0;
- Q = u;
- R = (u + 124) | 0;
- S = (u + 120) | 0;
- T = (u + 116) | 0;
- U = (u + 112) | 0;
- V = (u + 108) | 0;
- c[w >> 2] = b;
- c[x >> 2] = e;
- c[y >> 2] = f;
- c[z >> 2] = g;
- c[A >> 2] = h;
- c[B >> 2] = i;
- c[C >> 2] = j;
- c[D >> 2] = k;
- c[E >> 2] = m;
- c[F >> 2] = n;
- c[G >> 2] = o;
- c[H >> 2] = p;
- c[I >> 2] = q;
- c[J >> 2] = r;
- c[K >> 2] = s;
- c[L >> 2] = t;
- c[M >> 2] = c[w >> 2];
- c[N >> 2] = (c[M >> 2] | 0) + (c[x >> 2] | 0);
- switch (c[A >> 2] | 0) {
- case 1: {
- a[c[M >> 2] >> 0] = a[c[D >> 2] >> 0] | 0;
- c[O >> 2] = ii(c[y >> 2] | 0, c[C >> 2] & 255) | 0;
- if (wj(c[O >> 2] | 0) | 0) {
- c[v >> 2] = c[O >> 2];
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- } else {
- c[v >> 2] = 1;
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- }
- break;
- }
- case 3: {
- mE(c[y >> 2] | 0, c[I >> 2] | 0, c[J >> 2] | 0) | 0;
- c[v >> 2] = 0;
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- }
- case 0: {
- c[P >> 2] =
- Uh(
- c[y >> 2] | 0,
- c[F >> 2] | 0,
- c[H >> 2] | 0,
- c[G >> 2] | 0,
- c[K >> 2] | 0,
- c[L >> 2] | 0
- ) | 0;
- if (wj(c[P >> 2] | 0) | 0) {
- c[v >> 2] = c[P >> 2];
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- } else {
- c[v >> 2] = 0;
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- }
- break;
- }
- case 2: {
- c[R >> 2] = c[E >> 2];
- c[S >> 2] =
- ei(c[z >> 2] | 0, c[E >> 2] | 0, c[C >> 2] | 0) | 0;
- if (
- (c[
- ((c[B >> 2] | 0) +
- ((d[
- ((c[D >> 2] | 0) + ((c[E >> 2] | 0) - 1)) >> 0
- ] |
- 0) <<
- 2)) >>
- 2
- ] |
- 0) >>>
- 0 >
- 1
- ) {
- z =
- ((c[B >> 2] | 0) +
- ((d[
- ((c[D >> 2] | 0) + ((c[E >> 2] | 0) - 1)) >> 0
- ] |
- 0) <<
- 2)) |
- 0;
- c[z >> 2] = (c[z >> 2] | 0) + -1;
- c[R >> 2] = (c[R >> 2] | 0) + -1;
- }
- c[T >> 2] =
- fi(
- Q,
- c[S >> 2] | 0,
- c[B >> 2] | 0,
- c[R >> 2] | 0,
- c[C >> 2] | 0
- ) | 0;
- if (wj(c[T >> 2] | 0) | 0) {
- c[v >> 2] = c[T >> 2];
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- }
- c[U >> 2] =
- Xh(
- c[M >> 2] | 0,
- ((c[N >> 2] | 0) - (c[M >> 2] | 0)) | 0,
- Q,
- c[C >> 2] | 0,
- c[S >> 2] | 0
- ) | 0;
- if (Zg(c[U >> 2] | 0) | 0) {
- c[v >> 2] = c[U >> 2];
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- }
- c[V >> 2] =
- Uh(
- c[y >> 2] | 0,
- Q,
- c[C >> 2] | 0,
- c[S >> 2] | 0,
- c[K >> 2] | 0,
- c[L >> 2] | 0
- ) | 0;
- if (wj(c[V >> 2] | 0) | 0) {
- c[v >> 2] = c[V >> 2];
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- } else {
- c[v >> 2] = c[U >> 2];
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- }
- break;
- }
- default: {
- c[v >> 2] = -1;
- W = c[v >> 2] | 0;
- l = u;
- return W | 0;
- }
- }
- return 0;
- }
- function Mn(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 24) | 0;
- i = (g + 20) | 0;
- j = (g + 16) | 0;
- k = (g + 12) | 0;
- m = (g + 8) | 0;
- n = (g + 4) | 0;
- o = g;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = c[i >> 2];
- c[o >> 2] =
- 1 +
- (((c[m >> 2] | 0) >>> 0 > 31) & 1) +
- (((c[m >> 2] | 0) >>> 0 > 4095) & 1);
- if (
- (((c[m >> 2] | 0) + (c[o >> 2] | 0)) | 0) >>> 0 >
- (c[j >> 2] | 0) >>> 0
- ) {
- c[h >> 2] = -70;
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- switch (c[o >> 2] | 0) {
- case 1: {
- a[c[n >> 2] >> 0] = 0 + (c[m >> 2] << 3);
- break;
- }
- case 2: {
- xl(c[n >> 2] | 0, (4 + (c[m >> 2] << 4)) & 65535);
- break;
- }
- case 3: {
- Pl(c[n >> 2] | 0, (12 + (c[m >> 2] << 4)) | 0);
- break;
- }
- default: {
- }
- }
- mE(
- ((c[n >> 2] | 0) + (c[o >> 2] | 0)) | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0
- ) | 0;
- c[h >> 2] = (c[m >> 2] | 0) + (c[o >> 2] | 0);
- p = c[h >> 2] | 0;
- l = g;
- return p | 0;
- }
- function Nn(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 20) | 0;
- i = (g + 12) | 0;
- j = (g + 8) | 0;
- k = (g + 4) | 0;
- m = g;
- c[h >> 2] = b;
- c[(g + 16) >> 2] = d;
- c[i >> 2] = e;
- c[j >> 2] = f;
- c[k >> 2] = c[h >> 2];
- c[m >> 2] =
- 1 +
- (((c[j >> 2] | 0) >>> 0 > 31) & 1) +
- (((c[j >> 2] | 0) >>> 0 > 4095) & 1);
- switch (c[m >> 2] | 0) {
- case 1: {
- a[c[k >> 2] >> 0] = 1 + (c[j >> 2] << 3);
- break;
- }
- case 2: {
- xl(c[k >> 2] | 0, (5 + (c[j >> 2] << 4)) & 65535);
- break;
- }
- case 3: {
- Pl(c[k >> 2] | 0, (13 + (c[j >> 2] << 4)) | 0);
- break;
- }
- default: {
- }
- }
- a[((c[k >> 2] | 0) + (c[m >> 2] | 0)) >> 0] =
- a[c[i >> 2] >> 0] | 0;
- l = g;
- return ((c[m >> 2] | 0) + 1) | 0;
- }
- function On(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = b;
- c[f >> 2] = (c[e >> 2] | 0) - (c[(a + 4) >> 2] | 0);
- l = d;
- return ((c[f >> 2] | 0) >>> 0 > 2684354560) | 0;
- }
- function Pn(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] = (1 << c[h >> 2]) - 1;
- c[m >> 2] =
- (c[j >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
- c[n >> 2] = (c[m >> 2] & c[k >> 2]) + (c[i >> 2] | 0);
- c[o >> 2] = (c[m >> 2] | 0) - (c[n >> 2] | 0);
- n = ((c[g >> 2] | 0) + 4) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
- n = ((c[g >> 2] | 0) + 8) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
- n = ((c[g >> 2] | 0) + 16) | 0;
- c[n >> 2] = (c[n >> 2] | 0) - (c[o >> 2] | 0);
- n = ((c[g >> 2] | 0) + 12) | 0;
- c[n >> 2] = (c[n >> 2] | 0) - (c[o >> 2] | 0);
- l = f;
- return c[o >> 2] | 0;
- }
- function Qn(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = 0;
- while (1) {
- if ((c[i >> 2] | 0) >>> 0 >= (c[g >> 2] | 0) >>> 0) break;
- if (
- (c[((c[f >> 2] | 0) + (c[i >> 2] << 3)) >> 2] | 0) >>> 0 <
- (c[h >> 2] | 0) >>> 0
- )
- c[((c[f >> 2] | 0) + (c[i >> 2] << 3)) >> 2] = 0;
- else {
- d = ((c[f >> 2] | 0) + (c[i >> 2] << 3)) | 0;
- c[d >> 2] = (c[d >> 2] | 0) - (c[h >> 2] | 0);
- }
- c[i >> 2] = (c[i >> 2] | 0) + 1;
- }
- l = e;
- return;
- }
- function Rn(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 12) | 0;
- k = (f + 8) | 0;
- m = (f + 4) | 0;
- n = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] =
- (c[h >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
- if (c[j >> 2] | 0) o = c[c[j >> 2] >> 2] | 0;
- else o = 0;
- c[m >> 2] = o;
- if (
- (c[k >> 2] | 0) >>> 0 <=
- (((c[i >> 2] | 0) + (c[m >> 2] | 0)) | 0) >>> 0
- ) {
- l = f;
- return;
- }
- c[n >> 2] = (c[k >> 2] | 0) - (c[i >> 2] | 0);
- if (
- (c[((c[g >> 2] | 0) + 16) >> 2] | 0) >>> 0 <
- (c[n >> 2] | 0) >>> 0
- )
- c[((c[g >> 2] | 0) + 16) >> 2] = c[n >> 2];
- if (
- (c[((c[g >> 2] | 0) + 12) >> 2] | 0) >>> 0 <
- (c[((c[g >> 2] | 0) + 16) >> 2] | 0) >>> 0
- )
- c[((c[g >> 2] | 0) + 12) >> 2] =
- c[((c[g >> 2] | 0) + 16) >> 2];
- if (!(c[j >> 2] | 0)) {
- l = f;
- return;
- }
- c[c[j >> 2] >> 2] = 0;
- l = f;
- return;
- }
- function Sn(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0;
- h = l;
- l = (l + 224) | 0;
- i = (h + 200) | 0;
- j = (h + 192) | 0;
- k = (h + 188) | 0;
- m = (h + 184) | 0;
- n = (h + 180) | 0;
- o = (h + 176) | 0;
- p = (h + 172) | 0;
- q = (h + 168) | 0;
- r = (h + 164) | 0;
- s = (h + 8) | 0;
- t = (h + 160) | 0;
- u = (h + 156) | 0;
- v = (h + 152) | 0;
- w = (h + 148) | 0;
- x = (h + 144) | 0;
- z = (h + 140) | 0;
- A = (h + 136) | 0;
- B = (h + 132) | 0;
- C = (h + 128) | 0;
- D = (h + 124) | 0;
- E = (h + 120) | 0;
- F = (h + 116) | 0;
- G = (h + 112) | 0;
- H = (h + 108) | 0;
- I = (h + 104) | 0;
- J = (h + 100) | 0;
- K = (h + 96) | 0;
- L = h;
- M = (h + 92) | 0;
- N = (h + 88) | 0;
- O = (h + 84) | 0;
- P = (h + 80) | 0;
- Q = (h + 76) | 0;
- R = (h + 72) | 0;
- S = (h + 68) | 0;
- T = (h + 64) | 0;
- U = (h + 60) | 0;
- V = (h + 56) | 0;
- W = (h + 52) | 0;
- X = (h + 48) | 0;
- Y = (h + 44) | 0;
- Z = (h + 40) | 0;
- _ = (h + 36) | 0;
- $ = (h + 32) | 0;
- aa = (h + 28) | 0;
- ba = (h + 24) | 0;
- ca = (h + 20) | 0;
- da = (h + 16) | 0;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- g = c[k >> 2] | 0;
- c[i >> 2] = c[g >> 2];
- c[(i + 4) >> 2] = c[(g + 4) >> 2];
- c[(i + 8) >> 2] = c[(g + 8) >> 2];
- c[(i + 12) >> 2] = c[(g + 12) >> 2];
- c[(i + 16) >> 2] = c[(g + 16) >> 2];
- c[q >> 2] = Tn(i) | 0;
- c[r >> 2] = c[((c[n >> 2] | 0) + 12) >> 2];
- g = ((c[k >> 2] | 0) + 32) | 0;
- f = c[(g + 4) >> 2] | 0;
- e = s;
- c[e >> 2] = c[g >> 2];
- c[(e + 4) >> 2] = f;
- c[t >> 2] =
- (c[((c[n >> 2] | 0) + 4) >> 2] | 0) -
- (c[((c[n >> 2] | 0) + 8) >> 2] | 0);
- c[u >> 2] = 1 << c[((c[n >> 2] | 0) + 8) >> 2];
- c[v >> 2] = c[((c[n >> 2] | 0) + 16) >> 2];
- c[w >> 2] = (1 << c[((c[n >> 2] | 0) + 16) >> 2]) - 1;
- c[x >> 2] = c[((c[k >> 2] | 0) + 12) >> 2];
- if (c[q >> 2] | 0) ea = c[((c[k >> 2] | 0) + 16) >> 2] | 0;
- else ea = c[x >> 2] | 0;
- c[z >> 2] = ea;
- c[A >> 2] = c[((c[k >> 2] | 0) + 4) >> 2];
- if (c[q >> 2] | 0) fa = c[((c[k >> 2] | 0) + 8) >> 2] | 0;
- else fa = 0;
- c[B >> 2] = fa;
- c[C >> 2] =
- c[q >> 2] | 0 ? ((c[B >> 2] | 0) + (c[z >> 2] | 0)) | 0 : 0;
- c[D >> 2] =
- c[q >> 2] | 0 ? ((c[B >> 2] | 0) + (c[x >> 2] | 0)) | 0 : 0;
- c[E >> 2] = (c[A >> 2] | 0) + (c[x >> 2] | 0);
- c[F >> 2] = c[o >> 2];
- c[G >> 2] = (c[F >> 2] | 0) + (c[p >> 2] | 0);
- c[H >> 2] =
- (c[G >> 2] | 0) +
- (0 - ((c[r >> 2] | 0) >>> 0 > 8 ? c[r >> 2] | 0 : 8));
- c[I >> 2] = c[F >> 2];
- c[J >> 2] = c[F >> 2];
- c[K >> 2] = 0;
- p = L;
- c[p >> 2] = 0;
- c[(p + 4) >> 2] = 0;
- while (1) {
- if ((c[J >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
- ga = 32;
- break;
- }
- c[N >> 2] = (c[J >> 2] | 0) - (c[A >> 2] | 0);
- c[O >> 2] = 0;
- c[P >> 2] = 0;
- c[Q >> 2] = 0;
- if ((c[J >> 2] | 0) != (c[F >> 2] | 0)) {
- p = L;
- o = s;
- fa =
- Un(
- c[p >> 2] | 0,
- c[(p + 4) >> 2] | 0,
- a[c[K >> 2] >> 0] | 0,
- a[((c[K >> 2] | 0) + (c[r >> 2] | 0)) >> 0] | 0,
- c[o >> 2] | 0,
- c[(o + 4) >> 2] | 0
- ) | 0;
- o = L;
- c[o >> 2] = fa;
- c[(o + 4) >> 2] = y;
- } else {
- o = Vn(c[J >> 2] | 0, c[r >> 2] | 0) | 0;
- fa = L;
- c[fa >> 2] = o;
- c[(fa + 4) >> 2] = y;
- }
- c[K >> 2] = c[J >> 2];
- fa = L;
- o =
- Wn(
- c[fa >> 2] | 0,
- c[(fa + 4) >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0
- ) | 0;
- if ((o | 0) != (c[w >> 2] | 0)) {
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- continue;
- }
- o = c[k >> 2] | 0;
- fa = L;
- p =
- Xn(c[fa >> 2] | 0, c[(fa + 4) >> 2] | 0, c[t >> 2] | 0) |
- 0;
- fa = c[n >> 2] | 0;
- c[i >> 2] = c[fa >> 2];
- c[(i + 4) >> 2] = c[(fa + 4) >> 2];
- c[(i + 8) >> 2] = c[(fa + 8) >> 2];
- c[(i + 12) >> 2] = c[(fa + 12) >> 2];
- c[(i + 16) >> 2] = c[(fa + 16) >> 2];
- c[(i + 20) >> 2] = c[(fa + 20) >> 2];
- c[R >> 2] = Yn(o, p, i) | 0;
- c[T >> 2] = 0;
- p = L;
- c[U >> 2] =
- Zn(c[p >> 2] | 0, c[(p + 4) >> 2] | 0, c[t >> 2] | 0) | 0;
- c[S >> 2] = c[R >> 2];
- while (1) {
- if (
- (c[S >> 2] | 0) >>> 0 >=
- (((c[R >> 2] | 0) + (c[u >> 2] << 3)) | 0) >>> 0
- )
- break;
- do {
- if (
- (c[((c[S >> 2] | 0) + 4) >> 2] | 0) == (c[U >> 2] | 0)
- ? (c[c[S >> 2] >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- : 0
- ) {
- if (c[q >> 2] | 0) {
- c[Y >> 2] =
- (c[c[S >> 2] >> 2] | 0) >>> 0 <
- (c[x >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[A >> 2] | 0;
- c[Z >> 2] =
- (c[Y >> 2] | 0) + (c[c[S >> 2] >> 2] | 0);
- c[_ >> 2] =
- (c[c[S >> 2] >> 2] | 0) >>> 0 <
- (c[x >> 2] | 0) >>> 0
- ? c[D >> 2] | 0
- : c[G >> 2] | 0;
- c[$ >> 2] =
- (c[c[S >> 2] >> 2] | 0) >>> 0 <
- (c[x >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[E >> 2] | 0;
- c[V >> 2] =
- _n(
- c[J >> 2] | 0,
- c[Z >> 2] | 0,
- c[G >> 2] | 0,
- c[_ >> 2] | 0,
- c[E >> 2] | 0
- ) | 0;
- if ((c[V >> 2] | 0) >>> 0 < (c[r >> 2] | 0) >>> 0)
- break;
- c[W >> 2] =
- $n(
- c[J >> 2] | 0,
- c[I >> 2] | 0,
- c[Z >> 2] | 0,
- c[$ >> 2] | 0
- ) | 0;
- c[X >> 2] = (c[V >> 2] | 0) + (c[W >> 2] | 0);
- } else {
- c[aa >> 2] =
- (c[A >> 2] | 0) + (c[c[S >> 2] >> 2] | 0);
- c[V >> 2] =
- ao(c[J >> 2] | 0, c[aa >> 2] | 0, c[G >> 2] | 0) |
- 0;
- if ((c[V >> 2] | 0) >>> 0 < (c[r >> 2] | 0) >>> 0)
- break;
- c[W >> 2] =
- $n(
- c[J >> 2] | 0,
- c[I >> 2] | 0,
- c[aa >> 2] | 0,
- c[E >> 2] | 0
- ) | 0;
- c[X >> 2] = (c[V >> 2] | 0) + (c[W >> 2] | 0);
- }
- if ((c[X >> 2] | 0) >>> 0 > (c[T >> 2] | 0) >>> 0) {
- c[T >> 2] = c[X >> 2];
- c[O >> 2] = c[V >> 2];
- c[P >> 2] = c[W >> 2];
- c[Q >> 2] = c[S >> 2];
- }
- }
- } while (0);
- c[S >> 2] = (c[S >> 2] | 0) + 8;
- }
- if (!(c[Q >> 2] | 0)) {
- p = c[k >> 2] | 0;
- o = L;
- fa = c[o >> 2] | 0;
- ea = c[(o + 4) >> 2] | 0;
- o = c[t >> 2] | 0;
- f = c[N >> 2] | 0;
- e = c[n >> 2] | 0;
- c[i >> 2] = c[e >> 2];
- c[(i + 4) >> 2] = c[(e + 4) >> 2];
- c[(i + 8) >> 2] = c[(e + 8) >> 2];
- c[(i + 12) >> 2] = c[(e + 12) >> 2];
- c[(i + 16) >> 2] = c[(e + 16) >> 2];
- c[(i + 20) >> 2] = c[(e + 20) >> 2];
- bo(p, fa, ea, o, f, i);
- c[J >> 2] = (c[J >> 2] | 0) + 1;
- continue;
- }
- c[M >> 2] = (c[O >> 2] | 0) + (c[P >> 2] | 0);
- c[J >> 2] = (c[J >> 2] | 0) + (0 - (c[P >> 2] | 0));
- c[ba >> 2] = c[c[Q >> 2] >> 2];
- c[ca >> 2] = (c[N >> 2] | 0) - (c[ba >> 2] | 0);
- c[da >> 2] =
- (c[c[m >> 2] >> 2] | 0) +
- (((c[((c[m >> 2] | 0) + 8) >> 2] | 0) * 12) | 0);
- if (
- (c[((c[m >> 2] | 0) + 8) >> 2] | 0) ==
- (c[((c[m >> 2] | 0) + 12) >> 2] | 0)
- ) {
- ga = 28;
- break;
- }
- c[((c[da >> 2] | 0) + 4) >> 2] =
- (c[J >> 2] | 0) - (c[I >> 2] | 0);
- c[((c[da >> 2] | 0) + 8) >> 2] = c[M >> 2];
- c[c[da >> 2] >> 2] = c[ca >> 2];
- f = ((c[m >> 2] | 0) + 8) | 0;
- c[f >> 2] = (c[f >> 2] | 0) + 1;
- f = c[k >> 2] | 0;
- o = L;
- ea = c[o >> 2] | 0;
- fa = c[(o + 4) >> 2] | 0;
- o = c[t >> 2] | 0;
- p = ((c[K >> 2] | 0) - (c[A >> 2] | 0)) | 0;
- e = c[n >> 2] | 0;
- c[i >> 2] = c[e >> 2];
- c[(i + 4) >> 2] = c[(e + 4) >> 2];
- c[(i + 8) >> 2] = c[(e + 8) >> 2];
- c[(i + 12) >> 2] = c[(e + 12) >> 2];
- c[(i + 16) >> 2] = c[(e + 16) >> 2];
- c[(i + 20) >> 2] = c[(e + 20) >> 2];
- bo(f, ea, fa, o, p, i);
- if (
- (((c[J >> 2] | 0) + (c[M >> 2] | 0)) | 0) >>> 0 <=
- (c[H >> 2] | 0) >>> 0
- ) {
- p = c[k >> 2] | 0;
- o = L;
- fa = c[o >> 2] | 0;
- ea = c[(o + 4) >> 2] | 0;
- o = c[K >> 2] | 0;
- f = ((c[J >> 2] | 0) + (c[M >> 2] | 0)) | 0;
- e = c[A >> 2] | 0;
- g = c[t >> 2] | 0;
- d = c[n >> 2] | 0;
- c[i >> 2] = c[d >> 2];
- c[(i + 4) >> 2] = c[(d + 4) >> 2];
- c[(i + 8) >> 2] = c[(d + 8) >> 2];
- c[(i + 12) >> 2] = c[(d + 12) >> 2];
- c[(i + 16) >> 2] = c[(d + 16) >> 2];
- c[(i + 20) >> 2] = c[(d + 20) >> 2];
- d = co(p, fa, ea, o, f, e, g, i) | 0;
- g = L;
- c[g >> 2] = d;
- c[(g + 4) >> 2] = y;
- c[K >> 2] = (c[J >> 2] | 0) + (c[M >> 2] | 0) + -1;
- }
- c[J >> 2] = (c[J >> 2] | 0) + (c[M >> 2] | 0);
- c[I >> 2] = c[J >> 2];
- }
- if ((ga | 0) == 28) {
- c[j >> 2] = -70;
- ha = c[j >> 2] | 0;
- l = h;
- return ha | 0;
- } else if ((ga | 0) == 32) {
- c[j >> 2] = (c[G >> 2] | 0) - (c[I >> 2] | 0);
- ha = c[j >> 2] | 0;
- l = h;
- return ha | 0;
- }
- return 0;
- }
- function Tn(a) {
- a = a | 0;
- return (
- ((c[(a + 16) >> 2] | 0) >>> 0 <
- (c[(a + 12) >> 2] | 0) >>> 0) |
- 0
- );
- }
- function Un(b, e, f, g, h, i) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- j = l;
- l = (l + 32) | 0;
- k = (j + 8) | 0;
- m = (j + 17) | 0;
- n = (j + 16) | 0;
- o = j;
- p = k;
- c[p >> 2] = b;
- c[(p + 4) >> 2] = e;
- a[m >> 0] = f;
- a[n >> 0] = g;
- g = o;
- c[g >> 2] = h;
- c[(g + 4) >> 2] = i;
- i = ((d[m >> 0] | 0) + 10) | 0;
- m = o;
- o =
- cE(
- i | 0,
- ((((i | 0) < 0) << 31) >> 31) | 0,
- c[m >> 2] | 0,
- c[(m + 4) >> 2] | 0
- ) | 0;
- m = k;
- i = eE(c[m >> 2] | 0, c[(m + 4) >> 2] | 0, o | 0, y | 0) | 0;
- o = k;
- c[o >> 2] = i;
- c[(o + 4) >> 2] = y;
- o = k;
- i =
- cE(
- c[o >> 2] | 0,
- c[(o + 4) >> 2] | 0,
- -1213897629,
- -820265764
- ) | 0;
- o = k;
- c[o >> 2] = i;
- c[(o + 4) >> 2] = y;
- o = ((d[n >> 0] | 0) + 10) | 0;
- n = k;
- i =
- dE(
- c[n >> 2] | 0,
- c[(n + 4) >> 2] | 0,
- o | 0,
- ((((o | 0) < 0) << 31) >> 31) | 0
- ) | 0;
- o = k;
- c[o >> 2] = i;
- c[(o + 4) >> 2] = y;
- o = k;
- y = c[(o + 4) >> 2] | 0;
- l = j;
- return c[o >> 2] | 0;
- }
- function Vn(a, b) {
- a = a | 0;
- b = b | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 16) | 0;
- g = (e + 12) | 0;
- h = e;
- i = (e + 8) | 0;
- c[f >> 2] = a;
- c[g >> 2] = b;
- b = h;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[i >> 2] = 0;
- while (1) {
- b = h;
- j = c[b >> 2] | 0;
- k = c[(b + 4) >> 2] | 0;
- if ((c[i >> 2] | 0) >>> 0 >= (c[g >> 2] | 0) >>> 0) break;
- b = cE(j | 0, k | 0, -1213897629, -820265764) | 0;
- a = h;
- c[a >> 2] = b;
- c[(a + 4) >> 2] = y;
- a =
- ((d[((c[f >> 2] | 0) + (c[i >> 2] | 0)) >> 0] | 0) + 10) |
- 0;
- b = h;
- m =
- dE(
- c[b >> 2] | 0,
- c[(b + 4) >> 2] | 0,
- a | 0,
- ((((a | 0) < 0) << 31) >> 31) | 0
- ) | 0;
- a = h;
- c[a >> 2] = m;
- c[(a + 4) >> 2] = y;
- c[i >> 2] = (c[i >> 2] | 0) + 1;
- }
- y = k;
- l = e;
- return j | 0;
- }
- function Wn(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = f;
- i = (f + 12) | 0;
- j = (f + 8) | 0;
- k = h;
- c[k >> 2] = a;
- c[(k + 4) >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- e = h;
- h = c[e >> 2] | 0;
- d = c[(e + 4) >> 2] | 0;
- if (
- ((32 - (c[i >> 2] | 0)) | 0) >>> 0 <
- (c[j >> 2] | 0) >>> 0
- ) {
- c[g >> 2] = h & ((1 << c[j >> 2]) - 1);
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- } else {
- e =
- iE(
- h | 0,
- d | 0,
- (32 - (c[i >> 2] | 0) - (c[j >> 2] | 0)) | 0
- ) | 0;
- c[g >> 2] = e & ((1 << c[j >> 2]) - 1);
- m = c[g >> 2] | 0;
- l = f;
- return m | 0;
- }
- return 0;
- }
- function Xn(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- if (!(c[g >> 2] | 0)) {
- i = 0;
- l = e;
- return i | 0;
- }
- d = f;
- f =
- iE(
- c[d >> 2] | 0,
- c[(d + 4) >> 2] | 0,
- (64 - (c[g >> 2] | 0)) | 0
- ) | 0;
- i = f;
- l = e;
- return i | 0;
- }
- function Yn(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- l = e;
- return (
- ((c[((c[f >> 2] | 0) + 20) >> 2] | 0) +
- ((c[g >> 2] << c[(d + 8) >> 2]) << 3)) |
- 0
- );
- }
- function Zn(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 8) | 0;
- h = f;
- c[h >> 2] = a;
- c[(h + 4) >> 2] = b;
- c[g >> 2] = d;
- d = f;
- f =
- iE(
- c[d >> 2] | 0,
- c[(d + 4) >> 2] | 0,
- (32 - (c[g >> 2] | 0)) | 0
- ) | 0;
- l = e;
- return f | 0;
- }
- function _n(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- if (
- (((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0) >>>
- 0 <
- (c[k >> 2] | 0) >>> 0
- )
- q =
- ((c[i >> 2] | 0) + ((c[m >> 2] | 0) - (c[j >> 2] | 0))) |
- 0;
- else q = c[k >> 2] | 0;
- c[o >> 2] = q;
- c[p >> 2] =
- ao(c[i >> 2] | 0, c[j >> 2] | 0, c[o >> 2] | 0) | 0;
- o = c[p >> 2] | 0;
- if (
- (((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0) !=
- (c[m >> 2] | 0)
- ) {
- c[h >> 2] = o;
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- } else {
- c[h >> 2] =
- o +
- (ao(
- ((c[i >> 2] | 0) + (c[p >> 2] | 0)) | 0,
- c[n >> 2] | 0,
- c[k >> 2] | 0
- ) |
- 0);
- r = c[h >> 2] | 0;
- l = g;
- return r | 0;
- }
- return 0;
- }
- function $n(a, b, e, f) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 16) | 0;
- i = (g + 12) | 0;
- j = (g + 8) | 0;
- k = (g + 4) | 0;
- m = g;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = f;
- c[m >> 2] = 0;
- while (1) {
- if ((c[h >> 2] | 0) >>> 0 <= (c[i >> 2] | 0) >>> 0) {
- n = 6;
- break;
- }
- if ((c[j >> 2] | 0) >>> 0 <= (c[k >> 2] | 0) >>> 0) {
- n = 6;
- break;
- }
- if (
- (d[((c[h >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[j >> 2] | 0) + -1) >> 0] | 0 | 0)
- ) {
- n = 6;
- break;
- }
- c[h >> 2] = (c[h >> 2] | 0) + -1;
- c[j >> 2] = (c[j >> 2] | 0) + -1;
- c[m >> 2] = (c[m >> 2] | 0) + 1;
- }
- if ((n | 0) == 6) {
- l = g;
- return c[m >> 2] | 0;
- }
- return 0;
- }
- function ao(a, b, e) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = e;
- c[k >> 2] = c[h >> 2];
- c[m >> 2] = (c[j >> 2] | 0) + -3;
- a: do {
- if ((c[h >> 2] | 0) >>> 0 < (c[m >> 2] | 0) >>> 0) {
- e = fo(c[i >> 2] | 0) | 0;
- c[n >> 2] = e ^ (fo(c[h >> 2] | 0) | 0);
- if (c[n >> 2] | 0) {
- c[g >> 2] = go(c[n >> 2] | 0) | 0;
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- while (1) {
- if ((c[h >> 2] | 0) >>> 0 >= (c[m >> 2] | 0) >>> 0)
- break a;
- e = fo(c[i >> 2] | 0) | 0;
- c[o >> 2] = e ^ (fo(c[h >> 2] | 0) | 0);
- if (c[o >> 2] | 0) break;
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- e = go(c[o >> 2] | 0) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + e;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- } while (0);
- if (
- (
- ho() | 0
- ? (c[h >> 2] | 0) >>> 0 <
- (((c[j >> 2] | 0) + -3) | 0) >>> 0
- : 0
- )
- ? ((o = io(c[i >> 2] | 0) | 0),
- (o | 0) == (io(c[h >> 2] | 0) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 4;
- c[i >> 2] = (c[i >> 2] | 0) + 4;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (((c[j >> 2] | 0) + -1) | 0) >>> 0
- ? ((o = (jo(c[i >> 2] | 0) | 0) & 65535),
- (o | 0) == (((jo(c[h >> 2] | 0) | 0) & 65535) | 0))
- : 0
- ) {
- c[h >> 2] = (c[h >> 2] | 0) + 2;
- c[i >> 2] = (c[i >> 2] | 0) + 2;
- }
- if (
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? (d[c[i >> 2] >> 0] | 0 | 0) ==
- (d[c[h >> 2] >> 0] | 0 | 0)
- : 0
- )
- c[h >> 2] = (c[h >> 2] | 0) + 1;
- c[g >> 2] = (c[h >> 2] | 0) - (c[k >> 2] | 0);
- p = c[g >> 2] | 0;
- l = f;
- return p | 0;
- }
- function bo(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- h = l;
- l = (l + 80) | 0;
- i = (h + 56) | 0;
- j = (h + 48) | 0;
- k = (h + 40) | 0;
- m = h;
- n = (h + 36) | 0;
- o = (h + 32) | 0;
- p = (h + 28) | 0;
- q = (h + 24) | 0;
- r = (h + 20) | 0;
- s = (h + 16) | 0;
- t = (h + 8) | 0;
- c[k >> 2] = a;
- a = m;
- c[a >> 2] = b;
- c[(a + 4) >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- f = m;
- c[p >> 2] =
- Wn(
- c[f >> 2] | 0,
- c[(f + 4) >> 2] | 0,
- c[n >> 2] | 0,
- c[(g + 16) >> 2] | 0
- ) | 0;
- c[q >> 2] = (1 << c[(g + 16) >> 2]) - 1;
- if ((c[p >> 2] | 0) != (c[q >> 2] | 0)) {
- l = h;
- return;
- }
- q = m;
- c[r >> 2] =
- Xn(c[q >> 2] | 0, c[(q + 4) >> 2] | 0, c[n >> 2] | 0) | 0;
- q = m;
- c[s >> 2] =
- Zn(c[q >> 2] | 0, c[(q + 4) >> 2] | 0, c[n >> 2] | 0) | 0;
- c[t >> 2] = c[o >> 2];
- c[(t + 4) >> 2] = c[s >> 2];
- s = c[k >> 2] | 0;
- k = c[r >> 2] | 0;
- c[j >> 2] = c[t >> 2];
- c[(j + 4) >> 2] = c[(t + 4) >> 2];
- c[i >> 2] = c[g >> 2];
- c[(i + 4) >> 2] = c[(g + 4) >> 2];
- c[(i + 8) >> 2] = c[(g + 8) >> 2];
- c[(i + 12) >> 2] = c[(g + 12) >> 2];
- c[(i + 16) >> 2] = c[(g + 16) >> 2];
- c[(i + 20) >> 2] = c[(g + 20) >> 2];
- eo(s, k, j, i);
- l = h;
- return;
- }
- function co(b, d, e, f, g, h, i, j) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- k = l;
- l = (l + 64) | 0;
- m = (k + 40) | 0;
- n = (k + 36) | 0;
- o = (k + 8) | 0;
- p = (k + 32) | 0;
- q = (k + 28) | 0;
- r = (k + 24) | 0;
- s = (k + 20) | 0;
- t = k;
- u = (k + 16) | 0;
- c[n >> 2] = b;
- b = o;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- c[p >> 2] = f;
- c[q >> 2] = g;
- c[r >> 2] = h;
- c[s >> 2] = i;
- i = o;
- o = c[(i + 4) >> 2] | 0;
- h = t;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = o;
- c[u >> 2] = (c[p >> 2] | 0) + 1;
- while (1) {
- p = t;
- v = c[p >> 2] | 0;
- w = c[(p + 4) >> 2] | 0;
- if ((c[u >> 2] | 0) >>> 0 >= (c[q >> 2] | 0) >>> 0) break;
- p = ((c[n >> 2] | 0) + 32) | 0;
- o =
- Un(
- v,
- w,
- a[((c[u >> 2] | 0) + -1) >> 0] | 0,
- a[
- ((c[u >> 2] | 0) + ((c[(j + 12) >> 2] | 0) - 1)) >> 0
- ] | 0,
- c[p >> 2] | 0,
- c[(p + 4) >> 2] | 0
- ) | 0;
- p = t;
- c[p >> 2] = o;
- c[(p + 4) >> 2] = y;
- p = c[n >> 2] | 0;
- o = t;
- h = c[o >> 2] | 0;
- i = c[(o + 4) >> 2] | 0;
- o = c[s >> 2] | 0;
- g = ((c[u >> 2] | 0) - (c[r >> 2] | 0)) | 0;
- c[m >> 2] = c[j >> 2];
- c[(m + 4) >> 2] = c[(j + 4) >> 2];
- c[(m + 8) >> 2] = c[(j + 8) >> 2];
- c[(m + 12) >> 2] = c[(j + 12) >> 2];
- c[(m + 16) >> 2] = c[(j + 16) >> 2];
- c[(m + 20) >> 2] = c[(j + 20) >> 2];
- bo(p, h, i, o, g, m);
- c[u >> 2] = (c[u >> 2] | 0) + 1;
- }
- y = w;
- l = k;
- return v | 0;
- }
- function eo(b, e, f, g) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- h = l;
- l = (l + 48) | 0;
- i = (h + 16) | 0;
- j = (h + 8) | 0;
- k = (h + 4) | 0;
- m = h;
- c[j >> 2] = b;
- c[k >> 2] = e;
- c[m >> 2] = c[((c[j >> 2] | 0) + 24) >> 2];
- e = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- c[i >> 2] = c[g >> 2];
- c[(i + 4) >> 2] = c[(g + 4) >> 2];
- c[(i + 8) >> 2] = c[(g + 8) >> 2];
- c[(i + 12) >> 2] = c[(g + 12) >> 2];
- c[(i + 16) >> 2] = c[(g + 16) >> 2];
- c[(i + 20) >> 2] = c[(g + 20) >> 2];
- b = Yn(e, j, i) | 0;
- i =
- (b +
- ((d[((c[m >> 2] | 0) + (c[k >> 2] | 0)) >> 0] | 0) <<
- 3)) |
- 0;
- c[i >> 2] = c[f >> 2];
- c[(i + 4) >> 2] = c[(f + 4) >> 2];
- f = ((c[m >> 2] | 0) + (c[k >> 2] | 0)) | 0;
- a[f >> 0] = (((a[f >> 0] | 0) + 1) << 24) >> 24;
- f = ((c[m >> 2] | 0) + (c[k >> 2] | 0)) | 0;
- a[f >> 0] = (d[f >> 0] | 0) & ((1 << c[(g + 8) >> 2]) - 1);
- l = h;
- return;
- }
- function fo(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function go(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0;
- b = l;
- l = (l + 16) | 0;
- d = (b + 4) | 0;
- e = b;
- c[e >> 2] = a;
- a = (ko() | 0) != 0;
- f = (ho() | 0) != 0;
- g = c[e >> 2] | 0;
- do {
- if (a) {
- if (f) {
- e = ob(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (fE(g | 0) | 0) >> 3;
- break;
- }
- } else if (f) {
- e = lE(g | 0, 0, 0) | 0;
- c[d >> 2] = e >> 3;
- break;
- } else {
- c[d >> 2] = (Q(g | 0) | 0) >> 3;
- break;
- }
- } while (0);
- l = b;
- return c[d >> 2] | 0;
- }
- function ho() {
- return 0;
- }
- function io(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return (
- d[a >> 0] |
- (d[(a + 1) >> 0] << 8) |
- (d[(a + 2) >> 0] << 16) |
- (d[(a + 3) >> 0] << 24) |
- 0
- );
- }
- function jo(a) {
- a = a | 0;
- var b = 0,
- e = 0;
- b = l;
- l = (l + 16) | 0;
- e = b;
- c[e >> 2] = a;
- a = c[e >> 2] | 0;
- l = b;
- return d[a >> 0] | (d[(a + 1) >> 0] << 8) | 0;
- }
- function ko() {
- return d[11936] | 0 | 0;
- }
- function lo(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 20) | 0;
- h = (f + 16) | 0;
- i = (f + 12) | 0;
- j = f;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = e;
- e =
- ((c[c[g >> 2] >> 2] | 0) +
- (((c[((c[g >> 2] | 0) + 4) >> 2] | 0) * 12) | 0)) |
- 0;
- c[j >> 2] = c[e >> 2];
- c[(j + 4) >> 2] = c[(e + 4) >> 2];
- c[(j + 8) >> 2] = c[(e + 8) >> 2];
- if (
- (c[h >> 2] | 0) >>> 0 >=
- (((c[(j + 4) >> 2] | 0) + (c[(j + 8) >> 2] | 0)) | 0) >>> 0
- ) {
- e = ((c[g >> 2] | 0) + 4) | 0;
- c[e >> 2] = (c[e >> 2] | 0) + 1;
- c[a >> 2] = c[j >> 2];
- c[(a + 4) >> 2] = c[(j + 4) >> 2];
- c[(a + 8) >> 2] = c[(j + 8) >> 2];
- l = f;
- return;
- }
- if ((c[h >> 2] | 0) >>> 0 > (c[(j + 4) >> 2] | 0) >>> 0) {
- if (
- (c[h >> 2] | 0) >>> 0 <
- (((c[(j + 4) >> 2] | 0) + (c[(j + 8) >> 2] | 0)) | 0) >>>
- 0
- ? ((c[(j + 8) >> 2] =
- (c[h >> 2] | 0) - (c[(j + 4) >> 2] | 0)),
- (c[(j + 8) >> 2] | 0) >>> 0 < (c[i >> 2] | 0) >>> 0)
- : 0
- )
- c[j >> 2] = 0;
- } else c[j >> 2] = 0;
- An(c[g >> 2] | 0, c[h >> 2] | 0, c[i >> 2] | 0);
- c[a >> 2] = c[j >> 2];
- c[(a + 4) >> 2] = c[(j + 4) >> 2];
- c[(a + 8) >> 2] = c[(j + 8) >> 2];
- l = f;
- return;
- }
- function mo(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 8) | 0;
- f = (d + 4) | 0;
- g = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] =
- (c[f >> 2] | 0) - (c[((c[e >> 2] | 0) + 4) >> 2] | 0);
- if (
- (c[g >> 2] | 0) >>> 0 <=
- (((c[((c[e >> 2] | 0) + 24) >> 2] | 0) + 1024) | 0) >>> 0
- ) {
- l = d;
- return;
- }
- if (
- 512 <
- (((c[g >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 24) >> 2] | 0) -
- 1024) |
- 0) >>>
- 0
- )
- h = 512;
- else
- h =
- ((c[g >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 24) >> 2] | 0) -
- 1024) |
- 0;
- c[((c[e >> 2] | 0) + 24) >> 2] = (c[g >> 2] | 0) - h;
- l = d;
- return;
- }
- function no(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 12) | 0;
- g = (e + 8) | 0;
- h = (e + 4) | 0;
- i = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[h >> 2];
- switch (c[((c[g >> 2] | 0) + 24) >> 2] | 0) {
- case 1: {
- Nj(c[f >> 2] | 0, c[g >> 2] | 0, c[i >> 2] | 0);
- c[((c[f >> 2] | 0) + 24) >> 2] =
- (c[i >> 2] | 0) - (c[((c[f >> 2] | 0) + 4) >> 2] | 0);
- l = e;
- return 0;
- }
- case 2: {
- Oj(c[f >> 2] | 0, c[g >> 2] | 0, c[i >> 2] | 0);
- c[((c[f >> 2] | 0) + 24) >> 2] =
- (c[i >> 2] | 0) - (c[((c[f >> 2] | 0) + 4) >> 2] | 0);
- l = e;
- return 0;
- }
- default: {
- l = e;
- return 0;
- }
- }
- return 0;
- }
- function oo(a, d, e, f, g) {
- a = a | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 16) | 0;
- j = (h + 12) | 0;
- k = (h + 8) | 0;
- m = (h + 4) | 0;
- n = h;
- c[i >> 2] = a;
- c[j >> 2] = d;
- c[k >> 2] = e;
- c[m >> 2] = f;
- c[n >> 2] = g;
- po(
- c[((c[i >> 2] | 0) + 12) >> 2] | 0,
- c[k >> 2] | 0,
- c[j >> 2] | 0
- );
- k = ((c[i >> 2] | 0) + 12) | 0;
- c[k >> 2] = (c[k >> 2] | 0) + (c[j >> 2] | 0);
- if ((c[j >> 2] | 0) >>> 0 > 65535) {
- c[((c[i >> 2] | 0) + 28) >> 2] = 1;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- }
- b[((c[((c[i >> 2] | 0) + 4) >> 2] | 0) + 4) >> 1] = c[j >> 2];
- c[c[((c[i >> 2] | 0) + 4) >> 2] >> 2] = (c[m >> 2] | 0) + 1;
- if ((c[n >> 2] | 0) >>> 0 <= 65535) {
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- c[((c[i >> 2] | 0) + 28) >> 2] = 2;
- c[((c[i >> 2] | 0) + 32) >> 2] =
- ((((c[((c[i >> 2] | 0) + 4) >> 2] | 0) -
- (c[c[i >> 2] >> 2] | 0)) |
- 0) /
- 8) |
- 0;
- o = c[n >> 2] | 0;
- p = o & 65535;
- q = c[i >> 2] | 0;
- r = (q + 4) | 0;
- s = c[r >> 2] | 0;
- t = (s + 6) | 0;
- b[t >> 1] = p;
- u = c[i >> 2] | 0;
- v = (u + 4) | 0;
- w = c[v >> 2] | 0;
- x = (w + 8) | 0;
- c[v >> 2] = x;
- l = h;
- return;
- }
- function po(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 32) | 0;
- f = (e + 20) | 0;
- g = (e + 16) | 0;
- h = (e + 12) | 0;
- i = (e + 8) | 0;
- j = (e + 4) | 0;
- k = e;
- c[f >> 2] = a;
- c[g >> 2] = b;
- c[h >> 2] = d;
- c[i >> 2] = c[g >> 2];
- c[j >> 2] = c[f >> 2];
- c[k >> 2] = (c[j >> 2] | 0) + (c[h >> 2] | 0);
- do {
- qo(c[j >> 2] | 0, c[i >> 2] | 0);
- c[j >> 2] = (c[j >> 2] | 0) + 8;
- c[i >> 2] = (c[i >> 2] | 0) + 8;
- } while ((c[j >> 2] | 0) >>> 0 < (c[k >> 2] | 0) >>> 0);
- l = e;
- return;
- }
- function qo(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = (e + 4) | 0;
- g = e;
- c[f >> 2] = b;
- c[g >> 2] = d;
- d = c[f >> 2] | 0;
- f = c[g >> 2] | 0;
- a[d >> 0] = a[f >> 0] | 0;
- a[(d + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(d + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(d + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(d + 4) >> 0] = a[(f + 4) >> 0] | 0;
- a[(d + 5) >> 0] = a[(f + 5) >> 0] | 0;
- a[(d + 6) >> 0] = a[(f + 6) >> 0] | 0;
- a[(d + 7) >> 0] = a[(f + 7) >> 0] | 0;
- l = e;
- return;
- }
- function ro(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = b;
- c[f >> 2] = (c[e >> 2] | 0) - (c[(a + 4) >> 2] | 0);
- l = d;
- return ((c[f >> 2] | 0) >>> 0 > 2684354560) | 0;
- }
- function so(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 28) | 0;
- h = (f + 24) | 0;
- i = (f + 20) | 0;
- j = (f + 16) | 0;
- k = (f + 12) | 0;
- m = (f + 8) | 0;
- n = (f + 4) | 0;
- o = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] = (1 << c[h >> 2]) - 1;
- c[m >> 2] =
- (c[j >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
- c[n >> 2] = (c[m >> 2] & c[k >> 2]) + (c[i >> 2] | 0);
- c[o >> 2] = (c[m >> 2] | 0) - (c[n >> 2] | 0);
- n = ((c[g >> 2] | 0) + 4) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
- n = ((c[g >> 2] | 0) + 8) | 0;
- c[n >> 2] = (c[n >> 2] | 0) + (c[o >> 2] | 0);
- n = ((c[g >> 2] | 0) + 16) | 0;
- c[n >> 2] = (c[n >> 2] | 0) - (c[o >> 2] | 0);
- n = ((c[g >> 2] | 0) + 12) | 0;
- c[n >> 2] = (c[n >> 2] | 0) - (c[o >> 2] | 0);
- l = f;
- return c[o >> 2] | 0;
- }
- function to(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 20) | 0;
- f = (d + 16) | 0;
- g = (d + 12) | 0;
- h = (d + 8) | 0;
- i = (d + 4) | 0;
- j = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- c[g >> 2] = (c[e >> 2] | 0) + 472 + 8;
- c[h >> 2] = 1 << c[((c[e >> 2] | 0) + 116 + 4 + 8) >> 2];
- vo(
- c[((c[g >> 2] | 0) + 36) >> 2] | 0,
- c[h >> 2] | 0,
- c[f >> 2] | 0
- );
- do {
- if ((c[((c[e >> 2] | 0) + 116 + 4 + 24) >> 2] | 0) != 1) {
- c[i >> 2] = 1 << c[((c[e >> 2] | 0) + 116 + 4 + 4) >> 2];
- h = c[((c[g >> 2] | 0) + 44) >> 2] | 0;
- b = c[i >> 2] | 0;
- a = c[f >> 2] | 0;
- if ((c[((c[e >> 2] | 0) + 116 + 4 + 24) >> 2] | 0) == 6) {
- wo(h, b, a);
- break;
- } else {
- vo(h, b, a);
- break;
- }
- }
- } while (0);
- if (!(c[((c[g >> 2] | 0) + 32) >> 2] | 0)) {
- l = d;
- return;
- }
- c[j >> 2] = 1 << c[((c[g >> 2] | 0) + 32) >> 2];
- vo(
- c[((c[g >> 2] | 0) + 40) >> 2] | 0,
- c[j >> 2] | 0,
- c[f >> 2] | 0
- );
- l = d;
- return;
- }
- function uo(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 24) | 0;
- h = (f + 20) | 0;
- i = (f + 16) | 0;
- j = (f + 12) | 0;
- k = (f + 8) | 0;
- m = (f + 4) | 0;
- n = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] =
- (c[h >> 2] | 0) - (c[((c[g >> 2] | 0) + 4) >> 2] | 0);
- if (c[j >> 2] | 0) o = c[c[j >> 2] >> 2] | 0;
- else o = 0;
- c[m >> 2] = o;
- if (
- (c[k >> 2] | 0) >>> 0 <=
- (((c[i >> 2] | 0) + (c[m >> 2] | 0)) | 0) >>> 0
- ) {
- l = f;
- return;
- }
- c[n >> 2] = (c[k >> 2] | 0) - (c[i >> 2] | 0);
- if (
- (c[((c[g >> 2] | 0) + 16) >> 2] | 0) >>> 0 <
- (c[n >> 2] | 0) >>> 0
- )
- c[((c[g >> 2] | 0) + 16) >> 2] = c[n >> 2];
- if (
- (c[((c[g >> 2] | 0) + 12) >> 2] | 0) >>> 0 <
- (c[((c[g >> 2] | 0) + 16) >> 2] | 0) >>> 0
- )
- c[((c[g >> 2] | 0) + 12) >> 2] =
- c[((c[g >> 2] | 0) + 16) >> 2];
- if (!(c[j >> 2] | 0)) {
- l = f;
- return;
- }
- c[c[j >> 2] >> 2] = 0;
- l = f;
- return;
- }
- function vo(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- e = l;
- l = (l + 48) | 0;
- f = (e + 44) | 0;
- g = (e + 40) | 0;
- h = (e + 36) | 0;
- i = (e + 32) | 0;
- j = (e + 28) | 0;
- k = (e + 24) | 0;
- m = (e + 20) | 0;
- n = (e + 16) | 0;
- o = (e + 12) | 0;
- p = (e + 8) | 0;
- q = (e + 4) | 0;
- r = e;
- c[p >> 2] = a;
- c[q >> 2] = b;
- c[r >> 2] = d;
- d = c[q >> 2] | 0;
- q = c[r >> 2] | 0;
- c[f >> 2] = c[p >> 2];
- c[g >> 2] = d;
- c[h >> 2] = q;
- c[i >> 2] = 0;
- c[j >> 2] = ((c[g >> 2] | 0) / 16) | 0;
- c[k >> 2] = 0;
- c[m >> 2] = 0;
- while (1) {
- if ((c[m >> 2] | 0) >= (c[j >> 2] | 0)) break;
- c[n >> 2] = 0;
- while (1) {
- if ((c[n >> 2] | 0) >= 16) break;
- if (c[i >> 2] | 0) {
- c[o >> 2] =
- (c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) ==
- 1
- ? c[h >> 2] | 0
- : 0;
- g = ((c[f >> 2] | 0) + (c[k >> 2] << 2)) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + (c[o >> 2] | 0);
- }
- if (
- (c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) >>>
- 0 <
- (c[h >> 2] | 0) >>> 0
- )
- c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] = 0;
- else {
- g = ((c[f >> 2] | 0) + (c[k >> 2] << 2)) | 0;
- c[g >> 2] = (c[g >> 2] | 0) - (c[h >> 2] | 0);
- }
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- }
- c[m >> 2] = (c[m >> 2] | 0) + 1;
- }
- l = e;
- return;
- }
- function wo(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- e = l;
- l = (l + 48) | 0;
- f = (e + 44) | 0;
- g = (e + 40) | 0;
- h = (e + 36) | 0;
- i = (e + 32) | 0;
- j = (e + 28) | 0;
- k = (e + 24) | 0;
- m = (e + 20) | 0;
- n = (e + 16) | 0;
- o = (e + 12) | 0;
- p = (e + 8) | 0;
- q = (e + 4) | 0;
- r = e;
- c[p >> 2] = a;
- c[q >> 2] = b;
- c[r >> 2] = d;
- d = c[q >> 2] | 0;
- q = c[r >> 2] | 0;
- c[f >> 2] = c[p >> 2];
- c[g >> 2] = d;
- c[h >> 2] = q;
- c[i >> 2] = 1;
- c[j >> 2] = ((c[g >> 2] | 0) / 16) | 0;
- c[k >> 2] = 0;
- c[m >> 2] = 0;
- while (1) {
- if ((c[m >> 2] | 0) >= (c[j >> 2] | 0)) break;
- c[n >> 2] = 0;
- while (1) {
- if ((c[n >> 2] | 0) >= 16) break;
- if (c[i >> 2] | 0) {
- c[o >> 2] =
- (c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) ==
- 1
- ? c[h >> 2] | 0
- : 0;
- g = ((c[f >> 2] | 0) + (c[k >> 2] << 2)) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + (c[o >> 2] | 0);
- }
- if (
- (c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] | 0) >>>
- 0 <
- (c[h >> 2] | 0) >>> 0
- )
- c[((c[f >> 2] | 0) + (c[k >> 2] << 2)) >> 2] = 0;
- else {
- g = ((c[f >> 2] | 0) + (c[k >> 2] << 2)) | 0;
- c[g >> 2] = (c[g >> 2] | 0) - (c[h >> 2] | 0);
- }
- c[k >> 2] = (c[k >> 2] | 0) + 1;
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- }
- c[m >> 2] = (c[m >> 2] | 0) + 1;
- }
- l = e;
- return;
- }
- function xo(a, b, d, e, f, g, h, i, j) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0;
- k = l;
- l = (l + 160) | 0;
- m = (k + 48) | 0;
- n = (k + 40) | 0;
- o = (k + 36) | 0;
- p = (k + 32) | 0;
- q = (k + 28) | 0;
- r = (k + 24) | 0;
- s = (k + 20) | 0;
- t = k;
- u = (k + 16) | 0;
- v = (k + 12) | 0;
- w = (k + 8) | 0;
- c[o >> 2] = a;
- c[p >> 2] = b;
- c[q >> 2] = d;
- c[r >> 2] = e;
- c[s >> 2] = f;
- f = t;
- c[f >> 2] = h;
- c[(f + 4) >> 2] = i;
- c[u >> 2] = j;
- if (
- c[s >> 2] | 0
- ? (c[((c[s >> 2] | 0) + 8) >> 2] | 0) >>> 0 > 0
- : 0
- ) {
- x = ((c[o >> 2] | 0) + 12) | 0;
- y = g;
- z = (x + 104) | 0;
- do {
- c[x >> 2] = c[y >> 2];
- x = (x + 4) | 0;
- y = (y + 4) | 0;
- } while ((x | 0) < (z | 0));
- j = c[o >> 2] | 0;
- i = c[s >> 2] | 0;
- s = c[(g + 4) >> 2] | 0;
- f = (g + 32) | 0;
- h = t;
- e = c[h >> 2] | 0;
- d = c[(h + 4) >> 2] | 0;
- h = c[u >> 2] | 0;
- c[m >> 2] = c[f >> 2];
- c[(m + 4) >> 2] = c[(f + 4) >> 2];
- c[(m + 8) >> 2] = c[(f + 8) >> 2];
- c[n >> 2] = yo(j, i, s, m, e, d, h) | 0;
- A = c[n >> 2] | 0;
- l = k;
- return A | 0;
- }
- h = c[o >> 2] | 0;
- d = t;
- t = c[d >> 2] | 0;
- e = c[(d + 4) >> 2] | 0;
- d = c[u >> 2] | 0;
- x = m;
- y = g;
- z = (x + 104) | 0;
- do {
- c[x >> 2] = c[y >> 2];
- x = (x + 4) | 0;
- y = (y + 4) | 0;
- } while ((x | 0) < (z | 0));
- c[v >> 2] = ml(h, m, t, e, 0, d) | 0;
- if (wj(c[v >> 2] | 0) | 0) {
- c[n >> 2] = c[v >> 2];
- A = c[n >> 2] | 0;
- l = k;
- return A | 0;
- }
- c[w >> 2] =
- Ej(
- c[((c[o >> 2] | 0) + 472) >> 2] | 0,
- ((c[o >> 2] | 0) + 472 + 8) | 0,
- g,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[r >> 2] | 0,
- c[((c[o >> 2] | 0) + 588) >> 2] | 0
- ) | 0;
- r = (Ph(c[w >> 2] | 0) | 0) != 0;
- q = c[w >> 2] | 0;
- if (r) {
- c[n >> 2] = q;
- A = c[n >> 2] | 0;
- l = k;
- return A | 0;
- } else {
- c[((c[o >> 2] | 0) + 220) >> 2] = q;
- c[n >> 2] = 0;
- A = c[n >> 2] | 0;
- l = k;
- return A | 0;
- }
- return 0;
- }
- function yo(a, b, d, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- i = l;
- l = (l + 256) | 0;
- j = (i + 152) | 0;
- k = (i + 148) | 0;
- m = (i + 144) | 0;
- n = (i + 140) | 0;
- o = i;
- p = (i + 136) | 0;
- q = (i + 32) | 0;
- r = (i + 28) | 0;
- s = (i + 24) | 0;
- t = (i + 20) | 0;
- u = (i + 16) | 0;
- v = (i + 12) | 0;
- w = (i + 8) | 0;
- c[k >> 2] = a;
- c[m >> 2] = b;
- c[n >> 2] = d;
- d = o;
- c[d >> 2] = f;
- c[(d + 4) >> 2] = g;
- c[p >> 2] = h;
- h = q;
- g = ((c[k >> 2] | 0) + 12) | 0;
- d = (h + 104) | 0;
- do {
- c[h >> 2] = c[g >> 2];
- h = (h + 4) | 0;
- g = (g + 4) | 0;
- } while ((h | 0) < (d | 0));
- f = (q + 4) | 0;
- b = ((c[m >> 2] | 0) + 4720) | 0;
- c[f >> 2] = c[b >> 2];
- c[(f + 4) >> 2] = c[(b + 4) >> 2];
- c[(f + 8) >> 2] = c[(b + 8) >> 2];
- c[(f + 12) >> 2] = c[(b + 12) >> 2];
- c[(f + 16) >> 2] = c[(b + 16) >> 2];
- c[(f + 20) >> 2] = c[(b + 20) >> 2];
- c[(f + 24) >> 2] = c[(b + 24) >> 2];
- if (c[n >> 2] | 0) c[(q + 4) >> 2] = c[n >> 2];
- n = (q + 32) | 0;
- c[n >> 2] = c[e >> 2];
- c[(n + 4) >> 2] = c[(e + 4) >> 2];
- c[(n + 8) >> 2] = c[(e + 8) >> 2];
- e = c[k >> 2] | 0;
- n = o;
- o = c[n >> 2] | 0;
- b = c[(n + 4) >> 2] | 0;
- n = c[p >> 2] | 0;
- h = j;
- g = q;
- d = (h + 104) | 0;
- do {
- c[h >> 2] = c[g >> 2];
- h = (h + 4) | 0;
- g = (g + 4) | 0;
- } while ((h | 0) < (d | 0));
- ml(e, j, o, b, 1, n) | 0;
- if ((c[((c[m >> 2] | 0) + 4720 + 24) >> 2] | 0) == 1) x = 0;
- else x = 1 << c[((c[m >> 2] | 0) + 4720 + 4) >> 2];
- c[r >> 2] = x;
- c[s >> 2] = 1 << c[((c[m >> 2] | 0) + 4720 + 8) >> 2];
- c[t >> 2] = ((c[r >> 2] | 0) + (c[s >> 2] | 0)) << 2;
- mE(
- c[((c[k >> 2] | 0) + 472 + 8 + 36) >> 2] | 0,
- c[((c[m >> 2] | 0) + 20 + 36) >> 2] | 0,
- c[t >> 2] | 0
- ) | 0;
- c[u >> 2] = 1 << c[((c[k >> 2] | 0) + 472 + 8 + 32) >> 2];
- oE(
- c[((c[k >> 2] | 0) + 472 + 8 + 40) >> 2] | 0,
- 0,
- (c[u >> 2] << 2) | 0
- ) | 0;
- c[v >> 2] = (c[m >> 2] | 0) + 20;
- c[w >> 2] = (c[k >> 2] | 0) + 472 + 8;
- u = c[w >> 2] | 0;
- t = c[v >> 2] | 0;
- c[u >> 2] = c[t >> 2];
- c[(u + 4) >> 2] = c[(t + 4) >> 2];
- c[(u + 8) >> 2] = c[(t + 8) >> 2];
- c[(u + 12) >> 2] = c[(t + 12) >> 2];
- c[(u + 16) >> 2] = c[(t + 16) >> 2];
- c[((c[w >> 2] | 0) + 24) >> 2] =
- c[((c[v >> 2] | 0) + 24) >> 2];
- c[((c[w >> 2] | 0) + 28) >> 2] =
- c[((c[v >> 2] | 0) + 28) >> 2];
- c[((c[w >> 2] | 0) + 20) >> 2] =
- c[((c[v >> 2] | 0) + 20) >> 2];
- c[((c[k >> 2] | 0) + 220) >> 2] =
- c[((c[m >> 2] | 0) + 4760) >> 2];
- mE(
- c[((c[k >> 2] | 0) + 472) >> 2] | 0,
- ((c[m >> 2] | 0) + 128) | 0,
- 4592
- ) | 0;
- l = i;
- return 0;
- }
- function zo(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 112) | 0;
- f = e;
- g = f;
- h = b;
- b = (g + 104) | 0;
- do {
- c[g >> 2] = c[h >> 2];
- g = (g + 4) | 0;
- h = (h + 4) | 0;
- } while ((g | 0) < (b | 0));
- i = (f + 4) | 0;
- c[i >> 2] = c[d >> 2];
- c[(i + 4) >> 2] = c[(d + 4) >> 2];
- c[(i + 8) >> 2] = c[(d + 8) >> 2];
- c[(i + 12) >> 2] = c[(d + 12) >> 2];
- c[(i + 16) >> 2] = c[(d + 16) >> 2];
- c[(i + 20) >> 2] = c[(d + 20) >> 2];
- c[(i + 24) >> 2] = c[(d + 24) >> 2];
- i = (f + 32) | 0;
- j = (d + 28) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- c[(f + 44) >> 2] = 3;
- g = a;
- h = f;
- b = (g + 104) | 0;
- do {
- c[g >> 2] = c[h >> 2];
- g = (g + 4) | 0;
- h = (h + 4) | 0;
- } while ((g | 0) < (b | 0));
- l = e;
- return;
- }
- function Ao(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- g = l;
- l = (l + 96) | 0;
- h = (g + 84) | 0;
- i = g;
- j = (g + 80) | 0;
- k = (g + 40) | 0;
- m = (g + 8) | 0;
- c[h >> 2] = b;
- b = i;
- c[b >> 2] = d;
- c[(b + 4) >> 2] = e;
- c[j >> 2] = f;
- f = i;
- sj(
- m,
- c[h >> 2] | 0,
- c[f >> 2] | 0,
- c[(f + 4) >> 2] | 0,
- c[j >> 2] | 0
- );
- j = k;
- f = (j + 40) | 0;
- do {
- c[j >> 2] = 0;
- j = (j + 4) | 0;
- } while ((j | 0) < (f | 0));
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- c[(k + 12) >> 2] = c[(m + 12) >> 2];
- c[(k + 16) >> 2] = c[(m + 16) >> 2];
- c[(k + 20) >> 2] = c[(m + 20) >> 2];
- c[(k + 24) >> 2] = c[(m + 24) >> 2];
- c[(k + 28) >> 2] = 1;
- j = a;
- a = k;
- f = (j + 40) | 0;
- do {
- c[j >> 2] = c[a >> 2];
- j = (j + 4) | 0;
- a = (a + 4) | 0;
- } while ((j | 0) < (f | 0));
- l = g;
- return;
- }
- function Bo(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 28) | 0;
- i = (g + 24) | 0;
- j = (g + 20) | 0;
- k = (g + 16) | 0;
- m = (g + 12) | 0;
- n = (g + 8) | 0;
- o = (g + 4) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[p >> 2] =
- wn(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 1,
- 1
- ) | 0;
- if (Ph(c[p >> 2] | 0) | 0) {
- c[h >> 2] = c[p >> 2];
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- c[o >> 2] =
- Co(
- c[i >> 2] | 0,
- ((c[j >> 2] | 0) + (c[p >> 2] | 0)) | 0,
- ((c[k >> 2] | 0) - (c[p >> 2] | 0)) | 0
- ) | 0;
- if (Ph(c[o >> 2] | 0) | 0) {
- c[h >> 2] = c[o >> 2];
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- if (
- c[((c[i >> 2] | 0) + 116 + 32) >> 2] | 0
- ? ((k = ((c[i >> 2] | 0) + 240) | 0),
- (j = c[k >> 2] | 0),
- (n = c[(k + 4) >> 2] | 0),
- (k = ((c[i >> 2] | 0) + 248) | 0),
- (i = dE(c[k >> 2] | 0, c[(k + 4) >> 2] | 0, 1, 0) | 0),
- ((j | 0) != (i | 0)) | ((n | 0) != (y | 0)))
- : 0
- ) {
- c[h >> 2] = -72;
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- c[h >> 2] = (c[p >> 2] | 0) + (c[o >> 2] | 0);
- q = c[h >> 2] | 0;
- l = g;
- return q | 0;
- }
- function Co(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- e = l;
- l = (l + 144) | 0;
- f = (e + 40) | 0;
- g = (e + 32) | 0;
- h = (e + 28) | 0;
- i = (e + 24) | 0;
- j = (e + 20) | 0;
- k = (e + 16) | 0;
- m = (e + 12) | 0;
- n = (e + 8) | 0;
- o = (e + 4) | 0;
- p = e;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- c[k >> 2] = c[i >> 2];
- c[m >> 2] = c[k >> 2];
- c[n >> 2] = 0;
- if (!(c[c[h >> 2] >> 2] | 0)) {
- c[g >> 2] = -60;
- q = c[g >> 2] | 0;
- l = e;
- return q | 0;
- }
- do {
- if ((c[c[h >> 2] >> 2] | 0) == 1) {
- d = c[i >> 2] | 0;
- b = c[j >> 2] | 0;
- a = f;
- r = ((c[h >> 2] | 0) + 116) | 0;
- s = (a + 104) | 0;
- do {
- c[a >> 2] = c[r >> 2];
- a = (a + 4) | 0;
- r = (r + 4) | 0;
- } while ((a | 0) < (s | 0));
- c[n >> 2] = xn(d, b, f, 0, 0, 0) | 0;
- r = (Ph(c[n >> 2] | 0) | 0) != 0;
- a = c[n >> 2] | 0;
- if (!r) {
- c[j >> 2] = (c[j >> 2] | 0) - a;
- c[m >> 2] = (c[m >> 2] | 0) + (c[n >> 2] | 0);
- c[c[h >> 2] >> 2] = 2;
- break;
- }
- c[g >> 2] = a;
- q = c[g >> 2] | 0;
- l = e;
- return q | 0;
- }
- } while (0);
- do {
- if ((c[c[h >> 2] >> 2] | 0) != 3) {
- c[o >> 2] = 1;
- if ((c[j >> 2] | 0) >>> 0 >= 4) {
- Pl(c[m >> 2] | 0, 1);
- c[m >> 2] = (c[m >> 2] | 0) + 3;
- c[j >> 2] = (c[j >> 2] | 0) - 3;
- break;
- }
- c[g >> 2] = -70;
- q = c[g >> 2] | 0;
- l = e;
- return q | 0;
- }
- } while (0);
- do {
- if (c[((c[h >> 2] | 0) + 116 + 32 + 4) >> 2] | 0) {
- o = Oh(((c[h >> 2] | 0) + 264) | 0) | 0;
- c[p >> 2] = o;
- if ((c[j >> 2] | 0) >>> 0 >= 4) {
- Pl(c[m >> 2] | 0, c[p >> 2] | 0);
- c[m >> 2] = (c[m >> 2] | 0) + 4;
- break;
- }
- c[g >> 2] = -70;
- q = c[g >> 2] | 0;
- l = e;
- return q | 0;
- }
- } while (0);
- c[c[h >> 2] >> 2] = 0;
- c[g >> 2] = (c[m >> 2] | 0) - (c[k >> 2] | 0);
- q = c[g >> 2] | 0;
- l = e;
- return q | 0;
- }
- function Do(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0;
- j = l;
- l = (l + 144) | 0;
- k = (j + 40) | 0;
- m = (j + 32) | 0;
- n = (j + 28) | 0;
- o = (j + 24) | 0;
- p = (j + 20) | 0;
- q = (j + 16) | 0;
- r = (j + 12) | 0;
- s = (j + 8) | 0;
- t = (j + 4) | 0;
- u = j;
- c[n >> 2] = a;
- c[o >> 2] = b;
- c[p >> 2] = d;
- c[q >> 2] = e;
- c[r >> 2] = f;
- c[s >> 2] = g;
- c[t >> 2] = h;
- h = c[n >> 2] | 0;
- g = c[s >> 2] | 0;
- s = c[t >> 2] | 0;
- t = c[r >> 2] | 0;
- f = k;
- e = i;
- i = (f + 104) | 0;
- do {
- c[f >> 2] = c[e >> 2];
- f = (f + 4) | 0;
- e = (e + 4) | 0;
- } while ((f | 0) < (i | 0));
- c[u >> 2] = xo(h, g, s, 0, 0, k, t, 0, 0) | 0;
- if (wj(c[u >> 2] | 0) | 0) {
- c[m >> 2] = c[u >> 2];
- v = c[m >> 2] | 0;
- l = j;
- return v | 0;
- } else {
- c[m >> 2] =
- Bo(
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[r >> 2] | 0
- ) | 0;
- v = c[m >> 2] | 0;
- l = j;
- return v | 0;
- }
- return 0;
- }
- function Eo(a, b, d, e, f, g, h, i) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- j = l;
- l = (l + 400) | 0;
- k = (j + 288) | 0;
- m = (j + 176) | 0;
- n = (j + 280) | 0;
- o = (j + 168) | 0;
- p = (j + 164) | 0;
- q = (j + 160) | 0;
- r = (j + 156) | 0;
- s = (j + 152) | 0;
- t = (j + 148) | 0;
- u = (j + 144) | 0;
- v = (j + 104) | 0;
- w = j;
- c[n >> 2] = a;
- c[o >> 2] = b;
- c[p >> 2] = d;
- c[q >> 2] = e;
- c[r >> 2] = f;
- c[s >> 2] = g;
- c[t >> 2] = h;
- c[u >> 2] = i;
- Ao(
- v,
- c[u >> 2] | 0,
- c[r >> 2] | 0 ? c[r >> 2] | 0 : 1,
- 0,
- c[s >> 2] | 0 ? c[t >> 2] | 0 : 0
- );
- i = m;
- h = ((c[n >> 2] | 0) + 12) | 0;
- g = (i + 104) | 0;
- do {
- c[i >> 2] = c[h >> 2];
- i = (i + 4) | 0;
- h = (h + 4) | 0;
- } while ((i | 0) < (g | 0));
- i = k;
- h = v;
- g = (i + 40) | 0;
- do {
- c[i >> 2] = c[h >> 2];
- i = (i + 4) | 0;
- h = (h + 4) | 0;
- } while ((i | 0) < (g | 0));
- zo(w, m, k);
- xj(w, 1e3, ((c[u >> 2] | 0) >= 0) & 1) | 0;
- u = c[n >> 2] | 0;
- n = c[o >> 2] | 0;
- o = c[p >> 2] | 0;
- p = c[q >> 2] | 0;
- q = c[r >> 2] | 0;
- r = c[s >> 2] | 0;
- s = c[t >> 2] | 0;
- i = k;
- h = w;
- g = (i + 104) | 0;
- do {
- c[i >> 2] = c[h >> 2];
- i = (i + 4) | 0;
- h = (h + 4) | 0;
- } while ((i | 0) < (g | 0));
- h = Do(u, n, o, p, q, r, s, k) | 0;
- l = j;
- return h | 0;
- }
- function Fo(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 20) | 0;
- j = (h + 16) | 0;
- k = (h + 12) | 0;
- m = (h + 8) | 0;
- n = (h + 4) | 0;
- o = h;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- g =
- Eo(
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- 0,
- 0,
- c[o >> 2] | 0
- ) | 0;
- l = h;
- return g | 0;
- }
- function Go(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 704) | 0;
- h = (g + 680) | 0;
- i = (g + 676) | 0;
- j = (g + 672) | 0;
- k = (g + 668) | 0;
- m = (g + 664) | 0;
- n = (g + 660) | 0;
- o = (g + 656) | 0;
- p = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- oE(p | 0, 0, 656) | 0;
- f = (p + 352) | 0;
- c[f >> 2] = c[5406];
- c[(f + 4) >> 2] = c[5407];
- c[(f + 8) >> 2] = c[5408];
- c[o >> 2] =
- Fo(
- p,
- c[i >> 2] | 0,
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0
- ) | 0;
- n = c[(p + 224) >> 2] | 0;
- c[h >> 2] = c[5406];
- c[(h + 4) >> 2] = c[5407];
- c[(h + 8) >> 2] = c[5408];
- Th(n, h);
- l = g;
- return c[o >> 2] | 0;
- }
- function Ho(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- e = l;
- l = (l + 80) | 0;
- f = (e + 68) | 0;
- g = (e + 40) | 0;
- h = (e + 36) | 0;
- i = (e + 32) | 0;
- j = (e + 28) | 0;
- k = e;
- c[h >> 2] = a;
- c[i >> 2] = b;
- c[j >> 2] = d;
- sj(k, c[j >> 2] | 0, 0, 0, c[i >> 2] | 0);
- j = c[h >> 2] | 0;
- h = c[i >> 2] | 0;
- c[g >> 2] = c[k >> 2];
- c[(g + 4) >> 2] = c[(k + 4) >> 2];
- c[(g + 8) >> 2] = c[(k + 8) >> 2];
- c[(g + 12) >> 2] = c[(k + 12) >> 2];
- c[(g + 16) >> 2] = c[(k + 16) >> 2];
- c[(g + 20) >> 2] = c[(k + 20) >> 2];
- c[(g + 24) >> 2] = c[(k + 24) >> 2];
- c[f >> 2] = c[5406];
- c[(f + 4) >> 2] = c[5407];
- c[(f + 8) >> 2] = c[5408];
- k = zj(j, h, 0, 0, g, f) | 0;
- l = e;
- return k | 0;
- }
- function Io(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- c[e >> 2] = b;
- b = ((c[e >> 2] | 0) + 4720) | 0;
- c[a >> 2] = c[b >> 2];
- c[(a + 4) >> 2] = c[(b + 4) >> 2];
- c[(a + 8) >> 2] = c[(b + 8) >> 2];
- c[(a + 12) >> 2] = c[(b + 12) >> 2];
- c[(a + 16) >> 2] = c[(b + 16) >> 2];
- c[(a + 20) >> 2] = c[(b + 20) >> 2];
- c[(a + 24) >> 2] = c[(b + 24) >> 2];
- l = d;
- return;
- }
- function Jo(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- g = l;
- l = (l + 272) | 0;
- h = (g + 168) | 0;
- i = (g + 160) | 0;
- j = (g + 156) | 0;
- k = (g + 152) | 0;
- m = g;
- n = (g + 48) | 0;
- o = (g + 16) | 0;
- p = (g + 12) | 0;
- q = (g + 8) | 0;
- c[j >> 2] = a;
- c[k >> 2] = b;
- b = m;
- c[b >> 2] = e;
- c[(b + 4) >> 2] = f;
- if (!(c[k >> 2] | 0)) {
- c[i >> 2] = -32;
- r = c[i >> 2] | 0;
- l = g;
- return r | 0;
- }
- f = n;
- b = ((c[j >> 2] | 0) + 12) | 0;
- e = (f + 104) | 0;
- do {
- c[f >> 2] = c[b >> 2];
- f = (f + 4) | 0;
- b = (b + 4) | 0;
- } while ((f | 0) < (e | 0));
- a = (n + 4) | 0;
- Io(o, c[k >> 2] | 0);
- c[a >> 2] = c[o >> 2];
- c[(a + 4) >> 2] = c[(o + 4) >> 2];
- c[(a + 8) >> 2] = c[(o + 8) >> 2];
- c[(a + 12) >> 2] = c[(o + 12) >> 2];
- c[(a + 16) >> 2] = c[(o + 16) >> 2];
- c[(a + 20) >> 2] = c[(o + 20) >> 2];
- c[(a + 24) >> 2] = c[(o + 24) >> 2];
- o = m;
- if ((c[o >> 2] | 0) != -1 ? 1 : (c[(o + 4) >> 2] | 0) != -1) {
- o = m;
- a = c[(o + 4) >> 2] | 0;
- s =
- (a >>> 0 < 0) |
- (((a | 0) == 0) & ((c[o >> 2] | 0) >>> 0 < 524288));
- o = m;
- a = c[(o + 4) >> 2] | 0;
- a = s ? c[o >> 2] | 0 : 524288;
- c[p >> 2] = a;
- if ((c[p >> 2] | 0) >>> 0 > 1)
- t = ((uj(((c[p >> 2] | 0) - 1) | 0) | 0) + 1) | 0;
- else t = 1;
- c[q >> 2] = t;
- c[(n + 4) >> 2] =
- (c[(n + 4) >> 2] | 0) >>> 0 > (c[q >> 2] | 0) >>> 0
- ? c[(n + 4) >> 2] | 0
- : c[q >> 2] | 0;
- }
- q = (n + 32) | 0;
- c[q >> 2] = c[d >> 2];
- c[(q + 4) >> 2] = c[(d + 4) >> 2];
- c[(q + 8) >> 2] = c[(d + 8) >> 2];
- d = c[j >> 2] | 0;
- j = c[k >> 2] | 0;
- k = m;
- m = c[k >> 2] | 0;
- q = c[(k + 4) >> 2] | 0;
- f = h;
- b = n;
- e = (f + 104) | 0;
- do {
- c[f >> 2] = c[b >> 2];
- f = (f + 4) | 0;
- b = (b + 4) | 0;
- } while ((f | 0) < (e | 0));
- c[i >> 2] = xo(d, 0, 0, 0, j, h, m, q, 0) | 0;
- r = c[i >> 2] | 0;
- l = g;
- return r | 0;
- }
- function hy(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0;
- g = l;
- l = (l + 112) | 0;
- h = (g + 100) | 0;
- i = (g + 96) | 0;
- j = (g + 92) | 0;
- k = (g + 88) | 0;
- m = (g + 84) | 0;
- n = (g + 80) | 0;
- o = (g + 76) | 0;
- p = (g + 72) | 0;
- q = (g + 68) | 0;
- r = (g + 64) | 0;
- s = (g + 60) | 0;
- t = (g + 56) | 0;
- u = (g + 52) | 0;
- v = (g + 48) | 0;
- w = (g + 44) | 0;
- x = (g + 40) | 0;
- y = (g + 36) | 0;
- z = (g + 32) | 0;
- A = (g + 28) | 0;
- B = (g + 24) | 0;
- C = (g + 20) | 0;
- D = (g + 16) | 0;
- E = (g + 12) | 0;
- F = (g + 8) | 0;
- G = (g + 4) | 0;
- H = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] = c[o >> 2];
- c[q >> 2] = (c[o >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
- c[r >> 2] = c[j >> 2];
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = (c[r >> 2] | 0) + (c[c[k >> 2] >> 2] | 0);
- c[u >> 2] = 1;
- a: while (1) {
- if (!(c[u >> 2] | 0)) {
- I = 48;
- break;
- }
- switch (c[((c[i >> 2] | 0) + 80) >> 2] | 0) {
- case 0: {
- I = 4;
- break a;
- break;
- }
- case 1: {
- c[v >> 2] =
- yq(
- ((c[i >> 2] | 0) + 8) | 0,
- c[m >> 2] | 0,
- c[c[n >> 2] >> 2] | 0
- ) | 0;
- j = (mr(c[v >> 2] | 0) | 0) != 0;
- J = c[v >> 2] | 0;
- if (j) {
- I = 6;
- break a;
- }
- K = c[i >> 2] | 0;
- if (J | 0) {
- I = 8;
- break a;
- }
- c[(K + 80) >> 2] = 3;
- break;
- }
- case 2: {
- c[w >> 2] =
- ry(
- ((c[i >> 2] | 0) +
- 84 +
- (c[((c[i >> 2] | 0) + 76) >> 2] | 0)) |
- 0,
- (5 - (c[((c[i >> 2] | 0) + 76) >> 2] | 0)) | 0,
- c[m >> 2] | 0,
- c[c[n >> 2] >> 2] | 0
- ) | 0;
- j = ((c[i >> 2] | 0) + 76) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[w >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + (c[w >> 2] | 0);
- c[w >> 2] =
- yq(
- ((c[i >> 2] | 0) + 8) | 0,
- ((c[i >> 2] | 0) + 84) | 0,
- c[((c[i >> 2] | 0) + 76) >> 2] | 0
- ) | 0;
- j = (mr(c[w >> 2] | 0) | 0) != 0;
- L = c[w >> 2] | 0;
- if (j) {
- I = 11;
- break a;
- }
- if (L | 0) {
- I = 13;
- break a;
- } else I = 14;
- break;
- }
- case 3: {
- I = 14;
- break;
- }
- case 4: {
- I = 23;
- break;
- }
- case 5: {
- I = 33;
- break;
- }
- case 6: {
- I = 42;
- break;
- }
- default: {
- I = 46;
- break a;
- }
- }
- do {
- if ((I | 0) == 14) {
- I = 0;
- c[x >> 2] = 1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2];
- c[y >> 2] = 131072;
- if (
- (c[((c[i >> 2] | 0) + 52) >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? (Dy(c[((c[i >> 2] | 0) + 48) >> 2] | 0),
- (c[((c[i >> 2] | 0) + 52) >> 2] = c[y >> 2]),
- (j = Cy(c[y >> 2] | 0) | 0),
- (c[((c[i >> 2] | 0) + 48) >> 2] = j),
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0) == 0)
- : 0
- ) {
- I = 16;
- break a;
- }
- if (
- (c[((c[i >> 2] | 0) + 64) >> 2] | 0) >>> 0 <
- (c[x >> 2] | 0) >>> 0
- ? (Dy(c[((c[i >> 2] | 0) + 60) >> 2] | 0),
- (c[((c[i >> 2] | 0) + 64) >> 2] = c[x >> 2]),
- (j = Cy(c[x >> 2] | 0) | 0),
- (c[((c[i >> 2] | 0) + 60) >> 2] = j),
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0) == 0)
- : 0
- ) {
- I = 19;
- break a;
- }
- j = c[i >> 2] | 0;
- if (c[((c[i >> 2] | 0) + 76) >> 2] | 0) {
- mE(
- c[(j + 48) >> 2] | 0,
- ((c[i >> 2] | 0) + 84) | 0,
- c[((c[i >> 2] | 0) + 76) >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 56) >> 2] =
- c[((c[i >> 2] | 0) + 76) >> 2];
- c[((c[i >> 2] | 0) + 76) >> 2] = 0;
- c[((c[i >> 2] | 0) + 80) >> 2] = 5;
- break;
- } else {
- c[(j + 80) >> 2] = 4;
- I = 23;
- break;
- }
- }
- } while (0);
- do {
- if ((I | 0) == 23) {
- I = 0;
- c[z >> 2] = sy(c[c[i >> 2] >> 2] | 0) | 0;
- if (!(c[z >> 2] | 0)) {
- c[((c[i >> 2] | 0) + 80) >> 2] = 0;
- c[u >> 2] = 0;
- break;
- }
- if (
- (((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 <
- (c[z >> 2] | 0) >>> 0
- ) {
- if ((c[p >> 2] | 0) == (c[q >> 2] | 0)) {
- c[u >> 2] = 0;
- break;
- } else {
- c[((c[i >> 2] | 0) + 80) >> 2] = 5;
- I = 33;
- break;
- }
- } else {
- c[A >> 2] =
- ty(
- c[c[i >> 2] >> 2] | 0,
- ((c[((c[i >> 2] | 0) + 60) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
- 0,
- ((c[((c[i >> 2] | 0) + 64) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
- 0,
- c[p >> 2] | 0,
- c[z >> 2] | 0
- ) | 0;
- if (mr(c[A >> 2] | 0) | 0) {
- I = 27;
- break a;
- }
- c[p >> 2] = (c[p >> 2] | 0) + (c[z >> 2] | 0);
- if (!(c[A >> 2] | 0)) break;
- c[((c[i >> 2] | 0) + 72) >> 2] =
- (c[((c[i >> 2] | 0) + 68) >> 2] | 0) +
- (c[A >> 2] | 0);
- c[((c[i >> 2] | 0) + 80) >> 2] = 6;
- break;
- }
- }
- } while (0);
- do {
- if ((I | 0) == 33) {
- I = 0;
- c[B >> 2] = sy(c[c[i >> 2] >> 2] | 0) | 0;
- c[C >> 2] =
- (c[B >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0);
- if (
- (c[C >> 2] | 0) >>> 0 >
- (((c[((c[i >> 2] | 0) + 52) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- I = 34;
- break a;
- }
- c[D >> 2] =
- ry(
- ((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
- 0,
- c[C >> 2] | 0,
- c[p >> 2] | 0,
- ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
- ) | 0;
- c[p >> 2] = (c[p >> 2] | 0) + (c[D >> 2] | 0);
- j = ((c[i >> 2] | 0) + 56) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[D >> 2] | 0);
- if ((c[D >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0) {
- c[u >> 2] = 0;
- break;
- }
- c[E >> 2] =
- ty(
- c[c[i >> 2] >> 2] | 0,
- ((c[((c[i >> 2] | 0) + 60) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
- 0,
- ((c[((c[i >> 2] | 0) + 64) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
- 0,
- c[((c[i >> 2] | 0) + 48) >> 2] | 0,
- c[B >> 2] | 0
- ) | 0;
- if (mr(c[E >> 2] | 0) | 0) {
- I = 38;
- break a;
- }
- c[((c[i >> 2] | 0) + 56) >> 2] = 0;
- j = c[i >> 2] | 0;
- if (c[E >> 2] | 0) {
- c[((c[i >> 2] | 0) + 72) >> 2] =
- (c[(j + 68) >> 2] | 0) + (c[E >> 2] | 0);
- c[((c[i >> 2] | 0) + 80) >> 2] = 6;
- I = 42;
- break;
- } else {
- c[(j + 80) >> 2] = 4;
- break;
- }
- }
- } while (0);
- do {
- if ((I | 0) == 42) {
- I = 0;
- c[F >> 2] =
- (c[((c[i >> 2] | 0) + 72) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 68) >> 2] | 0);
- c[G >> 2] =
- ry(
- c[s >> 2] | 0,
- ((c[t >> 2] | 0) - (c[s >> 2] | 0)) | 0,
- ((c[((c[i >> 2] | 0) + 60) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
- 0,
- c[F >> 2] | 0
- ) | 0;
- c[s >> 2] = (c[s >> 2] | 0) + (c[G >> 2] | 0);
- j = ((c[i >> 2] | 0) + 68) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[G >> 2] | 0);
- if ((c[G >> 2] | 0) != (c[F >> 2] | 0)) {
- c[u >> 2] = 0;
- break;
- }
- c[((c[i >> 2] | 0) + 80) >> 2] = 4;
- if (
- (((c[((c[i >> 2] | 0) + 68) >> 2] | 0) + 131072) |
- 0) >>>
- 0 >
- (c[((c[i >> 2] | 0) + 64) >> 2] | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 72) >> 2] = 0;
- c[((c[i >> 2] | 0) + 68) >> 2] = 0;
- }
- }
- } while (0);
- }
- switch (I | 0) {
- case 4: {
- c[h >> 2] = -62;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 6: {
- c[h >> 2] = J;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 8: {
- mE(
- (K + 84 + (c[((c[i >> 2] | 0) + 76) >> 2] | 0)) | 0,
- c[m >> 2] | 0,
- c[c[n >> 2] >> 2] | 0
- ) | 0;
- m = ((c[i >> 2] | 0) + 76) | 0;
- c[m >> 2] = (c[m >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
- c[c[k >> 2] >> 2] = 0;
- c[((c[i >> 2] | 0) + 80) >> 2] = 2;
- c[h >> 2] =
- (c[v >> 2] | 0) - (c[((c[i >> 2] | 0) + 76) >> 2] | 0);
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 11: {
- c[h >> 2] = L;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 13: {
- c[c[k >> 2] >> 2] = 0;
- c[h >> 2] =
- (c[w >> 2] | 0) - (c[((c[i >> 2] | 0) + 76) >> 2] | 0);
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 16: {
- c[h >> 2] = -64;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 19: {
- c[h >> 2] = -64;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 27: {
- c[h >> 2] = c[A >> 2];
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 34: {
- c[h >> 2] = -20;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 38: {
- c[h >> 2] = c[E >> 2];
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 46: {
- c[h >> 2] = -1;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 48: {
- c[c[n >> 2] >> 2] = (c[p >> 2] | 0) - (c[o >> 2] | 0);
- c[c[k >> 2] >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- c[H >> 2] = sy(c[c[i >> 2] >> 2] | 0) | 0;
- if ((c[H >> 2] | 0) >>> 0 > 3)
- c[H >> 2] = (c[H >> 2] | 0) + 3;
- c[H >> 2] =
- (c[H >> 2] | 0) - (c[((c[i >> 2] | 0) + 56) >> 2] | 0);
- c[h >> 2] = c[H >> 2];
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- }
- return 0;
- }
- function iy(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0;
- g = l;
- l = (l + 128) | 0;
- h = (g + 116) | 0;
- i = (g + 112) | 0;
- j = (g + 108) | 0;
- k = (g + 104) | 0;
- m = (g + 100) | 0;
- n = (g + 96) | 0;
- o = (g + 92) | 0;
- p = (g + 88) | 0;
- q = (g + 84) | 0;
- r = (g + 80) | 0;
- s = (g + 76) | 0;
- t = (g + 72) | 0;
- u = (g + 68) | 0;
- v = (g + 64) | 0;
- w = (g + 60) | 0;
- x = (g + 56) | 0;
- y = (g + 52) | 0;
- z = (g + 48) | 0;
- A = (g + 44) | 0;
- B = (g + 40) | 0;
- C = (g + 36) | 0;
- D = (g + 32) | 0;
- E = (g + 28) | 0;
- F = (g + 24) | 0;
- G = (g + 20) | 0;
- H = (g + 16) | 0;
- I = (g + 12) | 0;
- J = (g + 8) | 0;
- K = (g + 4) | 0;
- L = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] = (c[o >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
- c[q >> 2] = c[o >> 2];
- c[r >> 2] = c[j >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[c[k >> 2] >> 2] | 0);
- c[t >> 2] = c[r >> 2];
- c[u >> 2] = 1;
- a: while (1) {
- if (!(c[u >> 2] | 0)) {
- M = 50;
- break;
- }
- b: do {
- switch (c[((c[i >> 2] | 0) + 24) >> 2] | 0) {
- case 0: {
- M = 4;
- break a;
- break;
- }
- case 1: {
- c[v >> 2] =
- zq(
- ((c[i >> 2] | 0) + 8) | 0,
- ((c[i >> 2] | 0) + 60) | 0,
- c[((c[i >> 2] | 0) + 76) >> 2] | 0
- ) | 0;
- if (c[v >> 2] | 0) {
- c[w >> 2] =
- (c[v >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 76) >> 2] | 0);
- if (jr(c[v >> 2] | 0) | 0) {
- M = 7;
- break a;
- }
- N =
- ((c[i >> 2] | 0) +
- 60 +
- (c[((c[i >> 2] | 0) + 76) >> 2] | 0)) |
- 0;
- O = c[q >> 2] | 0;
- if (
- (c[w >> 2] | 0) >>> 0 >
- (((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0) >>> 0
- ) {
- M = 9;
- break a;
- }
- mE(N | 0, O | 0, c[w >> 2] | 0) | 0;
- c[((c[i >> 2] | 0) + 76) >> 2] = c[v >> 2];
- c[q >> 2] = (c[q >> 2] | 0) + (c[w >> 2] | 0);
- break b;
- }
- c[x >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0;
- c[y >> 2] =
- py(
- c[c[i >> 2] >> 2] | 0,
- 0,
- 0,
- ((c[i >> 2] | 0) + 60) | 0,
- c[x >> 2] | 0
- ) | 0;
- if (jr(c[y >> 2] | 0) | 0) {
- M = 12;
- break a;
- }
- if (
- (c[x >> 2] | 0) >>> 0 <
- (c[((c[i >> 2] | 0) + 76) >> 2] | 0) >>> 0
- ? ((c[z >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0),
- (c[A >> 2] =
- py(
- c[c[i >> 2] >> 2] | 0,
- 0,
- 0,
- ((c[i >> 2] | 0) + 60 + (c[x >> 2] | 0)) |
- 0,
- c[z >> 2] | 0
- ) | 0),
- jr(c[A >> 2] | 0) | 0)
- : 0
- ) {
- M = 15;
- break a;
- }
- if (
- ((1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2]) | 0) <
- 131072
- )
- P = 1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2];
- else P = 131072;
- c[B >> 2] = P;
- c[((c[i >> 2] | 0) + 56) >> 2] = c[B >> 2];
- if (
- (c[((c[i >> 2] | 0) + 32) >> 2] | 0) >>> 0 <
- (c[B >> 2] | 0) >>> 0
- ? (Dy(c[((c[i >> 2] | 0) + 28) >> 2] | 0),
- (c[((c[i >> 2] | 0) + 32) >> 2] = c[B >> 2]),
- (j = Cy(c[B >> 2] | 0) | 0),
- (c[((c[i >> 2] | 0) + 28) >> 2] = j),
- (c[((c[i >> 2] | 0) + 28) >> 2] | 0) == 0)
- : 0
- ) {
- M = 20;
- break a;
- }
- c[C >> 2] =
- (1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2]) +
- (c[B >> 2] | 0) +
- 16;
- if (
- (c[((c[i >> 2] | 0) + 44) >> 2] | 0) >>> 0 <
- (c[C >> 2] | 0) >>> 0
- ? (Dy(c[((c[i >> 2] | 0) + 40) >> 2] | 0),
- (c[((c[i >> 2] | 0) + 44) >> 2] = c[C >> 2]),
- (j = Cy(c[C >> 2] | 0) | 0),
- (c[((c[i >> 2] | 0) + 40) >> 2] = j),
- (c[((c[i >> 2] | 0) + 40) >> 2] | 0) == 0)
- : 0
- ) {
- M = 23;
- break a;
- }
- c[((c[i >> 2] | 0) + 24) >> 2] = 2;
- M = 25;
- break;
- }
- case 2: {
- M = 25;
- break;
- }
- case 3: {
- M = 35;
- break;
- }
- case 4: {
- M = 44;
- break;
- }
- default: {
- M = 48;
- break a;
- }
- }
- } while (0);
- do {
- if ((M | 0) == 25) {
- M = 0;
- c[D >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0;
- if (!(c[D >> 2] | 0)) {
- c[((c[i >> 2] | 0) + 24) >> 2] = 0;
- c[u >> 2] = 0;
- break;
- }
- if (
- (((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0) >>> 0 <
- (c[D >> 2] | 0) >>> 0
- ) {
- if ((c[q >> 2] | 0) == (c[p >> 2] | 0)) {
- c[u >> 2] = 0;
- break;
- } else {
- c[((c[i >> 2] | 0) + 24) >> 2] = 3;
- M = 35;
- break;
- }
- } else {
- c[E >> 2] =
- py(
- c[c[i >> 2] >> 2] | 0,
- ((c[((c[i >> 2] | 0) + 40) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
- 0,
- ((c[((c[i >> 2] | 0) + 44) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
- 0,
- c[q >> 2] | 0,
- c[D >> 2] | 0
- ) | 0;
- if (jr(c[E >> 2] | 0) | 0) {
- M = 29;
- break a;
- }
- c[q >> 2] = (c[q >> 2] | 0) + (c[D >> 2] | 0);
- if (!(c[E >> 2] | 0)) break;
- c[((c[i >> 2] | 0) + 52) >> 2] =
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
- (c[E >> 2] | 0);
- c[((c[i >> 2] | 0) + 24) >> 2] = 4;
- break;
- }
- }
- } while (0);
- do {
- if ((M | 0) == 35) {
- M = 0;
- c[F >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0;
- c[G >> 2] =
- (c[F >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 36) >> 2] | 0);
- if (
- (c[G >> 2] | 0) >>> 0 >
- (((c[((c[i >> 2] | 0) + 32) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 36) >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- M = 36;
- break a;
- }
- c[H >> 2] =
- qy(
- ((c[((c[i >> 2] | 0) + 28) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 36) >> 2] | 0)) |
- 0,
- c[G >> 2] | 0,
- c[q >> 2] | 0,
- ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0
- ) | 0;
- c[q >> 2] = (c[q >> 2] | 0) + (c[H >> 2] | 0);
- j = ((c[i >> 2] | 0) + 36) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[H >> 2] | 0);
- if ((c[H >> 2] | 0) >>> 0 < (c[G >> 2] | 0) >>> 0) {
- c[u >> 2] = 0;
- break;
- }
- c[I >> 2] =
- py(
- c[c[i >> 2] >> 2] | 0,
- ((c[((c[i >> 2] | 0) + 40) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
- 0,
- ((c[((c[i >> 2] | 0) + 44) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
- 0,
- c[((c[i >> 2] | 0) + 28) >> 2] | 0,
- c[F >> 2] | 0
- ) | 0;
- if (jr(c[I >> 2] | 0) | 0) {
- M = 40;
- break a;
- }
- c[((c[i >> 2] | 0) + 36) >> 2] = 0;
- j = c[i >> 2] | 0;
- if (c[I >> 2] | 0) {
- c[((c[i >> 2] | 0) + 52) >> 2] =
- (c[(j + 48) >> 2] | 0) + (c[I >> 2] | 0);
- c[((c[i >> 2] | 0) + 24) >> 2] = 4;
- M = 44;
- break;
- } else {
- c[(j + 24) >> 2] = 2;
- break;
- }
- }
- } while (0);
- do {
- if ((M | 0) == 44) {
- M = 0;
- c[J >> 2] =
- (c[((c[i >> 2] | 0) + 52) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0);
- c[K >> 2] =
- qy(
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
- ((c[((c[i >> 2] | 0) + 40) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
- 0,
- c[J >> 2] | 0
- ) | 0;
- c[t >> 2] = (c[t >> 2] | 0) + (c[K >> 2] | 0);
- j = ((c[i >> 2] | 0) + 48) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[K >> 2] | 0);
- if ((c[K >> 2] | 0) != (c[J >> 2] | 0)) {
- c[u >> 2] = 0;
- break;
- }
- c[((c[i >> 2] | 0) + 24) >> 2] = 2;
- if (
- (((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
- 0) >>>
- 0 >
- (c[((c[i >> 2] | 0) + 44) >> 2] | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 52) >> 2] = 0;
- c[((c[i >> 2] | 0) + 48) >> 2] = 0;
- }
- }
- } while (0);
- }
- switch (M | 0) {
- case 4: {
- c[h >> 2] = -62;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 7: {
- c[h >> 2] = c[v >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 9: {
- mE(
- N | 0,
- O | 0,
- ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0
- ) | 0;
- O = ((c[i >> 2] | 0) + 76) | 0;
- c[O >> 2] =
- (c[O >> 2] | 0) + ((c[p >> 2] | 0) - (c[q >> 2] | 0));
- c[q >> 2] = c[p >> 2];
- c[u >> 2] = 0;
- c[c[k >> 2] >> 2] = 0;
- c[h >> 2] =
- (c[v >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 76) >> 2] | 0) +
- 3;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 12: {
- c[h >> 2] = c[y >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 15: {
- c[h >> 2] = c[A >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 20: {
- c[h >> 2] = -64;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 23: {
- c[h >> 2] = -64;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 29: {
- c[h >> 2] = c[E >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 36: {
- c[h >> 2] = -20;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 40: {
- c[h >> 2] = c[I >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 48: {
- c[h >> 2] = -1;
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- case 50: {
- c[c[n >> 2] >> 2] = (c[q >> 2] | 0) - (c[o >> 2] | 0);
- c[c[k >> 2] >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
- c[L >> 2] = oy(c[c[i >> 2] >> 2] | 0) | 0;
- if ((c[L >> 2] | 0) >>> 0 > 3)
- c[L >> 2] = (c[L >> 2] | 0) + 3;
- c[L >> 2] =
- (c[L >> 2] | 0) - (c[((c[i >> 2] | 0) + 36) >> 2] | 0);
- c[h >> 2] = c[L >> 2];
- Q = c[h >> 2] | 0;
- l = g;
- return Q | 0;
- }
- }
- return 0;
- }
- function jy(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0;
- g = l;
- l = (l + 128) | 0;
- h = (g + 124) | 0;
- i = (g + 120) | 0;
- j = (g + 116) | 0;
- k = (g + 112) | 0;
- m = (g + 108) | 0;
- n = (g + 104) | 0;
- o = (g + 100) | 0;
- p = (g + 96) | 0;
- q = (g + 92) | 0;
- r = (g + 88) | 0;
- s = (g + 84) | 0;
- t = (g + 80) | 0;
- u = (g + 76) | 0;
- v = (g + 72) | 0;
- w = (g + 68) | 0;
- x = (g + 64) | 0;
- y = (g + 60) | 0;
- z = (g + 56) | 0;
- A = (g + 52) | 0;
- B = (g + 48) | 0;
- C = (g + 44) | 0;
- D = (g + 40) | 0;
- E = (g + 36) | 0;
- F = (g + 32) | 0;
- G = (g + 28) | 0;
- H = (g + 24) | 0;
- I = (g + 20) | 0;
- J = (g + 16) | 0;
- K = (g + 12) | 0;
- L = (g + 8) | 0;
- M = (g + 4) | 0;
- N = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] = (c[o >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
- c[q >> 2] = c[o >> 2];
- c[r >> 2] = c[j >> 2];
- c[s >> 2] = (c[r >> 2] | 0) + (c[c[k >> 2] >> 2] | 0);
- c[t >> 2] = c[r >> 2];
- c[u >> 2] = 1;
- a: while (1) {
- if (!(c[u >> 2] | 0)) {
- O = 54;
- break;
- }
- b: do {
- switch (c[((c[i >> 2] | 0) + 32) >> 2] | 0) {
- case 0: {
- O = 4;
- break a;
- break;
- }
- case 1: {
- c[v >> 2] =
- Aq(
- ((c[i >> 2] | 0) + 8) | 0,
- ((c[i >> 2] | 0) + 68) | 0,
- c[((c[i >> 2] | 0) + 88) >> 2] | 0
- ) | 0;
- j = (hr(c[v >> 2] | 0) | 0) != 0;
- P = c[v >> 2] | 0;
- if (j) {
- O = 6;
- break a;
- }
- if (P | 0) {
- c[w >> 2] =
- (c[v >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 88) >> 2] | 0);
- Q =
- ((c[i >> 2] | 0) +
- 68 +
- (c[((c[i >> 2] | 0) + 88) >> 2] | 0)) |
- 0;
- R = c[q >> 2] | 0;
- if (
- (c[w >> 2] | 0) >>> 0 >
- (((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0) >>> 0
- ) {
- O = 9;
- break a;
- }
- mE(Q | 0, R | 0, c[w >> 2] | 0) | 0;
- c[((c[i >> 2] | 0) + 88) >> 2] = c[v >> 2];
- c[q >> 2] = (c[q >> 2] | 0) + (c[w >> 2] | 0);
- break b;
- }
- c[x >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0;
- c[y >> 2] =
- ly(
- c[c[i >> 2] >> 2] | 0,
- 0,
- 0,
- ((c[i >> 2] | 0) + 68) | 0,
- c[x >> 2] | 0
- ) | 0;
- if (hr(c[y >> 2] | 0) | 0) {
- O = 12;
- break a;
- }
- if (
- (c[x >> 2] | 0) >>> 0 <
- (c[((c[i >> 2] | 0) + 88) >> 2] | 0) >>> 0
- ? ((c[z >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0),
- (c[A >> 2] =
- ly(
- c[c[i >> 2] >> 2] | 0,
- 0,
- 0,
- ((c[i >> 2] | 0) + 68 + (c[x >> 2] | 0)) |
- 0,
- c[z >> 2] | 0
- ) | 0),
- hr(c[A >> 2] | 0) | 0)
- : 0
- ) {
- O = 15;
- break a;
- }
- if (
- (c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0) >>> 0 >
- 1024
- )
- S = c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0;
- else S = 1024;
- c[((c[i >> 2] | 0) + 8 + 8) >> 2] = S;
- if (
- (c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0) >>> 0 <
- 131072
- )
- T = c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0;
- else T = 131072;
- c[B >> 2] = T;
- c[((c[i >> 2] | 0) + 64) >> 2] = c[B >> 2];
- if (
- (c[((c[i >> 2] | 0) + 40) >> 2] | 0) >>> 0 <
- (c[B >> 2] | 0) >>> 0
- ? (xc[c[((c[i >> 2] | 0) + 92 + 4) >> 2] & 31](
- c[((c[i >> 2] | 0) + 92 + 8) >> 2] | 0,
- c[((c[i >> 2] | 0) + 36) >> 2] | 0
- ),
- (c[((c[i >> 2] | 0) + 40) >> 2] = c[B >> 2]),
- (j =
- qc[c[((c[i >> 2] | 0) + 92) >> 2] & 63](
- c[((c[i >> 2] | 0) + 92 + 8) >> 2] | 0,
- c[B >> 2] | 0
- ) | 0),
- (c[((c[i >> 2] | 0) + 36) >> 2] = j),
- (c[((c[i >> 2] | 0) + 36) >> 2] | 0) == 0)
- : 0
- ) {
- O = 22;
- break a;
- }
- c[C >> 2] =
- (c[((c[i >> 2] | 0) + 8 + 8) >> 2] | 0) +
- (c[B >> 2] | 0) +
- 16;
- if (
- (c[((c[i >> 2] | 0) + 52) >> 2] | 0) >>> 0 <
- (c[C >> 2] | 0) >>> 0
- ? (xc[c[((c[i >> 2] | 0) + 92 + 4) >> 2] & 31](
- c[((c[i >> 2] | 0) + 92 + 8) >> 2] | 0,
- c[((c[i >> 2] | 0) + 48) >> 2] | 0
- ),
- (c[((c[i >> 2] | 0) + 52) >> 2] = c[C >> 2]),
- (j =
- qc[c[((c[i >> 2] | 0) + 92) >> 2] & 63](
- c[((c[i >> 2] | 0) + 92 + 8) >> 2] | 0,
- c[C >> 2] | 0
- ) | 0),
- (c[((c[i >> 2] | 0) + 48) >> 2] = j),
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0) == 0)
- : 0
- ) {
- O = 25;
- break a;
- }
- c[((c[i >> 2] | 0) + 32) >> 2] = 2;
- O = 27;
- break;
- }
- case 2: {
- O = 27;
- break;
- }
- case 3: {
- O = 39;
- break;
- }
- case 4: {
- O = 48;
- break;
- }
- default: {
- O = 52;
- break a;
- }
- }
- } while (0);
- do {
- if ((O | 0) == 27) {
- O = 0;
- c[D >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0;
- if (!(c[D >> 2] | 0)) {
- c[((c[i >> 2] | 0) + 32) >> 2] = 0;
- c[u >> 2] = 0;
- break;
- }
- if (
- (((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0) >>> 0 <
- (c[D >> 2] | 0) >>> 0
- )
- if ((c[q >> 2] | 0) == (c[p >> 2] | 0)) {
- c[u >> 2] = 0;
- break;
- } else {
- c[((c[i >> 2] | 0) + 32) >> 2] = 3;
- O = 39;
- break;
- }
- c[E >> 2] = my(c[c[i >> 2] >> 2] | 0) | 0;
- if (c[E >> 2] | 0) U = 0;
- else
- U =
- ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
- 0;
- c[F >> 2] =
- ly(
- c[c[i >> 2] >> 2] | 0,
- ((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
- 0,
- U,
- c[q >> 2] | 0,
- c[D >> 2] | 0
- ) | 0;
- if (hr(c[F >> 2] | 0) | 0) {
- O = 33;
- break a;
- }
- c[q >> 2] = (c[q >> 2] | 0) + (c[D >> 2] | 0);
- if (((c[F >> 2] | 0) != 0) | ((c[E >> 2] | 0) != 0)) {
- c[((c[i >> 2] | 0) + 60) >> 2] =
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0) +
- (c[F >> 2] | 0);
- c[((c[i >> 2] | 0) + 32) >> 2] = 4;
- }
- }
- } while (0);
- do {
- if ((O | 0) == 39) {
- O = 0;
- c[G >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0;
- c[H >> 2] =
- (c[G >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 44) >> 2] | 0);
- if (
- (c[H >> 2] | 0) >>> 0 >
- (((c[((c[i >> 2] | 0) + 40) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 44) >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- O = 40;
- break a;
- }
- c[I >> 2] =
- ny(
- ((c[((c[i >> 2] | 0) + 36) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 44) >> 2] | 0)) |
- 0,
- c[H >> 2] | 0,
- c[q >> 2] | 0,
- ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0
- ) | 0;
- c[q >> 2] = (c[q >> 2] | 0) + (c[I >> 2] | 0);
- j = ((c[i >> 2] | 0) + 44) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[I >> 2] | 0);
- if ((c[I >> 2] | 0) >>> 0 < (c[H >> 2] | 0) >>> 0) {
- c[u >> 2] = 0;
- break;
- }
- c[J >> 2] = my(c[c[i >> 2] >> 2] | 0) | 0;
- c[K >> 2] =
- ly(
- c[c[i >> 2] >> 2] | 0,
- ((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
- 0,
- ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
- 0,
- c[((c[i >> 2] | 0) + 36) >> 2] | 0,
- c[G >> 2] | 0
- ) | 0;
- if (hr(c[K >> 2] | 0) | 0) {
- O = 44;
- break a;
- }
- c[((c[i >> 2] | 0) + 44) >> 2] = 0;
- j = c[i >> 2] | 0;
- if (((c[K >> 2] | 0) != 0) | ((c[J >> 2] | 0) != 0)) {
- c[((c[i >> 2] | 0) + 60) >> 2] =
- (c[(j + 56) >> 2] | 0) + (c[K >> 2] | 0);
- c[((c[i >> 2] | 0) + 32) >> 2] = 4;
- O = 48;
- break;
- } else {
- c[(j + 32) >> 2] = 2;
- break;
- }
- }
- } while (0);
- do {
- if ((O | 0) == 48) {
- O = 0;
- c[L >> 2] =
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0);
- c[M >> 2] =
- ny(
- c[t >> 2] | 0,
- ((c[s >> 2] | 0) - (c[t >> 2] | 0)) | 0,
- ((c[((c[i >> 2] | 0) + 48) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0)) |
- 0,
- c[L >> 2] | 0
- ) | 0;
- c[t >> 2] = (c[t >> 2] | 0) + (c[M >> 2] | 0);
- j = ((c[i >> 2] | 0) + 56) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[M >> 2] | 0);
- if ((c[M >> 2] | 0) != (c[L >> 2] | 0)) {
- c[u >> 2] = 0;
- break;
- }
- c[((c[i >> 2] | 0) + 32) >> 2] = 2;
- if (
- (((c[((c[i >> 2] | 0) + 56) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 64) >> 2] | 0)) |
- 0) >>>
- 0 >
- (c[((c[i >> 2] | 0) + 52) >> 2] | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 60) >> 2] = 0;
- c[((c[i >> 2] | 0) + 56) >> 2] = 0;
- }
- }
- } while (0);
- }
- switch (O | 0) {
- case 4: {
- c[h >> 2] = -62;
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 6: {
- c[h >> 2] = P;
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 9: {
- mE(
- Q | 0,
- R | 0,
- ((c[p >> 2] | 0) - (c[q >> 2] | 0)) | 0
- ) | 0;
- R = ((c[i >> 2] | 0) + 88) | 0;
- c[R >> 2] =
- (c[R >> 2] | 0) + ((c[p >> 2] | 0) - (c[q >> 2] | 0));
- c[c[k >> 2] >> 2] = 0;
- c[h >> 2] =
- (c[v >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 88) >> 2] | 0) +
- 3;
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 12: {
- c[h >> 2] = c[y >> 2];
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 15: {
- c[h >> 2] = c[A >> 2];
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 22: {
- c[h >> 2] = -64;
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 25: {
- c[h >> 2] = -64;
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 33: {
- c[h >> 2] = c[F >> 2];
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 40: {
- c[h >> 2] = -20;
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 44: {
- c[h >> 2] = c[K >> 2];
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 52: {
- c[h >> 2] = -1;
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- case 54: {
- c[c[n >> 2] >> 2] = (c[q >> 2] | 0) - (c[o >> 2] | 0);
- c[c[k >> 2] >> 2] = (c[t >> 2] | 0) - (c[r >> 2] | 0);
- c[N >> 2] = ky(c[c[i >> 2] >> 2] | 0) | 0;
- c[N >> 2] =
- (c[N >> 2] | 0) - (c[((c[i >> 2] | 0) + 44) >> 2] | 0);
- c[h >> 2] = c[N >> 2];
- V = c[h >> 2] | 0;
- l = g;
- return V | 0;
- }
- }
- return 0;
- }
- function ky(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return c[((c[d >> 2] | 0) + 21536) >> 2] | 0;
- }
- function ly(b, e, f, g, h) {
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0;
- i = l;
- l = (l + 80) | 0;
- j = (i + 64) | 0;
- k = (i + 60) | 0;
- m = (i + 56) | 0;
- n = (i + 52) | 0;
- o = (i + 48) | 0;
- p = (i + 44) | 0;
- q = (i + 40) | 0;
- r = (i + 32) | 0;
- s = (i + 24) | 0;
- t = i;
- u = (i + 20) | 0;
- v = (i + 16) | 0;
- w = (i + 12) | 0;
- x = (i + 8) | 0;
- c[k >> 2] = b;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- c[p >> 2] = h;
- if (
- (c[p >> 2] | 0) !=
- (c[((c[k >> 2] | 0) + 21536) >> 2] | 0)
- ) {
- c[j >> 2] = -72;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- if (c[n >> 2] | 0) us(c[k >> 2] | 0, c[m >> 2] | 0);
- a: do {
- switch (c[((c[k >> 2] | 0) + 21580) >> 2] | 0) {
- case 0: {
- if ((c[p >> 2] | 0) != 5) {
- c[j >> 2] = -72;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- if (
- (((Bq(c[o >> 2] | 0) | 0) & -16) | 0) ==
- 407710288
- ) {
- h = ((c[k >> 2] | 0) + 152788) | 0;
- g = c[o >> 2] | 0;
- a[h >> 0] = a[g >> 0] | 0;
- a[(h + 1) >> 0] = a[(g + 1) >> 0] | 0;
- a[(h + 2) >> 0] = a[(g + 2) >> 0] | 0;
- a[(h + 3) >> 0] = a[(g + 3) >> 0] | 0;
- a[(h + 4) >> 0] = a[(g + 4) >> 0] | 0;
- c[((c[k >> 2] | 0) + 21536) >> 2] = 3;
- c[((c[k >> 2] | 0) + 21580) >> 2] = 4;
- c[j >> 2] = 0;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- g = Cq(c[o >> 2] | 0, 5) | 0;
- c[((c[k >> 2] | 0) + 21680) >> 2] = g;
- g =
- (hr(c[((c[k >> 2] | 0) + 21680) >> 2] | 0) | 0) != 0;
- h = c[k >> 2] | 0;
- if (g) {
- c[j >> 2] = c[(h + 21680) >> 2];
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- g = (h + 152788) | 0;
- h = c[o >> 2] | 0;
- a[g >> 0] = a[h >> 0] | 0;
- a[(g + 1) >> 0] = a[(h + 1) >> 0] | 0;
- a[(g + 2) >> 0] = a[(h + 2) >> 0] | 0;
- a[(g + 3) >> 0] = a[(h + 3) >> 0] | 0;
- a[(g + 4) >> 0] = a[(h + 4) >> 0] | 0;
- h = c[k >> 2] | 0;
- if (
- (c[((c[k >> 2] | 0) + 21680) >> 2] | 0) >>> 0 <=
- 5
- ) {
- c[(h + 21536) >> 2] = 0;
- break a;
- }
- c[((c[k >> 2] | 0) + 21536) >> 2] =
- (c[(h + 21680) >> 2] | 0) - 5;
- c[((c[k >> 2] | 0) + 21580) >> 2] = 1;
- c[j >> 2] = 0;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- case 1:
- break;
- case 2: {
- c[s >> 2] = ir(c[o >> 2] | 0, 3, r) | 0;
- if (hr(c[s >> 2] | 0) | 0) {
- c[j >> 2] = c[s >> 2];
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- if ((c[r >> 2] | 0) == 3) {
- if (
- c[((c[k >> 2] | 0) + 21552 + 16) >> 2] | 0
- ? ((h = Oh(((c[k >> 2] | 0) + 21592) | 0) | 0),
- (g = t),
- (c[g >> 2] = h),
- (c[(g + 4) >> 2] = y),
- (g = t),
- (h =
- iE(c[g >> 2] | 0, c[(g + 4) >> 2] | 0, 11) |
- 0),
- (c[u >> 2] = h & 4194303),
- (c[v >> 2] = c[o >> 2]),
- (c[w >> 2] =
- (d[((c[v >> 2] | 0) + 2) >> 0] | 0) +
- ((d[((c[v >> 2] | 0) + 1) >> 0] | 0) << 8) +
- (((d[c[v >> 2] >> 0] | 0) & 63) << 16)),
- (c[w >> 2] | 0) != (c[u >> 2] | 0))
- : 0
- ) {
- c[j >> 2] = -22;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- c[((c[k >> 2] | 0) + 21536) >> 2] = 0;
- c[((c[k >> 2] | 0) + 21580) >> 2] = 0;
- } else {
- c[((c[k >> 2] | 0) + 21536) >> 2] = c[s >> 2];
- c[((c[k >> 2] | 0) + 21576) >> 2] = c[r >> 2];
- c[((c[k >> 2] | 0) + 21580) >> 2] = 3;
- }
- c[j >> 2] = 0;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- case 3: {
- switch (c[((c[k >> 2] | 0) + 21576) >> 2] | 0) {
- case 0: {
- c[x >> 2] =
- xs(
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[x >> 2] =
- ys(
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0
- ) | 0;
- break;
- }
- case 2: {
- c[j >> 2] = -1;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- case 3: {
- c[x >> 2] = 0;
- break;
- }
- default: {
- c[j >> 2] = -1;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- }
- c[((c[k >> 2] | 0) + 21580) >> 2] = 2;
- c[((c[k >> 2] | 0) + 21536) >> 2] = 3;
- c[((c[k >> 2] | 0) + 21520) >> 2] =
- (c[m >> 2] | 0) + (c[x >> 2] | 0);
- if (hr(c[x >> 2] | 0) | 0) {
- c[j >> 2] = c[x >> 2];
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- if (c[((c[k >> 2] | 0) + 21552 + 16) >> 2] | 0)
- Nh(
- ((c[k >> 2] | 0) + 21592) | 0,
- c[m >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- c[j >> 2] = c[x >> 2];
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- case 4: {
- mE(
- ((c[k >> 2] | 0) + 152788 + 5) | 0,
- c[o >> 2] | 0,
- c[((c[k >> 2] | 0) + 21536) >> 2] | 0
- ) | 0;
- h = Bq(((c[k >> 2] | 0) + 152788 + 4) | 0) | 0;
- c[((c[k >> 2] | 0) + 21536) >> 2] = h;
- c[((c[k >> 2] | 0) + 21580) >> 2] = 5;
- c[j >> 2] = 0;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- case 5: {
- c[((c[k >> 2] | 0) + 21536) >> 2] = 0;
- c[((c[k >> 2] | 0) + 21580) >> 2] = 0;
- c[j >> 2] = 0;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- default: {
- c[j >> 2] = -1;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- }
- } while (0);
- mE(
- ((c[k >> 2] | 0) + 152788 + 5) | 0,
- c[o >> 2] | 0,
- c[((c[k >> 2] | 0) + 21536) >> 2] | 0
- ) | 0;
- c[q >> 2] =
- ws(
- c[k >> 2] | 0,
- ((c[k >> 2] | 0) + 152788) | 0,
- c[((c[k >> 2] | 0) + 21680) >> 2] | 0
- ) | 0;
- if (hr(c[q >> 2] | 0) | 0) {
- c[j >> 2] = c[q >> 2];
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- } else {
- c[((c[k >> 2] | 0) + 21536) >> 2] = 3;
- c[((c[k >> 2] | 0) + 21580) >> 2] = 2;
- c[j >> 2] = 0;
- z = c[j >> 2] | 0;
- l = i;
- return z | 0;
- }
- return 0;
- }
- function my(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return ((c[((c[d >> 2] | 0) + 21580) >> 2] | 0) == 5) | 0;
- }
- function ny(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] =
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? c[h >> 2] | 0
- : c[j >> 2] | 0;
- mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
- l = f;
- return c[k >> 2] | 0;
- }
- function oy(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return c[((c[d >> 2] | 0) + 21536) >> 2] | 0;
- }
- function py(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- h = l;
- l = (l + 48) | 0;
- i = (h + 40) | 0;
- j = (h + 36) | 0;
- k = (h + 32) | 0;
- m = (h + 28) | 0;
- n = (h + 24) | 0;
- o = (h + 20) | 0;
- p = (h + 16) | 0;
- q = (h + 8) | 0;
- r = (h + 4) | 0;
- s = h;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- if (
- (c[o >> 2] | 0) !=
- (c[((c[j >> 2] | 0) + 21536) >> 2] | 0)
- ) {
- c[i >> 2] = -72;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- if (c[m >> 2] | 0) Kt(c[j >> 2] | 0, c[k >> 2] | 0);
- a: do {
- switch (c[((c[j >> 2] | 0) + 21564) >> 2] | 0) {
- case 0: {
- if ((c[o >> 2] | 0) != 5) {
- c[i >> 2] = -72;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- g = Nq(c[n >> 2] | 0, 5) | 0;
- c[((c[j >> 2] | 0) + 21540) >> 2] = g;
- g =
- (jr(c[((c[j >> 2] | 0) + 21540) >> 2] | 0) | 0) != 0;
- f = c[j >> 2] | 0;
- if (g) {
- c[i >> 2] = c[(f + 21540) >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- g = (f + 152660) | 0;
- f = c[n >> 2] | 0;
- a[g >> 0] = a[f >> 0] | 0;
- a[(g + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(g + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(g + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(g + 4) >> 0] = a[(f + 4) >> 0] | 0;
- f = c[j >> 2] | 0;
- if (
- (c[((c[j >> 2] | 0) + 21540) >> 2] | 0) >>> 0 <=
- 5
- ) {
- c[(f + 21536) >> 2] = 0;
- break a;
- }
- c[((c[j >> 2] | 0) + 21536) >> 2] =
- (c[(f + 21540) >> 2] | 0) - 5;
- c[((c[j >> 2] | 0) + 21564) >> 2] = 1;
- c[i >> 2] = 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 1:
- break;
- case 2: {
- c[r >> 2] = kr(c[n >> 2] | 0, 3, q) | 0;
- if (jr(c[r >> 2] | 0) | 0) {
- c[i >> 2] = c[r >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- if ((c[q >> 2] | 0) == 3) {
- c[((c[j >> 2] | 0) + 21536) >> 2] = 0;
- c[((c[j >> 2] | 0) + 21564) >> 2] = 0;
- } else {
- c[((c[j >> 2] | 0) + 21536) >> 2] = c[r >> 2];
- c[((c[j >> 2] | 0) + 21560) >> 2] = c[q >> 2];
- c[((c[j >> 2] | 0) + 21564) >> 2] = 3;
- }
- c[i >> 2] = 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 3: {
- switch (c[((c[j >> 2] | 0) + 21560) >> 2] | 0) {
- case 0: {
- c[s >> 2] =
- Nt(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[s >> 2] =
- Ot(
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- break;
- }
- case 2: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 3: {
- c[s >> 2] = 0;
- break;
- }
- default: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- }
- c[((c[j >> 2] | 0) + 21564) >> 2] = 2;
- c[((c[j >> 2] | 0) + 21536) >> 2] = 3;
- c[((c[j >> 2] | 0) + 21520) >> 2] =
- (c[k >> 2] | 0) + (c[s >> 2] | 0);
- c[i >> 2] = c[s >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- default: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- }
- } while (0);
- mE(
- ((c[j >> 2] | 0) + 152660 + 5) | 0,
- c[n >> 2] | 0,
- c[((c[j >> 2] | 0) + 21536) >> 2] | 0
- ) | 0;
- c[p >> 2] =
- Mt(
- c[j >> 2] | 0,
- ((c[j >> 2] | 0) + 152660) | 0,
- c[((c[j >> 2] | 0) + 21540) >> 2] | 0
- ) | 0;
- if (jr(c[p >> 2] | 0) | 0) {
- c[i >> 2] = c[p >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- } else {
- c[((c[j >> 2] | 0) + 21536) >> 2] = 3;
- c[((c[j >> 2] | 0) + 21564) >> 2] = 2;
- c[i >> 2] = 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- return 0;
- }
- function qy(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] =
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? c[h >> 2] | 0
- : c[j >> 2] | 0;
- mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
- l = f;
- return c[k >> 2] | 0;
- }
- function ry(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] =
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? c[h >> 2] | 0
- : c[j >> 2] | 0;
- mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
- l = f;
- return c[k >> 2] | 0;
- }
- function sy(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return c[((c[d >> 2] | 0) + 26656) >> 2] | 0;
- }
- function ty(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- h = l;
- l = (l + 48) | 0;
- i = (h + 40) | 0;
- j = (h + 36) | 0;
- k = (h + 32) | 0;
- m = (h + 28) | 0;
- n = (h + 24) | 0;
- o = (h + 20) | 0;
- p = (h + 16) | 0;
- q = (h + 8) | 0;
- r = (h + 4) | 0;
- s = h;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- if (
- (c[o >> 2] | 0) !=
- (c[((c[j >> 2] | 0) + 26656) >> 2] | 0)
- ) {
- c[i >> 2] = -72;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- Tu(c[j >> 2] | 0, c[k >> 2] | 0);
- a: do {
- switch (c[((c[j >> 2] | 0) + 26708) >> 2] | 0) {
- case 0: {
- if ((c[o >> 2] | 0) != 5) {
- c[i >> 2] = -72;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- g = Vu(c[j >> 2] | 0, c[n >> 2] | 0, 5) | 0;
- c[((c[j >> 2] | 0) + 26660) >> 2] = g;
- g =
- (mr(c[((c[j >> 2] | 0) + 26660) >> 2] | 0) | 0) != 0;
- f = c[j >> 2] | 0;
- if (g) {
- c[i >> 2] = c[(f + 26660) >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- g = (f + 157804) | 0;
- f = c[n >> 2] | 0;
- a[g >> 0] = a[f >> 0] | 0;
- a[(g + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(g + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(g + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(g + 4) >> 0] = a[(f + 4) >> 0] | 0;
- if (
- (c[((c[j >> 2] | 0) + 26660) >> 2] | 0) >>> 0 <=
- 5
- ) {
- c[((c[j >> 2] | 0) + 26656) >> 2] = 0;
- break a;
- }
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 1:
- break;
- case 2: {
- c[r >> 2] = lr(c[n >> 2] | 0, 3, q) | 0;
- if (mr(c[r >> 2] | 0) | 0) {
- c[i >> 2] = c[r >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- if ((c[q >> 2] | 0) == 3) {
- c[((c[j >> 2] | 0) + 26656) >> 2] = 0;
- c[((c[j >> 2] | 0) + 26708) >> 2] = 0;
- } else {
- c[((c[j >> 2] | 0) + 26656) >> 2] = c[r >> 2];
- c[((c[j >> 2] | 0) + 26704) >> 2] = c[q >> 2];
- c[((c[j >> 2] | 0) + 26708) >> 2] = 3;
- }
- c[i >> 2] = 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 3: {
- switch (c[((c[j >> 2] | 0) + 26704) >> 2] | 0) {
- case 0: {
- c[s >> 2] =
- Xu(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[s >> 2] =
- Yu(
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- break;
- }
- case 2: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 3: {
- c[s >> 2] = 0;
- break;
- }
- default: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- }
- c[((c[j >> 2] | 0) + 26708) >> 2] = 2;
- c[((c[j >> 2] | 0) + 26656) >> 2] = 3;
- c[((c[j >> 2] | 0) + 26640) >> 2] =
- (c[k >> 2] | 0) + (c[s >> 2] | 0);
- c[i >> 2] = c[s >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- default: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- }
- } while (0);
- c[p >> 2] =
- Wu(
- c[j >> 2] | 0,
- ((c[j >> 2] | 0) + 157804) | 0,
- c[((c[j >> 2] | 0) + 26660) >> 2] | 0
- ) | 0;
- if (mr(c[p >> 2] | 0) | 0) {
- c[i >> 2] = c[p >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- } else {
- c[((c[j >> 2] | 0) + 26656) >> 2] = 3;
- c[((c[j >> 2] | 0) + 26708) >> 2] = 2;
- c[i >> 2] = 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- return 0;
- }
- function uy(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0;
- g = l;
- l = (l + 112) | 0;
- h = (g + 100) | 0;
- i = (g + 96) | 0;
- j = (g + 92) | 0;
- k = (g + 88) | 0;
- m = (g + 84) | 0;
- n = (g + 80) | 0;
- o = (g + 76) | 0;
- p = (g + 72) | 0;
- q = (g + 68) | 0;
- r = (g + 64) | 0;
- s = (g + 60) | 0;
- t = (g + 56) | 0;
- u = (g + 52) | 0;
- v = (g + 48) | 0;
- w = (g + 44) | 0;
- x = (g + 40) | 0;
- y = (g + 36) | 0;
- z = (g + 32) | 0;
- A = (g + 28) | 0;
- B = (g + 24) | 0;
- C = (g + 20) | 0;
- D = (g + 16) | 0;
- E = (g + 12) | 0;
- F = (g + 8) | 0;
- G = (g + 4) | 0;
- H = g;
- c[i >> 2] = a;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = c[m >> 2];
- c[p >> 2] = c[o >> 2];
- c[q >> 2] = (c[o >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
- c[r >> 2] = c[j >> 2];
- c[s >> 2] = c[r >> 2];
- c[t >> 2] = (c[r >> 2] | 0) + (c[c[k >> 2] >> 2] | 0);
- c[u >> 2] = 1;
- a: while (1) {
- if (!(c[u >> 2] | 0)) {
- I = 50;
- break;
- }
- switch (c[((c[i >> 2] | 0) + 80) >> 2] | 0) {
- case 0: {
- I = 4;
- break a;
- break;
- }
- case 1: {
- c[v >> 2] =
- sx(
- ((c[i >> 2] | 0) + 8) | 0,
- c[m >> 2] | 0,
- c[c[n >> 2] >> 2] | 0
- ) | 0;
- j = (rr(c[v >> 2] | 0) | 0) != 0;
- J = c[v >> 2] | 0;
- if (j) {
- I = 6;
- break a;
- }
- K = c[i >> 2] | 0;
- if (J | 0) {
- I = 8;
- break a;
- }
- c[(K + 80) >> 2] = 3;
- break;
- }
- case 2: {
- c[w >> 2] =
- vy(
- ((c[i >> 2] | 0) +
- 84 +
- (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) |
- 0,
- (5 - (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) | 0,
- c[m >> 2] | 0,
- c[c[n >> 2] >> 2] | 0
- ) | 0;
- j = ((c[i >> 2] | 0) + 68) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[w >> 2] | 0);
- c[p >> 2] = (c[p >> 2] | 0) + (c[w >> 2] | 0);
- c[w >> 2] =
- sx(
- ((c[i >> 2] | 0) + 8) | 0,
- ((c[i >> 2] | 0) + 84) | 0,
- c[((c[i >> 2] | 0) + 68) >> 2] | 0
- ) | 0;
- j = (rr(c[w >> 2] | 0) | 0) != 0;
- L = c[w >> 2] | 0;
- if (j) {
- I = 11;
- break a;
- }
- if (L | 0) {
- I = 13;
- break a;
- } else I = 14;
- break;
- }
- case 3: {
- I = 14;
- break;
- }
- case 4: {
- I = 25;
- break;
- }
- case 5: {
- I = 35;
- break;
- }
- case 6: {
- I = 44;
- break;
- }
- default: {
- I = 48;
- break a;
- }
- }
- do {
- if ((I | 0) == 14) {
- I = 0;
- c[x >> 2] = 1 << c[((c[i >> 2] | 0) + 8 + 8) >> 2];
- c[y >> 2] = 131072;
- if (
- (c[((c[i >> 2] | 0) + 44) >> 2] | 0) >>> 0 < 131072
- ? (Dy(c[((c[i >> 2] | 0) + 40) >> 2] | 0),
- (c[((c[i >> 2] | 0) + 44) >> 2] = 131072),
- (j = Cy(131072) | 0),
- (c[((c[i >> 2] | 0) + 40) >> 2] = j),
- (c[((c[i >> 2] | 0) + 40) >> 2] | 0) == 0)
- : 0
- ) {
- I = 16;
- break a;
- }
- if (
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0) >>> 0 <
- (c[x >> 2] | 0) >>> 0
- ? (Dy(c[((c[i >> 2] | 0) + 52) >> 2] | 0),
- (c[((c[i >> 2] | 0) + 56) >> 2] = c[x >> 2]),
- (j = Cy(c[x >> 2] | 0) | 0),
- (c[((c[i >> 2] | 0) + 52) >> 2] = j),
- (c[((c[i >> 2] | 0) + 52) >> 2] | 0) == 0)
- : 0
- ) {
- I = 19;
- break a;
- }
- if (c[((c[i >> 2] | 0) + 76) >> 2] | 0)
- lw(
- c[c[i >> 2] >> 2] | 0,
- c[((c[i >> 2] | 0) + 72) >> 2] | 0,
- c[((c[i >> 2] | 0) + 76) >> 2] | 0
- );
- j = c[i >> 2] | 0;
- if (c[((c[i >> 2] | 0) + 68) >> 2] | 0) {
- mE(
- c[(j + 40) >> 2] | 0,
- ((c[i >> 2] | 0) + 84) | 0,
- c[((c[i >> 2] | 0) + 68) >> 2] | 0
- ) | 0;
- c[((c[i >> 2] | 0) + 48) >> 2] =
- c[((c[i >> 2] | 0) + 68) >> 2];
- c[((c[i >> 2] | 0) + 68) >> 2] = 0;
- c[((c[i >> 2] | 0) + 80) >> 2] = 5;
- break;
- } else {
- c[(j + 80) >> 2] = 4;
- I = 25;
- break;
- }
- }
- } while (0);
- do {
- if ((I | 0) == 25) {
- I = 0;
- c[z >> 2] = wy(c[c[i >> 2] >> 2] | 0) | 0;
- if (!(c[z >> 2] | 0)) {
- c[((c[i >> 2] | 0) + 80) >> 2] = 0;
- c[u >> 2] = 0;
- break;
- }
- if (
- (((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0) >>> 0 <
- (c[z >> 2] | 0) >>> 0
- ) {
- if ((c[p >> 2] | 0) == (c[q >> 2] | 0)) {
- c[u >> 2] = 0;
- break;
- } else {
- c[((c[i >> 2] | 0) + 80) >> 2] = 5;
- I = 35;
- break;
- }
- } else {
- c[A >> 2] =
- xy(
- c[c[i >> 2] >> 2] | 0,
- ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
- 0,
- ((c[((c[i >> 2] | 0) + 56) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
- 0,
- c[p >> 2] | 0,
- c[z >> 2] | 0
- ) | 0;
- if (rr(c[A >> 2] | 0) | 0) {
- I = 29;
- break a;
- }
- c[p >> 2] = (c[p >> 2] | 0) + (c[z >> 2] | 0);
- if (!(c[A >> 2] | 0)) break;
- c[((c[i >> 2] | 0) + 64) >> 2] =
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0) +
- (c[A >> 2] | 0);
- c[((c[i >> 2] | 0) + 80) >> 2] = 6;
- break;
- }
- }
- } while (0);
- do {
- if ((I | 0) == 35) {
- I = 0;
- c[B >> 2] = wy(c[c[i >> 2] >> 2] | 0) | 0;
- c[C >> 2] =
- (c[B >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0);
- if (
- (c[C >> 2] | 0) >>> 0 >
- (((c[((c[i >> 2] | 0) + 44) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- I = 36;
- break a;
- }
- c[D >> 2] =
- vy(
- ((c[((c[i >> 2] | 0) + 40) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 48) >> 2] | 0)) |
- 0,
- c[C >> 2] | 0,
- c[p >> 2] | 0,
- ((c[q >> 2] | 0) - (c[p >> 2] | 0)) | 0
- ) | 0;
- c[p >> 2] = (c[p >> 2] | 0) + (c[D >> 2] | 0);
- j = ((c[i >> 2] | 0) + 48) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[D >> 2] | 0);
- if ((c[D >> 2] | 0) >>> 0 < (c[C >> 2] | 0) >>> 0) {
- c[u >> 2] = 0;
- break;
- }
- c[E >> 2] =
- xy(
- c[c[i >> 2] >> 2] | 0,
- ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
- 0,
- ((c[((c[i >> 2] | 0) + 56) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
- 0,
- c[((c[i >> 2] | 0) + 40) >> 2] | 0,
- c[B >> 2] | 0
- ) | 0;
- if (rr(c[E >> 2] | 0) | 0) {
- I = 40;
- break a;
- }
- c[((c[i >> 2] | 0) + 48) >> 2] = 0;
- j = c[i >> 2] | 0;
- if (c[E >> 2] | 0) {
- c[((c[i >> 2] | 0) + 64) >> 2] =
- (c[(j + 60) >> 2] | 0) + (c[E >> 2] | 0);
- c[((c[i >> 2] | 0) + 80) >> 2] = 6;
- I = 44;
- break;
- } else {
- c[(j + 80) >> 2] = 4;
- break;
- }
- }
- } while (0);
- do {
- if ((I | 0) == 44) {
- I = 0;
- c[F >> 2] =
- (c[((c[i >> 2] | 0) + 64) >> 2] | 0) -
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0);
- c[G >> 2] =
- vy(
- c[s >> 2] | 0,
- ((c[t >> 2] | 0) - (c[s >> 2] | 0)) | 0,
- ((c[((c[i >> 2] | 0) + 52) >> 2] | 0) +
- (c[((c[i >> 2] | 0) + 60) >> 2] | 0)) |
- 0,
- c[F >> 2] | 0
- ) | 0;
- c[s >> 2] = (c[s >> 2] | 0) + (c[G >> 2] | 0);
- j = ((c[i >> 2] | 0) + 60) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + (c[G >> 2] | 0);
- if ((c[G >> 2] | 0) != (c[F >> 2] | 0)) {
- c[u >> 2] = 0;
- break;
- }
- c[((c[i >> 2] | 0) + 80) >> 2] = 4;
- if (
- (((c[((c[i >> 2] | 0) + 60) >> 2] | 0) + 131072) |
- 0) >>>
- 0 >
- (c[((c[i >> 2] | 0) + 56) >> 2] | 0) >>> 0
- ) {
- c[((c[i >> 2] | 0) + 64) >> 2] = 0;
- c[((c[i >> 2] | 0) + 60) >> 2] = 0;
- }
- }
- } while (0);
- }
- switch (I | 0) {
- case 4: {
- c[h >> 2] = -62;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 6: {
- c[h >> 2] = J;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 8: {
- mE(
- (K + 84 + (c[((c[i >> 2] | 0) + 68) >> 2] | 0)) | 0,
- c[m >> 2] | 0,
- c[c[n >> 2] >> 2] | 0
- ) | 0;
- m = ((c[i >> 2] | 0) + 68) | 0;
- c[m >> 2] = (c[m >> 2] | 0) + (c[c[n >> 2] >> 2] | 0);
- c[c[k >> 2] >> 2] = 0;
- c[((c[i >> 2] | 0) + 80) >> 2] = 2;
- c[h >> 2] =
- (c[v >> 2] | 0) - (c[((c[i >> 2] | 0) + 68) >> 2] | 0);
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 11: {
- c[h >> 2] = L;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 13: {
- c[c[k >> 2] >> 2] = 0;
- c[h >> 2] =
- (c[w >> 2] | 0) - (c[((c[i >> 2] | 0) + 68) >> 2] | 0);
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 16: {
- c[h >> 2] = -64;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 19: {
- c[h >> 2] = -64;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 29: {
- c[h >> 2] = c[A >> 2];
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 36: {
- c[h >> 2] = -20;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 40: {
- c[h >> 2] = c[E >> 2];
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 48: {
- c[h >> 2] = -1;
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- case 50: {
- c[c[n >> 2] >> 2] = (c[p >> 2] | 0) - (c[o >> 2] | 0);
- c[c[k >> 2] >> 2] = (c[s >> 2] | 0) - (c[r >> 2] | 0);
- c[H >> 2] = wy(c[c[i >> 2] >> 2] | 0) | 0;
- if ((c[H >> 2] | 0) >>> 0 > 3)
- c[H >> 2] = (c[H >> 2] | 0) + 3;
- c[H >> 2] =
- (c[H >> 2] | 0) - (c[((c[i >> 2] | 0) + 48) >> 2] | 0);
- c[h >> 2] = c[H >> 2];
- M = c[h >> 2] | 0;
- l = g;
- return M | 0;
- }
- }
- return 0;
- }
- function vy(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = (f + 12) | 0;
- i = (f + 8) | 0;
- j = (f + 4) | 0;
- k = f;
- c[g >> 2] = a;
- c[h >> 2] = b;
- c[i >> 2] = d;
- c[j >> 2] = e;
- c[k >> 2] =
- (c[h >> 2] | 0) >>> 0 < (c[j >> 2] | 0) >>> 0
- ? c[h >> 2] | 0
- : c[j >> 2] | 0;
- mE(c[g >> 2] | 0, c[i >> 2] | 0, c[k >> 2] | 0) | 0;
- l = f;
- return c[k >> 2] | 0;
- }
- function wy(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = a;
- l = b;
- return c[((c[d >> 2] | 0) + 10268) >> 2] | 0;
- }
- function xy(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- h = l;
- l = (l + 48) | 0;
- i = (h + 40) | 0;
- j = (h + 36) | 0;
- k = (h + 32) | 0;
- m = (h + 28) | 0;
- n = (h + 24) | 0;
- o = (h + 20) | 0;
- p = (h + 16) | 0;
- q = (h + 8) | 0;
- r = (h + 4) | 0;
- s = h;
- c[j >> 2] = b;
- c[k >> 2] = d;
- c[m >> 2] = e;
- c[n >> 2] = f;
- c[o >> 2] = g;
- if (
- (c[o >> 2] | 0) !=
- (c[((c[j >> 2] | 0) + 10268) >> 2] | 0)
- ) {
- c[i >> 2] = -72;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- yy(c[j >> 2] | 0, c[k >> 2] | 0);
- a: do {
- switch (c[((c[j >> 2] | 0) + 10316) >> 2] | 0) {
- case 0: {
- if ((c[o >> 2] | 0) != 5) {
- c[i >> 2] = -72;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- g = mw(c[j >> 2] | 0, c[n >> 2] | 0, 5) | 0;
- c[((c[j >> 2] | 0) + 10272) >> 2] = g;
- g =
- (rr(c[((c[j >> 2] | 0) + 10272) >> 2] | 0) | 0) != 0;
- f = c[j >> 2] | 0;
- if (g) {
- c[i >> 2] = c[(f + 10272) >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- g = (f + 141408) | 0;
- f = c[n >> 2] | 0;
- a[g >> 0] = a[f >> 0] | 0;
- a[(g + 1) >> 0] = a[(f + 1) >> 0] | 0;
- a[(g + 2) >> 0] = a[(f + 2) >> 0] | 0;
- a[(g + 3) >> 0] = a[(f + 3) >> 0] | 0;
- a[(g + 4) >> 0] = a[(f + 4) >> 0] | 0;
- if (
- (c[((c[j >> 2] | 0) + 10272) >> 2] | 0) >>> 0 <=
- 5
- ) {
- c[((c[j >> 2] | 0) + 10268) >> 2] = 0;
- break a;
- }
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 1:
- break;
- case 2: {
- c[r >> 2] = qr(c[n >> 2] | 0, 3, q) | 0;
- if (rr(c[r >> 2] | 0) | 0) {
- c[i >> 2] = c[r >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- if ((c[q >> 2] | 0) == 3) {
- c[((c[j >> 2] | 0) + 10268) >> 2] = 0;
- c[((c[j >> 2] | 0) + 10316) >> 2] = 0;
- } else {
- c[((c[j >> 2] | 0) + 10268) >> 2] = c[r >> 2];
- c[((c[j >> 2] | 0) + 10312) >> 2] = c[q >> 2];
- c[((c[j >> 2] | 0) + 10316) >> 2] = 3;
- }
- c[i >> 2] = 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 3: {
- switch (c[((c[j >> 2] | 0) + 10312) >> 2] | 0) {
- case 0: {
- c[s >> 2] =
- ow(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- break;
- }
- case 1: {
- c[s >> 2] =
- pw(
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0
- ) | 0;
- break;
- }
- case 2: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 3: {
- c[s >> 2] = 0;
- break;
- }
- default: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- }
- c[((c[j >> 2] | 0) + 10316) >> 2] = 2;
- c[((c[j >> 2] | 0) + 10268) >> 2] = 3;
- c[((c[j >> 2] | 0) + 10252) >> 2] =
- (c[k >> 2] | 0) + (c[s >> 2] | 0);
- c[i >> 2] = c[s >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- default: {
- c[i >> 2] = -1;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- }
- } while (0);
- c[p >> 2] =
- nw(
- c[j >> 2] | 0,
- ((c[j >> 2] | 0) + 141408) | 0,
- c[((c[j >> 2] | 0) + 10272) >> 2] | 0
- ) | 0;
- if (rr(c[p >> 2] | 0) | 0) {
- c[i >> 2] = c[p >> 2];
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- } else {
- c[((c[j >> 2] | 0) + 10268) >> 2] = 3;
- c[((c[j >> 2] | 0) + 10316) >> 2] = 2;
- c[i >> 2] = 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- return 0;
- }
- function yy(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = l;
- l = (l + 16) | 0;
- e = (d + 4) | 0;
- f = d;
- c[e >> 2] = a;
- c[f >> 2] = b;
- if (
- (c[f >> 2] | 0) ==
- (c[((c[e >> 2] | 0) + 10252) >> 2] | 0)
- ) {
- l = d;
- return;
- }
- c[((c[e >> 2] | 0) + 10264) >> 2] =
- c[((c[e >> 2] | 0) + 10252) >> 2];
- c[((c[e >> 2] | 0) + 10260) >> 2] =
- (c[f >> 2] | 0) +
- (0 -
- ((c[((c[e >> 2] | 0) + 10252) >> 2] | 0) -
- (c[((c[e >> 2] | 0) + 10256) >> 2] | 0)));
- c[((c[e >> 2] | 0) + 10256) >> 2] = c[f >> 2];
- c[((c[e >> 2] | 0) + 10252) >> 2] = c[f >> 2];
- l = d;
- return;
- }
- function zy() {
- Ay(0);
- return;
- }
- function Ay(a) {
- a = a | 0;
- Wa(10928, 20112);
- La(10944, 20117, 1, 1, 0);
- Sa(10952, 19886, 1, -128, 127);
- Sa(10968, 19891, 1, -128, 127);
- Sa(10960, 19903, 1, 0, 255);
- Sa(10976, 19917, 2, -32768, 32767);
- Sa(10984, 19923, 2, 0, 65535);
- Sa(10992, 20122, 4, -2147483648, 2147483647);
- Sa(11e3, 20126, 4, 0, -1);
- Sa(11008, 20139, 4, -2147483648, 2147483647);
- Sa(11016, 20144, 4, 0, -1);
- Qa(11024, 20168, 4);
- Qa(11032, 20280, 8);
- Ua(10624, 19495);
- Ua(10648, 16561);
- Va(10672, 4, 16594);
- Pa(9840, 16607);
- Ta(10696, 0, 16623);
- Ta(10704, 0, 16653);
- Ta(10712, 1, 16690);
- Ta(10720, 2, 16729);
- Ta(10728, 3, 16760);
- Ta(10736, 4, 16800);
- Ta(10744, 5, 16829);
- Ta(10752, 4, 16867);
- Ta(10760, 5, 16897);
- Ta(10704, 0, 16936);
- Ta(10712, 1, 16968);
- Ta(10720, 2, 17001);
- Ta(10728, 3, 17034);
- Ta(10736, 4, 17068);
- Ta(10744, 5, 17101);
- Ta(10768, 6, 17135);
- Ta(10776, 7, 17166);
- Ta(10784, 7, 17198);
- return;
- }
- function By(a) {
- a = a | 0;
- return Oz(c[(a + 4) >> 2] | 0) | 0;
- }
- function Cy(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- do {
- if (a >>> 0 < 245) {
- e = a >>> 0 < 11 ? 16 : (a + 11) & -8;
- f = e >>> 3;
- g = c[5418] | 0;
- h = g >>> f;
- if ((h & 3) | 0) {
- i = (((h & 1) ^ 1) + f) | 0;
- j = (21712 + ((i << 1) << 2)) | 0;
- k = (j + 8) | 0;
- m = c[k >> 2] | 0;
- n = (m + 8) | 0;
- o = c[n >> 2] | 0;
- if ((o | 0) == (j | 0)) c[5418] = g & ~(1 << i);
- else {
- c[(o + 12) >> 2] = j;
- c[k >> 2] = o;
- }
- o = i << 3;
- c[(m + 4) >> 2] = o | 3;
- i = (m + o + 4) | 0;
- c[i >> 2] = c[i >> 2] | 1;
- p = n;
- l = b;
- return p | 0;
- }
- n = c[5420] | 0;
- if (e >>> 0 > n >>> 0) {
- if (h | 0) {
- i = 2 << f;
- o = (h << f) & (i | (0 - i));
- i = ((o & (0 - o)) + -1) | 0;
- o = (i >>> 12) & 16;
- f = i >>> o;
- i = (f >>> 5) & 8;
- h = f >>> i;
- f = (h >>> 2) & 4;
- m = h >>> f;
- h = (m >>> 1) & 2;
- k = m >>> h;
- m = (k >>> 1) & 1;
- j = ((i | o | f | h | m) + (k >>> m)) | 0;
- m = (21712 + ((j << 1) << 2)) | 0;
- k = (m + 8) | 0;
- h = c[k >> 2] | 0;
- f = (h + 8) | 0;
- o = c[f >> 2] | 0;
- if ((o | 0) == (m | 0)) {
- i = g & ~(1 << j);
- c[5418] = i;
- q = i;
- } else {
- c[(o + 12) >> 2] = m;
- c[k >> 2] = o;
- q = g;
- }
- o = j << 3;
- j = (o - e) | 0;
- c[(h + 4) >> 2] = e | 3;
- k = (h + e) | 0;
- c[(k + 4) >> 2] = j | 1;
- c[(h + o) >> 2] = j;
- if (n | 0) {
- o = c[5423] | 0;
- h = n >>> 3;
- m = (21712 + ((h << 1) << 2)) | 0;
- i = 1 << h;
- if (!(q & i)) {
- c[5418] = q | i;
- r = m;
- s = (m + 8) | 0;
- } else {
- i = (m + 8) | 0;
- r = c[i >> 2] | 0;
- s = i;
- }
- c[s >> 2] = o;
- c[(r + 12) >> 2] = o;
- c[(o + 8) >> 2] = r;
- c[(o + 12) >> 2] = m;
- }
- c[5420] = j;
- c[5423] = k;
- p = f;
- l = b;
- return p | 0;
- }
- f = c[5419] | 0;
- if (f) {
- k = ((f & (0 - f)) + -1) | 0;
- j = (k >>> 12) & 16;
- m = k >>> j;
- k = (m >>> 5) & 8;
- o = m >>> k;
- m = (o >>> 2) & 4;
- i = o >>> m;
- o = (i >>> 1) & 2;
- h = i >>> o;
- i = (h >>> 1) & 1;
- t =
- c[
- (21976 +
- (((k | j | m | o | i) + (h >>> i)) << 2)) >>
- 2
- ] | 0;
- i = t;
- h = t;
- o = ((c[(t + 4) >> 2] & -8) - e) | 0;
- while (1) {
- t = c[(i + 16) >> 2] | 0;
- if (!t) {
- m = c[(i + 20) >> 2] | 0;
- if (!m) break;
- else u = m;
- } else u = t;
- t = ((c[(u + 4) >> 2] & -8) - e) | 0;
- m = t >>> 0 < o >>> 0;
- i = u;
- h = m ? u : h;
- o = m ? t : o;
- }
- i = (h + e) | 0;
- if (i >>> 0 > h >>> 0) {
- t = c[(h + 24) >> 2] | 0;
- m = c[(h + 12) >> 2] | 0;
- do {
- if ((m | 0) == (h | 0)) {
- j = (h + 20) | 0;
- k = c[j >> 2] | 0;
- if (!k) {
- v = (h + 16) | 0;
- w = c[v >> 2] | 0;
- if (!w) {
- x = 0;
- break;
- } else {
- y = w;
- z = v;
- }
- } else {
- y = k;
- z = j;
- }
- j = y;
- k = z;
- while (1) {
- v = (j + 20) | 0;
- w = c[v >> 2] | 0;
- if (!w) {
- A = (j + 16) | 0;
- B = c[A >> 2] | 0;
- if (!B) break;
- else {
- C = B;
- D = A;
- }
- } else {
- C = w;
- D = v;
- }
- j = C;
- k = D;
- }
- c[k >> 2] = 0;
- x = j;
- } else {
- v = c[(h + 8) >> 2] | 0;
- c[(v + 12) >> 2] = m;
- c[(m + 8) >> 2] = v;
- x = m;
- }
- } while (0);
- do {
- if (t | 0) {
- m = c[(h + 28) >> 2] | 0;
- v = (21976 + (m << 2)) | 0;
- if ((h | 0) == (c[v >> 2] | 0)) {
- c[v >> 2] = x;
- if (!x) {
- c[5419] = f & ~(1 << m);
- break;
- }
- } else {
- m = (t + 16) | 0;
- c[
- ((c[m >> 2] | 0) == (h | 0)
- ? m
- : (t + 20) | 0) >> 2
- ] = x;
- if (!x) break;
- }
- c[(x + 24) >> 2] = t;
- m = c[(h + 16) >> 2] | 0;
- if (m | 0) {
- c[(x + 16) >> 2] = m;
- c[(m + 24) >> 2] = x;
- }
- m = c[(h + 20) >> 2] | 0;
- if (m | 0) {
- c[(x + 20) >> 2] = m;
- c[(m + 24) >> 2] = x;
- }
- }
- } while (0);
- if (o >>> 0 < 16) {
- t = (o + e) | 0;
- c[(h + 4) >> 2] = t | 3;
- f = (h + t + 4) | 0;
- c[f >> 2] = c[f >> 2] | 1;
- } else {
- c[(h + 4) >> 2] = e | 3;
- c[(i + 4) >> 2] = o | 1;
- c[(i + o) >> 2] = o;
- if (n | 0) {
- f = c[5423] | 0;
- t = n >>> 3;
- m = (21712 + ((t << 1) << 2)) | 0;
- v = 1 << t;
- if (!(v & g)) {
- c[5418] = v | g;
- E = m;
- F = (m + 8) | 0;
- } else {
- v = (m + 8) | 0;
- E = c[v >> 2] | 0;
- F = v;
- }
- c[F >> 2] = f;
- c[(E + 12) >> 2] = f;
- c[(f + 8) >> 2] = E;
- c[(f + 12) >> 2] = m;
- }
- c[5420] = o;
- c[5423] = i;
- }
- p = (h + 8) | 0;
- l = b;
- return p | 0;
- } else G = e;
- } else G = e;
- } else G = e;
- } else if (a >>> 0 <= 4294967231) {
- m = (a + 11) | 0;
- f = m & -8;
- v = c[5419] | 0;
- if (v) {
- t = (0 - f) | 0;
- w = m >>> 8;
- if (w) {
- if (f >>> 0 > 16777215) H = 31;
- else {
- m = (((w + 1048320) | 0) >>> 16) & 8;
- A = w << m;
- w = (((A + 520192) | 0) >>> 16) & 4;
- B = A << w;
- A = (((B + 245760) | 0) >>> 16) & 2;
- I = (14 - (w | m | A) + ((B << A) >>> 15)) | 0;
- H = ((f >>> ((I + 7) | 0)) & 1) | (I << 1);
- }
- } else H = 0;
- I = c[(21976 + (H << 2)) >> 2] | 0;
- a: do {
- if (!I) {
- J = 0;
- K = 0;
- L = t;
- M = 61;
- } else {
- A = 0;
- B = t;
- m = I;
- w = f << ((H | 0) == 31 ? 0 : (25 - (H >>> 1)) | 0);
- N = 0;
- while (1) {
- O = ((c[(m + 4) >> 2] & -8) - f) | 0;
- if (O >>> 0 < B >>> 0) {
- if (!O) {
- P = m;
- Q = 0;
- R = m;
- M = 65;
- break a;
- } else {
- S = m;
- T = O;
- }
- } else {
- S = A;
- T = B;
- }
- O = c[(m + 20) >> 2] | 0;
- m = c[(m + 16 + ((w >>> 31) << 2)) >> 2] | 0;
- U = ((O | 0) == 0) | ((O | 0) == (m | 0)) ? N : O;
- if (!m) {
- J = U;
- K = S;
- L = T;
- M = 61;
- break;
- } else {
- A = S;
- B = T;
- w = w << 1;
- N = U;
- }
- }
- }
- } while (0);
- if ((M | 0) == 61) {
- if (((J | 0) == 0) & ((K | 0) == 0)) {
- I = 2 << H;
- t = (I | (0 - I)) & v;
- if (!t) {
- G = f;
- break;
- }
- I = ((t & (0 - t)) + -1) | 0;
- t = (I >>> 12) & 16;
- e = I >>> t;
- I = (e >>> 5) & 8;
- h = e >>> I;
- e = (h >>> 2) & 4;
- i = h >>> e;
- h = (i >>> 1) & 2;
- o = i >>> h;
- i = (o >>> 1) & 1;
- V = 0;
- W =
- c[
- (21976 +
- (((I | t | e | h | i) + (o >>> i)) << 2)) >>
- 2
- ] | 0;
- } else {
- V = K;
- W = J;
- }
- if (!W) {
- X = V;
- Y = L;
- } else {
- P = V;
- Q = L;
- R = W;
- M = 65;
- }
- }
- if ((M | 0) == 65) {
- i = P;
- o = Q;
- h = R;
- while (1) {
- e = ((c[(h + 4) >> 2] & -8) - f) | 0;
- t = e >>> 0 < o >>> 0;
- I = t ? e : o;
- e = t ? h : i;
- t = c[(h + 16) >> 2] | 0;
- if (!t) Z = c[(h + 20) >> 2] | 0;
- else Z = t;
- if (!Z) {
- X = e;
- Y = I;
- break;
- } else {
- i = e;
- o = I;
- h = Z;
- }
- }
- }
- if (
- (
- (X | 0) != 0
- ? Y >>> 0 < (((c[5420] | 0) - f) | 0) >>> 0
- : 0
- )
- ? ((h = (X + f) | 0), h >>> 0 > X >>> 0)
- : 0
- ) {
- o = c[(X + 24) >> 2] | 0;
- i = c[(X + 12) >> 2] | 0;
- do {
- if ((i | 0) == (X | 0)) {
- I = (X + 20) | 0;
- e = c[I >> 2] | 0;
- if (!e) {
- t = (X + 16) | 0;
- g = c[t >> 2] | 0;
- if (!g) {
- _ = 0;
- break;
- } else {
- $ = g;
- aa = t;
- }
- } else {
- $ = e;
- aa = I;
- }
- I = $;
- e = aa;
- while (1) {
- t = (I + 20) | 0;
- g = c[t >> 2] | 0;
- if (!g) {
- n = (I + 16) | 0;
- N = c[n >> 2] | 0;
- if (!N) break;
- else {
- ba = N;
- ca = n;
- }
- } else {
- ba = g;
- ca = t;
- }
- I = ba;
- e = ca;
- }
- c[e >> 2] = 0;
- _ = I;
- } else {
- t = c[(X + 8) >> 2] | 0;
- c[(t + 12) >> 2] = i;
- c[(i + 8) >> 2] = t;
- _ = i;
- }
- } while (0);
- do {
- if (o) {
- i = c[(X + 28) >> 2] | 0;
- t = (21976 + (i << 2)) | 0;
- if ((X | 0) == (c[t >> 2] | 0)) {
- c[t >> 2] = _;
- if (!_) {
- t = v & ~(1 << i);
- c[5419] = t;
- da = t;
- break;
- }
- } else {
- t = (o + 16) | 0;
- c[
- ((c[t >> 2] | 0) == (X | 0)
- ? t
- : (o + 20) | 0) >> 2
- ] = _;
- if (!_) {
- da = v;
- break;
- }
- }
- c[(_ + 24) >> 2] = o;
- t = c[(X + 16) >> 2] | 0;
- if (t | 0) {
- c[(_ + 16) >> 2] = t;
- c[(t + 24) >> 2] = _;
- }
- t = c[(X + 20) >> 2] | 0;
- if (t) {
- c[(_ + 20) >> 2] = t;
- c[(t + 24) >> 2] = _;
- da = v;
- } else da = v;
- } else da = v;
- } while (0);
- b: do {
- if (Y >>> 0 < 16) {
- v = (Y + f) | 0;
- c[(X + 4) >> 2] = v | 3;
- o = (X + v + 4) | 0;
- c[o >> 2] = c[o >> 2] | 1;
- } else {
- c[(X + 4) >> 2] = f | 3;
- c[(h + 4) >> 2] = Y | 1;
- c[(h + Y) >> 2] = Y;
- o = Y >>> 3;
- if (Y >>> 0 < 256) {
- v = (21712 + ((o << 1) << 2)) | 0;
- t = c[5418] | 0;
- i = 1 << o;
- if (!(t & i)) {
- c[5418] = t | i;
- ea = v;
- fa = (v + 8) | 0;
- } else {
- i = (v + 8) | 0;
- ea = c[i >> 2] | 0;
- fa = i;
- }
- c[fa >> 2] = h;
- c[(ea + 12) >> 2] = h;
- c[(h + 8) >> 2] = ea;
- c[(h + 12) >> 2] = v;
- break;
- }
- v = Y >>> 8;
- if (v) {
- if (Y >>> 0 > 16777215) ga = 31;
- else {
- i = (((v + 1048320) | 0) >>> 16) & 8;
- t = v << i;
- v = (((t + 520192) | 0) >>> 16) & 4;
- o = t << v;
- t = (((o + 245760) | 0) >>> 16) & 2;
- g =
- (14 - (v | i | t) + ((o << t) >>> 15)) | 0;
- ga = ((Y >>> ((g + 7) | 0)) & 1) | (g << 1);
- }
- } else ga = 0;
- g = (21976 + (ga << 2)) | 0;
- c[(h + 28) >> 2] = ga;
- t = (h + 16) | 0;
- c[(t + 4) >> 2] = 0;
- c[t >> 2] = 0;
- t = 1 << ga;
- if (!(da & t)) {
- c[5419] = da | t;
- c[g >> 2] = h;
- c[(h + 24) >> 2] = g;
- c[(h + 12) >> 2] = h;
- c[(h + 8) >> 2] = h;
- break;
- }
- t = c[g >> 2] | 0;
- c: do {
- if (((c[(t + 4) >> 2] & -8) | 0) == (Y | 0))
- ha = t;
- else {
- g =
- Y <<
- ((ga | 0) == 31
- ? 0
- : (25 - (ga >>> 1)) | 0);
- o = t;
- while (1) {
- ia = (o + 16 + ((g >>> 31) << 2)) | 0;
- i = c[ia >> 2] | 0;
- if (!i) break;
- if (
- ((c[(i + 4) >> 2] & -8) | 0) ==
- (Y | 0)
- ) {
- ha = i;
- break c;
- } else {
- g = g << 1;
- o = i;
- }
- }
- c[ia >> 2] = h;
- c[(h + 24) >> 2] = o;
- c[(h + 12) >> 2] = h;
- c[(h + 8) >> 2] = h;
- break b;
- }
- } while (0);
- t = (ha + 8) | 0;
- I = c[t >> 2] | 0;
- c[(I + 12) >> 2] = h;
- c[t >> 2] = h;
- c[(h + 8) >> 2] = I;
- c[(h + 12) >> 2] = ha;
- c[(h + 24) >> 2] = 0;
- }
- } while (0);
- p = (X + 8) | 0;
- l = b;
- return p | 0;
- } else G = f;
- } else G = f;
- } else G = -1;
- } while (0);
- X = c[5420] | 0;
- if (X >>> 0 >= G >>> 0) {
- ha = (X - G) | 0;
- ia = c[5423] | 0;
- if (ha >>> 0 > 15) {
- Y = (ia + G) | 0;
- c[5423] = Y;
- c[5420] = ha;
- c[(Y + 4) >> 2] = ha | 1;
- c[(ia + X) >> 2] = ha;
- c[(ia + 4) >> 2] = G | 3;
- } else {
- c[5420] = 0;
- c[5423] = 0;
- c[(ia + 4) >> 2] = X | 3;
- ha = (ia + X + 4) | 0;
- c[ha >> 2] = c[ha >> 2] | 1;
- }
- p = (ia + 8) | 0;
- l = b;
- return p | 0;
- }
- ia = c[5421] | 0;
- if (ia >>> 0 > G >>> 0) {
- ha = (ia - G) | 0;
- c[5421] = ha;
- X = c[5424] | 0;
- Y = (X + G) | 0;
- c[5424] = Y;
- c[(Y + 4) >> 2] = ha | 1;
- c[(X + 4) >> 2] = G | 3;
- p = (X + 8) | 0;
- l = b;
- return p | 0;
- }
- if (!(c[5536] | 0)) {
- c[5538] = 4096;
- c[5537] = 4096;
- c[5539] = -1;
- c[5540] = -1;
- c[5541] = 0;
- c[5529] = 0;
- c[5536] = (d & -16) ^ 1431655768;
- ja = 4096;
- } else ja = c[5538] | 0;
- d = (G + 48) | 0;
- X = (G + 47) | 0;
- ha = (ja + X) | 0;
- Y = (0 - ja) | 0;
- ja = ha & Y;
- if (ja >>> 0 <= G >>> 0) {
- p = 0;
- l = b;
- return p | 0;
- }
- ga = c[5528] | 0;
- if (
- ga | 0
- ? ((da = c[5526] | 0),
- (ea = (da + ja) | 0),
- (ea >>> 0 <= da >>> 0) | (ea >>> 0 > ga >>> 0))
- : 0
- ) {
- p = 0;
- l = b;
- return p | 0;
- }
- d: do {
- if (!(c[5529] & 4)) {
- ga = c[5424] | 0;
- e: do {
- if (ga) {
- ea = 22120;
- while (1) {
- da = c[ea >> 2] | 0;
- if (
- da >>> 0 <= ga >>> 0
- ? ((da + (c[(ea + 4) >> 2] | 0)) | 0) >>> 0 >
- ga >>> 0
- : 0
- )
- break;
- da = c[(ea + 8) >> 2] | 0;
- if (!da) {
- M = 128;
- break e;
- } else ea = da;
- }
- da = (ha - ia) & Y;
- if (da >>> 0 < 2147483647) {
- fa = pE(da | 0) | 0;
- if (
- (fa | 0) ==
- (((c[ea >> 2] | 0) + (c[(ea + 4) >> 2] | 0)) | 0)
- ) {
- if ((fa | 0) == (-1 | 0)) ka = da;
- else {
- la = da;
- ma = fa;
- M = 145;
- break d;
- }
- } else {
- na = fa;
- oa = da;
- M = 136;
- }
- } else ka = 0;
- } else M = 128;
- } while (0);
- do {
- if ((M | 0) == 128) {
- ga = pE(0) | 0;
- if (
- (ga | 0) != (-1 | 0)
- ? ((f = ga),
- (da = c[5537] | 0),
- (fa = (da + -1) | 0),
- (_ =
- ((((fa & f) | 0) == 0
- ? 0
- : (((fa + f) & (0 - da)) - f) | 0) +
- ja) |
- 0),
- (f = c[5526] | 0),
- (da = (_ + f) | 0),
- (_ >>> 0 > G >>> 0) & (_ >>> 0 < 2147483647))
- : 0
- ) {
- fa = c[5528] | 0;
- if (
- fa | 0
- ? (da >>> 0 <= f >>> 0) | (da >>> 0 > fa >>> 0)
- : 0
- ) {
- ka = 0;
- break;
- }
- fa = pE(_ | 0) | 0;
- if ((fa | 0) == (ga | 0)) {
- la = _;
- ma = ga;
- M = 145;
- break d;
- } else {
- na = fa;
- oa = _;
- M = 136;
- }
- } else ka = 0;
- }
- } while (0);
- do {
- if ((M | 0) == 136) {
- _ = (0 - oa) | 0;
- if (
- !(
- (d >>> 0 > oa >>> 0) &
- ((oa >>> 0 < 2147483647) & ((na | 0) != (-1 | 0)))
- )
- )
- if ((na | 0) == (-1 | 0)) {
- ka = 0;
- break;
- } else {
- la = oa;
- ma = na;
- M = 145;
- break d;
- }
- fa = c[5538] | 0;
- ga = (X - oa + fa) & (0 - fa);
- if (ga >>> 0 >= 2147483647) {
- la = oa;
- ma = na;
- M = 145;
- break d;
- }
- if ((pE(ga | 0) | 0) == (-1 | 0)) {
- pE(_ | 0) | 0;
- ka = 0;
- break;
- } else {
- la = (ga + oa) | 0;
- ma = na;
- M = 145;
- break d;
- }
- }
- } while (0);
- c[5529] = c[5529] | 4;
- pa = ka;
- M = 143;
- } else {
- pa = 0;
- M = 143;
- }
- } while (0);
- if (
- ((M | 0) == 143 ? ja >>> 0 < 2147483647 : 0)
- ? ((ka = pE(ja | 0) | 0),
- (ja = pE(0) | 0),
- (na = (ja - ka) | 0),
- (oa = na >>> 0 > ((G + 40) | 0) >>> 0),
- !(
- ((ka | 0) == (-1 | 0)) |
- (oa ^ 1) |
- (((ka >>> 0 < ja >>> 0) &
- (((ka | 0) != (-1 | 0)) & ((ja | 0) != (-1 | 0)))) ^
- 1)
- ))
- : 0
- ) {
- la = oa ? na : pa;
- ma = ka;
- M = 145;
- }
- if ((M | 0) == 145) {
- ka = ((c[5526] | 0) + la) | 0;
- c[5526] = ka;
- if (ka >>> 0 > (c[5527] | 0) >>> 0) c[5527] = ka;
- ka = c[5424] | 0;
- f: do {
- if (ka) {
- pa = 22120;
- while (1) {
- qa = c[pa >> 2] | 0;
- ra = c[(pa + 4) >> 2] | 0;
- if ((ma | 0) == ((qa + ra) | 0)) {
- M = 154;
- break;
- }
- na = c[(pa + 8) >> 2] | 0;
- if (!na) break;
- else pa = na;
- }
- if (
- (
- (M | 0) == 154
- ? ((na = (pa + 4) | 0),
- ((c[(pa + 12) >> 2] & 8) | 0) == 0)
- : 0
- )
- ? (ma >>> 0 > ka >>> 0) & (qa >>> 0 <= ka >>> 0)
- : 0
- ) {
- c[na >> 2] = ra + la;
- na = ((c[5421] | 0) + la) | 0;
- oa = (ka + 8) | 0;
- ja = ((oa & 7) | 0) == 0 ? 0 : (0 - oa) & 7;
- oa = (ka + ja) | 0;
- X = (na - ja) | 0;
- c[5424] = oa;
- c[5421] = X;
- c[(oa + 4) >> 2] = X | 1;
- c[(ka + na + 4) >> 2] = 40;
- c[5425] = c[5540];
- break;
- }
- if (ma >>> 0 < (c[5422] | 0) >>> 0) c[5422] = ma;
- na = (ma + la) | 0;
- X = 22120;
- while (1) {
- if ((c[X >> 2] | 0) == (na | 0)) {
- M = 162;
- break;
- }
- oa = c[(X + 8) >> 2] | 0;
- if (!oa) break;
- else X = oa;
- }
- if (
- (M | 0) == 162 ? ((c[(X + 12) >> 2] & 8) | 0) == 0 : 0
- ) {
- c[X >> 2] = ma;
- pa = (X + 4) | 0;
- c[pa >> 2] = (c[pa >> 2] | 0) + la;
- pa = (ma + 8) | 0;
- oa =
- (ma + (((pa & 7) | 0) == 0 ? 0 : (0 - pa) & 7)) | 0;
- pa = (na + 8) | 0;
- ja =
- (na + (((pa & 7) | 0) == 0 ? 0 : (0 - pa) & 7)) | 0;
- pa = (oa + G) | 0;
- d = (ja - oa - G) | 0;
- c[(oa + 4) >> 2] = G | 3;
- g: do {
- if ((ka | 0) == (ja | 0)) {
- Y = ((c[5421] | 0) + d) | 0;
- c[5421] = Y;
- c[5424] = pa;
- c[(pa + 4) >> 2] = Y | 1;
- } else {
- if ((c[5423] | 0) == (ja | 0)) {
- Y = ((c[5420] | 0) + d) | 0;
- c[5420] = Y;
- c[5423] = pa;
- c[(pa + 4) >> 2] = Y | 1;
- c[(pa + Y) >> 2] = Y;
- break;
- }
- Y = c[(ja + 4) >> 2] | 0;
- if (((Y & 3) | 0) == 1) {
- ia = Y & -8;
- ha = Y >>> 3;
- h: do {
- if (Y >>> 0 < 256) {
- ga = c[(ja + 8) >> 2] | 0;
- _ = c[(ja + 12) >> 2] | 0;
- if ((_ | 0) == (ga | 0)) {
- c[5418] = c[5418] & ~(1 << ha);
- break;
- } else {
- c[(ga + 12) >> 2] = _;
- c[(_ + 8) >> 2] = ga;
- break;
- }
- } else {
- ga = c[(ja + 24) >> 2] | 0;
- _ = c[(ja + 12) >> 2] | 0;
- do {
- if ((_ | 0) == (ja | 0)) {
- fa = (ja + 16) | 0;
- da = (fa + 4) | 0;
- f = c[da >> 2] | 0;
- if (!f) {
- ca = c[fa >> 2] | 0;
- if (!ca) {
- sa = 0;
- break;
- } else {
- ta = ca;
- ua = fa;
- }
- } else {
- ta = f;
- ua = da;
- }
- da = ta;
- f = ua;
- while (1) {
- fa = (da + 20) | 0;
- ca = c[fa >> 2] | 0;
- if (!ca) {
- ba = (da + 16) | 0;
- aa = c[ba >> 2] | 0;
- if (!aa) break;
- else {
- va = aa;
- wa = ba;
- }
- } else {
- va = ca;
- wa = fa;
- }
- da = va;
- f = wa;
- }
- c[f >> 2] = 0;
- sa = da;
- } else {
- fa = c[(ja + 8) >> 2] | 0;
- c[(fa + 12) >> 2] = _;
- c[(_ + 8) >> 2] = fa;
- sa = _;
- }
- } while (0);
- if (!ga) break;
- _ = c[(ja + 28) >> 2] | 0;
- o = (21976 + (_ << 2)) | 0;
- do {
- if ((c[o >> 2] | 0) != (ja | 0)) {
- fa = (ga + 16) | 0;
- c[
- ((c[fa >> 2] | 0) == (ja | 0)
- ? fa
- : (ga + 20) | 0) >> 2
- ] = sa;
- if (!sa) break h;
- } else {
- c[o >> 2] = sa;
- if (sa | 0) break;
- c[5419] = c[5419] & ~(1 << _);
- break h;
- }
- } while (0);
- c[(sa + 24) >> 2] = ga;
- _ = (ja + 16) | 0;
- o = c[_ >> 2] | 0;
- if (o | 0) {
- c[(sa + 16) >> 2] = o;
- c[(o + 24) >> 2] = sa;
- }
- o = c[(_ + 4) >> 2] | 0;
- if (!o) break;
- c[(sa + 20) >> 2] = o;
- c[(o + 24) >> 2] = sa;
- }
- } while (0);
- xa = (ja + ia) | 0;
- ya = (ia + d) | 0;
- } else {
- xa = ja;
- ya = d;
- }
- ha = (xa + 4) | 0;
- c[ha >> 2] = c[ha >> 2] & -2;
- c[(pa + 4) >> 2] = ya | 1;
- c[(pa + ya) >> 2] = ya;
- ha = ya >>> 3;
- if (ya >>> 0 < 256) {
- Y = (21712 + ((ha << 1) << 2)) | 0;
- ea = c[5418] | 0;
- o = 1 << ha;
- if (!(ea & o)) {
- c[5418] = ea | o;
- za = Y;
- Aa = (Y + 8) | 0;
- } else {
- o = (Y + 8) | 0;
- za = c[o >> 2] | 0;
- Aa = o;
- }
- c[Aa >> 2] = pa;
- c[(za + 12) >> 2] = pa;
- c[(pa + 8) >> 2] = za;
- c[(pa + 12) >> 2] = Y;
- break;
- }
- Y = ya >>> 8;
- do {
- if (!Y) Ba = 0;
- else {
- if (ya >>> 0 > 16777215) {
- Ba = 31;
- break;
- }
- o = (((Y + 1048320) | 0) >>> 16) & 8;
- ea = Y << o;
- ha = (((ea + 520192) | 0) >>> 16) & 4;
- _ = ea << ha;
- ea = (((_ + 245760) | 0) >>> 16) & 2;
- fa =
- (14 - (ha | o | ea) + ((_ << ea) >>> 15)) |
- 0;
- Ba =
- ((ya >>> ((fa + 7) | 0)) & 1) | (fa << 1);
- }
- } while (0);
- Y = (21976 + (Ba << 2)) | 0;
- c[(pa + 28) >> 2] = Ba;
- ia = (pa + 16) | 0;
- c[(ia + 4) >> 2] = 0;
- c[ia >> 2] = 0;
- ia = c[5419] | 0;
- fa = 1 << Ba;
- if (!(ia & fa)) {
- c[5419] = ia | fa;
- c[Y >> 2] = pa;
- c[(pa + 24) >> 2] = Y;
- c[(pa + 12) >> 2] = pa;
- c[(pa + 8) >> 2] = pa;
- break;
- }
- fa = c[Y >> 2] | 0;
- i: do {
- if (((c[(fa + 4) >> 2] & -8) | 0) == (ya | 0))
- Ca = fa;
- else {
- Y =
- ya <<
- ((Ba | 0) == 31
- ? 0
- : (25 - (Ba >>> 1)) | 0);
- ia = fa;
- while (1) {
- Da = (ia + 16 + ((Y >>> 31) << 2)) | 0;
- ea = c[Da >> 2] | 0;
- if (!ea) break;
- if (
- ((c[(ea + 4) >> 2] & -8) | 0) ==
- (ya | 0)
- ) {
- Ca = ea;
- break i;
- } else {
- Y = Y << 1;
- ia = ea;
- }
- }
- c[Da >> 2] = pa;
- c[(pa + 24) >> 2] = ia;
- c[(pa + 12) >> 2] = pa;
- c[(pa + 8) >> 2] = pa;
- break g;
- }
- } while (0);
- fa = (Ca + 8) | 0;
- Y = c[fa >> 2] | 0;
- c[(Y + 12) >> 2] = pa;
- c[fa >> 2] = pa;
- c[(pa + 8) >> 2] = Y;
- c[(pa + 12) >> 2] = Ca;
- c[(pa + 24) >> 2] = 0;
- }
- } while (0);
- p = (oa + 8) | 0;
- l = b;
- return p | 0;
- }
- pa = 22120;
- while (1) {
- d = c[pa >> 2] | 0;
- if (
- d >>> 0 <= ka >>> 0
- ? ((Ea = (d + (c[(pa + 4) >> 2] | 0)) | 0),
- Ea >>> 0 > ka >>> 0)
- : 0
- )
- break;
- pa = c[(pa + 8) >> 2] | 0;
- }
- pa = (Ea + -47) | 0;
- oa = (pa + 8) | 0;
- d = (pa + (((oa & 7) | 0) == 0 ? 0 : (0 - oa) & 7)) | 0;
- oa = (ka + 16) | 0;
- pa = d >>> 0 < oa >>> 0 ? ka : d;
- d = (pa + 8) | 0;
- ja = (la + -40) | 0;
- na = (ma + 8) | 0;
- X = ((na & 7) | 0) == 0 ? 0 : (0 - na) & 7;
- na = (ma + X) | 0;
- Y = (ja - X) | 0;
- c[5424] = na;
- c[5421] = Y;
- c[(na + 4) >> 2] = Y | 1;
- c[(ma + ja + 4) >> 2] = 40;
- c[5425] = c[5540];
- ja = (pa + 4) | 0;
- c[ja >> 2] = 27;
- c[d >> 2] = c[5530];
- c[(d + 4) >> 2] = c[5531];
- c[(d + 8) >> 2] = c[5532];
- c[(d + 12) >> 2] = c[5533];
- c[5530] = ma;
- c[5531] = la;
- c[5533] = 0;
- c[5532] = d;
- d = (pa + 24) | 0;
- do {
- Y = d;
- d = (d + 4) | 0;
- c[d >> 2] = 7;
- } while (((Y + 8) | 0) >>> 0 < Ea >>> 0);
- if ((pa | 0) != (ka | 0)) {
- d = (pa - ka) | 0;
- c[ja >> 2] = c[ja >> 2] & -2;
- c[(ka + 4) >> 2] = d | 1;
- c[pa >> 2] = d;
- Y = d >>> 3;
- if (d >>> 0 < 256) {
- na = (21712 + ((Y << 1) << 2)) | 0;
- X = c[5418] | 0;
- fa = 1 << Y;
- if (!(X & fa)) {
- c[5418] = X | fa;
- Fa = na;
- Ga = (na + 8) | 0;
- } else {
- fa = (na + 8) | 0;
- Fa = c[fa >> 2] | 0;
- Ga = fa;
- }
- c[Ga >> 2] = ka;
- c[(Fa + 12) >> 2] = ka;
- c[(ka + 8) >> 2] = Fa;
- c[(ka + 12) >> 2] = na;
- break;
- }
- na = d >>> 8;
- if (na) {
- if (d >>> 0 > 16777215) Ha = 31;
- else {
- fa = (((na + 1048320) | 0) >>> 16) & 8;
- X = na << fa;
- na = (((X + 520192) | 0) >>> 16) & 4;
- Y = X << na;
- X = (((Y + 245760) | 0) >>> 16) & 2;
- ga = (14 - (na | fa | X) + ((Y << X) >>> 15)) | 0;
- Ha = ((d >>> ((ga + 7) | 0)) & 1) | (ga << 1);
- }
- } else Ha = 0;
- ga = (21976 + (Ha << 2)) | 0;
- c[(ka + 28) >> 2] = Ha;
- c[(ka + 20) >> 2] = 0;
- c[oa >> 2] = 0;
- X = c[5419] | 0;
- Y = 1 << Ha;
- if (!(X & Y)) {
- c[5419] = X | Y;
- c[ga >> 2] = ka;
- c[(ka + 24) >> 2] = ga;
- c[(ka + 12) >> 2] = ka;
- c[(ka + 8) >> 2] = ka;
- break;
- }
- Y = c[ga >> 2] | 0;
- j: do {
- if (((c[(Y + 4) >> 2] & -8) | 0) == (d | 0)) Ia = Y;
- else {
- ga =
- d <<
- ((Ha | 0) == 31 ? 0 : (25 - (Ha >>> 1)) | 0);
- X = Y;
- while (1) {
- Ja = (X + 16 + ((ga >>> 31) << 2)) | 0;
- fa = c[Ja >> 2] | 0;
- if (!fa) break;
- if (((c[(fa + 4) >> 2] & -8) | 0) == (d | 0)) {
- Ia = fa;
- break j;
- } else {
- ga = ga << 1;
- X = fa;
- }
- }
- c[Ja >> 2] = ka;
- c[(ka + 24) >> 2] = X;
- c[(ka + 12) >> 2] = ka;
- c[(ka + 8) >> 2] = ka;
- break f;
- }
- } while (0);
- d = (Ia + 8) | 0;
- Y = c[d >> 2] | 0;
- c[(Y + 12) >> 2] = ka;
- c[d >> 2] = ka;
- c[(ka + 8) >> 2] = Y;
- c[(ka + 12) >> 2] = Ia;
- c[(ka + 24) >> 2] = 0;
- }
- } else {
- Y = c[5422] | 0;
- if (((Y | 0) == 0) | (ma >>> 0 < Y >>> 0)) c[5422] = ma;
- c[5530] = ma;
- c[5531] = la;
- c[5533] = 0;
- c[5427] = c[5536];
- c[5426] = -1;
- c[5431] = 21712;
- c[5430] = 21712;
- c[5433] = 21720;
- c[5432] = 21720;
- c[5435] = 21728;
- c[5434] = 21728;
- c[5437] = 21736;
- c[5436] = 21736;
- c[5439] = 21744;
- c[5438] = 21744;
- c[5441] = 21752;
- c[5440] = 21752;
- c[5443] = 21760;
- c[5442] = 21760;
- c[5445] = 21768;
- c[5444] = 21768;
- c[5447] = 21776;
- c[5446] = 21776;
- c[5449] = 21784;
- c[5448] = 21784;
- c[5451] = 21792;
- c[5450] = 21792;
- c[5453] = 21800;
- c[5452] = 21800;
- c[5455] = 21808;
- c[5454] = 21808;
- c[5457] = 21816;
- c[5456] = 21816;
- c[5459] = 21824;
- c[5458] = 21824;
- c[5461] = 21832;
- c[5460] = 21832;
- c[5463] = 21840;
- c[5462] = 21840;
- c[5465] = 21848;
- c[5464] = 21848;
- c[5467] = 21856;
- c[5466] = 21856;
- c[5469] = 21864;
- c[5468] = 21864;
- c[5471] = 21872;
- c[5470] = 21872;
- c[5473] = 21880;
- c[5472] = 21880;
- c[5475] = 21888;
- c[5474] = 21888;
- c[5477] = 21896;
- c[5476] = 21896;
- c[5479] = 21904;
- c[5478] = 21904;
- c[5481] = 21912;
- c[5480] = 21912;
- c[5483] = 21920;
- c[5482] = 21920;
- c[5485] = 21928;
- c[5484] = 21928;
- c[5487] = 21936;
- c[5486] = 21936;
- c[5489] = 21944;
- c[5488] = 21944;
- c[5491] = 21952;
- c[5490] = 21952;
- c[5493] = 21960;
- c[5492] = 21960;
- Y = (la + -40) | 0;
- d = (ma + 8) | 0;
- oa = ((d & 7) | 0) == 0 ? 0 : (0 - d) & 7;
- d = (ma + oa) | 0;
- pa = (Y - oa) | 0;
- c[5424] = d;
- c[5421] = pa;
- c[(d + 4) >> 2] = pa | 1;
- c[(ma + Y + 4) >> 2] = 40;
- c[5425] = c[5540];
- }
- } while (0);
- ma = c[5421] | 0;
- if (ma >>> 0 > G >>> 0) {
- la = (ma - G) | 0;
- c[5421] = la;
- ma = c[5424] | 0;
- ka = (ma + G) | 0;
- c[5424] = ka;
- c[(ka + 4) >> 2] = la | 1;
- c[(ma + 4) >> 2] = G | 3;
- p = (ma + 8) | 0;
- l = b;
- return p | 0;
- }
- }
- c[(My() | 0) >> 2] = 12;
- p = 0;
- l = b;
- return p | 0;
- }
- function Dy(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0;
- if (!a) return;
- b = (a + -8) | 0;
- d = c[5422] | 0;
- e = c[(a + -4) >> 2] | 0;
- a = e & -8;
- f = (b + a) | 0;
- do {
- if (!(e & 1)) {
- g = c[b >> 2] | 0;
- if (!(e & 3)) return;
- h = (b + (0 - g)) | 0;
- i = (g + a) | 0;
- if (h >>> 0 < d >>> 0) return;
- if ((c[5423] | 0) == (h | 0)) {
- j = (f + 4) | 0;
- k = c[j >> 2] | 0;
- if (((k & 3) | 0) != 3) {
- l = h;
- m = i;
- n = h;
- break;
- }
- c[5420] = i;
- c[j >> 2] = k & -2;
- c[(h + 4) >> 2] = i | 1;
- c[(h + i) >> 2] = i;
- return;
- }
- k = g >>> 3;
- if (g >>> 0 < 256) {
- g = c[(h + 8) >> 2] | 0;
- j = c[(h + 12) >> 2] | 0;
- if ((j | 0) == (g | 0)) {
- c[5418] = c[5418] & ~(1 << k);
- l = h;
- m = i;
- n = h;
- break;
- } else {
- c[(g + 12) >> 2] = j;
- c[(j + 8) >> 2] = g;
- l = h;
- m = i;
- n = h;
- break;
- }
- }
- g = c[(h + 24) >> 2] | 0;
- j = c[(h + 12) >> 2] | 0;
- do {
- if ((j | 0) == (h | 0)) {
- k = (h + 16) | 0;
- o = (k + 4) | 0;
- p = c[o >> 2] | 0;
- if (!p) {
- q = c[k >> 2] | 0;
- if (!q) {
- r = 0;
- break;
- } else {
- s = q;
- t = k;
- }
- } else {
- s = p;
- t = o;
- }
- o = s;
- p = t;
- while (1) {
- k = (o + 20) | 0;
- q = c[k >> 2] | 0;
- if (!q) {
- u = (o + 16) | 0;
- v = c[u >> 2] | 0;
- if (!v) break;
- else {
- w = v;
- x = u;
- }
- } else {
- w = q;
- x = k;
- }
- o = w;
- p = x;
- }
- c[p >> 2] = 0;
- r = o;
- } else {
- k = c[(h + 8) >> 2] | 0;
- c[(k + 12) >> 2] = j;
- c[(j + 8) >> 2] = k;
- r = j;
- }
- } while (0);
- if (g) {
- j = c[(h + 28) >> 2] | 0;
- k = (21976 + (j << 2)) | 0;
- if ((c[k >> 2] | 0) == (h | 0)) {
- c[k >> 2] = r;
- if (!r) {
- c[5419] = c[5419] & ~(1 << j);
- l = h;
- m = i;
- n = h;
- break;
- }
- } else {
- j = (g + 16) | 0;
- c[
- ((c[j >> 2] | 0) == (h | 0) ? j : (g + 20) | 0) >> 2
- ] = r;
- if (!r) {
- l = h;
- m = i;
- n = h;
- break;
- }
- }
- c[(r + 24) >> 2] = g;
- j = (h + 16) | 0;
- k = c[j >> 2] | 0;
- if (k | 0) {
- c[(r + 16) >> 2] = k;
- c[(k + 24) >> 2] = r;
- }
- k = c[(j + 4) >> 2] | 0;
- if (k) {
- c[(r + 20) >> 2] = k;
- c[(k + 24) >> 2] = r;
- l = h;
- m = i;
- n = h;
- } else {
- l = h;
- m = i;
- n = h;
- }
- } else {
- l = h;
- m = i;
- n = h;
- }
- } else {
- l = b;
- m = a;
- n = b;
- }
- } while (0);
- if (n >>> 0 >= f >>> 0) return;
- b = (f + 4) | 0;
- a = c[b >> 2] | 0;
- if (!(a & 1)) return;
- if (!(a & 2)) {
- if ((c[5424] | 0) == (f | 0)) {
- r = ((c[5421] | 0) + m) | 0;
- c[5421] = r;
- c[5424] = l;
- c[(l + 4) >> 2] = r | 1;
- if ((l | 0) != (c[5423] | 0)) return;
- c[5423] = 0;
- c[5420] = 0;
- return;
- }
- if ((c[5423] | 0) == (f | 0)) {
- r = ((c[5420] | 0) + m) | 0;
- c[5420] = r;
- c[5423] = n;
- c[(l + 4) >> 2] = r | 1;
- c[(n + r) >> 2] = r;
- return;
- }
- r = ((a & -8) + m) | 0;
- x = a >>> 3;
- do {
- if (a >>> 0 < 256) {
- w = c[(f + 8) >> 2] | 0;
- t = c[(f + 12) >> 2] | 0;
- if ((t | 0) == (w | 0)) {
- c[5418] = c[5418] & ~(1 << x);
- break;
- } else {
- c[(w + 12) >> 2] = t;
- c[(t + 8) >> 2] = w;
- break;
- }
- } else {
- w = c[(f + 24) >> 2] | 0;
- t = c[(f + 12) >> 2] | 0;
- do {
- if ((t | 0) == (f | 0)) {
- s = (f + 16) | 0;
- d = (s + 4) | 0;
- e = c[d >> 2] | 0;
- if (!e) {
- k = c[s >> 2] | 0;
- if (!k) {
- y = 0;
- break;
- } else {
- z = k;
- A = s;
- }
- } else {
- z = e;
- A = d;
- }
- d = z;
- e = A;
- while (1) {
- s = (d + 20) | 0;
- k = c[s >> 2] | 0;
- if (!k) {
- j = (d + 16) | 0;
- q = c[j >> 2] | 0;
- if (!q) break;
- else {
- B = q;
- C = j;
- }
- } else {
- B = k;
- C = s;
- }
- d = B;
- e = C;
- }
- c[e >> 2] = 0;
- y = d;
- } else {
- o = c[(f + 8) >> 2] | 0;
- c[(o + 12) >> 2] = t;
- c[(t + 8) >> 2] = o;
- y = t;
- }
- } while (0);
- if (w | 0) {
- t = c[(f + 28) >> 2] | 0;
- h = (21976 + (t << 2)) | 0;
- if ((c[h >> 2] | 0) == (f | 0)) {
- c[h >> 2] = y;
- if (!y) {
- c[5419] = c[5419] & ~(1 << t);
- break;
- }
- } else {
- t = (w + 16) | 0;
- c[
- ((c[t >> 2] | 0) == (f | 0) ? t : (w + 20) | 0) >>
- 2
- ] = y;
- if (!y) break;
- }
- c[(y + 24) >> 2] = w;
- t = (f + 16) | 0;
- h = c[t >> 2] | 0;
- if (h | 0) {
- c[(y + 16) >> 2] = h;
- c[(h + 24) >> 2] = y;
- }
- h = c[(t + 4) >> 2] | 0;
- if (h | 0) {
- c[(y + 20) >> 2] = h;
- c[(h + 24) >> 2] = y;
- }
- }
- }
- } while (0);
- c[(l + 4) >> 2] = r | 1;
- c[(n + r) >> 2] = r;
- if ((l | 0) == (c[5423] | 0)) {
- c[5420] = r;
- return;
- } else D = r;
- } else {
- c[b >> 2] = a & -2;
- c[(l + 4) >> 2] = m | 1;
- c[(n + m) >> 2] = m;
- D = m;
- }
- m = D >>> 3;
- if (D >>> 0 < 256) {
- n = (21712 + ((m << 1) << 2)) | 0;
- a = c[5418] | 0;
- b = 1 << m;
- if (!(a & b)) {
- c[5418] = a | b;
- E = n;
- F = (n + 8) | 0;
- } else {
- b = (n + 8) | 0;
- E = c[b >> 2] | 0;
- F = b;
- }
- c[F >> 2] = l;
- c[(E + 12) >> 2] = l;
- c[(l + 8) >> 2] = E;
- c[(l + 12) >> 2] = n;
- return;
- }
- n = D >>> 8;
- if (n) {
- if (D >>> 0 > 16777215) G = 31;
- else {
- E = (((n + 1048320) | 0) >>> 16) & 8;
- F = n << E;
- n = (((F + 520192) | 0) >>> 16) & 4;
- b = F << n;
- F = (((b + 245760) | 0) >>> 16) & 2;
- a = (14 - (n | E | F) + ((b << F) >>> 15)) | 0;
- G = ((D >>> ((a + 7) | 0)) & 1) | (a << 1);
- }
- } else G = 0;
- a = (21976 + (G << 2)) | 0;
- c[(l + 28) >> 2] = G;
- c[(l + 20) >> 2] = 0;
- c[(l + 16) >> 2] = 0;
- F = c[5419] | 0;
- b = 1 << G;
- a: do {
- if (!(F & b)) {
- c[5419] = F | b;
- c[a >> 2] = l;
- c[(l + 24) >> 2] = a;
- c[(l + 12) >> 2] = l;
- c[(l + 8) >> 2] = l;
- } else {
- E = c[a >> 2] | 0;
- b: do {
- if (((c[(E + 4) >> 2] & -8) | 0) == (D | 0)) H = E;
- else {
- n = D << ((G | 0) == 31 ? 0 : (25 - (G >>> 1)) | 0);
- m = E;
- while (1) {
- I = (m + 16 + ((n >>> 31) << 2)) | 0;
- r = c[I >> 2] | 0;
- if (!r) break;
- if (((c[(r + 4) >> 2] & -8) | 0) == (D | 0)) {
- H = r;
- break b;
- } else {
- n = n << 1;
- m = r;
- }
- }
- c[I >> 2] = l;
- c[(l + 24) >> 2] = m;
- c[(l + 12) >> 2] = l;
- c[(l + 8) >> 2] = l;
- break a;
- }
- } while (0);
- E = (H + 8) | 0;
- w = c[E >> 2] | 0;
- c[(w + 12) >> 2] = l;
- c[E >> 2] = l;
- c[(l + 8) >> 2] = w;
- c[(l + 12) >> 2] = H;
- c[(l + 24) >> 2] = 0;
- }
- } while (0);
- l = ((c[5426] | 0) + -1) | 0;
- c[5426] = l;
- if (l | 0) return;
- l = 22128;
- while (1) {
- H = c[l >> 2] | 0;
- if (!H) break;
- else l = (H + 8) | 0;
- }
- c[5426] = -1;
- return;
- }
- function Ey(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- if (a) {
- d = N(b, a) | 0;
- if ((b | a) >>> 0 > 65535)
- e = (((d >>> 0) / (a >>> 0)) | 0 | 0) == (b | 0) ? d : -1;
- else e = d;
- } else e = 0;
- d = Cy(e) | 0;
- if (!d) return d | 0;
- if (!(c[(d + -4) >> 2] & 3)) return d | 0;
- oE(d | 0, 0, e | 0) | 0;
- return d | 0;
- }
- function Fy(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- if (!a) {
- d = Cy(b) | 0;
- return d | 0;
- }
- if (b >>> 0 > 4294967231) {
- c[(My() | 0) >> 2] = 12;
- d = 0;
- return d | 0;
- }
- e = Gy((a + -8) | 0, b >>> 0 < 11 ? 16 : (b + 11) & -8) | 0;
- if (e | 0) {
- d = (e + 8) | 0;
- return d | 0;
- }
- e = Cy(b) | 0;
- if (!e) {
- d = 0;
- return d | 0;
- }
- f = c[(a + -4) >> 2] | 0;
- g = ((f & -8) - (((f & 3) | 0) == 0 ? 8 : 4)) | 0;
- mE(e | 0, a | 0, (g >>> 0 < b >>> 0 ? g : b) | 0) | 0;
- Dy(a);
- d = e;
- return d | 0;
- }
- function Gy(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- d = (a + 4) | 0;
- e = c[d >> 2] | 0;
- f = e & -8;
- g = (a + f) | 0;
- if (!(e & 3)) {
- if (b >>> 0 < 256) {
- h = 0;
- return h | 0;
- }
- if (
- f >>> 0 >= ((b + 4) | 0) >>> 0
- ? ((f - b) | 0) >>> 0 <= (c[5538] << 1) >>> 0
- : 0
- ) {
- h = a;
- return h | 0;
- }
- h = 0;
- return h | 0;
- }
- if (f >>> 0 >= b >>> 0) {
- i = (f - b) | 0;
- if (i >>> 0 <= 15) {
- h = a;
- return h | 0;
- }
- j = (a + b) | 0;
- c[d >> 2] = (e & 1) | b | 2;
- c[(j + 4) >> 2] = i | 3;
- k = (g + 4) | 0;
- c[k >> 2] = c[k >> 2] | 1;
- Hy(j, i);
- h = a;
- return h | 0;
- }
- if ((c[5424] | 0) == (g | 0)) {
- i = ((c[5421] | 0) + f) | 0;
- j = (i - b) | 0;
- k = (a + b) | 0;
- if (i >>> 0 <= b >>> 0) {
- h = 0;
- return h | 0;
- }
- c[d >> 2] = (e & 1) | b | 2;
- c[(k + 4) >> 2] = j | 1;
- c[5424] = k;
- c[5421] = j;
- h = a;
- return h | 0;
- }
- if ((c[5423] | 0) == (g | 0)) {
- j = ((c[5420] | 0) + f) | 0;
- if (j >>> 0 < b >>> 0) {
- h = 0;
- return h | 0;
- }
- k = (j - b) | 0;
- if (k >>> 0 > 15) {
- i = (a + b) | 0;
- l = (a + j) | 0;
- c[d >> 2] = (e & 1) | b | 2;
- c[(i + 4) >> 2] = k | 1;
- c[l >> 2] = k;
- m = (l + 4) | 0;
- c[m >> 2] = c[m >> 2] & -2;
- n = i;
- o = k;
- } else {
- c[d >> 2] = (e & 1) | j | 2;
- k = (a + j + 4) | 0;
- c[k >> 2] = c[k >> 2] | 1;
- n = 0;
- o = 0;
- }
- c[5420] = o;
- c[5423] = n;
- h = a;
- return h | 0;
- }
- n = c[(g + 4) >> 2] | 0;
- if ((n & 2) | 0) {
- h = 0;
- return h | 0;
- }
- o = ((n & -8) + f) | 0;
- if (o >>> 0 < b >>> 0) {
- h = 0;
- return h | 0;
- }
- f = (o - b) | 0;
- k = n >>> 3;
- do {
- if (n >>> 0 < 256) {
- j = c[(g + 8) >> 2] | 0;
- i = c[(g + 12) >> 2] | 0;
- if ((i | 0) == (j | 0)) {
- c[5418] = c[5418] & ~(1 << k);
- break;
- } else {
- c[(j + 12) >> 2] = i;
- c[(i + 8) >> 2] = j;
- break;
- }
- } else {
- j = c[(g + 24) >> 2] | 0;
- i = c[(g + 12) >> 2] | 0;
- do {
- if ((i | 0) == (g | 0)) {
- m = (g + 16) | 0;
- l = (m + 4) | 0;
- p = c[l >> 2] | 0;
- if (!p) {
- q = c[m >> 2] | 0;
- if (!q) {
- r = 0;
- break;
- } else {
- s = q;
- t = m;
- }
- } else {
- s = p;
- t = l;
- }
- l = s;
- p = t;
- while (1) {
- m = (l + 20) | 0;
- q = c[m >> 2] | 0;
- if (!q) {
- u = (l + 16) | 0;
- v = c[u >> 2] | 0;
- if (!v) break;
- else {
- w = v;
- x = u;
- }
- } else {
- w = q;
- x = m;
- }
- l = w;
- p = x;
- }
- c[p >> 2] = 0;
- r = l;
- } else {
- m = c[(g + 8) >> 2] | 0;
- c[(m + 12) >> 2] = i;
- c[(i + 8) >> 2] = m;
- r = i;
- }
- } while (0);
- if (j | 0) {
- i = c[(g + 28) >> 2] | 0;
- m = (21976 + (i << 2)) | 0;
- if ((c[m >> 2] | 0) == (g | 0)) {
- c[m >> 2] = r;
- if (!r) {
- c[5419] = c[5419] & ~(1 << i);
- break;
- }
- } else {
- i = (j + 16) | 0;
- c[
- ((c[i >> 2] | 0) == (g | 0) ? i : (j + 20) | 0) >> 2
- ] = r;
- if (!r) break;
- }
- c[(r + 24) >> 2] = j;
- i = (g + 16) | 0;
- m = c[i >> 2] | 0;
- if (m | 0) {
- c[(r + 16) >> 2] = m;
- c[(m + 24) >> 2] = r;
- }
- m = c[(i + 4) >> 2] | 0;
- if (m | 0) {
- c[(r + 20) >> 2] = m;
- c[(m + 24) >> 2] = r;
- }
- }
- }
- } while (0);
- if (f >>> 0 < 16) {
- c[d >> 2] = (e & 1) | o | 2;
- r = (a + o + 4) | 0;
- c[r >> 2] = c[r >> 2] | 1;
- h = a;
- return h | 0;
- } else {
- r = (a + b) | 0;
- c[d >> 2] = (e & 1) | b | 2;
- c[(r + 4) >> 2] = f | 3;
- b = (a + o + 4) | 0;
- c[b >> 2] = c[b >> 2] | 1;
- Hy(r, f);
- h = a;
- return h | 0;
- }
- return 0;
- }
- function Hy(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0;
- d = (a + b) | 0;
- e = c[(a + 4) >> 2] | 0;
- do {
- if (!(e & 1)) {
- f = c[a >> 2] | 0;
- if (!(e & 3)) return;
- g = (a + (0 - f)) | 0;
- h = (f + b) | 0;
- if ((c[5423] | 0) == (g | 0)) {
- i = (d + 4) | 0;
- j = c[i >> 2] | 0;
- if (((j & 3) | 0) != 3) {
- k = g;
- l = h;
- break;
- }
- c[5420] = h;
- c[i >> 2] = j & -2;
- c[(g + 4) >> 2] = h | 1;
- c[d >> 2] = h;
- return;
- }
- j = f >>> 3;
- if (f >>> 0 < 256) {
- f = c[(g + 8) >> 2] | 0;
- i = c[(g + 12) >> 2] | 0;
- if ((i | 0) == (f | 0)) {
- c[5418] = c[5418] & ~(1 << j);
- k = g;
- l = h;
- break;
- } else {
- c[(f + 12) >> 2] = i;
- c[(i + 8) >> 2] = f;
- k = g;
- l = h;
- break;
- }
- }
- f = c[(g + 24) >> 2] | 0;
- i = c[(g + 12) >> 2] | 0;
- do {
- if ((i | 0) == (g | 0)) {
- j = (g + 16) | 0;
- m = (j + 4) | 0;
- n = c[m >> 2] | 0;
- if (!n) {
- o = c[j >> 2] | 0;
- if (!o) {
- p = 0;
- break;
- } else {
- q = o;
- r = j;
- }
- } else {
- q = n;
- r = m;
- }
- m = q;
- n = r;
- while (1) {
- j = (m + 20) | 0;
- o = c[j >> 2] | 0;
- if (!o) {
- s = (m + 16) | 0;
- t = c[s >> 2] | 0;
- if (!t) break;
- else {
- u = t;
- v = s;
- }
- } else {
- u = o;
- v = j;
- }
- m = u;
- n = v;
- }
- c[n >> 2] = 0;
- p = m;
- } else {
- j = c[(g + 8) >> 2] | 0;
- c[(j + 12) >> 2] = i;
- c[(i + 8) >> 2] = j;
- p = i;
- }
- } while (0);
- if (f) {
- i = c[(g + 28) >> 2] | 0;
- j = (21976 + (i << 2)) | 0;
- if ((c[j >> 2] | 0) == (g | 0)) {
- c[j >> 2] = p;
- if (!p) {
- c[5419] = c[5419] & ~(1 << i);
- k = g;
- l = h;
- break;
- }
- } else {
- i = (f + 16) | 0;
- c[
- ((c[i >> 2] | 0) == (g | 0) ? i : (f + 20) | 0) >> 2
- ] = p;
- if (!p) {
- k = g;
- l = h;
- break;
- }
- }
- c[(p + 24) >> 2] = f;
- i = (g + 16) | 0;
- j = c[i >> 2] | 0;
- if (j | 0) {
- c[(p + 16) >> 2] = j;
- c[(j + 24) >> 2] = p;
- }
- j = c[(i + 4) >> 2] | 0;
- if (j) {
- c[(p + 20) >> 2] = j;
- c[(j + 24) >> 2] = p;
- k = g;
- l = h;
- } else {
- k = g;
- l = h;
- }
- } else {
- k = g;
- l = h;
- }
- } else {
- k = a;
- l = b;
- }
- } while (0);
- b = (d + 4) | 0;
- a = c[b >> 2] | 0;
- if (!(a & 2)) {
- if ((c[5424] | 0) == (d | 0)) {
- p = ((c[5421] | 0) + l) | 0;
- c[5421] = p;
- c[5424] = k;
- c[(k + 4) >> 2] = p | 1;
- if ((k | 0) != (c[5423] | 0)) return;
- c[5423] = 0;
- c[5420] = 0;
- return;
- }
- if ((c[5423] | 0) == (d | 0)) {
- p = ((c[5420] | 0) + l) | 0;
- c[5420] = p;
- c[5423] = k;
- c[(k + 4) >> 2] = p | 1;
- c[(k + p) >> 2] = p;
- return;
- }
- p = ((a & -8) + l) | 0;
- v = a >>> 3;
- do {
- if (a >>> 0 < 256) {
- u = c[(d + 8) >> 2] | 0;
- r = c[(d + 12) >> 2] | 0;
- if ((r | 0) == (u | 0)) {
- c[5418] = c[5418] & ~(1 << v);
- break;
- } else {
- c[(u + 12) >> 2] = r;
- c[(r + 8) >> 2] = u;
- break;
- }
- } else {
- u = c[(d + 24) >> 2] | 0;
- r = c[(d + 12) >> 2] | 0;
- do {
- if ((r | 0) == (d | 0)) {
- q = (d + 16) | 0;
- e = (q + 4) | 0;
- j = c[e >> 2] | 0;
- if (!j) {
- i = c[q >> 2] | 0;
- if (!i) {
- w = 0;
- break;
- } else {
- x = i;
- y = q;
- }
- } else {
- x = j;
- y = e;
- }
- e = x;
- j = y;
- while (1) {
- q = (e + 20) | 0;
- i = c[q >> 2] | 0;
- if (!i) {
- o = (e + 16) | 0;
- s = c[o >> 2] | 0;
- if (!s) break;
- else {
- z = s;
- A = o;
- }
- } else {
- z = i;
- A = q;
- }
- e = z;
- j = A;
- }
- c[j >> 2] = 0;
- w = e;
- } else {
- m = c[(d + 8) >> 2] | 0;
- c[(m + 12) >> 2] = r;
- c[(r + 8) >> 2] = m;
- w = r;
- }
- } while (0);
- if (u | 0) {
- r = c[(d + 28) >> 2] | 0;
- h = (21976 + (r << 2)) | 0;
- if ((c[h >> 2] | 0) == (d | 0)) {
- c[h >> 2] = w;
- if (!w) {
- c[5419] = c[5419] & ~(1 << r);
- break;
- }
- } else {
- r = (u + 16) | 0;
- c[
- ((c[r >> 2] | 0) == (d | 0) ? r : (u + 20) | 0) >>
- 2
- ] = w;
- if (!w) break;
- }
- c[(w + 24) >> 2] = u;
- r = (d + 16) | 0;
- h = c[r >> 2] | 0;
- if (h | 0) {
- c[(w + 16) >> 2] = h;
- c[(h + 24) >> 2] = w;
- }
- h = c[(r + 4) >> 2] | 0;
- if (h | 0) {
- c[(w + 20) >> 2] = h;
- c[(h + 24) >> 2] = w;
- }
- }
- }
- } while (0);
- c[(k + 4) >> 2] = p | 1;
- c[(k + p) >> 2] = p;
- if ((k | 0) == (c[5423] | 0)) {
- c[5420] = p;
- return;
- } else B = p;
- } else {
- c[b >> 2] = a & -2;
- c[(k + 4) >> 2] = l | 1;
- c[(k + l) >> 2] = l;
- B = l;
- }
- l = B >>> 3;
- if (B >>> 0 < 256) {
- a = (21712 + ((l << 1) << 2)) | 0;
- b = c[5418] | 0;
- p = 1 << l;
- if (!(b & p)) {
- c[5418] = b | p;
- C = a;
- D = (a + 8) | 0;
- } else {
- p = (a + 8) | 0;
- C = c[p >> 2] | 0;
- D = p;
- }
- c[D >> 2] = k;
- c[(C + 12) >> 2] = k;
- c[(k + 8) >> 2] = C;
- c[(k + 12) >> 2] = a;
- return;
- }
- a = B >>> 8;
- if (a) {
- if (B >>> 0 > 16777215) E = 31;
- else {
- C = (((a + 1048320) | 0) >>> 16) & 8;
- D = a << C;
- a = (((D + 520192) | 0) >>> 16) & 4;
- p = D << a;
- D = (((p + 245760) | 0) >>> 16) & 2;
- b = (14 - (a | C | D) + ((p << D) >>> 15)) | 0;
- E = ((B >>> ((b + 7) | 0)) & 1) | (b << 1);
- }
- } else E = 0;
- b = (21976 + (E << 2)) | 0;
- c[(k + 28) >> 2] = E;
- c[(k + 20) >> 2] = 0;
- c[(k + 16) >> 2] = 0;
- D = c[5419] | 0;
- p = 1 << E;
- if (!(D & p)) {
- c[5419] = D | p;
- c[b >> 2] = k;
- c[(k + 24) >> 2] = b;
- c[(k + 12) >> 2] = k;
- c[(k + 8) >> 2] = k;
- return;
- }
- p = c[b >> 2] | 0;
- a: do {
- if (((c[(p + 4) >> 2] & -8) | 0) == (B | 0)) F = p;
- else {
- b = B << ((E | 0) == 31 ? 0 : (25 - (E >>> 1)) | 0);
- D = p;
- while (1) {
- G = (D + 16 + ((b >>> 31) << 2)) | 0;
- C = c[G >> 2] | 0;
- if (!C) break;
- if (((c[(C + 4) >> 2] & -8) | 0) == (B | 0)) {
- F = C;
- break a;
- } else {
- b = b << 1;
- D = C;
- }
- }
- c[G >> 2] = k;
- c[(k + 24) >> 2] = D;
- c[(k + 12) >> 2] = k;
- c[(k + 8) >> 2] = k;
- return;
- }
- } while (0);
- G = (F + 8) | 0;
- B = c[G >> 2] | 0;
- c[(B + 12) >> 2] = k;
- c[G >> 2] = k;
- c[(k + 8) >> 2] = B;
- c[(k + 12) >> 2] = F;
- c[(k + 24) >> 2] = 0;
- return;
- }
- function Iy(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = l;
- l = (l + 16) | 0;
- d = b;
- c[d >> 2] = Oy(c[(a + 60) >> 2] | 0) | 0;
- a = Ly(Ja(6, d | 0) | 0) | 0;
- l = b;
- return a | 0;
- }
- function Jy(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0;
- f = l;
- l = (l + 32) | 0;
- g = f;
- c[(b + 36) >> 2] = 3;
- if (
- ((c[b >> 2] & 64) | 0) == 0
- ? ((c[g >> 2] = c[(b + 60) >> 2]),
- (c[(g + 4) >> 2] = 21523),
- (c[(g + 8) >> 2] = f + 16),
- Ia(54, g | 0) | 0)
- : 0
- )
- a[(b + 75) >> 0] = -1;
- g = Ny(b, d, e) | 0;
- l = f;
- return g | 0;
- }
- function Ky(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- e = l;
- l = (l + 32) | 0;
- f = e;
- g = (e + 20) | 0;
- c[f >> 2] = c[(a + 60) >> 2];
- c[(f + 4) >> 2] = 0;
- c[(f + 8) >> 2] = b;
- c[(f + 12) >> 2] = g;
- c[(f + 16) >> 2] = d;
- if ((Ly(Da(140, f | 0) | 0) | 0) < 0) {
- c[g >> 2] = -1;
- h = -1;
- } else h = c[g >> 2] | 0;
- l = e;
- return h | 0;
- }
- function Ly(a) {
- a = a | 0;
- var b = 0;
- if (a >>> 0 > 4294963200) {
- c[(My() | 0) >> 2] = 0 - a;
- b = -1;
- } else b = a;
- return b | 0;
- }
- function My() {
- return 22232;
- }
- function Ny(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- e = l;
- l = (l + 48) | 0;
- f = (e + 32) | 0;
- g = (e + 16) | 0;
- h = e;
- i = (a + 28) | 0;
- j = c[i >> 2] | 0;
- c[h >> 2] = j;
- k = (a + 20) | 0;
- m = ((c[k >> 2] | 0) - j) | 0;
- c[(h + 4) >> 2] = m;
- c[(h + 8) >> 2] = b;
- c[(h + 12) >> 2] = d;
- b = (m + d) | 0;
- m = (a + 60) | 0;
- c[g >> 2] = c[m >> 2];
- c[(g + 4) >> 2] = h;
- c[(g + 8) >> 2] = 2;
- j = Ly(Fa(146, g | 0) | 0) | 0;
- a: do {
- if ((b | 0) != (j | 0)) {
- g = 2;
- n = b;
- o = h;
- p = j;
- while (1) {
- if ((p | 0) < 0) break;
- n = (n - p) | 0;
- q = c[(o + 4) >> 2] | 0;
- r = p >>> 0 > q >>> 0;
- s = r ? (o + 8) | 0 : o;
- t = (g + ((r << 31) >> 31)) | 0;
- u = (p - (r ? q : 0)) | 0;
- c[s >> 2] = (c[s >> 2] | 0) + u;
- q = (s + 4) | 0;
- c[q >> 2] = (c[q >> 2] | 0) - u;
- c[f >> 2] = c[m >> 2];
- c[(f + 4) >> 2] = s;
- c[(f + 8) >> 2] = t;
- p = Ly(Fa(146, f | 0) | 0) | 0;
- if ((n | 0) == (p | 0)) {
- v = 3;
- break a;
- } else {
- g = t;
- o = s;
- }
- }
- c[(a + 16) >> 2] = 0;
- c[i >> 2] = 0;
- c[k >> 2] = 0;
- c[a >> 2] = c[a >> 2] | 32;
- if ((g | 0) == 2) w = 0;
- else w = (d - (c[(o + 4) >> 2] | 0)) | 0;
- } else v = 3;
- } while (0);
- if ((v | 0) == 3) {
- v = c[(a + 44) >> 2] | 0;
- c[(a + 16) >> 2] = v + (c[(a + 48) >> 2] | 0);
- a = v;
- c[i >> 2] = a;
- c[k >> 2] = a;
- w = d;
- }
- l = e;
- return w | 0;
- }
- function Oy(a) {
- a = a | 0;
- return a | 0;
- }
- function Py(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 16) | 0;
- h = f;
- c[h >> 2] = d;
- i = (h + 4) | 0;
- j = (b + 48) | 0;
- k = c[j >> 2] | 0;
- c[i >> 2] = e - (((k | 0) != 0) & 1);
- m = (b + 44) | 0;
- c[(h + 8) >> 2] = c[m >> 2];
- c[(h + 12) >> 2] = k;
- c[g >> 2] = c[(b + 60) >> 2];
- c[(g + 4) >> 2] = h;
- c[(g + 8) >> 2] = 2;
- h = Ly(Ea(145, g | 0) | 0) | 0;
- if ((h | 0) >= 1) {
- g = c[i >> 2] | 0;
- if (h >>> 0 > g >>> 0) {
- i = c[m >> 2] | 0;
- m = (b + 4) | 0;
- c[m >> 2] = i;
- k = i;
- c[(b + 8) >> 2] = k + (h - g);
- if (!(c[j >> 2] | 0)) n = e;
- else {
- c[m >> 2] = k + 1;
- a[(d + (e + -1)) >> 0] = a[k >> 0] | 0;
- n = e;
- }
- } else n = h;
- } else {
- c[b >> 2] = c[b >> 2] | ((h & 48) ^ 16);
- n = h;
- }
- l = f;
- return n | 0;
- }
- function Qy(b, c, d) {
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- a: do {
- if (!d) e = 0;
- else {
- f = b;
- g = d;
- h = c;
- while (1) {
- i = a[f >> 0] | 0;
- j = a[h >> 0] | 0;
- if ((i << 24) >> 24 != (j << 24) >> 24) break;
- g = (g + -1) | 0;
- if (!g) {
- e = 0;
- break a;
- } else {
- f = (f + 1) | 0;
- h = (h + 1) | 0;
- }
- }
- e = ((i & 255) - (j & 255)) | 0;
- }
- } while (0);
- return e | 0;
- }
- function Ry(b, c) {
- b = b | 0;
- c = c | 0;
- var d = 0;
- d = Xy(b, c) | 0;
- return (
- ((a[d >> 0] | 0) == ((c & 255) << 24) >> 24 ? d : 0) | 0
- );
- }
- function Sy(a) {
- a = a | 0;
- return (((a + -48) | 0) >>> 0 < 10) | 0;
- }
- function Ty(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0;
- d = b;
- a: do {
- if (!(d & 3)) {
- e = b;
- f = 5;
- } else {
- g = b;
- h = d;
- while (1) {
- if (!(a[g >> 0] | 0)) {
- i = h;
- break a;
- }
- j = (g + 1) | 0;
- h = j;
- if (!(h & 3)) {
- e = j;
- f = 5;
- break;
- } else g = j;
- }
- }
- } while (0);
- if ((f | 0) == 5) {
- f = e;
- while (1) {
- k = c[f >> 2] | 0;
- if (
- !(((k & -2139062144) ^ -2139062144) & (k + -16843009))
- )
- f = (f + 4) | 0;
- else break;
- }
- if (!(((k & 255) << 24) >> 24)) l = f;
- else {
- k = f;
- while (1) {
- f = (k + 1) | 0;
- if (!(a[f >> 0] | 0)) {
- l = f;
- break;
- } else k = f;
- }
- }
- i = l;
- }
- return (i - d) | 0;
- }
- function Uy(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0;
- f = d & 255;
- g = (e | 0) != 0;
- a: do {
- if (g & (((b & 3) | 0) != 0)) {
- h = d & 255;
- i = b;
- j = e;
- while (1) {
- if ((a[i >> 0] | 0) == (h << 24) >> 24) {
- k = i;
- l = j;
- m = 6;
- break a;
- }
- n = (i + 1) | 0;
- o = (j + -1) | 0;
- p = (o | 0) != 0;
- if (p & (((n & 3) | 0) != 0)) {
- i = n;
- j = o;
- } else {
- q = n;
- r = o;
- s = p;
- m = 5;
- break;
- }
- }
- } else {
- q = b;
- r = e;
- s = g;
- m = 5;
- }
- } while (0);
- if ((m | 0) == 5)
- if (s) {
- k = q;
- l = r;
- m = 6;
- } else m = 16;
- b: do {
- if ((m | 0) == 6) {
- r = d & 255;
- if ((a[k >> 0] | 0) == (r << 24) >> 24)
- if (!l) {
- m = 16;
- break;
- } else {
- t = k;
- break;
- }
- q = N(f, 16843009) | 0;
- c: do {
- if (l >>> 0 > 3) {
- s = k;
- g = l;
- while (1) {
- e = c[s >> 2] ^ q;
- if (
- (((e & -2139062144) ^ -2139062144) &
- (e + -16843009)) |
- 0
- ) {
- u = g;
- v = s;
- break c;
- }
- e = (s + 4) | 0;
- b = (g + -4) | 0;
- if (b >>> 0 > 3) {
- s = e;
- g = b;
- } else {
- w = e;
- x = b;
- m = 11;
- break;
- }
- }
- } else {
- w = k;
- x = l;
- m = 11;
- }
- } while (0);
- if ((m | 0) == 11)
- if (!x) {
- m = 16;
- break;
- } else {
- u = x;
- v = w;
- }
- q = v;
- g = u;
- while (1) {
- if ((a[q >> 0] | 0) == (r << 24) >> 24) {
- t = q;
- break b;
- }
- g = (g + -1) | 0;
- if (!g) {
- m = 16;
- break;
- } else q = (q + 1) | 0;
- }
- }
- } while (0);
- if ((m | 0) == 16) t = 0;
- return t | 0;
- }
- function Vy(a) {
- a = a | 0;
- return 0;
- }
- function Wy(a) {
- a = a | 0;
- return;
- }
- function Xy(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0;
- e = d & 255;
- a: do {
- if (!e) f = (b + (Ty(b) | 0)) | 0;
- else {
- if (!(b & 3)) g = b;
- else {
- h = d & 255;
- i = b;
- while (1) {
- j = a[i >> 0] | 0;
- if (
- (j << 24) >> 24 == 0
- ? 1
- : (j << 24) >> 24 == (h << 24) >> 24
- ) {
- f = i;
- break a;
- }
- j = (i + 1) | 0;
- if (!(j & 3)) {
- g = j;
- break;
- } else i = j;
- }
- }
- i = N(e, 16843009) | 0;
- h = c[g >> 2] | 0;
- b: do {
- if (
- !(((h & -2139062144) ^ -2139062144) & (h + -16843009))
- ) {
- j = g;
- k = h;
- while (1) {
- l = k ^ i;
- if (
- (((l & -2139062144) ^ -2139062144) &
- (l + -16843009)) |
- 0
- ) {
- m = j;
- break b;
- }
- l = (j + 4) | 0;
- k = c[l >> 2] | 0;
- if (
- (((k & -2139062144) ^ -2139062144) &
- (k + -16843009)) |
- 0
- ) {
- m = l;
- break;
- } else j = l;
- }
- } else m = g;
- } while (0);
- i = d & 255;
- h = m;
- while (1) {
- j = a[h >> 0] | 0;
- if (
- (j << 24) >> 24 == 0
- ? 1
- : (j << 24) >> 24 == (i << 24) >> 24
- ) {
- f = h;
- break;
- } else h = (h + 1) | 0;
- }
- }
- } while (0);
- return f | 0;
- }
- function Yy(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0;
- if (!b) d = 0;
- else d = Zy(c[b >> 2] | 0, c[(b + 4) >> 2] | 0, a) | 0;
- return ((d | 0) == 0 ? a : d) | 0;
- }
- function Zy(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- f = ((c[b >> 2] | 0) + 1794895138) | 0;
- g = _y(c[(b + 8) >> 2] | 0, f) | 0;
- h = _y(c[(b + 12) >> 2] | 0, f) | 0;
- i = _y(c[(b + 16) >> 2] | 0, f) | 0;
- a: do {
- if (
- (
- g >>> 0 < (d >>> 2) >>> 0
- ? ((j = (d - (g << 2)) | 0),
- (h >>> 0 < j >>> 0) & (i >>> 0 < j >>> 0))
- : 0
- )
- ? (((i | h) & 3) | 0) == 0
- : 0
- ) {
- j = h >>> 2;
- k = i >>> 2;
- l = 0;
- m = g;
- while (1) {
- n = m >>> 1;
- o = (l + n) | 0;
- p = o << 1;
- q = (p + j) | 0;
- r = _y(c[(b + (q << 2)) >> 2] | 0, f) | 0;
- s = _y(c[(b + ((q + 1) << 2)) >> 2] | 0, f) | 0;
- if (
- !(
- (s >>> 0 < d >>> 0) &
- (r >>> 0 < ((d - s) | 0) >>> 0)
- )
- ) {
- t = 0;
- break a;
- }
- if (a[(b + (s + r)) >> 0] | 0) {
- t = 0;
- break a;
- }
- r = $y(e, (b + s) | 0) | 0;
- if (!r) break;
- s = (r | 0) < 0;
- if ((m | 0) == 1) {
- t = 0;
- break a;
- }
- l = s ? l : o;
- m = s ? n : (m - n) | 0;
- }
- m = (p + k) | 0;
- l = _y(c[(b + (m << 2)) >> 2] | 0, f) | 0;
- j = _y(c[(b + ((m + 1) << 2)) >> 2] | 0, f) | 0;
- if ((j >>> 0 < d >>> 0) & (l >>> 0 < ((d - j) | 0) >>> 0))
- t = (a[(b + (j + l)) >> 0] | 0) == 0 ? (b + j) | 0 : 0;
- else t = 0;
- } else t = 0;
- } while (0);
- return t | 0;
- }
- function _y(a, b) {
- a = a | 0;
- b = b | 0;
- var c = 0;
- c = kE(a | 0) | 0;
- return ((b | 0) == 0 ? a : c) | 0;
- }
- function $y(b, c) {
- b = b | 0;
- c = c | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- d = a[b >> 0] | 0;
- e = a[c >> 0] | 0;
- if (
- (d << 24) >> 24 == 0
- ? 1
- : (d << 24) >> 24 != (e << 24) >> 24
- ) {
- f = e;
- g = d;
- } else {
- d = c;
- c = b;
- do {
- c = (c + 1) | 0;
- d = (d + 1) | 0;
- b = a[c >> 0] | 0;
- e = a[d >> 0] | 0;
- } while (
- !((b << 24) >> 24 == 0
- ? 1
- : (b << 24) >> 24 != (e << 24) >> 24)
- );
- f = e;
- g = b;
- }
- return ((g & 255) - (f & 255)) | 0;
- }
- function az() {
- return 12260;
- }
- function bz(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- c[g >> 2] = e;
- e = cz(a, b, d, g) | 0;
- l = f;
- return e | 0;
- }
- function cz(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- g = l;
- l = (l + 128) | 0;
- h = (g + 124) | 0;
- i = g;
- j = i;
- k = 12504;
- m = (j + 124) | 0;
- do {
- c[j >> 2] = c[k >> 2];
- j = (j + 4) | 0;
- k = (k + 4) | 0;
- } while ((j | 0) < (m | 0));
- if (((d + -1) | 0) >>> 0 > 2147483646) {
- if (!d) {
- n = h;
- o = 1;
- p = 4;
- } else {
- c[(My() | 0) >> 2] = 75;
- q = -1;
- }
- } else {
- n = b;
- o = d;
- p = 4;
- }
- if ((p | 0) == 4) {
- p = (-2 - n) | 0;
- d = o >>> 0 > p >>> 0 ? p : o;
- c[(i + 48) >> 2] = d;
- o = (i + 20) | 0;
- c[o >> 2] = n;
- c[(i + 44) >> 2] = n;
- p = (n + d) | 0;
- n = (i + 16) | 0;
- c[n >> 2] = p;
- c[(i + 28) >> 2] = p;
- p = dz(i, e, f) | 0;
- if (!d) q = p;
- else {
- d = c[o >> 2] | 0;
- a[
- (d + ((((d | 0) == (c[n >> 2] | 0)) << 31) >> 31)) >> 0
- ] = 0;
- q = p;
- }
- }
- l = g;
- return q | 0;
- }
- function dz(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- f = l;
- l = (l + 224) | 0;
- g = (f + 208) | 0;
- h = (f + 160) | 0;
- i = (f + 80) | 0;
- j = f;
- k = h;
- m = (k + 40) | 0;
- do {
- c[k >> 2] = 0;
- k = (k + 4) | 0;
- } while ((k | 0) < (m | 0));
- c[g >> 2] = c[e >> 2];
- if ((ez(0, d, g, i, h) | 0) < 0) n = -1;
- else {
- if ((c[(b + 76) >> 2] | 0) > -1) o = Vy(b) | 0;
- else o = 0;
- e = c[b >> 2] | 0;
- k = e & 32;
- if ((a[(b + 74) >> 0] | 0) < 1) c[b >> 2] = e & -33;
- e = (b + 48) | 0;
- if (!(c[e >> 2] | 0)) {
- m = (b + 44) | 0;
- p = c[m >> 2] | 0;
- c[m >> 2] = j;
- q = (b + 28) | 0;
- c[q >> 2] = j;
- r = (b + 20) | 0;
- c[r >> 2] = j;
- c[e >> 2] = 80;
- s = (b + 16) | 0;
- c[s >> 2] = j + 80;
- j = ez(b, d, g, i, h) | 0;
- if (!p) t = j;
- else {
- rc[c[(b + 36) >> 2] & 31](b, 0, 0) | 0;
- u = (c[r >> 2] | 0) == 0 ? -1 : j;
- c[m >> 2] = p;
- c[e >> 2] = 0;
- c[s >> 2] = 0;
- c[q >> 2] = 0;
- c[r >> 2] = 0;
- t = u;
- }
- } else t = ez(b, d, g, i, h) | 0;
- h = c[b >> 2] | 0;
- c[b >> 2] = h | k;
- if (o | 0) Wy(b);
- n = ((h & 32) | 0) == 0 ? t : -1;
- }
- l = f;
- return n | 0;
- }
- function ez(d, e, f, g, i) {
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0;
- j = l;
- l = (l + 64) | 0;
- k = (j + 56) | 0;
- m = (j + 40) | 0;
- n = j;
- o = (j + 48) | 0;
- p = (j + 60) | 0;
- c[k >> 2] = e;
- e = (d | 0) != 0;
- q = (n + 40) | 0;
- r = q;
- s = (n + 39) | 0;
- n = (o + 4) | 0;
- t = 0;
- u = 0;
- v = 0;
- a: while (1) {
- w = t;
- x = u;
- while (1) {
- do {
- if ((x | 0) > -1) {
- if ((w | 0) > ((2147483647 - x) | 0)) {
- c[(My() | 0) >> 2] = 75;
- z = -1;
- break;
- } else {
- z = (w + x) | 0;
- break;
- }
- } else z = x;
- } while (0);
- A = c[k >> 2] | 0;
- B = a[A >> 0] | 0;
- if (!((B << 24) >> 24)) {
- C = 94;
- break a;
- }
- D = B;
- B = A;
- b: while (1) {
- switch ((D << 24) >> 24) {
- case 37: {
- C = 10;
- break b;
- break;
- }
- case 0: {
- E = B;
- break b;
- break;
- }
- default: {
- }
- }
- F = (B + 1) | 0;
- c[k >> 2] = F;
- D = a[F >> 0] | 0;
- B = F;
- }
- c: do {
- if ((C | 0) == 10) {
- C = 0;
- D = B;
- F = B;
- while (1) {
- if ((a[(F + 1) >> 0] | 0) != 37) {
- E = D;
- break c;
- }
- G = (D + 1) | 0;
- F = (F + 2) | 0;
- c[k >> 2] = F;
- if ((a[F >> 0] | 0) != 37) {
- E = G;
- break;
- } else D = G;
- }
- }
- } while (0);
- w = (E - A) | 0;
- if (e) fz(d, A, w);
- if (!w) break;
- else x = z;
- }
- x = (Sy(a[((c[k >> 2] | 0) + 1) >> 0] | 0) | 0) == 0;
- w = c[k >> 2] | 0;
- if (!x ? (a[(w + 2) >> 0] | 0) == 36 : 0) {
- H = ((a[(w + 1) >> 0] | 0) + -48) | 0;
- I = 1;
- J = 3;
- } else {
- H = -1;
- I = v;
- J = 1;
- }
- x = (w + J) | 0;
- c[k >> 2] = x;
- w = a[x >> 0] | 0;
- B = (((w << 24) >> 24) + -32) | 0;
- if ((B >>> 0 > 31) | ((((1 << B) & 75913) | 0) == 0)) {
- K = 0;
- L = w;
- M = x;
- } else {
- w = 0;
- D = B;
- B = x;
- while (1) {
- x = (1 << D) | w;
- F = (B + 1) | 0;
- c[k >> 2] = F;
- G = a[F >> 0] | 0;
- D = (((G << 24) >> 24) + -32) | 0;
- if ((D >>> 0 > 31) | ((((1 << D) & 75913) | 0) == 0)) {
- K = x;
- L = G;
- M = F;
- break;
- } else {
- w = x;
- B = F;
- }
- }
- }
- if ((L << 24) >> 24 == 42) {
- if (
- (Sy(a[(M + 1) >> 0] | 0) | 0) != 0
- ? ((B = c[k >> 2] | 0), (a[(B + 2) >> 0] | 0) == 36)
- : 0
- ) {
- w = (B + 1) | 0;
- c[(i + (((a[w >> 0] | 0) + -48) << 2)) >> 2] = 10;
- N = c[(g + (((a[w >> 0] | 0) + -48) << 3)) >> 2] | 0;
- O = 1;
- P = (B + 3) | 0;
- } else {
- if (I | 0) {
- Q = -1;
- break;
- }
- if (e) {
- B = ((c[f >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- w = c[B >> 2] | 0;
- c[f >> 2] = B + 4;
- R = w;
- } else R = 0;
- N = R;
- O = 0;
- P = ((c[k >> 2] | 0) + 1) | 0;
- }
- c[k >> 2] = P;
- w = (N | 0) < 0;
- S = w ? (0 - N) | 0 : N;
- T = w ? K | 8192 : K;
- U = O;
- V = P;
- } else {
- w = gz(k) | 0;
- if ((w | 0) < 0) {
- Q = -1;
- break;
- }
- S = w;
- T = K;
- U = I;
- V = c[k >> 2] | 0;
- }
- do {
- if ((a[V >> 0] | 0) == 46) {
- w = (V + 1) | 0;
- if ((a[w >> 0] | 0) != 42) {
- c[k >> 2] = w;
- w = gz(k) | 0;
- W = w;
- X = c[k >> 2] | 0;
- break;
- }
- if (
- Sy(a[(V + 2) >> 0] | 0) | 0
- ? ((w = c[k >> 2] | 0), (a[(w + 3) >> 0] | 0) == 36)
- : 0
- ) {
- B = (w + 2) | 0;
- c[(i + (((a[B >> 0] | 0) + -48) << 2)) >> 2] = 10;
- D = c[(g + (((a[B >> 0] | 0) + -48) << 3)) >> 2] | 0;
- B = (w + 4) | 0;
- c[k >> 2] = B;
- W = D;
- X = B;
- break;
- }
- if (U | 0) {
- Q = -1;
- break a;
- }
- if (e) {
- B = ((c[f >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- D = c[B >> 2] | 0;
- c[f >> 2] = B + 4;
- Y = D;
- } else Y = 0;
- D = ((c[k >> 2] | 0) + 2) | 0;
- c[k >> 2] = D;
- W = Y;
- X = D;
- } else {
- W = -1;
- X = V;
- }
- } while (0);
- D = 0;
- B = X;
- while (1) {
- if ((((a[B >> 0] | 0) + -65) | 0) >>> 0 > 57) {
- Q = -1;
- break a;
- }
- w = B;
- B = (B + 1) | 0;
- c[k >> 2] = B;
- Z =
- a[
- ((a[w >> 0] | 0) + -65 + (7456 + ((D * 58) | 0))) >> 0
- ] | 0;
- _ = Z & 255;
- if (((_ + -1) | 0) >>> 0 >= 8) break;
- else D = _;
- }
- if (!((Z << 24) >> 24)) {
- Q = -1;
- break;
- }
- w = (H | 0) > -1;
- do {
- if ((Z << 24) >> 24 == 19) {
- if (w) {
- Q = -1;
- break a;
- } else C = 54;
- } else {
- if (w) {
- c[(i + (H << 2)) >> 2] = _;
- F = (g + (H << 3)) | 0;
- x = c[(F + 4) >> 2] | 0;
- G = m;
- c[G >> 2] = c[F >> 2];
- c[(G + 4) >> 2] = x;
- C = 54;
- break;
- }
- if (!e) {
- Q = 0;
- break a;
- }
- hz(m, _, f);
- $ = c[k >> 2] | 0;
- C = 55;
- }
- } while (0);
- if ((C | 0) == 54) {
- C = 0;
- if (e) {
- $ = B;
- C = 55;
- } else aa = 0;
- }
- d: do {
- if ((C | 0) == 55) {
- C = 0;
- w = a[($ + -1) >> 0] | 0;
- x =
- ((D | 0) != 0) & (((w & 15) | 0) == 3) ? w & -33 : w;
- w = T & -65537;
- G = ((T & 8192) | 0) == 0 ? T : w;
- e: do {
- switch (x | 0) {
- case 110: {
- switch (((D & 255) << 24) >> 24) {
- case 0: {
- c[c[m >> 2] >> 2] = z;
- aa = 0;
- break d;
- break;
- }
- case 1: {
- c[c[m >> 2] >> 2] = z;
- aa = 0;
- break d;
- break;
- }
- case 2: {
- F = c[m >> 2] | 0;
- c[F >> 2] = z;
- c[(F + 4) >> 2] = (((z | 0) < 0) << 31) >> 31;
- aa = 0;
- break d;
- break;
- }
- case 3: {
- b[c[m >> 2] >> 1] = z;
- aa = 0;
- break d;
- break;
- }
- case 4: {
- a[c[m >> 2] >> 0] = z;
- aa = 0;
- break d;
- break;
- }
- case 6: {
- c[c[m >> 2] >> 2] = z;
- aa = 0;
- break d;
- break;
- }
- case 7: {
- F = c[m >> 2] | 0;
- c[F >> 2] = z;
- c[(F + 4) >> 2] = (((z | 0) < 0) << 31) >> 31;
- aa = 0;
- break d;
- break;
- }
- default: {
- aa = 0;
- break d;
- }
- }
- break;
- }
- case 112: {
- ba = 120;
- ca = W >>> 0 > 8 ? W : 8;
- da = G | 8;
- C = 67;
- break;
- }
- case 88:
- case 120: {
- ba = x;
- ca = W;
- da = G;
- C = 67;
- break;
- }
- case 111: {
- F = m;
- ea = c[F >> 2] | 0;
- fa = c[(F + 4) >> 2] | 0;
- F = jz(ea, fa, q) | 0;
- ga = (r - F) | 0;
- ha = F;
- ia = 0;
- ja = 17834;
- ka =
- (((G & 8) | 0) == 0) | ((W | 0) > (ga | 0))
- ? W
- : (ga + 1) | 0;
- la = G;
- ma = ea;
- na = fa;
- C = 73;
- break;
- }
- case 105:
- case 100: {
- fa = m;
- ea = c[fa >> 2] | 0;
- ga = c[(fa + 4) >> 2] | 0;
- if ((ga | 0) < 0) {
- fa = eE(0, 0, ea | 0, ga | 0) | 0;
- F = y;
- oa = m;
- c[oa >> 2] = fa;
- c[(oa + 4) >> 2] = F;
- pa = 1;
- qa = 17834;
- ra = fa;
- sa = F;
- C = 72;
- break e;
- } else {
- pa = (((G & 2049) | 0) != 0) & 1;
- qa =
- ((G & 2048) | 0) == 0
- ? ((G & 1) | 0) == 0
- ? 17834
- : 17836
- : 17835;
- ra = ea;
- sa = ga;
- C = 72;
- break e;
- }
- break;
- }
- case 117: {
- ga = m;
- pa = 0;
- qa = 17834;
- ra = c[ga >> 2] | 0;
- sa = c[(ga + 4) >> 2] | 0;
- C = 72;
- break;
- }
- case 99: {
- a[s >> 0] = c[m >> 2];
- ta = s;
- ua = 0;
- va = 17834;
- wa = 1;
- xa = w;
- ya = r;
- break;
- }
- case 109: {
- za = lz(c[(My() | 0) >> 2] | 0) | 0;
- C = 77;
- break;
- }
- case 115: {
- ga = c[m >> 2] | 0;
- za = (ga | 0) == 0 ? 17844 : ga;
- C = 77;
- break;
- }
- case 67: {
- c[o >> 2] = c[m >> 2];
- c[n >> 2] = 0;
- c[m >> 2] = o;
- Aa = -1;
- C = 81;
- break;
- }
- case 83: {
- if (!W) {
- mz(d, 32, S, 0, G);
- Ba = 0;
- C = 91;
- } else {
- Aa = W;
- C = 81;
- }
- break;
- }
- case 65:
- case 71:
- case 70:
- case 69:
- case 97:
- case 103:
- case 102:
- case 101: {
- aa = oz(d, +h[m >> 3], S, W, G, x) | 0;
- break d;
- break;
- }
- default: {
- ta = A;
- ua = 0;
- va = 17834;
- wa = W;
- xa = G;
- ya = r;
- }
- }
- } while (0);
- f: do {
- if ((C | 0) == 67) {
- C = 0;
- x = m;
- ga = c[x >> 2] | 0;
- ea = c[(x + 4) >> 2] | 0;
- x = iz(ga, ea, q, ba & 32) | 0;
- F =
- (((da & 8) | 0) == 0) |
- (((ga | 0) == 0) & ((ea | 0) == 0));
- ha = x;
- ia = F ? 0 : 2;
- ja = F ? 17834 : (17834 + (ba >>> 4)) | 0;
- ka = ca;
- la = da;
- ma = ga;
- na = ea;
- C = 73;
- } else if ((C | 0) == 72) {
- C = 0;
- ha = kz(ra, sa, q) | 0;
- ia = pa;
- ja = qa;
- ka = W;
- la = G;
- ma = ra;
- na = sa;
- C = 73;
- } else if ((C | 0) == 77) {
- C = 0;
- ea = Uy(za, 0, W) | 0;
- ga = (ea | 0) == 0;
- ta = za;
- ua = 0;
- va = 17834;
- wa = ga ? W : (ea - za) | 0;
- xa = w;
- ya = ga ? (za + W) | 0 : ea;
- } else if ((C | 0) == 81) {
- C = 0;
- ea = c[m >> 2] | 0;
- ga = 0;
- while (1) {
- F = c[ea >> 2] | 0;
- if (!F) {
- Ca = ga;
- break;
- }
- x = nz(p, F) | 0;
- Da = (x | 0) < 0;
- if (Da | (x >>> 0 > ((Aa - ga) | 0) >>> 0)) {
- C = 85;
- break;
- }
- F = (x + ga) | 0;
- if (Aa >>> 0 > F >>> 0) {
- ea = (ea + 4) | 0;
- ga = F;
- } else {
- Ca = F;
- break;
- }
- }
- if ((C | 0) == 85) {
- C = 0;
- if (Da) {
- Q = -1;
- break a;
- } else Ca = ga;
- }
- mz(d, 32, S, Ca, G);
- if (!Ca) {
- Ba = 0;
- C = 91;
- } else {
- ea = c[m >> 2] | 0;
- F = 0;
- while (1) {
- x = c[ea >> 2] | 0;
- if (!x) {
- Ba = Ca;
- C = 91;
- break f;
- }
- fa = nz(p, x) | 0;
- F = (fa + F) | 0;
- if ((F | 0) > (Ca | 0)) {
- Ba = Ca;
- C = 91;
- break f;
- }
- fz(d, p, fa);
- if (F >>> 0 >= Ca >>> 0) {
- Ba = Ca;
- C = 91;
- break;
- } else ea = (ea + 4) | 0;
- }
- }
- }
- } while (0);
- if ((C | 0) == 73) {
- C = 0;
- w = ((ma | 0) != 0) | ((na | 0) != 0);
- ea = ((ka | 0) != 0) | w;
- F = (r - ha + ((w ^ 1) & 1)) | 0;
- ta = ea ? ha : q;
- ua = ia;
- va = ja;
- wa = ea ? ((ka | 0) > (F | 0) ? ka : F) : 0;
- xa = (ka | 0) > -1 ? la & -65537 : la;
- ya = r;
- } else if ((C | 0) == 91) {
- C = 0;
- mz(d, 32, S, Ba, G ^ 8192);
- aa = (S | 0) > (Ba | 0) ? S : Ba;
- break;
- }
- F = (ya - ta) | 0;
- ea = (wa | 0) < (F | 0) ? F : wa;
- w = (ea + ua) | 0;
- ga = (S | 0) < (w | 0) ? w : S;
- mz(d, 32, ga, w, xa);
- fz(d, va, ua);
- mz(d, 48, ga, w, xa ^ 65536);
- mz(d, 48, ea, F, 0);
- fz(d, ta, F);
- mz(d, 32, ga, w, xa ^ 8192);
- aa = ga;
- }
- } while (0);
- t = aa;
- u = z;
- v = U;
- }
- g: do {
- if ((C | 0) == 94)
- if (!d) {
- if (!v) Q = 0;
- else {
- U = 1;
- while (1) {
- u = c[(i + (U << 2)) >> 2] | 0;
- if (!u) break;
- hz((g + (U << 3)) | 0, u, f);
- u = (U + 1) | 0;
- if (u >>> 0 < 10) U = u;
- else {
- Q = 1;
- break g;
- }
- }
- u = U;
- while (1) {
- if (c[(i + (u << 2)) >> 2] | 0) {
- Q = -1;
- break g;
- }
- u = (u + 1) | 0;
- if (u >>> 0 >= 10) {
- Q = 1;
- break;
- }
- }
- }
- } else Q = z;
- } while (0);
- l = j;
- return Q | 0;
- }
- function fz(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- if (!(c[a >> 2] & 32)) xz(b, d, a) | 0;
- return;
- }
- function gz(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- if (!(Sy(a[c[b >> 2] >> 0] | 0) | 0)) d = 0;
- else {
- e = 0;
- while (1) {
- f = c[b >> 2] | 0;
- g = (((e * 10) | 0) + -48 + (a[f >> 0] | 0)) | 0;
- h = (f + 1) | 0;
- c[b >> 2] = h;
- if (!(Sy(a[h >> 0] | 0) | 0)) {
- d = g;
- break;
- } else e = g;
- }
- }
- return d | 0;
- }
- function hz(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- i = 0,
- j = 0.0;
- a: do {
- if (b >>> 0 <= 20)
- do {
- switch (b | 0) {
- case 9: {
- e = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- f = c[e >> 2] | 0;
- c[d >> 2] = e + 4;
- c[a >> 2] = f;
- break a;
- break;
- }
- case 10: {
- f = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- e = c[f >> 2] | 0;
- c[d >> 2] = f + 4;
- f = a;
- c[f >> 2] = e;
- c[(f + 4) >> 2] = (((e | 0) < 0) << 31) >> 31;
- break a;
- break;
- }
- case 11: {
- e = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- f = c[e >> 2] | 0;
- c[d >> 2] = e + 4;
- e = a;
- c[e >> 2] = f;
- c[(e + 4) >> 2] = 0;
- break a;
- break;
- }
- case 12: {
- e = ((c[d >> 2] | 0) + (8 - 1)) & ~(8 - 1);
- f = e;
- g = c[f >> 2] | 0;
- i = c[(f + 4) >> 2] | 0;
- c[d >> 2] = e + 8;
- e = a;
- c[e >> 2] = g;
- c[(e + 4) >> 2] = i;
- break a;
- break;
- }
- case 13: {
- i = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- e = c[i >> 2] | 0;
- c[d >> 2] = i + 4;
- i = ((e & 65535) << 16) >> 16;
- e = a;
- c[e >> 2] = i;
- c[(e + 4) >> 2] = (((i | 0) < 0) << 31) >> 31;
- break a;
- break;
- }
- case 14: {
- i = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- e = c[i >> 2] | 0;
- c[d >> 2] = i + 4;
- i = a;
- c[i >> 2] = e & 65535;
- c[(i + 4) >> 2] = 0;
- break a;
- break;
- }
- case 15: {
- i = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- e = c[i >> 2] | 0;
- c[d >> 2] = i + 4;
- i = ((e & 255) << 24) >> 24;
- e = a;
- c[e >> 2] = i;
- c[(e + 4) >> 2] = (((i | 0) < 0) << 31) >> 31;
- break a;
- break;
- }
- case 16: {
- i = ((c[d >> 2] | 0) + (4 - 1)) & ~(4 - 1);
- e = c[i >> 2] | 0;
- c[d >> 2] = i + 4;
- i = a;
- c[i >> 2] = e & 255;
- c[(i + 4) >> 2] = 0;
- break a;
- break;
- }
- case 17: {
- i = ((c[d >> 2] | 0) + (8 - 1)) & ~(8 - 1);
- j = +h[i >> 3];
- c[d >> 2] = i + 8;
- h[a >> 3] = j;
- break a;
- break;
- }
- case 18: {
- i = ((c[d >> 2] | 0) + (8 - 1)) & ~(8 - 1);
- j = +h[i >> 3];
- c[d >> 2] = i + 8;
- h[a >> 3] = j;
- break a;
- break;
- }
- default:
- break a;
- }
- } while (0);
- } while (0);
- return;
- }
- function iz(b, c, e, f) {
- b = b | 0;
- c = c | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0;
- if (((b | 0) == 0) & ((c | 0) == 0)) g = e;
- else {
- h = e;
- e = c;
- c = b;
- while (1) {
- b = (h + -1) | 0;
- a[b >> 0] = d[(7920 + (c & 15)) >> 0] | 0 | f;
- c = iE(c | 0, e | 0, 4) | 0;
- e = y;
- if (((c | 0) == 0) & ((e | 0) == 0)) {
- g = b;
- break;
- } else h = b;
- }
- }
- return g | 0;
- }
- function jz(b, c, d) {
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0,
- f = 0;
- if (((b | 0) == 0) & ((c | 0) == 0)) e = d;
- else {
- f = d;
- d = c;
- c = b;
- while (1) {
- b = (f + -1) | 0;
- a[b >> 0] = (c & 7) | 48;
- c = iE(c | 0, d | 0, 3) | 0;
- d = y;
- if (((c | 0) == 0) & ((d | 0) == 0)) {
- e = b;
- break;
- } else f = b;
- }
- }
- return e | 0;
- }
- function kz(b, c, d) {
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0;
- if (
- (c >>> 0 > 0) |
- (((c | 0) == 0) & (b >>> 0 > 4294967295))
- ) {
- e = d;
- f = b;
- g = c;
- do {
- c = f;
- f = hE(f | 0, g | 0, 10, 0) | 0;
- h = g;
- g = y;
- i = cE(f | 0, g | 0, 10, 0) | 0;
- j = eE(c | 0, h | 0, i | 0, y | 0) | 0;
- e = (e + -1) | 0;
- a[e >> 0] = (j & 255) | 48;
- } while (
- (h >>> 0 > 9) |
- (((h | 0) == 9) & (c >>> 0 > 4294967295))
- );
- k = f;
- l = e;
- } else {
- k = b;
- l = d;
- }
- if (!k) m = l;
- else {
- d = k;
- k = l;
- while (1) {
- l = d;
- d = ((d >>> 0) / 10) | 0;
- b = (k + -1) | 0;
- a[b >> 0] = (l - ((d * 10) | 0)) | 48;
- if (l >>> 0 < 10) {
- m = b;
- break;
- } else k = b;
- }
- }
- return m | 0;
- }
- function lz(a) {
- a = a | 0;
- return vz(a, c[((uz() | 0) + 188) >> 2] | 0) | 0;
- }
- function mz(a, b, c, d, e) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = l;
- l = (l + 256) | 0;
- g = f;
- if (((c | 0) > (d | 0)) & (((e & 73728) | 0) == 0)) {
- e = (c - d) | 0;
- oE(
- g | 0,
- ((b << 24) >> 24) | 0,
- (e >>> 0 < 256 ? e : 256) | 0
- ) | 0;
- if (e >>> 0 > 255) {
- b = (c - d) | 0;
- d = e;
- do {
- fz(a, g, 256);
- d = (d + -256) | 0;
- } while (d >>> 0 > 255);
- h = b & 255;
- } else h = e;
- fz(a, g, h);
- }
- l = f;
- return;
- }
- function nz(a, b) {
- a = a | 0;
- b = b | 0;
- var c = 0;
- if (!a) c = 0;
- else c = sz(a, b, 0) | 0;
- return c | 0;
- }
- function oz(b, e, f, g, h, i) {
- b = b | 0;
- e = +e;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- var j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0.0,
- u = 0,
- v = 0.0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0.0,
- G = 0,
- H = 0,
- I = 0,
- J = 0.0,
- K = 0,
- L = 0,
- M = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0.0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0.0,
- ja = 0.0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0;
- j = l;
- l = (l + 560) | 0;
- k = (j + 32) | 0;
- m = (j + 536) | 0;
- n = j;
- o = n;
- p = (j + 540) | 0;
- c[m >> 2] = 0;
- q = (p + 12) | 0;
- r = pz(e) | 0;
- s = y;
- if ((s | 0) < 0) {
- t = -e;
- u = pz(t) | 0;
- v = t;
- w = 1;
- x = 17851;
- z = y;
- A = u;
- } else {
- v = e;
- w = (((h & 2049) | 0) != 0) & 1;
- x =
- ((h & 2048) | 0) == 0
- ? ((h & 1) | 0) == 0
- ? 17852
- : 17857
- : 17854;
- z = s;
- A = r;
- }
- do {
- if ((0 == 0) & (((z & 2146435072) | 0) == 2146435072)) {
- r = ((i & 32) | 0) != 0;
- A = (w + 3) | 0;
- mz(b, 32, f, A, h & -65537);
- fz(b, x, w);
- fz(
- b,
- (v != v) | (0.0 != 0.0)
- ? r
- ? 17878
- : 17882
- : r
- ? 17870
- : 17874,
- 3
- );
- mz(b, 32, f, A, h ^ 8192);
- B = A;
- } else {
- e = +qz(v, m) * 2.0;
- A = e != 0.0;
- if (A) c[m >> 2] = (c[m >> 2] | 0) + -1;
- r = i | 32;
- if ((r | 0) == 97) {
- s = i & 32;
- u = (s | 0) == 0 ? x : (x + 9) | 0;
- C = w | 2;
- D = (12 - g) | 0;
- do {
- if (!((g >>> 0 > 11) | ((D | 0) == 0))) {
- t = 8.0;
- E = D;
- do {
- E = (E + -1) | 0;
- t = t * 16.0;
- } while ((E | 0) != 0);
- if ((a[u >> 0] | 0) == 45) {
- F = -(t + (-e - t));
- break;
- } else {
- F = e + t - t;
- break;
- }
- } else F = e;
- } while (0);
- D = c[m >> 2] | 0;
- E = (D | 0) < 0 ? (0 - D) | 0 : D;
- G = kz(E, (((E | 0) < 0) << 31) >> 31, q) | 0;
- if ((G | 0) == (q | 0)) {
- E = (p + 11) | 0;
- a[E >> 0] = 48;
- H = E;
- } else H = G;
- a[(H + -1) >> 0] = ((D >> 31) & 2) + 43;
- D = (H + -2) | 0;
- a[D >> 0] = i + 15;
- G = (g | 0) < 1;
- E = ((h & 8) | 0) == 0;
- I = n;
- J = F;
- while (1) {
- K = ~~J;
- L = (I + 1) | 0;
- a[I >> 0] = s | d[(7920 + K) >> 0];
- J = (J - +(K | 0)) * 16.0;
- if (
- ((L - o) | 0) == 1 ? !(E & (G & (J == 0.0))) : 0
- ) {
- a[L >> 0] = 46;
- M = (I + 2) | 0;
- } else M = L;
- if (!(J != 0.0)) break;
- else I = M;
- }
- I = M;
- if ((g | 0) != 0 ? ((-2 - o + I) | 0) < (g | 0) : 0) {
- G = q;
- E = D;
- O = (g + 2 + G - E) | 0;
- P = G;
- Q = E;
- } else {
- E = q;
- G = D;
- O = (E - o - G + I) | 0;
- P = E;
- Q = G;
- }
- G = (O + C) | 0;
- mz(b, 32, f, G, h);
- fz(b, u, C);
- mz(b, 48, f, G, h ^ 65536);
- E = (I - o) | 0;
- fz(b, n, E);
- I = (P - Q) | 0;
- mz(b, 48, (O - (E + I)) | 0, 0, 0);
- fz(b, D, I);
- mz(b, 32, f, G, h ^ 8192);
- B = G;
- break;
- }
- G = (g | 0) < 0 ? 6 : g;
- if (A) {
- I = ((c[m >> 2] | 0) + -28) | 0;
- c[m >> 2] = I;
- R = e * 268435456.0;
- S = I;
- } else {
- R = e;
- S = c[m >> 2] | 0;
- }
- I = (S | 0) < 0 ? k : (k + 288) | 0;
- E = I;
- J = R;
- do {
- s = ~~J >>> 0;
- c[E >> 2] = s;
- E = (E + 4) | 0;
- J = (J - +(s >>> 0)) * 1.0e9;
- } while (J != 0.0);
- A = I;
- if ((S | 0) > 0) {
- D = I;
- C = E;
- u = S;
- while (1) {
- s = (u | 0) < 29 ? u : 29;
- L = (C + -4) | 0;
- if (L >>> 0 >= D >>> 0) {
- K = L;
- L = 0;
- do {
- T = jE(c[K >> 2] | 0, 0, s | 0) | 0;
- U = dE(T | 0, y | 0, L | 0, 0) | 0;
- T = y;
- L = hE(U | 0, T | 0, 1e9, 0) | 0;
- V = cE(L | 0, y | 0, 1e9, 0) | 0;
- W = eE(U | 0, T | 0, V | 0, y | 0) | 0;
- c[K >> 2] = W;
- K = (K + -4) | 0;
- } while (K >>> 0 >= D >>> 0);
- if (L) {
- K = (D + -4) | 0;
- c[K >> 2] = L;
- X = K;
- } else X = D;
- } else X = D;
- a: do {
- if (C >>> 0 > X >>> 0) {
- K = C;
- while (1) {
- W = (K + -4) | 0;
- if (c[W >> 2] | 0) {
- Y = K;
- break a;
- }
- if (W >>> 0 > X >>> 0) K = W;
- else {
- Y = W;
- break;
- }
- }
- } else Y = C;
- } while (0);
- L = ((c[m >> 2] | 0) - s) | 0;
- c[m >> 2] = L;
- if ((L | 0) > 0) {
- D = X;
- C = Y;
- u = L;
- } else {
- Z = X;
- _ = Y;
- $ = L;
- break;
- }
- }
- } else {
- Z = I;
- _ = E;
- $ = S;
- }
- if (($ | 0) < 0) {
- u = (((((G + 25) | 0) / 9) | 0) + 1) | 0;
- C = (r | 0) == 102;
- D = Z;
- L = _;
- K = $;
- while (1) {
- W = (0 - K) | 0;
- V = (W | 0) < 9 ? W : 9;
- if (D >>> 0 < L >>> 0) {
- W = ((1 << V) + -1) | 0;
- T = 1e9 >>> V;
- U = 0;
- aa = D;
- do {
- ba = c[aa >> 2] | 0;
- c[aa >> 2] = (ba >>> V) + U;
- U = N(ba & W, T) | 0;
- aa = (aa + 4) | 0;
- } while (aa >>> 0 < L >>> 0);
- aa = (c[D >> 2] | 0) == 0 ? (D + 4) | 0 : D;
- if (!U) {
- ca = L;
- da = aa;
- } else {
- c[L >> 2] = U;
- ca = (L + 4) | 0;
- da = aa;
- }
- } else {
- ca = L;
- da = (c[D >> 2] | 0) == 0 ? (D + 4) | 0 : D;
- }
- aa = C ? I : da;
- T =
- (((ca - aa) >> 2) | 0) > (u | 0)
- ? (aa + (u << 2)) | 0
- : ca;
- K = ((c[m >> 2] | 0) + V) | 0;
- c[m >> 2] = K;
- if ((K | 0) >= 0) {
- ea = da;
- fa = T;
- break;
- } else {
- D = da;
- L = T;
- }
- }
- } else {
- ea = Z;
- fa = _;
- }
- if (ea >>> 0 < fa >>> 0) {
- L = (((A - ea) >> 2) * 9) | 0;
- D = c[ea >> 2] | 0;
- if (D >>> 0 < 10) ga = L;
- else {
- K = L;
- L = 10;
- while (1) {
- L = (L * 10) | 0;
- u = (K + 1) | 0;
- if (D >>> 0 < L >>> 0) {
- ga = u;
- break;
- } else K = u;
- }
- }
- } else ga = 0;
- K = (r | 0) == 103;
- L = (G | 0) != 0;
- D =
- (G -
- ((r | 0) == 102 ? 0 : ga) +
- (((L & K) << 31) >> 31)) |
- 0;
- if ((D | 0) < ((((((fa - A) >> 2) * 9) | 0) + -9) | 0)) {
- u = (D + 9216) | 0;
- D = ((u | 0) / 9) | 0;
- C = (I + 4 + ((D + -1024) << 2)) | 0;
- E = (u - ((D * 9) | 0)) | 0;
- if ((E | 0) < 8) {
- D = E;
- E = 10;
- while (1) {
- u = (E * 10) | 0;
- if ((D | 0) < 7) {
- D = (D + 1) | 0;
- E = u;
- } else {
- ha = u;
- break;
- }
- }
- } else ha = 10;
- E = c[C >> 2] | 0;
- D = ((E >>> 0) / (ha >>> 0)) | 0;
- r = (E - (N(D, ha) | 0)) | 0;
- u = ((C + 4) | 0) == (fa | 0);
- if (!(u & ((r | 0) == 0))) {
- t =
- ((D & 1) | 0) == 0
- ? 9007199254740992.0
- : 9007199254740994.0;
- D = ha >>> 1;
- J =
- r >>> 0 < D >>> 0
- ? 0.5
- : u & ((r | 0) == (D | 0))
- ? 1.0
- : 1.5;
- if (!w) {
- ia = J;
- ja = t;
- } else {
- D = (a[x >> 0] | 0) == 45;
- ia = D ? -J : J;
- ja = D ? -t : t;
- }
- D = (E - r) | 0;
- c[C >> 2] = D;
- if (ja + ia != ja) {
- r = (D + ha) | 0;
- c[C >> 2] = r;
- if (r >>> 0 > 999999999) {
- r = C;
- D = ea;
- while (1) {
- E = (r + -4) | 0;
- c[r >> 2] = 0;
- if (E >>> 0 < D >>> 0) {
- u = (D + -4) | 0;
- c[u >> 2] = 0;
- ka = u;
- } else ka = D;
- u = ((c[E >> 2] | 0) + 1) | 0;
- c[E >> 2] = u;
- if (u >>> 0 > 999999999) {
- r = E;
- D = ka;
- } else {
- la = E;
- ma = ka;
- break;
- }
- }
- } else {
- la = C;
- ma = ea;
- }
- D = (((A - ma) >> 2) * 9) | 0;
- r = c[ma >> 2] | 0;
- if (r >>> 0 < 10) {
- na = la;
- oa = D;
- pa = ma;
- } else {
- E = D;
- D = 10;
- while (1) {
- D = (D * 10) | 0;
- u = (E + 1) | 0;
- if (r >>> 0 < D >>> 0) {
- na = la;
- oa = u;
- pa = ma;
- break;
- } else E = u;
- }
- }
- } else {
- na = C;
- oa = ga;
- pa = ea;
- }
- } else {
- na = C;
- oa = ga;
- pa = ea;
- }
- E = (na + 4) | 0;
- qa = oa;
- ra = fa >>> 0 > E >>> 0 ? E : fa;
- sa = pa;
- } else {
- qa = ga;
- ra = fa;
- sa = ea;
- }
- E = (0 - qa) | 0;
- b: do {
- if (ra >>> 0 > sa >>> 0) {
- D = ra;
- while (1) {
- r = (D + -4) | 0;
- if (c[r >> 2] | 0) {
- ta = D;
- ua = 1;
- break b;
- }
- if (r >>> 0 > sa >>> 0) D = r;
- else {
- ta = r;
- ua = 0;
- break;
- }
- }
- } else {
- ta = ra;
- ua = 0;
- }
- } while (0);
- do {
- if (K) {
- C = (G + ((L ^ 1) & 1)) | 0;
- if (((C | 0) > (qa | 0)) & ((qa | 0) > -5)) {
- va = (i + -1) | 0;
- wa = (C + -1 - qa) | 0;
- } else {
- va = (i + -2) | 0;
- wa = (C + -1) | 0;
- }
- if (!(h & 8)) {
- if (
- ua
- ? ((C = c[(ta + -4) >> 2] | 0), (C | 0) != 0)
- : 0
- ) {
- if (!((C >>> 0) % 10 | 0)) {
- D = 0;
- V = 10;
- while (1) {
- V = (V * 10) | 0;
- U = (D + 1) | 0;
- if ((C >>> 0) % (V >>> 0) | 0 | 0) {
- xa = U;
- break;
- } else D = U;
- }
- } else xa = 0;
- } else xa = 9;
- D = (((((ta - A) >> 2) * 9) | 0) + -9) | 0;
- if ((va | 32 | 0) == 102) {
- V = (D - xa) | 0;
- C = (V | 0) > 0 ? V : 0;
- ya = va;
- za = (wa | 0) < (C | 0) ? wa : C;
- break;
- } else {
- C = (D + qa - xa) | 0;
- D = (C | 0) > 0 ? C : 0;
- ya = va;
- za = (wa | 0) < (D | 0) ? wa : D;
- break;
- }
- } else {
- ya = va;
- za = wa;
- }
- } else {
- ya = i;
- za = G;
- }
- } while (0);
- G = (za | 0) != 0;
- A = G ? 1 : (h >>> 3) & 1;
- L = (ya | 32 | 0) == 102;
- if (L) {
- Aa = 0;
- Ba = (qa | 0) > 0 ? qa : 0;
- } else {
- K = (qa | 0) < 0 ? E : qa;
- D = kz(K, (((K | 0) < 0) << 31) >> 31, q) | 0;
- K = q;
- if (((K - D) | 0) < 2) {
- C = D;
- while (1) {
- V = (C + -1) | 0;
- a[V >> 0] = 48;
- if (((K - V) | 0) < 2) C = V;
- else {
- Ca = V;
- break;
- }
- }
- } else Ca = D;
- a[(Ca + -1) >> 0] = ((qa >> 31) & 2) + 43;
- C = (Ca + -2) | 0;
- a[C >> 0] = ya;
- Aa = C;
- Ba = (K - C) | 0;
- }
- C = (w + 1 + za + A + Ba) | 0;
- mz(b, 32, f, C, h);
- fz(b, x, w);
- mz(b, 48, f, C, h ^ 65536);
- if (L) {
- E = sa >>> 0 > I >>> 0 ? I : sa;
- V = (n + 9) | 0;
- U = V;
- r = (n + 8) | 0;
- u = E;
- do {
- T = kz(c[u >> 2] | 0, 0, V) | 0;
- if ((u | 0) == (E | 0)) {
- if ((T | 0) == (V | 0)) {
- a[r >> 0] = 48;
- Da = r;
- } else Da = T;
- } else if (T >>> 0 > n >>> 0) {
- oE(n | 0, 48, (T - o) | 0) | 0;
- aa = T;
- while (1) {
- W = (aa + -1) | 0;
- if (W >>> 0 > n >>> 0) aa = W;
- else {
- Da = W;
- break;
- }
- }
- } else Da = T;
- fz(b, Da, (U - Da) | 0);
- u = (u + 4) | 0;
- } while (u >>> 0 <= I >>> 0);
- if (!((((h & 8) | 0) == 0) & (G ^ 1))) fz(b, 18964, 1);
- if ((u >>> 0 < ta >>> 0) & ((za | 0) > 0)) {
- I = za;
- U = u;
- while (1) {
- r = kz(c[U >> 2] | 0, 0, V) | 0;
- if (r >>> 0 > n >>> 0) {
- oE(n | 0, 48, (r - o) | 0) | 0;
- E = r;
- while (1) {
- L = (E + -1) | 0;
- if (L >>> 0 > n >>> 0) E = L;
- else {
- Ea = L;
- break;
- }
- }
- } else Ea = r;
- fz(b, Ea, (I | 0) < 9 ? I : 9);
- U = (U + 4) | 0;
- E = (I + -9) | 0;
- if (!((U >>> 0 < ta >>> 0) & ((I | 0) > 9))) {
- Fa = E;
- break;
- } else I = E;
- }
- } else Fa = za;
- mz(b, 48, (Fa + 9) | 0, 9, 0);
- } else {
- I = ua ? ta : (sa + 4) | 0;
- if ((sa >>> 0 < I >>> 0) & ((za | 0) > -1)) {
- U = (n + 9) | 0;
- V = ((h & 8) | 0) == 0;
- u = U;
- G = (0 - o) | 0;
- E = (n + 8) | 0;
- T = za;
- L = sa;
- while (1) {
- A = kz(c[L >> 2] | 0, 0, U) | 0;
- if ((A | 0) == (U | 0)) {
- a[E >> 0] = 48;
- Ga = E;
- } else Ga = A;
- do {
- if ((L | 0) == (sa | 0)) {
- A = (Ga + 1) | 0;
- fz(b, Ga, 1);
- if (V & ((T | 0) < 1)) {
- Ha = A;
- break;
- }
- fz(b, 18964, 1);
- Ha = A;
- } else {
- if (Ga >>> 0 <= n >>> 0) {
- Ha = Ga;
- break;
- }
- oE(n | 0, 48, (Ga + G) | 0) | 0;
- A = Ga;
- while (1) {
- K = (A + -1) | 0;
- if (K >>> 0 > n >>> 0) A = K;
- else {
- Ha = K;
- break;
- }
- }
- }
- } while (0);
- r = (u - Ha) | 0;
- fz(b, Ha, (T | 0) > (r | 0) ? r : T);
- A = (T - r) | 0;
- L = (L + 4) | 0;
- if (!((L >>> 0 < I >>> 0) & ((A | 0) > -1))) {
- Ia = A;
- break;
- } else T = A;
- }
- } else Ia = za;
- mz(b, 48, (Ia + 18) | 0, 18, 0);
- fz(b, Aa, (q - Aa) | 0);
- }
- mz(b, 32, f, C, h ^ 8192);
- B = C;
- }
- } while (0);
- l = j;
- return ((B | 0) < (f | 0) ? f : B) | 0;
- }
- function pz(a) {
- a = +a;
- var b = 0;
- h[j >> 3] = a;
- b = c[j >> 2] | 0;
- y = c[(j + 4) >> 2] | 0;
- return b | 0;
- }
- function qz(a, b) {
- a = +a;
- b = b | 0;
- return +(+rz(a, b));
- }
- function rz(a, b) {
- a = +a;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0.0,
- i = 0.0,
- k = 0,
- l = 0.0;
- h[j >> 3] = a;
- d = c[j >> 2] | 0;
- e = c[(j + 4) >> 2] | 0;
- f = iE(d | 0, e | 0, 52) | 0;
- switch (f & 2047) {
- case 0: {
- if (a != 0.0) {
- g = +rz(a * 18446744073709551616.0, b);
- i = g;
- k = ((c[b >> 2] | 0) + -64) | 0;
- } else {
- i = a;
- k = 0;
- }
- c[b >> 2] = k;
- l = i;
- break;
- }
- case 2047: {
- l = a;
- break;
- }
- default: {
- c[b >> 2] = (f & 2047) + -1022;
- c[j >> 2] = d;
- c[(j + 4) >> 2] = (e & -2146435073) | 1071644672;
- l = +h[j >> 3];
- }
- }
- return +l;
- }
- function sz(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0;
- do {
- if (b) {
- if (d >>> 0 < 128) {
- a[b >> 0] = d;
- f = 1;
- break;
- }
- if (!(c[c[((tz() | 0) + 188) >> 2] >> 2] | 0))
- if (((d & -128) | 0) == 57216) {
- a[b >> 0] = d;
- f = 1;
- break;
- } else {
- c[(My() | 0) >> 2] = 84;
- f = -1;
- break;
- }
- if (d >>> 0 < 2048) {
- a[b >> 0] = (d >>> 6) | 192;
- a[(b + 1) >> 0] = (d & 63) | 128;
- f = 2;
- break;
- }
- if ((d >>> 0 < 55296) | (((d & -8192) | 0) == 57344)) {
- a[b >> 0] = (d >>> 12) | 224;
- a[(b + 1) >> 0] = ((d >>> 6) & 63) | 128;
- a[(b + 2) >> 0] = (d & 63) | 128;
- f = 3;
- break;
- }
- if (((d + -65536) | 0) >>> 0 < 1048576) {
- a[b >> 0] = (d >>> 18) | 240;
- a[(b + 1) >> 0] = ((d >>> 12) & 63) | 128;
- a[(b + 2) >> 0] = ((d >>> 6) & 63) | 128;
- a[(b + 3) >> 0] = (d & 63) | 128;
- f = 4;
- break;
- } else {
- c[(My() | 0) >> 2] = 84;
- f = -1;
- break;
- }
- } else f = 1;
- } while (0);
- return f | 0;
- }
- function tz() {
- return az() | 0;
- }
- function uz() {
- return az() | 0;
- }
- function vz(b, e) {
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- f = 0;
- while (1) {
- if ((d[(7936 + f) >> 0] | 0) == (b | 0)) {
- g = 4;
- break;
- }
- h = (f + 1) | 0;
- if ((h | 0) == 87) {
- i = 87;
- g = 5;
- break;
- } else f = h;
- }
- if ((g | 0) == 4)
- if (!f) j = 8032;
- else {
- i = f;
- g = 5;
- }
- if ((g | 0) == 5) {
- g = 8032;
- f = i;
- while (1) {
- i = g;
- do {
- b = i;
- i = (i + 1) | 0;
- } while ((a[b >> 0] | 0) != 0);
- f = (f + -1) | 0;
- if (!f) {
- j = i;
- break;
- } else g = i;
- }
- }
- return wz(j, c[(e + 20) >> 2] | 0) | 0;
- }
- function wz(a, b) {
- a = a | 0;
- b = b | 0;
- return Yy(a, b) | 0;
- }
- function xz(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = (e + 16) | 0;
- g = c[f >> 2] | 0;
- if (!g) {
- if (!(yz(e) | 0)) {
- h = c[f >> 2] | 0;
- i = 5;
- } else j = 0;
- } else {
- h = g;
- i = 5;
- }
- a: do {
- if ((i | 0) == 5) {
- g = (e + 20) | 0;
- f = c[g >> 2] | 0;
- k = f;
- if (((h - f) | 0) >>> 0 < d >>> 0) {
- j = rc[c[(e + 36) >> 2] & 31](e, b, d) | 0;
- break;
- }
- b: do {
- if (((a[(e + 75) >> 0] | 0) < 0) | ((d | 0) == 0)) {
- l = 0;
- m = b;
- n = d;
- o = k;
- } else {
- f = d;
- while (1) {
- p = (f + -1) | 0;
- if ((a[(b + p) >> 0] | 0) == 10) break;
- if (!p) {
- l = 0;
- m = b;
- n = d;
- o = k;
- break b;
- } else f = p;
- }
- p = rc[c[(e + 36) >> 2] & 31](e, b, f) | 0;
- if (p >>> 0 < f >>> 0) {
- j = p;
- break a;
- }
- l = f;
- m = (b + f) | 0;
- n = (d - f) | 0;
- o = c[g >> 2] | 0;
- }
- } while (0);
- mE(o | 0, m | 0, n | 0) | 0;
- c[g >> 2] = (c[g >> 2] | 0) + n;
- j = (l + n) | 0;
- }
- } while (0);
- return j | 0;
- }
- function yz(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = (b + 74) | 0;
- e = a[d >> 0] | 0;
- a[d >> 0] = (e + 255) | e;
- e = c[b >> 2] | 0;
- if (!(e & 8)) {
- c[(b + 8) >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- d = c[(b + 44) >> 2] | 0;
- c[(b + 28) >> 2] = d;
- c[(b + 20) >> 2] = d;
- c[(b + 16) >> 2] = d + (c[(b + 48) >> 2] | 0);
- f = 0;
- } else {
- c[b >> 2] = e | 32;
- f = -1;
- }
- return f | 0;
- }
- function zz(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = (a + 20) | 0;
- f = c[e >> 2] | 0;
- g = ((c[(a + 16) >> 2] | 0) - f) | 0;
- a = g >>> 0 > d >>> 0 ? d : g;
- mE(f | 0, b | 0, a | 0) | 0;
- c[e >> 2] = (c[e >> 2] | 0) + a;
- return d | 0;
- }
- function Az(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- c[e >> 2] = b;
- b = dz(c[3e3] | 0, a, e) | 0;
- l = d;
- return b | 0;
- }
- function Bz(b, e) {
- b = b | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = e & 255;
- a[g >> 0] = h;
- i = (b + 16) | 0;
- j = c[i >> 2] | 0;
- if (!j) {
- if (!(yz(b) | 0)) {
- k = c[i >> 2] | 0;
- m = 4;
- } else n = -1;
- } else {
- k = j;
- m = 4;
- }
- do {
- if ((m | 0) == 4) {
- j = (b + 20) | 0;
- i = c[j >> 2] | 0;
- if (
- i >>> 0 < k >>> 0
- ? ((o = e & 255), (o | 0) != (a[(b + 75) >> 0] | 0))
- : 0
- ) {
- c[j >> 2] = i + 1;
- a[i >> 0] = h;
- n = o;
- break;
- }
- if ((rc[c[(b + 36) >> 2] & 31](b, g, 1) | 0) == 1)
- n = d[g >> 0] | 0;
- else n = -1;
- }
- } while (0);
- l = f;
- return n | 0;
- }
- function Cz(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 48) | 0;
- f = (e + 32) | 0;
- g = (e + 16) | 0;
- h = e;
- if (Ry(17886, a[d >> 0] | 0) | 0) {
- i = Dz(d) | 0;
- c[h >> 2] = b;
- c[(h + 4) >> 2] = i | 32768;
- c[(h + 8) >> 2] = 438;
- b = Ly(Ha(5, h | 0) | 0) | 0;
- if ((b | 0) >= 0) {
- if ((i & 524288) | 0) {
- c[g >> 2] = b;
- c[(g + 4) >> 2] = 2;
- c[(g + 8) >> 2] = 1;
- Ga(221, g | 0) | 0;
- }
- g = Ez(b, d) | 0;
- if (!g) {
- c[f >> 2] = b;
- Ja(6, f | 0) | 0;
- j = 0;
- } else j = g;
- } else j = 0;
- } else {
- c[(My() | 0) >> 2] = 22;
- j = 0;
- }
- l = e;
- return j | 0;
- }
- function Dz(b) {
- b = b | 0;
- var c = 0,
- d = 0,
- e = 0,
- f = 0;
- c = (Ry(b, 43) | 0) == 0;
- d = a[b >> 0] | 0;
- e = c ? ((d << 24) >> 24 != 114) & 1 : 2;
- c = (Ry(b, 120) | 0) == 0;
- f = c ? e : e | 128;
- e = (Ry(b, 101) | 0) == 0;
- b = e ? f : f | 524288;
- f = (d << 24) >> 24 == 114 ? b : b | 64;
- b = (d << 24) >> 24 == 119 ? f | 512 : f;
- return ((d << 24) >> 24 == 97 ? b | 1024 : b) | 0;
- }
- function Ez(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- e = l;
- l = (l + 64) | 0;
- f = (e + 40) | 0;
- g = (e + 24) | 0;
- h = (e + 16) | 0;
- i = e;
- j = (e + 56) | 0;
- if (Ry(17886, a[d >> 0] | 0) | 0) {
- k = Cy(1156) | 0;
- if (!k) m = 0;
- else {
- oE(k | 0, 0, 124) | 0;
- if (!(Ry(d, 43) | 0))
- c[k >> 2] = (a[d >> 0] | 0) == 114 ? 8 : 4;
- if (Ry(d, 101) | 0) {
- c[i >> 2] = b;
- c[(i + 4) >> 2] = 2;
- c[(i + 8) >> 2] = 1;
- Ga(221, i | 0) | 0;
- }
- if ((a[d >> 0] | 0) == 97) {
- c[h >> 2] = b;
- c[(h + 4) >> 2] = 3;
- d = Ga(221, h | 0) | 0;
- if (!(d & 1024)) {
- c[g >> 2] = b;
- c[(g + 4) >> 2] = 4;
- c[(g + 8) >> 2] = d | 1024;
- Ga(221, g | 0) | 0;
- }
- g = c[k >> 2] | 128;
- c[k >> 2] = g;
- n = g;
- } else n = c[k >> 2] | 0;
- c[(k + 60) >> 2] = b;
- c[(k + 44) >> 2] = k + 132;
- c[(k + 48) >> 2] = 1024;
- g = (k + 75) | 0;
- a[g >> 0] = -1;
- if (
- ((n & 8) | 0) == 0
- ? ((c[f >> 2] = b),
- (c[(f + 4) >> 2] = 21523),
- (c[(f + 8) >> 2] = j),
- (Ia(54, f | 0) | 0) == 0)
- : 0
- )
- a[g >> 0] = 10;
- c[(k + 32) >> 2] = 22;
- c[(k + 36) >> 2] = 3;
- c[(k + 40) >> 2] = 2;
- c[(k + 12) >> 2] = 29;
- if (!(c[5543] | 0)) c[(k + 76) >> 2] = -1;
- Fz(k) | 0;
- m = k;
- }
- } else {
- c[(My() | 0) >> 2] = 22;
- m = 0;
- }
- l = e;
- return m | 0;
- }
- function Fz(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = Gz() | 0;
- c[(a + 56) >> 2] = c[b >> 2];
- d = c[b >> 2] | 0;
- if (d | 0) c[(d + 52) >> 2] = a;
- c[b >> 2] = a;
- Hz();
- return a | 0;
- }
- function Gz() {
- Aa(22236);
- return 22244;
- }
- function Hz() {
- Ka(22236);
- return;
- }
- function Iz() {
- return az() | 0;
- }
- function Jz(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- do {
- if (a) {
- if ((c[(a + 76) >> 2] | 0) <= -1) {
- b = Mz(a) | 0;
- break;
- }
- d = (Vy(a) | 0) == 0;
- e = Mz(a) | 0;
- if (d) b = e;
- else {
- Wy(a);
- b = e;
- }
- } else {
- if (!(c[3032] | 0)) f = 0;
- else f = Jz(c[3032] | 0) | 0;
- e = c[(Gz() | 0) >> 2] | 0;
- if (!e) g = f;
- else {
- d = e;
- e = f;
- while (1) {
- if ((c[(d + 76) >> 2] | 0) > -1) h = Vy(d) | 0;
- else h = 0;
- if (
- (c[(d + 20) >> 2] | 0) >>> 0 >
- (c[(d + 28) >> 2] | 0) >>> 0
- )
- i = Mz(d) | 0 | e;
- else i = e;
- if (h | 0) Wy(d);
- d = c[(d + 56) >> 2] | 0;
- if (!d) {
- g = i;
- break;
- } else e = i;
- }
- }
- Hz();
- b = g;
- }
- } while (0);
- return b | 0;
- }
- function Kz(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- if ((c[(a + 76) >> 2] | 0) > -1) b = Vy(a) | 0;
- else b = 0;
- Lz(a);
- d = ((c[a >> 2] & 1) | 0) != 0;
- if (!d) {
- e = Gz() | 0;
- f = c[(a + 52) >> 2] | 0;
- g = (a + 56) | 0;
- if (f | 0) c[(f + 56) >> 2] = c[g >> 2];
- h = c[g >> 2] | 0;
- if (h | 0) c[(h + 52) >> 2] = f;
- if ((c[e >> 2] | 0) == (a | 0)) c[e >> 2] = h;
- Hz();
- }
- h = Jz(a) | 0;
- e = pc[c[(a + 12) >> 2] & 63](a) | 0 | h;
- h = c[(a + 92) >> 2] | 0;
- if (h | 0) Dy(h);
- if (d) {
- if (b | 0) Wy(a);
- } else Dy(a);
- return e | 0;
- }
- function Lz(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0;
- if (c[(a + 68) >> 2] | 0) {
- b = c[(a + 116) >> 2] | 0;
- d = (a + 112) | 0;
- if (b | 0) c[(b + 112) >> 2] = c[d >> 2];
- a = c[d >> 2] | 0;
- if (!a) e = ((Iz() | 0) + 232) | 0;
- else e = (a + 116) | 0;
- c[e >> 2] = b;
- }
- return;
- }
- function Mz(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- b = (a + 20) | 0;
- d = (a + 28) | 0;
- if (
- (c[b >> 2] | 0) >>> 0 > (c[d >> 2] | 0) >>> 0
- ? (rc[c[(a + 36) >> 2] & 31](a, 0, 0) | 0,
- (c[b >> 2] | 0) == 0)
- : 0
- )
- e = -1;
- else {
- f = (a + 4) | 0;
- g = c[f >> 2] | 0;
- h = (a + 8) | 0;
- i = c[h >> 2] | 0;
- if (g >>> 0 < i >>> 0)
- rc[c[(a + 40) >> 2] & 31](a, (g - i) | 0, 1) | 0;
- c[(a + 16) >> 2] = 0;
- c[d >> 2] = 0;
- c[b >> 2] = 0;
- c[h >> 2] = 0;
- c[f >> 2] = 0;
- e = 0;
- }
- return e | 0;
- }
- function Nz(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- if ((c[(d + 76) >> 2] | 0) >= 0 ? (Vy(d) | 0) != 0 : 0) {
- e = b & 255;
- f = b & 255;
- if (
- (f | 0) != (a[(d + 75) >> 0] | 0)
- ? ((g = (d + 20) | 0),
- (h = c[g >> 2] | 0),
- h >>> 0 < (c[(d + 16) >> 2] | 0) >>> 0)
- : 0
- ) {
- c[g >> 2] = h + 1;
- a[h >> 0] = e;
- i = f;
- } else i = Bz(d, b) | 0;
- Wy(d);
- j = i;
- } else k = 3;
- do {
- if ((k | 0) == 3) {
- i = b & 255;
- f = b & 255;
- if (
- (f | 0) != (a[(d + 75) >> 0] | 0)
- ? ((e = (d + 20) | 0),
- (h = c[e >> 2] | 0),
- h >>> 0 < (c[(d + 16) >> 2] | 0) >>> 0)
- : 0
- ) {
- c[e >> 2] = h + 1;
- a[h >> 0] = i;
- j = f;
- break;
- }
- j = Bz(d, b) | 0;
- }
- } while (0);
- return j | 0;
- }
- function Oz(a) {
- a = a | 0;
- var b = 0,
- c = 0,
- d = 0;
- b = ((Ty(a) | 0) + 1) | 0;
- c = Cy(b) | 0;
- if (!c) d = 0;
- else d = mE(c | 0, a | 0, b | 0) | 0;
- return d | 0;
- }
- function Pz(a) {
- a = a | 0;
- return (((a + -65) | 0) >>> 0 < 26) | 0;
- }
- function Qz(a) {
- a = a | 0;
- return (
- ((((((a | 32) + -97) | 0) >>> 0 < 6) | ((Sy(a) | 0) != 0)) &
- 1) |
- 0
- );
- }
- function Rz(a) {
- a = a | 0;
- return;
- }
- function Sz(a) {
- a = a | 0;
- Rz(a);
- Vz(a);
- return;
- }
- function Tz(a) {
- a = a | 0;
- return 17890;
- }
- function Uz(a) {
- a = a | 0;
- var b = 0,
- c = 0;
- b = (a | 0) == 0 ? 1 : a;
- while (1) {
- a = Cy(b) | 0;
- if (a | 0) {
- c = a;
- break;
- }
- a = ZD() | 0;
- if (!a) {
- c = 0;
- break;
- }
- vc[a & 3]();
- }
- return c | 0;
- }
- function Vz(a) {
- a = a | 0;
- Dy(a);
- return;
- }
- function Wz(a) {
- a = a | 0;
- lb();
- }
- function Xz() {
- var a = 0,
- b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- a = l;
- l = (l + 48) | 0;
- b = (a + 32) | 0;
- d = (a + 24) | 0;
- e = (a + 16) | 0;
- f = a;
- g = (a + 36) | 0;
- a = Yz() | 0;
- if (a | 0 ? ((h = c[a >> 2] | 0), h | 0) : 0) {
- a = (h + 48) | 0;
- i = c[a >> 2] | 0;
- j = c[(a + 4) >> 2] | 0;
- if (
- !(
- (((i & -256) | 0) == 1126902528) &
- ((j | 0) == 1129074247)
- )
- ) {
- c[d >> 2] = 18077;
- Zz(18027, d);
- }
- if (((i | 0) == 1126902529) & ((j | 0) == 1129074247))
- k = c[(h + 44) >> 2] | 0;
- else k = (h + 80) | 0;
- c[g >> 2] = k;
- k = c[h >> 2] | 0;
- h = c[(k + 4) >> 2] | 0;
- if (
- rc[c[((c[2704] | 0) + 16) >> 2] & 31](10816, k, g) | 0
- ) {
- k = c[g >> 2] | 0;
- g = pc[c[((c[k >> 2] | 0) + 8) >> 2] & 63](k) | 0;
- c[f >> 2] = 18077;
- c[(f + 4) >> 2] = h;
- c[(f + 8) >> 2] = g;
- Zz(17941, f);
- } else {
- c[e >> 2] = 18077;
- c[(e + 4) >> 2] = h;
- Zz(17986, e);
- }
- }
- Zz(18065, b);
- }
- function Yz() {
- var a = 0,
- b = 0;
- a = l;
- l = (l + 16) | 0;
- if (!(rb(22248, 3) | 0)) {
- b = pb(c[5563] | 0) | 0;
- l = a;
- return b | 0;
- } else Zz(18216, a);
- return 0;
- }
- function Zz(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- c[e >> 2] = b;
- b = c[3033] | 0;
- dz(b, a, e) | 0;
- Nz(10, b) | 0;
- lb();
- }
- function _z(a) {
- a = a | 0;
- return;
- }
- function $z(a) {
- a = a | 0;
- _z(a);
- Vz(a);
- return;
- }
- function aA(a) {
- a = a | 0;
- return;
- }
- function bA(a) {
- a = a | 0;
- return;
- }
- function cA(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 64) | 0;
- f = e;
- if (!(gA(a, b, 0) | 0)) {
- if (
- (b | 0) != 0
- ? ((g = kA(b, 10840, 10824, 0) | 0), (g | 0) != 0)
- : 0
- ) {
- b = (f + 4) | 0;
- h = (b + 52) | 0;
- do {
- c[b >> 2] = 0;
- b = (b + 4) | 0;
- } while ((b | 0) < (h | 0));
- c[f >> 2] = g;
- c[(f + 8) >> 2] = a;
- c[(f + 12) >> 2] = -1;
- c[(f + 48) >> 2] = 1;
- zc[c[((c[g >> 2] | 0) + 28) >> 2] & 7](
- g,
- f,
- c[d >> 2] | 0,
- 1
- );
- if ((c[(f + 24) >> 2] | 0) == 1) {
- c[d >> 2] = c[(f + 16) >> 2];
- i = 1;
- } else i = 0;
- j = i;
- } else j = 0;
- } else j = 1;
- l = e;
- return j | 0;
- }
- function dA(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- if (gA(a, c[(b + 8) >> 2] | 0, g) | 0) jA(0, b, d, e, f);
- return;
- }
- function eA(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0;
- do {
- if (!(gA(b, c[(d + 8) >> 2] | 0, g) | 0)) {
- if (gA(b, c[d >> 2] | 0, g) | 0) {
- if (
- (c[(d + 16) >> 2] | 0) != (e | 0)
- ? ((h = (d + 20) | 0), (c[h >> 2] | 0) != (e | 0))
- : 0
- ) {
- c[(d + 32) >> 2] = f;
- c[h >> 2] = e;
- h = (d + 40) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + 1;
- if (
- (c[(d + 36) >> 2] | 0) == 1
- ? (c[(d + 24) >> 2] | 0) == 2
- : 0
- )
- a[(d + 54) >> 0] = 1;
- c[(d + 44) >> 2] = 4;
- break;
- }
- if ((f | 0) == 1) c[(d + 32) >> 2] = 1;
- }
- } else iA(0, d, e, f);
- } while (0);
- return;
- }
- function fA(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- if (gA(a, c[(b + 8) >> 2] | 0, 0) | 0) hA(0, b, d, e);
- return;
- }
- function gA(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- return ((a | 0) == (b | 0)) | 0;
- }
- function hA(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0;
- b = (d + 16) | 0;
- g = c[b >> 2] | 0;
- do {
- if (g) {
- if ((g | 0) != (e | 0)) {
- h = (d + 36) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + 1;
- c[(d + 24) >> 2] = 2;
- a[(d + 54) >> 0] = 1;
- break;
- }
- h = (d + 24) | 0;
- if ((c[h >> 2] | 0) == 2) c[h >> 2] = f;
- } else {
- c[b >> 2] = e;
- c[(d + 24) >> 2] = f;
- c[(d + 36) >> 2] = 1;
- }
- } while (0);
- return;
- }
- function iA(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- if (
- (c[(b + 4) >> 2] | 0) == (d | 0)
- ? ((d = (b + 28) | 0), (c[d >> 2] | 0) != 1)
- : 0
- )
- c[d >> 2] = e;
- return;
- }
- function jA(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0;
- a[(d + 53) >> 0] = 1;
- do {
- if ((c[(d + 4) >> 2] | 0) == (f | 0)) {
- a[(d + 52) >> 0] = 1;
- b = (d + 16) | 0;
- h = c[b >> 2] | 0;
- if (!h) {
- c[b >> 2] = e;
- c[(d + 24) >> 2] = g;
- c[(d + 36) >> 2] = 1;
- if (!((g | 0) == 1 ? (c[(d + 48) >> 2] | 0) == 1 : 0))
- break;
- a[(d + 54) >> 0] = 1;
- break;
- }
- if ((h | 0) != (e | 0)) {
- h = (d + 36) | 0;
- c[h >> 2] = (c[h >> 2] | 0) + 1;
- a[(d + 54) >> 0] = 1;
- break;
- }
- h = (d + 24) | 0;
- b = c[h >> 2] | 0;
- if ((b | 0) == 2) {
- c[h >> 2] = g;
- i = g;
- } else i = b;
- if ((i | 0) == 1 ? (c[(d + 48) >> 2] | 0) == 1 : 0)
- a[(d + 54) >> 0] = 1;
- }
- } while (0);
- return;
- }
- function kA(d, e, f, g) {
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- h = l;
- l = (l + 64) | 0;
- i = h;
- j = c[d >> 2] | 0;
- k = (d + (c[(j + -8) >> 2] | 0)) | 0;
- m = c[(j + -4) >> 2] | 0;
- c[i >> 2] = f;
- c[(i + 4) >> 2] = d;
- c[(i + 8) >> 2] = e;
- c[(i + 12) >> 2] = g;
- g = (i + 16) | 0;
- e = (i + 20) | 0;
- d = (i + 24) | 0;
- j = (i + 28) | 0;
- n = (i + 32) | 0;
- o = (i + 40) | 0;
- p = g;
- q = (p + 36) | 0;
- do {
- c[p >> 2] = 0;
- p = (p + 4) | 0;
- } while ((p | 0) < (q | 0));
- b[(g + 36) >> 1] = 0;
- a[(g + 38) >> 0] = 0;
- a: do {
- if (gA(m, f, 0) | 0) {
- c[(i + 48) >> 2] = 1;
- Bc[c[((c[m >> 2] | 0) + 20) >> 2] & 3](m, i, k, k, 1, 0);
- r = (c[d >> 2] | 0) == 1 ? k : 0;
- } else {
- Ac[c[((c[m >> 2] | 0) + 24) >> 2] & 3](m, i, k, 1, 0);
- switch (c[(i + 36) >> 2] | 0) {
- case 0: {
- r =
- ((c[o >> 2] | 0) == 1) &
- ((c[j >> 2] | 0) == 1) &
- ((c[n >> 2] | 0) == 1)
- ? c[e >> 2] | 0
- : 0;
- break a;
- break;
- }
- case 1:
- break;
- default: {
- r = 0;
- break a;
- }
- }
- if (
- (c[d >> 2] | 0) != 1
- ? !(
- ((c[o >> 2] | 0) == 0) &
- ((c[j >> 2] | 0) == 1) &
- ((c[n >> 2] | 0) == 1)
- )
- : 0
- ) {
- r = 0;
- break;
- }
- r = c[g >> 2] | 0;
- }
- } while (0);
- l = h;
- return r | 0;
- }
- function lA(a) {
- a = a | 0;
- _z(a);
- Vz(a);
- return;
- }
- function mA(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0;
- if (gA(a, c[(b + 8) >> 2] | 0, g) | 0) jA(0, b, d, e, f);
- else {
- h = c[(a + 8) >> 2] | 0;
- Bc[c[((c[h >> 2] | 0) + 20) >> 2] & 3](h, b, d, e, f, g);
- }
- return;
- }
- function nA(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0;
- do {
- if (!(gA(b, c[(d + 8) >> 2] | 0, g) | 0)) {
- if (!(gA(b, c[d >> 2] | 0, g) | 0)) {
- h = c[(b + 8) >> 2] | 0;
- Ac[c[((c[h >> 2] | 0) + 24) >> 2] & 3](h, d, e, f, g);
- break;
- }
- if (
- (c[(d + 16) >> 2] | 0) != (e | 0)
- ? ((h = (d + 20) | 0), (c[h >> 2] | 0) != (e | 0))
- : 0
- ) {
- c[(d + 32) >> 2] = f;
- i = (d + 44) | 0;
- if ((c[i >> 2] | 0) == 4) break;
- j = (d + 52) | 0;
- a[j >> 0] = 0;
- k = (d + 53) | 0;
- a[k >> 0] = 0;
- l = c[(b + 8) >> 2] | 0;
- Bc[c[((c[l >> 2] | 0) + 20) >> 2] & 3](
- l,
- d,
- e,
- e,
- 1,
- g
- );
- if (a[k >> 0] | 0) {
- if (!(a[j >> 0] | 0)) {
- m = 1;
- n = 11;
- } else n = 15;
- } else {
- m = 0;
- n = 11;
- }
- do {
- if ((n | 0) == 11) {
- c[h >> 2] = e;
- j = (d + 40) | 0;
- c[j >> 2] = (c[j >> 2] | 0) + 1;
- if (
- (c[(d + 36) >> 2] | 0) == 1
- ? (c[(d + 24) >> 2] | 0) == 2
- : 0
- ) {
- a[(d + 54) >> 0] = 1;
- if (m) {
- n = 15;
- break;
- } else {
- o = 4;
- break;
- }
- }
- if (m) n = 15;
- else o = 4;
- }
- } while (0);
- if ((n | 0) == 15) o = 3;
- c[i >> 2] = o;
- break;
- }
- if ((f | 0) == 1) c[(d + 32) >> 2] = 1;
- } else iA(0, d, e, f);
- } while (0);
- return;
- }
- function oA(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0;
- if (gA(a, c[(b + 8) >> 2] | 0, 0) | 0) hA(0, b, d, e);
- else {
- f = c[(a + 8) >> 2] | 0;
- zc[c[((c[f >> 2] | 0) + 28) >> 2] & 7](f, b, d, e);
- }
- return;
- }
- function pA(a) {
- a = a | 0;
- return;
- }
- function qA() {
- var a = 0;
- a = l;
- l = (l + 16) | 0;
- if (!(qb(22252, 72) | 0)) {
- l = a;
- return;
- } else Zz(18265, a);
- }
- function rA(a) {
- a = a | 0;
- var b = 0;
- b = l;
- l = (l + 16) | 0;
- Dy(a);
- if (!(sb(c[5563] | 0, 0) | 0)) {
- l = b;
- return;
- } else Zz(18315, b);
- }
- function sA() {
- var a = 0,
- b = 0;
- a = Yz() | 0;
- if (
- (a | 0 ? ((b = c[a >> 2] | 0), b | 0) : 0)
- ? ((a = (b + 48) | 0),
- ((c[a >> 2] & -256) | 0) == 1126902528
- ? (c[(a + 4) >> 2] | 0) == 1129074247
- : 0)
- : 0
- )
- tA(c[(b + 12) >> 2] | 0);
- tA(uA() | 0);
- }
- function tA(a) {
- a = a | 0;
- var b = 0;
- b = l;
- l = (l + 16) | 0;
- vc[a & 3]();
- Zz(18368, b);
- }
- function uA() {
- var a = 0;
- a = c[3162] | 0;
- c[3162] = a + 0;
- return a | 0;
- }
- function vA(a) {
- a = a | 0;
- return;
- }
- function wA(a) {
- a = a | 0;
- _z(a);
- Vz(a);
- return;
- }
- function xA(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- return gA(a, b, 0) | 0;
- }
- function yA(a) {
- a = a | 0;
- _z(a);
- Vz(a);
- return;
- }
- function zA(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- e = l;
- l = (l + 64) | 0;
- f = e;
- c[d >> 2] = c[c[d >> 2] >> 2];
- if (!(AA(a, b, 0) | 0)) {
- if (
- (
- (b | 0) != 0
- ? ((g = kA(b, 10840, 10896, 0) | 0), (g | 0) != 0)
- : 0
- )
- ? ((c[(g + 8) >> 2] & ~c[(a + 8) >> 2]) | 0) == 0
- : 0
- ) {
- b = (a + 12) | 0;
- a = (g + 12) | 0;
- if (
- !(gA(c[b >> 2] | 0, c[a >> 2] | 0, 0) | 0)
- ? !(gA(c[b >> 2] | 0, 10928, 0) | 0)
- : 0
- ) {
- g = c[b >> 2] | 0;
- if (
- (
- (
- (g | 0) != 0
- ? ((b = kA(g, 10840, 10824, 0) | 0),
- (b | 0) != 0)
- : 0
- )
- ? ((g = c[a >> 2] | 0), (g | 0) != 0)
- : 0
- )
- ? ((a = kA(g, 10840, 10824, 0) | 0), (a | 0) != 0)
- : 0
- ) {
- g = (f + 4) | 0;
- h = (g + 52) | 0;
- do {
- c[g >> 2] = 0;
- g = (g + 4) | 0;
- } while ((g | 0) < (h | 0));
- c[f >> 2] = a;
- c[(f + 8) >> 2] = b;
- c[(f + 12) >> 2] = -1;
- c[(f + 48) >> 2] = 1;
- zc[c[((c[a >> 2] | 0) + 28) >> 2] & 7](
- a,
- f,
- c[d >> 2] | 0,
- 1
- );
- if ((c[(f + 24) >> 2] | 0) == 1) {
- c[d >> 2] = c[(f + 16) >> 2];
- i = 1;
- } else i = 0;
- j = i;
- } else j = 0;
- } else j = 1;
- } else j = 0;
- } else j = 1;
- l = e;
- return j | 0;
- }
- function AA(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- var d = 0;
- if (gA(a, b, 0) | 0) d = 1;
- else d = gA(b, 10936, 0) | 0;
- return d | 0;
- }
- function BA(a) {
- a = a | 0;
- _z(a);
- Vz(a);
- return;
- }
- function CA(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- return 0;
- }
- function DA(a) {
- a = a | 0;
- _z(a);
- Vz(a);
- return;
- }
- function EA(b, d, e, f, g, h) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- if (gA(b, c[(d + 8) >> 2] | 0, h) | 0) jA(0, d, e, f, g);
- else {
- i = (d + 52) | 0;
- j = a[i >> 0] | 0;
- k = (d + 53) | 0;
- l = a[k >> 0] | 0;
- m = c[(b + 12) >> 2] | 0;
- n = (b + 16 + (m << 3)) | 0;
- a[i >> 0] = 0;
- a[k >> 0] = 0;
- IA((b + 16) | 0, d, e, f, g, h);
- a: do {
- if ((m | 0) > 1) {
- o = (d + 24) | 0;
- p = (b + 8) | 0;
- q = (d + 54) | 0;
- r = (b + 24) | 0;
- do {
- if (a[q >> 0] | 0) break a;
- if (!(a[i >> 0] | 0)) {
- if (a[k >> 0] | 0 ? ((c[p >> 2] & 1) | 0) == 0 : 0)
- break a;
- } else {
- if ((c[o >> 2] | 0) == 1) break a;
- if (!(c[p >> 2] & 2)) break a;
- }
- a[i >> 0] = 0;
- a[k >> 0] = 0;
- IA(r, d, e, f, g, h);
- r = (r + 8) | 0;
- } while (r >>> 0 < n >>> 0);
- }
- } while (0);
- a[i >> 0] = j;
- a[k >> 0] = l;
- }
- return;
- }
- function FA(b, d, e, f, g) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- a: do {
- if (!(gA(b, c[(d + 8) >> 2] | 0, g) | 0)) {
- if (!(gA(b, c[d >> 2] | 0, g) | 0)) {
- h = c[(b + 12) >> 2] | 0;
- i = (b + 16 + (h << 3)) | 0;
- JA((b + 16) | 0, d, e, f, g);
- j = (b + 24) | 0;
- if ((h | 0) <= 1) break;
- h = c[(b + 8) >> 2] | 0;
- if (
- ((h & 2) | 0) == 0
- ? ((k = (d + 36) | 0), (c[k >> 2] | 0) != 1)
- : 0
- ) {
- if (!(h & 1)) {
- h = (d + 54) | 0;
- l = j;
- while (1) {
- if (a[h >> 0] | 0) break a;
- if ((c[k >> 2] | 0) == 1) break a;
- JA(l, d, e, f, g);
- l = (l + 8) | 0;
- if (l >>> 0 >= i >>> 0) break a;
- }
- }
- l = (d + 24) | 0;
- h = (d + 54) | 0;
- m = j;
- while (1) {
- if (a[h >> 0] | 0) break a;
- if ((c[k >> 2] | 0) == 1 ? (c[l >> 2] | 0) == 1 : 0)
- break a;
- JA(m, d, e, f, g);
- m = (m + 8) | 0;
- if (m >>> 0 >= i >>> 0) break a;
- }
- }
- m = (d + 54) | 0;
- l = j;
- while (1) {
- if (a[m >> 0] | 0) break a;
- JA(l, d, e, f, g);
- l = (l + 8) | 0;
- if (l >>> 0 >= i >>> 0) break a;
- }
- }
- if (
- (c[(d + 16) >> 2] | 0) != (e | 0)
- ? ((i = (d + 20) | 0), (c[i >> 2] | 0) != (e | 0))
- : 0
- ) {
- c[(d + 32) >> 2] = f;
- l = (d + 44) | 0;
- if ((c[l >> 2] | 0) == 4) break;
- m = (b + 16 + (c[(b + 12) >> 2] << 3)) | 0;
- j = (d + 52) | 0;
- k = (d + 53) | 0;
- h = (d + 54) | 0;
- n = (b + 8) | 0;
- o = (d + 24) | 0;
- p = 0;
- q = (b + 16) | 0;
- r = 0;
- b: while (1) {
- if (q >>> 0 >= m >>> 0) {
- s = p;
- t = 18;
- break;
- }
- a[j >> 0] = 0;
- a[k >> 0] = 0;
- IA(q, d, e, e, 1, g);
- if (a[h >> 0] | 0) {
- s = p;
- t = 18;
- break;
- }
- do {
- if (a[k >> 0] | 0) {
- if (!(a[j >> 0] | 0))
- if (!(c[n >> 2] & 1)) {
- s = 1;
- t = 18;
- break b;
- } else {
- u = 1;
- v = r;
- break;
- }
- if ((c[o >> 2] | 0) == 1) {
- t = 23;
- break b;
- }
- if (!(c[n >> 2] & 2)) {
- t = 23;
- break b;
- } else {
- u = 1;
- v = 1;
- }
- } else {
- u = p;
- v = r;
- }
- } while (0);
- p = u;
- q = (q + 8) | 0;
- r = v;
- }
- do {
- if ((t | 0) == 18) {
- if (
- (
- !r
- ? ((c[i >> 2] = e),
- (q = (d + 40) | 0),
- (c[q >> 2] = (c[q >> 2] | 0) + 1),
- (c[(d + 36) >> 2] | 0) == 1)
- : 0
- )
- ? (c[o >> 2] | 0) == 2
- : 0
- ) {
- a[h >> 0] = 1;
- if (s) {
- t = 23;
- break;
- } else {
- w = 4;
- break;
- }
- }
- if (s) t = 23;
- else w = 4;
- }
- } while (0);
- if ((t | 0) == 23) w = 3;
- c[l >> 2] = w;
- break;
- }
- if ((f | 0) == 1) c[(d + 32) >> 2] = 1;
- } else iA(0, d, e, f);
- } while (0);
- return;
- }
- function GA(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0;
- a: do {
- if (!(gA(b, c[(d + 8) >> 2] | 0, 0) | 0)) {
- g = c[(b + 12) >> 2] | 0;
- h = (b + 16 + (g << 3)) | 0;
- HA((b + 16) | 0, d, e, f);
- if ((g | 0) > 1) {
- g = (d + 54) | 0;
- i = (b + 24) | 0;
- do {
- HA(i, d, e, f);
- if (a[g >> 0] | 0) break a;
- i = (i + 8) | 0;
- } while (i >>> 0 < h >>> 0);
- }
- } else hA(0, d, e, f);
- } while (0);
- return;
- }
- function HA(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- f = c[(a + 4) >> 2] | 0;
- g = f >> 8;
- if (!(f & 1)) h = g;
- else h = c[((c[d >> 2] | 0) + g) >> 2] | 0;
- g = c[a >> 2] | 0;
- zc[c[((c[g >> 2] | 0) + 28) >> 2] & 7](
- g,
- b,
- (d + h) | 0,
- ((f & 2) | 0) == 0 ? 2 : e
- );
- return;
- }
- function IA(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0;
- h = c[(a + 4) >> 2] | 0;
- i = h >> 8;
- if (!(h & 1)) j = i;
- else j = c[((c[e >> 2] | 0) + i) >> 2] | 0;
- i = c[a >> 2] | 0;
- Bc[c[((c[i >> 2] | 0) + 20) >> 2] & 3](
- i,
- b,
- d,
- (e + j) | 0,
- ((h & 2) | 0) == 0 ? 2 : f,
- g
- );
- return;
- }
- function JA(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0;
- g = c[(a + 4) >> 2] | 0;
- h = g >> 8;
- if (!(g & 1)) i = h;
- else i = c[((c[d >> 2] | 0) + h) >> 2] | 0;
- h = c[a >> 2] | 0;
- Ac[c[((c[h >> 2] | 0) + 24) >> 2] & 3](
- h,
- b,
- (d + i) | 0,
- ((g & 2) | 0) == 0 ? 2 : e,
- f
- );
- return;
- }
- function KA(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0;
- g = l;
- l = (l + 4192) | 0;
- h = (g + 4176) | 0;
- i = g;
- j = (g + 4112) | 0;
- if (
- (b | 0) != 0
- ? ((k = (d | 0) != 0), (m = (e | 0) == 0), !(k & m))
- : 0
- ) {
- if (k) n = c[e >> 2] | 0;
- else n = 0;
- LA(i);
- MA(j, i);
- k = (j + 48) | 0;
- o = (j + 61) | 0;
- c[k >> 2] = 0;
- c[(k + 4) >> 2] = 0;
- c[(k + 8) >> 2] = 0;
- a[(k + 12) >> 0] = 0;
- a[o >> 0] = 1;
- k = (j + 32) | 0;
- p = (j + 36) | 0;
- q = c[p >> 2] | 0;
- if (q >>> 0 < (c[(j + 40) >> 2] | 0) >>> 0) {
- NA(h, i);
- c[q >> 2] = 0;
- c[(q + 4) >> 2] = 0;
- c[(q + 8) >> 2] = 0;
- c[(q + 12) >> 2] = c[h >> 2];
- c[p >> 2] = (c[p >> 2] | 0) + 16;
- } else OA(k, i);
- q = (j + 62) | 0;
- a[q >> 0] = 0;
- a[(j + 63) >> 0] = 1;
- c[h >> 2] = 0;
- r = (b + (Ty(b) | 0)) | 0;
- PA(b, r, j, h);
- s = c[h >> 2] | 0;
- do {
- if (!(((s | 0) != 0) | ((a[q >> 0] | 0) == 0))) {
- t = c[k >> 2] | 0;
- if (
- (t | 0) != (c[p >> 2] | 0)
- ? (c[t >> 2] | 0) != (c[(t + 4) >> 2] | 0)
- : 0
- ) {
- a[q >> 0] = 0;
- a[o >> 0] = 0;
- t = c[j >> 2] | 0;
- u = (j + 4) | 0;
- v = c[u >> 2] | 0;
- while (1) {
- if ((v | 0) == (t | 0)) break;
- w = (v + -24) | 0;
- QA(w);
- v = w;
- }
- c[u >> 2] = t;
- v = c[(j + 16) >> 2] | 0;
- w = (j + 20) | 0;
- x = c[w >> 2] | 0;
- while (1) {
- if ((x | 0) == (v | 0)) break;
- y = (x + -16) | 0;
- RA(y);
- x = y;
- }
- c[w >> 2] = v;
- PA(b, r, j, h);
- if (!(a[q >> 0] | 0)) {
- z = c[h >> 2] | 0;
- A = 22;
- break;
- } else {
- c[h >> 2] = -2;
- B = 0;
- C = -2;
- break;
- }
- } else A = 23;
- } else {
- z = s;
- A = 22;
- }
- } while (0);
- if ((A | 0) == 22)
- if (!z) A = 23;
- else {
- B = 0;
- C = z;
- }
- do {
- if ((A | 0) == 23) {
- z = (j + 4) | 0;
- s = SA(((c[z >> 2] | 0) + -24) | 0) | 0;
- q = (s + 1) | 0;
- if (q >>> 0 > n >>> 0) {
- r = Fy(d, q) | 0;
- if (!r) {
- c[h >> 2] = -1;
- B = 0;
- C = -1;
- break;
- }
- if (m) D = r;
- else {
- c[e >> 2] = q;
- D = r;
- }
- } else if (!d) {
- B = 0;
- C = 0;
- break;
- } else D = d;
- r = c[z >> 2] | 0;
- q = (r + -12) | 0;
- b = a[(q + 11) >> 0] | 0;
- o = (b << 24) >> 24 < 0;
- TA(
- (r + -24) | 0,
- o ? c[q >> 2] | 0 : q,
- o ? c[(r + -8) >> 2] | 0 : b & 255
- ) | 0;
- b = ((c[z >> 2] | 0) + -24) | 0;
- if ((a[(b + 11) >> 0] | 0) < 0) E = c[b >> 2] | 0;
- else E = b;
- mE(D | 0, E | 0, s | 0) | 0;
- a[(D + s) >> 0] = 0;
- B = D;
- C = 0;
- }
- } while (0);
- if (f | 0) c[f >> 2] = C;
- UA(j);
- VA(i);
- F = B;
- } else if (!f) F = 0;
- else {
- c[f >> 2] = -3;
- F = 0;
- }
- l = g;
- return F | 0;
- }
- function LA(a) {
- a = a | 0;
- c[(a + 4096) >> 2] = a;
- return;
- }
- function MA(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- SD(e, b);
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- c[(a + 12) >> 2] = c[e >> 2];
- NA(e, b);
- TD((a + 16) | 0, e);
- UD(e, b);
- VD((a + 32) | 0, e);
- l = d;
- return;
- }
- function NA(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = b;
- return;
- }
- function OA(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 20) | 0;
- f = d;
- g = (a + 4) | 0;
- h = ((((c[g >> 2] | 0) - (c[a >> 2] | 0)) >> 4) + 1) | 0;
- i = qD(a) | 0;
- if (i >>> 0 < h >>> 0) Wz(a);
- else {
- j = c[a >> 2] | 0;
- k = ((c[(a + 8) >> 2] | 0) - j) | 0;
- m = k >> 3;
- rD(
- f,
- (k >> 4) >>> 0 < (i >>> 1) >>> 0
- ? m >>> 0 < h >>> 0
- ? h
- : m
- : i,
- ((c[g >> 2] | 0) - j) >> 4,
- (a + 12) | 0
- );
- j = (f + 8) | 0;
- g = c[j >> 2] | 0;
- NA(e, b);
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- c[(g + 12) >> 2] = c[e >> 2];
- c[j >> 2] = g + 16;
- sD(a, f);
- tD(f);
- l = d;
- return;
- }
- }
- function PA(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- a: do {
- if (b >>> 0 < d >>> 0) {
- b: do {
- if ((a[b >> 0] | 0) != 95) {
- if ((mB(b, d, e) | 0) != (d | 0)) {
- c[f >> 2] = -2;
- break a;
- }
- } else {
- if (((d - b) | 0) <= 3) {
- c[f >> 2] = -2;
- break a;
- }
- switch (a[(b + 1) >> 0] | 0) {
- case 90: {
- g = (b + 2) | 0;
- h = jB(g, d, e) | 0;
- if (
- !(((h | 0) == (g | 0)) | ((h | 0) == (d | 0)))
- ? (a[h >> 0] | 0) == 46
- : 0
- )
- i = kB(h, d, e) | 0;
- else i = h;
- if ((i | 0) == (d | 0)) break b;
- c[f >> 2] = -2;
- break a;
- break;
- }
- case 95: {
- j = 11;
- break;
- }
- default: {
- }
- }
- if (
- ((j | 0) == 11 ? (a[(b + 2) >> 0] | 0) == 95 : 0)
- ? (a[(b + 3) >> 0] | 0) == 90
- : 0
- ) {
- h = (b + 4) | 0;
- g = jB(h, d, e) | 0;
- if (((g | 0) == (h | 0)) | ((g | 0) == (d | 0))) {
- c[f >> 2] = -2;
- break a;
- }
- if ((lB(g, d, e) | 0) == (d | 0)) break;
- c[f >> 2] = -2;
- break a;
- }
- c[f >> 2] = -2;
- break a;
- }
- } while (0);
- if (
- (c[f >> 2] | 0) == 0
- ? (c[e >> 2] | 0) == (c[(e + 4) >> 2] | 0)
- : 0
- )
- c[f >> 2] = -2;
- } else c[f >> 2] = -2;
- } while (0);
- return;
- }
- function QA(a) {
- a = a | 0;
- iB((a + 12) | 0);
- iB(a);
- return;
- }
- function RA(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = c[a >> 2] | 0;
- if (b | 0) {
- d = (a + 4) | 0;
- e = c[d >> 2] | 0;
- while (1) {
- if ((e | 0) == (b | 0)) break;
- f = (e + -24) | 0;
- QA(f);
- e = f;
- }
- c[d >> 2] = b;
- b = c[a >> 2] | 0;
- hB(
- (a + 12) | 0,
- b,
- ((((c[(a + 8) >> 2] | 0) - b) | 0) / 24) | 0
- );
- }
- return;
- }
- function SA(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = a[(b + 11) >> 0] | 0;
- if ((d << 24) >> 24 < 0) e = c[(b + 4) >> 2] | 0;
- else e = d & 255;
- d = a[(b + 12 + 11) >> 0] | 0;
- if ((d << 24) >> 24 < 0) f = c[(b + 16) >> 2] | 0;
- else f = d & 255;
- return (f + e) | 0;
- }
- function TA(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (b + 11) | 0;
- i = a[h >> 0] | 0;
- j = (i << 24) >> 24 < 0;
- if (j) {
- k = c[(b + 4) >> 2] | 0;
- m = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
- } else {
- k = i & 255;
- m = 10;
- }
- if (((m - k) | 0) >>> 0 >= e >>> 0) {
- if (e | 0) {
- if (j) n = c[b >> 2] | 0;
- else n = b;
- bB((n + k) | 0, d, e) | 0;
- j = (k + e) | 0;
- if ((a[h >> 0] | 0) < 0) c[(b + 4) >> 2] = j;
- else a[h >> 0] = j;
- a[g >> 0] = 0;
- cB((n + j) | 0, g);
- }
- } else dB(b, m, (k + e - m) | 0, k, k, 0, e, d);
- l = f;
- return b | 0;
- }
- function UA(a) {
- a = a | 0;
- WA((a + 32) | 0);
- XA((a + 16) | 0);
- RA(a);
- return;
- }
- function VA(a) {
- a = a | 0;
- c[(a + 4096) >> 2] = 0;
- return;
- }
- function WA(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = c[a >> 2] | 0;
- if (b | 0) {
- d = (a + 4) | 0;
- e = c[d >> 2] | 0;
- while (1) {
- if ((e | 0) == (b | 0)) break;
- f = (e + -16) | 0;
- XA(f);
- e = f;
- }
- c[d >> 2] = b;
- b = c[a >> 2] | 0;
- aB((a + 12) | 0, b, ((c[(a + 8) >> 2] | 0) - b) >> 4);
- }
- return;
- }
- function XA(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = c[a >> 2] | 0;
- if (b | 0) {
- d = (a + 4) | 0;
- e = c[d >> 2] | 0;
- while (1) {
- if ((e | 0) == (b | 0)) break;
- f = (e + -16) | 0;
- RA(f);
- e = f;
- }
- c[d >> 2] = b;
- b = c[a >> 2] | 0;
- YA((a + 12) | 0, b, ((c[(a + 8) >> 2] | 0) - b) >> 4);
- }
- return;
- }
- function YA(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- ZA(c[a >> 2] | 0, b, d << 4);
- return;
- }
- function ZA(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0;
- if (_A(a, b) | 0) {
- e = (b + ($A(d) | 0)) | 0;
- d = (a + 4096) | 0;
- if ((e | 0) == (c[d >> 2] | 0)) c[d >> 2] = b;
- } else Dy(b);
- return;
- }
- function _A(a, b) {
- a = a | 0;
- b = b | 0;
- return (
- ((((a + 4096) | 0) >>> 0 >= b >>> 0) &
- (a >>> 0 <= b >>> 0)) |
- 0
- );
- }
- function $A(a) {
- a = a | 0;
- return ((a + 15) & -16) | 0;
- }
- function aB(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- ZA(c[a >> 2] | 0, b, d << 4);
- return;
- }
- function bB(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- if (c | 0) mE(a | 0, b | 0, c | 0) | 0;
- return a | 0;
- }
- function cB(b, c) {
- b = b | 0;
- c = c | 0;
- a[b >> 0] = a[c >> 0] | 0;
- return;
- }
- function dB(b, d, e, f, g, h, i, j) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- i = i | 0;
- j = j | 0;
- var k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0;
- k = l;
- l = (l + 16) | 0;
- m = k;
- if (((-18 - d) | 0) >>> 0 < e >>> 0) eB(b);
- if ((a[(b + 11) >> 0] | 0) < 0) n = c[b >> 2] | 0;
- else n = b;
- if (d >>> 0 < 2147483623) {
- o = (e + d) | 0;
- e = d << 1;
- p = o >>> 0 < e >>> 0 ? e : o;
- q = p >>> 0 < 11 ? 11 : (p + 16) & -16;
- } else q = -17;
- p = fB(q) | 0;
- if (g | 0) bB(p, n, g) | 0;
- if (i | 0) bB((p + g) | 0, j, i) | 0;
- j = (f - h) | 0;
- f = (j - g) | 0;
- if (f | 0) bB((p + g + i) | 0, (n + g + h) | 0, f) | 0;
- if ((d | 0) != 10) gB(n);
- c[b >> 2] = p;
- c[(b + 8) >> 2] = q | -2147483648;
- q = (j + i) | 0;
- c[(b + 4) >> 2] = q;
- a[m >> 0] = 0;
- cB((p + q) | 0, m);
- l = k;
- return;
- }
- function eB(a) {
- a = a | 0;
- lb();
- }
- function fB(a) {
- a = a | 0;
- return Cy(a) | 0;
- }
- function gB(a) {
- a = a | 0;
- Dy(a);
- return;
- }
- function hB(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- ZA(c[a >> 2] | 0, b, (d * 24) | 0);
- return;
- }
- function iB(b) {
- b = b | 0;
- if ((a[(b + 11) >> 0] | 0) < 0) gB(c[b >> 2] | 0);
- return;
- }
- function jB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 48) | 0;
- h = (f + 40) | 0;
- i = (f + 32) | 0;
- j = (f + 24) | 0;
- k = (f + 12) | 0;
- m = f;
- if ((b | 0) != (d | 0)) {
- n = (e + 56) | 0;
- MD(h, n);
- c[n >> 2] = (c[n >> 2] | 0) + 1;
- o = (e + 61) | 0;
- ND(i, o);
- if ((c[n >> 2] | 0) >>> 0 > 1) a[o >> 0] = 1;
- a: do {
- switch (a[b >> 0] | 0) {
- case 84:
- case 71: {
- p = OD(b, d, e) | 0;
- q = 1;
- break;
- }
- default: {
- n = MB(b, d, e) | 0;
- r = c[(e + 48) >> 2] | 0;
- s = c[(e + 52) >> 2] | 0;
- b: do {
- if ((n | 0) != (b | 0)) {
- if ((n | 0) != (d | 0)) {
- switch (a[n >> 0] | 0) {
- case 46:
- case 69: {
- t = n;
- break b;
- break;
- }
- default: {
- }
- }
- ND(j, o);
- a[o >> 0] = 0;
- c[k >> 2] = 0;
- c[(k + 4) >> 2] = 0;
- c[(k + 8) >> 2] = 0;
- u = 0;
- while (1) {
- if ((u | 0) == 3) break;
- c[(k + (u << 2)) >> 2] = 0;
- u = (u + 1) | 0;
- }
- u = (e + 4) | 0;
- v = c[u >> 2] | 0;
- c: do {
- if ((c[e >> 2] | 0) != (v | 0)) {
- w = (v + -24) | 0;
- x = a[(w + 11) >> 0] | 0;
- y = (x << 24) >> 24 < 0;
- if (y) z = c[(v + -20) >> 2] | 0;
- else z = x & 255;
- if (z) {
- if (!(a[(e + 60) >> 0] | 0)) {
- if (y) {
- A = c[w >> 2] | 0;
- B = c[(v + -20) >> 2] | 0;
- } else {
- A = w;
- B = x & 255;
- }
- if ((a[(A + B + -1) >> 0] | 0) == 62) {
- if (y) {
- C = c[(v + -20) >> 2] | 0;
- D = c[w >> 2] | 0;
- } else {
- C = x & 255;
- D = w;
- }
- if (
- (a[(D + (C + -2)) >> 0] | 0) !=
- 45
- ) {
- if (y) {
- E = c[(v + -20) >> 2] | 0;
- F = c[w >> 2] | 0;
- } else {
- E = x & 255;
- F = w;
- }
- if (
- (a[(F + (E + -2)) >> 0] | 0) !=
- 62
- ) {
- x = mB(n, d, e) | 0;
- if ((x | 0) == (n | 0)) {
- G = b;
- H = 0;
- break;
- }
- y = c[u >> 2] | 0;
- I = y;
- if (
- ((((y - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0) >>>
- 0 <
- 2
- ) {
- G = b;
- H = 0;
- break;
- }
- y = (I + -24) | 0;
- c[m >> 2] = c[y >> 2];
- c[(m + 4) >> 2] = c[(y + 4) >> 2];
- c[(m + 8) >> 2] = c[(y + 8) >> 2];
- J = 0;
- while (1) {
- if ((J | 0) == 3) break;
- c[(y + (J << 2)) >> 2] = 0;
- J = (J + 1) | 0;
- }
- J = (I + -12) | 0;
- y = (k + 11) | 0;
- if ((a[y >> 0] | 0) < 0) {
- K = c[k >> 2] | 0;
- a[g >> 0] = 0;
- cB(K, g);
- c[(k + 4) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(k, g);
- a[y >> 0] = 0;
- }
- TB(k);
- c[k >> 2] = c[J >> 2];
- c[(k + 4) >> 2] = c[(J + 4) >> 2];
- c[(k + 8) >> 2] = c[(J + 8) >> 2];
- K = 0;
- while (1) {
- if ((K | 0) == 3) break;
- c[(J + (K << 2)) >> 2] = 0;
- K = (K + 1) | 0;
- }
- K = a[y >> 0] | 0;
- if (
- !(
- ((K << 24) >> 24 < 0
- ? c[(k + 4) >> 2] | 0
- : K & 255) | 0
- )
- )
- NC(m, 32);
- K = c[u >> 2] | 0;
- J = 0;
- while (1) {
- if ((J | 0) == -1) break;
- I = (J + -1) | 0;
- QA((K + ((I * 24) | 0)) | 0);
- J = I;
- }
- c[u >> 2] = K + -24;
- J = a[(m + 11) >> 0] | 0;
- y = (J << 24) >> 24 < 0;
- zD(
- (K + -48) | 0,
- 0,
- y ? c[m >> 2] | 0 : m,
- y
- ? c[(m + 4) >> 2] | 0
- : J & 255
- ) | 0;
- iB(m);
- L = x;
- M = ((c[u >> 2] | 0) + -24) | 0;
- } else {
- L = n;
- M = w;
- }
- } else {
- L = n;
- M = w;
- }
- } else {
- L = n;
- M = w;
- }
- } else {
- L = n;
- M = w;
- }
- NC(M, 40);
- if (
- (L | 0) != (d | 0)
- ? (a[L >> 0] | 0) == 118
- : 0
- ) {
- N = (L + 1) | 0;
- O = c[e >> 2] | 0;
- P = c[u >> 2] | 0;
- } else Q = 50;
- do {
- if ((Q | 0) == 50) {
- J = (g + 11) | 0;
- y = (g + 4) | 0;
- I = (m + 11) | 0;
- R = (m + 4) | 0;
- S = 1;
- T = L;
- d: while (1) {
- U = T;
- while (1) {
- V =
- ((((c[u >> 2] | 0) -
- (c[e >> 2] | 0)) |
- 0) /
- 24) |
- 0;
- W = mB(U, d, e) | 0;
- X = c[u >> 2] | 0;
- Y = c[e >> 2] | 0;
- Z = (((X - Y) | 0) / 24) | 0;
- if ((W | 0) == (U | 0)) {
- Q = 74;
- break d;
- }
- if (Z >>> 0 > V >>> 0) break;
- else U = W;
- }
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- _ = 0;
- while (1) {
- if ((_ | 0) == 3) break;
- c[(g + (_ << 2)) >> 2] = 0;
- _ = (_ + 1) | 0;
- }
- _ = V;
- while (1) {
- if (_ >>> 0 >= Z >>> 0) break;
- $ = a[J >> 0] | 0;
- if (
- (($ << 24) >> 24 < 0
- ? c[y >> 2] | 0
- : $ & 255) | 0
- )
- qB(g, 18897) | 0;
- FB(
- m,
- ((c[e >> 2] | 0) +
- ((_ * 24) | 0)) |
- 0
- );
- $ = a[I >> 0] | 0;
- aa = ($ << 24) >> 24 < 0;
- TA(
- g,
- aa ? c[m >> 2] | 0 : m,
- aa ? c[R >> 2] | 0 : $ & 255
- ) | 0;
- iB(m);
- _ = (_ + 1) | 0;
- }
- _ = V;
- while (1) {
- if (_ >>> 0 >= Z >>> 0) break;
- $ = c[u >> 2] | 0;
- aa = 0;
- while (1) {
- if ((aa | 0) == -1) break;
- ba = (aa + -1) | 0;
- QA(($ + ((ba * 24) | 0)) | 0);
- aa = ba;
- }
- c[u >> 2] = $ + -24;
- _ = (_ + 1) | 0;
- }
- _ = a[J >> 0] | 0;
- aa = c[y >> 2] | 0;
- ba = _ & 255;
- if (
- !(
- ((_ << 24) >> 24 < 0
- ? aa
- : ba) | 0
- )
- )
- ca = S;
- else {
- da = c[u >> 2] | 0;
- if ((c[e >> 2] | 0) == (da | 0)) {
- Q = 86;
- break;
- }
- if (S) {
- ea = ba;
- fa = da;
- ga = _;
- ha = aa;
- } else {
- qB((da + -24) | 0, 18897) | 0;
- da = a[J >> 0] | 0;
- ea = da & 255;
- fa = c[u >> 2] | 0;
- ga = da;
- ha = c[y >> 2] | 0;
- }
- da = (ga << 24) >> 24 < 0;
- TA(
- (fa + -24) | 0,
- da ? c[g >> 2] | 0 : g,
- da ? ha : ea
- ) | 0;
- ca = 0;
- }
- iB(g);
- S = ca;
- T = W;
- }
- if ((Q | 0) == 74) {
- N = U;
- O = Y;
- P = X;
- break;
- } else if ((Q | 0) == 86) {
- iB(g);
- G = b;
- H = 0;
- break c;
- }
- }
- } while (0);
- if ((O | 0) != (P | 0)) {
- NC((P + -24) | 0, 41);
- if ((r & 1) | 0)
- qB(
- ((c[u >> 2] | 0) + -24) | 0,
- 18620
- ) | 0;
- if ((r & 2) | 0)
- qB(
- ((c[u >> 2] | 0) + -24) | 0,
- 18627
- ) | 0;
- if ((r & 4) | 0)
- qB(
- ((c[u >> 2] | 0) + -24) | 0,
- 18637
- ) | 0;
- switch (s | 0) {
- case 1: {
- qB(
- ((c[u >> 2] | 0) + -24) | 0,
- 20101
- ) | 0;
- break;
- }
- case 2: {
- qB(
- ((c[u >> 2] | 0) + -24) | 0,
- 20104
- ) | 0;
- break;
- }
- default: {
- }
- }
- w = a[(k + 11) >> 0] | 0;
- x = (w << 24) >> 24 < 0;
- TA(
- ((c[u >> 2] | 0) + -24) | 0,
- x ? c[k >> 2] | 0 : k,
- x ? c[(k + 4) >> 2] | 0 : w & 255
- ) | 0;
- G = N;
- H = 1;
- } else {
- G = b;
- H = 0;
- }
- } else {
- G = b;
- H = 0;
- }
- } else {
- G = b;
- H = 0;
- }
- } while (0);
- iB(k);
- PD(j);
- if (H) t = G;
- else {
- p = G;
- q = 0;
- break a;
- }
- } else t = d;
- } else t = b;
- } while (0);
- p = t;
- q = 1;
- }
- }
- } while (0);
- PD(i);
- QD(h);
- if (q) {
- ia = p;
- Q = 90;
- } else ja = b;
- } else {
- ia = b;
- Q = 90;
- }
- if ((Q | 0) == 90) ja = ia;
- l = f;
- return ja | 0;
- }
- function kB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 24) | 0;
- h = (f + 12) | 0;
- i = f;
- if (
- ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 46 : 0)
- ? ((j = (e + 4) | 0), (c[e >> 2] | 0) != (c[j >> 2] | 0))
- : 0
- ) {
- c[i >> 2] = 0;
- c[(i + 4) >> 2] = 0;
- c[(i + 8) >> 2] = 0;
- QC(i, b, d);
- pB(i, 0, 18670) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- e = 0;
- while (1) {
- if ((e | 0) == 3) break;
- c[(i + (e << 2)) >> 2] = 0;
- e = (e + 1) | 0;
- }
- qB(h, 18673) | 0;
- c[g >> 2] = c[h >> 2];
- c[(g + 4) >> 2] = c[(h + 4) >> 2];
- c[(g + 8) >> 2] = c[(h + 8) >> 2];
- e = 0;
- while (1) {
- if ((e | 0) == 3) break;
- c[(h + (e << 2)) >> 2] = 0;
- e = (e + 1) | 0;
- }
- e = a[(g + 11) >> 0] | 0;
- k = (e << 24) >> 24 < 0;
- TA(
- ((c[j >> 2] | 0) + -24) | 0,
- k ? c[g >> 2] | 0 : g,
- k ? c[(g + 4) >> 2] | 0 : e & 255
- ) | 0;
- iB(g);
- iB(h);
- iB(i);
- m = d;
- } else m = b;
- l = f;
- return m | 0;
- }
- function lB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- a: do {
- if (((d - b) | 0) > 12) {
- f = 0;
- g = b;
- while (1) {
- if (f >>> 0 >= 13) break;
- if ((a[g >> 0] | 0) != (a[(20306 + f) >> 0] | 0)) {
- h = b;
- break a;
- }
- f = (f + 1) | 0;
- g = (g + 1) | 0;
- }
- b: do {
- if ((g | 0) == (d | 0)) i = d;
- else {
- if ((a[g >> 0] | 0) == 95) {
- f = (g + 1) | 0;
- if ((f | 0) == (d | 0)) {
- h = b;
- break a;
- }
- if ((((a[f >> 0] | 0) + -48) | 0) >>> 0 >= 10) {
- h = b;
- break a;
- }
- j = (g + 2) | 0;
- } else j = g;
- f = j;
- while (1) {
- if ((f | 0) == (d | 0)) {
- i = d;
- break b;
- }
- if ((((a[f >> 0] | 0) + -48) | 0) >>> 0 >= 10) {
- i = f;
- break b;
- }
- f = (f + 1) | 0;
- }
- }
- } while (0);
- g = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) != (g | 0)) {
- pB((g + -24) | 0, 0, 20320) | 0;
- h = i;
- } else h = b;
- } else h = b;
- } while (0);
- return h | 0;
- }
- function mB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0;
- f = l;
- l = (l + 144) | 0;
- g = (f + 128) | 0;
- h = (f + 104) | 0;
- i = (f + 40) | 0;
- j = (f + 88) | 0;
- k = (f + 24) | 0;
- m = (f + 76) | 0;
- n = (f + 12) | 0;
- o = f;
- p = (f + 64) | 0;
- a: do {
- if ((b | 0) != (d | 0)) {
- switch (a[b >> 0] | 0) {
- case 75:
- case 86:
- case 114: {
- c[g >> 2] = 0;
- q = nB(b, d, g) | 0;
- b: do {
- if (
- (q | 0) != (b | 0)
- ? ((r = (a[q >> 0] | 0) == 70),
- (s = (e + 4) | 0),
- (t =
- ((((c[s >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0),
- (u = mB(q, d, e) | 0),
- (v =
- ((((c[s >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0),
- (u | 0) != (q | 0))
- : 0
- ) {
- s = (e + 20) | 0;
- w = c[s >> 2] | 0;
- if (r) {
- x = 0;
- while (1) {
- if ((x | 0) == -1) break;
- y = (x + -1) | 0;
- RA((w + (y << 4)) | 0);
- x = y;
- }
- x = (w + -16) | 0;
- c[s >> 2] = x;
- z = x;
- } else z = w;
- x = c[(e + 12) >> 2] | 0;
- c[h >> 2] = x;
- if (z >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[z >> 2] = 0;
- c[(z + 4) >> 2] = 0;
- c[(z + 8) >> 2] = 0;
- c[(z + 12) >> 2] = x;
- c[s >> 2] = (c[s >> 2] | 0) + 16;
- } else oB((e + 16) | 0, h);
- x = c[g >> 2] | 0;
- y = ((x & 1) | 0) == 0;
- A = ((x & 2) | 0) == 0;
- B = ((x & 4) | 0) == 0;
- x = t;
- while (1) {
- if (x >>> 0 >= v >>> 0) {
- C = u;
- break b;
- }
- if (r) {
- D = c[e >> 2] | 0;
- E = (D + ((x * 24) | 0) + 12) | 0;
- F = a[(E + 11) >> 0] | 0;
- G = (F << 24) >> 24 < 0;
- if (G) {
- H = c[(D + ((x * 24) | 0) + 16) >> 2] | 0;
- I = c[E >> 2] | 0;
- } else {
- H = F & 255;
- I = E;
- }
- J = (H + -2) | 0;
- if ((a[(I + J) >> 0] | 0) == 38)
- K = (H + -3) | 0;
- else {
- if (G) {
- L = c[E >> 2] | 0;
- M = c[(D + ((x * 24) | 0) + 16) >> 2] | 0;
- } else {
- L = E;
- M = F & 255;
- }
- K =
- (a[(L + M + -1) >> 0] | 0) == 38 ? J : H;
- }
- if (y) N = K;
- else {
- pB(E, K, 18620) | 0;
- N = (K + 6) | 0;
- }
- if (A) O = N;
- else {
- pB(
- ((c[e >> 2] | 0) + ((x * 24) | 0) + 12) |
- 0,
- N,
- 18627
- ) | 0;
- O = (N + 9) | 0;
- }
- if (!B)
- pB(
- ((c[e >> 2] | 0) + ((x * 24) | 0) + 12) |
- 0,
- O,
- 18637
- ) | 0;
- } else {
- if (!y)
- qB(
- ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0,
- 18620
- ) | 0;
- if (!A)
- qB(
- ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0,
- 18627
- ) | 0;
- if (!B)
- qB(
- ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0,
- 18637
- ) | 0;
- }
- E = c[s >> 2] | 0;
- J = ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0;
- F = (E + -12) | 0;
- D = c[F >> 2] | 0;
- if ((D | 0) == (c[(E + -8) >> 2] | 0))
- sB((E + -16) | 0, J);
- else {
- rB(D, J);
- c[F >> 2] = (c[F >> 2] | 0) + 24;
- }
- x = (x + 1) | 0;
- }
- } else C = b;
- } while (0);
- P = C;
- break a;
- break;
- }
- default: {
- }
- }
- q = tB(b, d, e) | 0;
- if ((q | 0) == (b | 0)) {
- c: do {
- switch (a[b >> 0] | 0) {
- case 65: {
- x = uB(b, d, e) | 0;
- if ((x | 0) == (b | 0)) {
- P = b;
- break a;
- }
- s = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (s | 0)) {
- P = b;
- break a;
- }
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (s + -24) | 0, h);
- s = (e + 20) | 0;
- B = c[s >> 2] | 0;
- if (B >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[B >> 2] = 0;
- A = (B + 4) | 0;
- c[A >> 2] = 0;
- y = (B + 8) | 0;
- c[y >> 2] = 0;
- c[(B + 12) >> 2] = c[(g + 12) >> 2];
- c[B >> 2] = c[g >> 2];
- B = (g + 4) | 0;
- c[A >> 2] = c[B >> 2];
- A = (g + 8) | 0;
- c[y >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- c[B >> 2] = 0;
- c[g >> 2] = 0;
- c[s >> 2] = (c[s >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = x;
- break a;
- break;
- }
- case 67: {
- x = (b + 1) | 0;
- s = mB(x, d, e) | 0;
- if ((s | 0) == (x | 0)) {
- P = b;
- break a;
- }
- x = (e + 4) | 0;
- B = c[x >> 2] | 0;
- if ((c[e >> 2] | 0) == (B | 0)) {
- P = b;
- break a;
- }
- qB((B + -24) | 0, 18647) | 0;
- B = ((c[x >> 2] | 0) + -24) | 0;
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, B, h);
- B = (e + 20) | 0;
- x = c[B >> 2] | 0;
- if (x >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[x >> 2] = 0;
- A = (x + 4) | 0;
- c[A >> 2] = 0;
- y = (x + 8) | 0;
- c[y >> 2] = 0;
- c[(x + 12) >> 2] = c[(g + 12) >> 2];
- c[x >> 2] = c[g >> 2];
- x = (g + 4) | 0;
- c[A >> 2] = c[x >> 2];
- A = (g + 8) | 0;
- c[y >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- c[x >> 2] = 0;
- c[g >> 2] = 0;
- c[B >> 2] = (c[B >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = s;
- break a;
- break;
- }
- case 70: {
- s = xB(b, d, e) | 0;
- if ((s | 0) == (b | 0)) {
- P = b;
- break a;
- }
- B = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (B | 0)) {
- P = b;
- break a;
- }
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (B + -24) | 0, h);
- B = (e + 20) | 0;
- x = c[B >> 2] | 0;
- if (x >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[x >> 2] = 0;
- A = (x + 4) | 0;
- c[A >> 2] = 0;
- y = (x + 8) | 0;
- c[y >> 2] = 0;
- c[(x + 12) >> 2] = c[(g + 12) >> 2];
- c[x >> 2] = c[g >> 2];
- x = (g + 4) | 0;
- c[A >> 2] = c[x >> 2];
- A = (g + 8) | 0;
- c[y >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- c[x >> 2] = 0;
- c[g >> 2] = 0;
- c[B >> 2] = (c[B >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = s;
- break a;
- break;
- }
- case 71: {
- s = (b + 1) | 0;
- B = mB(s, d, e) | 0;
- if ((B | 0) == (s | 0)) {
- P = b;
- break a;
- }
- s = (e + 4) | 0;
- x = c[s >> 2] | 0;
- if ((c[e >> 2] | 0) == (x | 0)) {
- P = b;
- break a;
- }
- qB((x + -24) | 0, 18656) | 0;
- x = ((c[s >> 2] | 0) + -24) | 0;
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, x, h);
- x = (e + 20) | 0;
- s = c[x >> 2] | 0;
- if (s >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[s >> 2] = 0;
- A = (s + 4) | 0;
- c[A >> 2] = 0;
- y = (s + 8) | 0;
- c[y >> 2] = 0;
- c[(s + 12) >> 2] = c[(g + 12) >> 2];
- c[s >> 2] = c[g >> 2];
- s = (g + 4) | 0;
- c[A >> 2] = c[s >> 2];
- A = (g + 8) | 0;
- c[y >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- c[s >> 2] = 0;
- c[g >> 2] = 0;
- c[x >> 2] = (c[x >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = B;
- break a;
- break;
- }
- case 77: {
- B = yB(b, d, e) | 0;
- if ((B | 0) == (b | 0)) {
- P = b;
- break a;
- }
- x = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (x | 0)) {
- P = b;
- break a;
- }
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (x + -24) | 0, h);
- x = (e + 20) | 0;
- s = c[x >> 2] | 0;
- if (s >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[s >> 2] = 0;
- A = (s + 4) | 0;
- c[A >> 2] = 0;
- y = (s + 8) | 0;
- c[y >> 2] = 0;
- c[(s + 12) >> 2] = c[(g + 12) >> 2];
- c[s >> 2] = c[g >> 2];
- s = (g + 4) | 0;
- c[A >> 2] = c[s >> 2];
- A = (g + 8) | 0;
- c[y >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- c[s >> 2] = 0;
- c[g >> 2] = 0;
- c[x >> 2] = (c[x >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = B;
- break a;
- break;
- }
- case 79: {
- B = (e + 4) | 0;
- x =
- ((((c[B >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- s = (b + 1) | 0;
- A = mB(s, d, e) | 0;
- y =
- ((((c[B >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- if ((A | 0) == (s | 0)) {
- P = b;
- break a;
- }
- s = c[(e + 12) >> 2] | 0;
- c[g >> 2] = s;
- B = (e + 20) | 0;
- r = c[B >> 2] | 0;
- if (r >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[r >> 2] = 0;
- c[(r + 4) >> 2] = 0;
- c[(r + 8) >> 2] = 0;
- c[(r + 12) >> 2] = s;
- c[B >> 2] = (c[B >> 2] | 0) + 16;
- } else oB((e + 16) | 0, g);
- s = (g + 11) | 0;
- r = (g + 4) | 0;
- u = x;
- while (1) {
- if (u >>> 0 >= y >>> 0) {
- P = A;
- break a;
- }
- zB(
- g,
- ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) | 0,
- 2
- );
- x = AB(18667) | 0;
- v = a[s >> 0] | 0;
- if (
- (x | 0) ==
- (((v << 24) >> 24 < 0
- ? c[r >> 2] | 0
- : v & 255) |
- 0)
- )
- Q = (BB(g, 18667, x) | 0) == 0;
- else Q = 0;
- iB(g);
- x = c[e >> 2] | 0;
- v = (x + ((u * 24) | 0)) | 0;
- if (!Q) {
- t = (x + ((u * 24) | 0) + 12) | 0;
- if ((a[(t + 11) >> 0] | 0) < 0)
- R = c[t >> 2] | 0;
- else R = t;
- if ((a[R >> 0] | 0) == 40) {
- qB(v, 18675) | 0;
- pB(
- ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) |
- 0,
- 0,
- 18673
- ) | 0;
- }
- } else {
- qB(v, 18670) | 0;
- pB(
- ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) | 0,
- 0,
- 18673
- ) | 0;
- }
- qB(
- ((c[e >> 2] | 0) + ((u * 24) | 0)) | 0,
- 18677
- ) | 0;
- v = c[B >> 2] | 0;
- t = ((c[e >> 2] | 0) + ((u * 24) | 0)) | 0;
- x = (v + -12) | 0;
- w = c[x >> 2] | 0;
- if ((w | 0) == (c[(v + -8) >> 2] | 0))
- sB((v + -16) | 0, t);
- else {
- rB(w, t);
- c[x >> 2] = (c[x >> 2] | 0) + 24;
- }
- u = (u + 1) | 0;
- }
- break;
- }
- case 80: {
- u = (e + 4) | 0;
- B =
- ((((c[u >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- r = (b + 1) | 0;
- s = mB(r, d, e) | 0;
- A =
- ((((c[u >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- if ((s | 0) == (r | 0)) {
- P = b;
- break a;
- }
- u = c[(e + 12) >> 2] | 0;
- c[g >> 2] = u;
- y = (e + 20) | 0;
- x = c[y >> 2] | 0;
- if (x >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[x >> 2] = 0;
- c[(x + 4) >> 2] = 0;
- c[(x + 8) >> 2] = 0;
- c[(x + 12) >> 2] = u;
- c[y >> 2] = (c[y >> 2] | 0) + 16;
- } else oB((e + 16) | 0, g);
- u = (g + 11) | 0;
- x = (g + 4) | 0;
- t = (g + 11) | 0;
- w = (g + 4) | 0;
- v = B;
- while (1) {
- if (v >>> 0 >= A >>> 0) {
- P = s;
- break a;
- }
- zB(
- g,
- ((c[e >> 2] | 0) + ((v * 24) | 0) + 12) | 0,
- 2
- );
- B = AB(18667) | 0;
- F = a[u >> 0] | 0;
- if (
- (B | 0) ==
- (((F << 24) >> 24 < 0
- ? c[x >> 2] | 0
- : F & 255) |
- 0)
- )
- S = (BB(g, 18667, B) | 0) == 0;
- else S = 0;
- iB(g);
- B = c[e >> 2] | 0;
- F = (B + ((v * 24) | 0)) | 0;
- if (!S) {
- J = (B + ((v * 24) | 0) + 12) | 0;
- if ((a[(J + 11) >> 0] | 0) < 0)
- T = c[J >> 2] | 0;
- else T = J;
- if ((a[T >> 0] | 0) == 40) {
- qB(F, 18675) | 0;
- pB(
- ((c[e >> 2] | 0) + ((v * 24) | 0) + 12) |
- 0,
- 0,
- 18673
- ) | 0;
- }
- } else {
- qB(F, 18670) | 0;
- pB(
- ((c[e >> 2] | 0) + ((v * 24) | 0) + 12) | 0,
- 0,
- 18673
- ) | 0;
- }
- if ((a[r >> 0] | 0) == 85) {
- zB(
- g,
- ((c[e >> 2] | 0) + ((v * 24) | 0)) | 0,
- 12
- );
- F = AB(18680) | 0;
- J = a[t >> 0] | 0;
- if (
- (F | 0) ==
- (((J << 24) >> 24 < 0
- ? c[w >> 2] | 0
- : J & 255) |
- 0)
- )
- U = (BB(g, 18680, F) | 0) != 0;
- else U = 1;
- iB(g);
- F = ((c[e >> 2] | 0) + ((v * 24) | 0)) | 0;
- if (U) {
- V = F;
- W = 113;
- } else CB(F);
- } else {
- V = ((c[e >> 2] | 0) + ((v * 24) | 0)) | 0;
- W = 113;
- }
- if ((W | 0) == 113) {
- W = 0;
- qB(V, 18693) | 0;
- }
- F = c[y >> 2] | 0;
- J = ((c[e >> 2] | 0) + ((v * 24) | 0)) | 0;
- B = (F + -12) | 0;
- D = c[B >> 2] | 0;
- if ((D | 0) == (c[(F + -8) >> 2] | 0))
- sB((F + -16) | 0, J);
- else {
- rB(D, J);
- c[B >> 2] = (c[B >> 2] | 0) + 24;
- }
- v = (v + 1) | 0;
- }
- break;
- }
- case 82: {
- v = (e + 4) | 0;
- y =
- ((((c[v >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- w = (b + 1) | 0;
- t = mB(w, d, e) | 0;
- r =
- ((((c[v >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- if ((t | 0) == (w | 0)) {
- P = b;
- break a;
- }
- w = c[(e + 12) >> 2] | 0;
- c[g >> 2] = w;
- v = (e + 20) | 0;
- x = c[v >> 2] | 0;
- if (x >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[x >> 2] = 0;
- c[(x + 4) >> 2] = 0;
- c[(x + 8) >> 2] = 0;
- c[(x + 12) >> 2] = w;
- c[v >> 2] = (c[v >> 2] | 0) + 16;
- } else oB((e + 16) | 0, g);
- w = (g + 11) | 0;
- x = (g + 4) | 0;
- u = y;
- while (1) {
- if (u >>> 0 >= r >>> 0) {
- P = t;
- break a;
- }
- zB(
- g,
- ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) | 0,
- 2
- );
- y = AB(18667) | 0;
- s = a[w >> 0] | 0;
- if (
- (y | 0) ==
- (((s << 24) >> 24 < 0
- ? c[x >> 2] | 0
- : s & 255) |
- 0)
- )
- X = (BB(g, 18667, y) | 0) == 0;
- else X = 0;
- iB(g);
- y = c[e >> 2] | 0;
- s = (y + ((u * 24) | 0)) | 0;
- if (!X) {
- A = (y + ((u * 24) | 0) + 12) | 0;
- if ((a[(A + 11) >> 0] | 0) < 0)
- Y = c[A >> 2] | 0;
- else Y = A;
- if ((a[Y >> 0] | 0) == 40) {
- qB(s, 18675) | 0;
- pB(
- ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) |
- 0,
- 0,
- 18673
- ) | 0;
- }
- } else {
- qB(s, 18670) | 0;
- pB(
- ((c[e >> 2] | 0) + ((u * 24) | 0) + 12) | 0,
- 0,
- 18673
- ) | 0;
- }
- qB(
- ((c[e >> 2] | 0) + ((u * 24) | 0)) | 0,
- 18695
- ) | 0;
- s = c[v >> 2] | 0;
- A = ((c[e >> 2] | 0) + ((u * 24) | 0)) | 0;
- y = (s + -12) | 0;
- B = c[y >> 2] | 0;
- if ((B | 0) == (c[(s + -8) >> 2] | 0))
- sB((s + -16) | 0, A);
- else {
- rB(B, A);
- c[y >> 2] = (c[y >> 2] | 0) + 24;
- }
- u = (u + 1) | 0;
- }
- break;
- }
- case 84: {
- u = (e + 4) | 0;
- v =
- ((((c[u >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- x = DB(b, d, e) | 0;
- w =
- ((((c[u >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- if ((x | 0) == (b | 0)) {
- P = b;
- break a;
- }
- t = (e + 16) | 0;
- r = (e + 12) | 0;
- y = c[r >> 2] | 0;
- c[g >> 2] = y;
- A = (e + 20) | 0;
- B = c[A >> 2] | 0;
- s = (e + 24) | 0;
- if (B >>> 0 < (c[s >> 2] | 0) >>> 0) {
- c[B >> 2] = 0;
- c[(B + 4) >> 2] = 0;
- c[(B + 8) >> 2] = 0;
- c[(B + 12) >> 2] = y;
- c[A >> 2] = (c[A >> 2] | 0) + 16;
- } else oB(t, g);
- y = v;
- while (1) {
- if (y >>> 0 >= w >>> 0) break;
- B = c[A >> 2] | 0;
- J = ((c[e >> 2] | 0) + ((y * 24) | 0)) | 0;
- D = (B + -12) | 0;
- F = c[D >> 2] | 0;
- if ((F | 0) == (c[(B + -8) >> 2] | 0))
- sB((B + -16) | 0, J);
- else {
- rB(F, J);
- c[D >> 2] = (c[D >> 2] | 0) + 24;
- }
- y = (y + 1) | 0;
- }
- if (
- !(
- ((w | 0) == ((v + 1) | 0)) &
- ((a[(e + 63) >> 0] | 0) != 0)
- )
- ) {
- P = x;
- break a;
- }
- y = EB(x, d, e) | 0;
- if ((y | 0) == (x | 0)) {
- P = x;
- break a;
- }
- FB(g, ((c[u >> 2] | 0) + -24) | 0);
- D = c[u >> 2] | 0;
- J = 0;
- while (1) {
- if ((J | 0) == -1) break;
- F = (J + -1) | 0;
- QA((D + ((F * 24) | 0)) | 0);
- J = F;
- }
- c[u >> 2] = D + -24;
- J = a[(g + 11) >> 0] | 0;
- x = (J << 24) >> 24 < 0;
- TA(
- (D + -48) | 0,
- x ? c[g >> 2] | 0 : g,
- x ? c[(g + 4) >> 2] | 0 : J & 255
- ) | 0;
- J = ((c[u >> 2] | 0) + -24) | 0;
- c[i >> 2] = c[r >> 2];
- vB(h, J, i);
- J = c[A >> 2] | 0;
- if (J >>> 0 < (c[s >> 2] | 0) >>> 0) {
- c[J >> 2] = 0;
- x = (J + 4) | 0;
- c[x >> 2] = 0;
- v = (J + 8) | 0;
- c[v >> 2] = 0;
- c[(J + 12) >> 2] = c[(h + 12) >> 2];
- c[J >> 2] = c[h >> 2];
- J = (h + 4) | 0;
- c[x >> 2] = c[J >> 2];
- x = (h + 8) | 0;
- c[v >> 2] = c[x >> 2];
- c[x >> 2] = 0;
- c[J >> 2] = 0;
- c[h >> 2] = 0;
- c[A >> 2] = (c[A >> 2] | 0) + 16;
- } else wB(t, h);
- RA(h);
- iB(g);
- P = y;
- break a;
- break;
- }
- case 85: {
- J = (b + 1) | 0;
- if ((J | 0) == (d | 0)) {
- P = b;
- break a;
- }
- x = GB(J, d, e) | 0;
- if ((x | 0) == (J | 0)) {
- P = b;
- break a;
- }
- J = mB(x, d, e) | 0;
- if ((J | 0) == (x | 0)) {
- P = b;
- break a;
- }
- x = (e + 4) | 0;
- v = c[x >> 2] | 0;
- if (
- ((((v - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- P = b;
- break a;
- }
- FB(g, (v + -24) | 0);
- v = c[x >> 2] | 0;
- w = 0;
- while (1) {
- if ((w | 0) == -1) break;
- F = (w + -1) | 0;
- QA((v + ((F * 24) | 0)) | 0);
- w = F;
- }
- c[x >> 2] = v + -24;
- zB(h, (v + -48) | 0, 9);
- w = AB(18697) | 0;
- y = a[(h + 11) >> 0] | 0;
- if (
- (w | 0) ==
- (((y << 24) >> 24 < 0
- ? c[(h + 4) >> 2] | 0
- : y & 255) |
- 0)
- ) {
- y = (BB(h, 18697, w) | 0) == 0;
- iB(h);
- if (y) {
- FB(h, ((c[x >> 2] | 0) + -24) | 0);
- y = c[x >> 2] | 0;
- w = 0;
- while (1) {
- if ((w | 0) == -1) break;
- t = (w + -1) | 0;
- QA((y + ((t * 24) | 0)) | 0);
- w = t;
- }
- c[x >> 2] = y + -24;
- w = (h + 11) | 0;
- v = a[w >> 0] | 0;
- t = (v << 24) >> 24 < 0;
- A = (h + 4) | 0;
- s = t ? c[h >> 2] | 0 : h;
- r =
- GB(
- (s + 9) | 0,
- (s + (t ? c[A >> 2] | 0 : v & 255)) | 0,
- e
- ) | 0;
- if (
- (r | 0) ==
- ((((a[w >> 0] | 0) < 0
- ? c[h >> 2] | 0
- : h) +
- 9) |
- 0)
- ) {
- HB(k, g, 18707);
- r = a[w >> 0] | 0;
- w = (r << 24) >> 24 < 0;
- TA(
- k,
- w ? c[h >> 2] | 0 : h,
- w ? c[A >> 2] | 0 : r & 255
- ) | 0;
- c[p >> 2] = c[k >> 2];
- c[(p + 4) >> 2] = c[(k + 4) >> 2];
- c[(p + 8) >> 2] = c[(k + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(k + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- IB(i, p);
- r = c[x >> 2] | 0;
- if (r >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(r, i);
- c[x >> 2] = (c[x >> 2] | 0) + 24;
- } else LB(e, i);
- QA(i);
- iB(p);
- iB(k);
- } else {
- HB(n, g, 18709);
- FB(o, ((c[x >> 2] | 0) + -24) | 0);
- r = a[(o + 11) >> 0] | 0;
- y = (r << 24) >> 24 < 0;
- TA(
- n,
- y ? c[o >> 2] | 0 : o,
- y ? c[(o + 4) >> 2] | 0 : r & 255
- ) | 0;
- c[k >> 2] = c[n >> 2];
- c[(k + 4) >> 2] = c[(n + 4) >> 2];
- c[(k + 8) >> 2] = c[(n + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(n + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- qB(k, 18711) | 0;
- c[m >> 2] = c[k >> 2];
- c[(m + 4) >> 2] = c[(k + 4) >> 2];
- c[(m + 8) >> 2] = c[(k + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(k + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- IB(i, m);
- JB(((c[x >> 2] | 0) + -24) | 0, i);
- QA(i);
- iB(m);
- iB(k);
- iB(o);
- iB(n);
- }
- iB(h);
- } else W = 167;
- } else {
- iB(h);
- W = 167;
- }
- if ((W | 0) == 167) {
- HB(i, g, 18707);
- FB(k, ((c[x >> 2] | 0) + -24) | 0);
- r = a[(k + 11) >> 0] | 0;
- y = (r << 24) >> 24 < 0;
- TA(
- i,
- y ? c[k >> 2] | 0 : k,
- y ? c[(k + 4) >> 2] | 0 : r & 255
- ) | 0;
- c[j >> 2] = c[i >> 2];
- c[(j + 4) >> 2] = c[(i + 4) >> 2];
- c[(j + 8) >> 2] = c[(i + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(i + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- IB(h, j);
- JB(((c[x >> 2] | 0) + -24) | 0, h);
- QA(h);
- iB(j);
- iB(k);
- iB(i);
- }
- r = ((c[x >> 2] | 0) + -24) | 0;
- c[i >> 2] = c[(e + 12) >> 2];
- vB(h, r, i);
- r = (e + 20) | 0;
- y = c[r >> 2] | 0;
- if (y >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[y >> 2] = 0;
- A = (y + 4) | 0;
- c[A >> 2] = 0;
- w = (y + 8) | 0;
- c[w >> 2] = 0;
- c[(y + 12) >> 2] = c[(h + 12) >> 2];
- c[y >> 2] = c[h >> 2];
- y = (h + 4) | 0;
- c[A >> 2] = c[y >> 2];
- A = (h + 8) | 0;
- c[w >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- c[y >> 2] = 0;
- c[h >> 2] = 0;
- c[r >> 2] = (c[r >> 2] | 0) + 16;
- } else wB((e + 16) | 0, h);
- RA(h);
- iB(g);
- P = J;
- break a;
- break;
- }
- case 83: {
- r = (b + 1) | 0;
- if (
- (r | 0) != (d | 0) ? (a[r >> 0] | 0) == 116 : 0
- ) {
- r = MB(b, d, e) | 0;
- if ((r | 0) == (b | 0)) {
- P = b;
- break a;
- }
- y = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (y | 0)) {
- P = b;
- break a;
- }
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (y + -24) | 0, h);
- y = (e + 20) | 0;
- A = c[y >> 2] | 0;
- if (A >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[A >> 2] = 0;
- w = (A + 4) | 0;
- c[w >> 2] = 0;
- v = (A + 8) | 0;
- c[v >> 2] = 0;
- c[(A + 12) >> 2] = c[(g + 12) >> 2];
- c[A >> 2] = c[g >> 2];
- A = (g + 4) | 0;
- c[w >> 2] = c[A >> 2];
- w = (g + 8) | 0;
- c[v >> 2] = c[w >> 2];
- c[w >> 2] = 0;
- c[A >> 2] = 0;
- c[g >> 2] = 0;
- c[y >> 2] = (c[y >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = r;
- break a;
- }
- r = NB(b, d, e) | 0;
- if ((r | 0) == (b | 0)) {
- P = b;
- break a;
- }
- y = EB(r, d, e) | 0;
- if ((y | 0) == (r | 0)) {
- P = r;
- break a;
- }
- A = (e + 4) | 0;
- w = c[A >> 2] | 0;
- if (
- ((((w - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- P = r;
- break a;
- }
- FB(g, (w + -24) | 0);
- w = c[A >> 2] | 0;
- r = 0;
- while (1) {
- if ((r | 0) == -1) break;
- v = (r + -1) | 0;
- QA((w + ((v * 24) | 0)) | 0);
- r = v;
- }
- c[A >> 2] = w + -24;
- r = a[(g + 11) >> 0] | 0;
- J = (r << 24) >> 24 < 0;
- TA(
- (w + -48) | 0,
- J ? c[g >> 2] | 0 : g,
- J ? c[(g + 4) >> 2] | 0 : r & 255
- ) | 0;
- r = ((c[A >> 2] | 0) + -24) | 0;
- c[i >> 2] = c[(e + 12) >> 2];
- vB(h, r, i);
- r = (e + 20) | 0;
- J = c[r >> 2] | 0;
- if (J >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[J >> 2] = 0;
- x = (J + 4) | 0;
- c[x >> 2] = 0;
- v = (J + 8) | 0;
- c[v >> 2] = 0;
- c[(J + 12) >> 2] = c[(h + 12) >> 2];
- c[J >> 2] = c[h >> 2];
- J = (h + 4) | 0;
- c[x >> 2] = c[J >> 2];
- x = (h + 8) | 0;
- c[v >> 2] = c[x >> 2];
- c[x >> 2] = 0;
- c[J >> 2] = 0;
- c[h >> 2] = 0;
- c[r >> 2] = (c[r >> 2] | 0) + 16;
- } else wB((e + 16) | 0, h);
- RA(h);
- iB(g);
- P = y;
- break a;
- break;
- }
- case 68: {
- r = (b + 1) | 0;
- if ((r | 0) != (d | 0))
- switch (a[r >> 0] | 0) {
- case 112: {
- r = (e + 4) | 0;
- J =
- ((((c[r >> 2] | 0) - (c[e >> 2] | 0)) |
- 0) /
- 24) |
- 0;
- x = (b + 2) | 0;
- v = mB(x, d, e) | 0;
- t =
- ((((c[r >> 2] | 0) - (c[e >> 2] | 0)) |
- 0) /
- 24) |
- 0;
- if ((v | 0) == (x | 0)) break c;
- x = c[(e + 12) >> 2] | 0;
- c[g >> 2] = x;
- r = (e + 20) | 0;
- s = c[r >> 2] | 0;
- if (
- s >>> 0 <
- (c[(e + 24) >> 2] | 0) >>> 0
- ) {
- c[s >> 2] = 0;
- c[(s + 4) >> 2] = 0;
- c[(s + 8) >> 2] = 0;
- c[(s + 12) >> 2] = x;
- c[r >> 2] = (c[r >> 2] | 0) + 16;
- } else oB((e + 16) | 0, g);
- x = J;
- while (1) {
- if (x >>> 0 >= t >>> 0) {
- P = v;
- break a;
- }
- J = c[r >> 2] | 0;
- s =
- ((c[e >> 2] | 0) + ((x * 24) | 0)) | 0;
- u = (J + -12) | 0;
- D = c[u >> 2] | 0;
- if ((D | 0) == (c[(J + -8) >> 2] | 0))
- sB((J + -16) | 0, s);
- else {
- rB(D, s);
- c[u >> 2] = (c[u >> 2] | 0) + 24;
- }
- x = (x + 1) | 0;
- }
- break;
- }
- case 84:
- case 116: {
- x = OB(b, d, e) | 0;
- if ((x | 0) == (b | 0)) break c;
- r = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (r | 0)) {
- P = b;
- break a;
- }
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (r + -24) | 0, h);
- r = (e + 20) | 0;
- v = c[r >> 2] | 0;
- if (
- v >>> 0 <
- (c[(e + 24) >> 2] | 0) >>> 0
- ) {
- c[v >> 2] = 0;
- t = (v + 4) | 0;
- c[t >> 2] = 0;
- y = (v + 8) | 0;
- c[y >> 2] = 0;
- c[(v + 12) >> 2] = c[(g + 12) >> 2];
- c[v >> 2] = c[g >> 2];
- v = (g + 4) | 0;
- c[t >> 2] = c[v >> 2];
- t = (g + 8) | 0;
- c[y >> 2] = c[t >> 2];
- c[t >> 2] = 0;
- c[v >> 2] = 0;
- c[g >> 2] = 0;
- c[r >> 2] = (c[r >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = x;
- break a;
- break;
- }
- case 118: {
- x = PB(b, d, e) | 0;
- if ((x | 0) == (b | 0)) break c;
- r = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (r | 0)) {
- P = b;
- break a;
- }
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (r + -24) | 0, h);
- r = (e + 20) | 0;
- v = c[r >> 2] | 0;
- if (
- v >>> 0 <
- (c[(e + 24) >> 2] | 0) >>> 0
- ) {
- c[v >> 2] = 0;
- t = (v + 4) | 0;
- c[t >> 2] = 0;
- y = (v + 8) | 0;
- c[y >> 2] = 0;
- c[(v + 12) >> 2] = c[(g + 12) >> 2];
- c[v >> 2] = c[g >> 2];
- v = (g + 4) | 0;
- c[t >> 2] = c[v >> 2];
- t = (g + 8) | 0;
- c[y >> 2] = c[t >> 2];
- c[t >> 2] = 0;
- c[v >> 2] = 0;
- c[g >> 2] = 0;
- c[r >> 2] = (c[r >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = x;
- break a;
- break;
- }
- default:
- break c;
- }
- break;
- }
- default: {
- }
- }
- } while (0);
- x = tB(b, d, e) | 0;
- if ((x | 0) == (b | 0)) {
- r = MB(b, d, e) | 0;
- if (
- (r | 0) != (b | 0)
- ? ((v = c[(e + 4) >> 2] | 0),
- (c[e >> 2] | 0) != (v | 0))
- : 0
- ) {
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (v + -24) | 0, h);
- v = (e + 20) | 0;
- t = c[v >> 2] | 0;
- if (t >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[t >> 2] = 0;
- y = (t + 4) | 0;
- c[y >> 2] = 0;
- A = (t + 8) | 0;
- c[A >> 2] = 0;
- c[(t + 12) >> 2] = c[(g + 12) >> 2];
- c[t >> 2] = c[g >> 2];
- t = (g + 4) | 0;
- c[y >> 2] = c[t >> 2];
- y = (g + 8) | 0;
- c[A >> 2] = c[y >> 2];
- c[y >> 2] = 0;
- c[t >> 2] = 0;
- c[g >> 2] = 0;
- c[v >> 2] = (c[v >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- P = r;
- } else P = b;
- } else P = x;
- } else P = q;
- } else P = b;
- } while (0);
- l = f;
- return P | 0;
- }
- function nB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0;
- c[e >> 2] = 0;
- if ((b | 0) != (d | 0)) {
- d = a[b >> 0] | 0;
- if ((d << 24) >> 24 == 114) {
- c[e >> 2] = 4;
- f = (b + 1) | 0;
- g = f;
- h = 4;
- i = a[f >> 0] | 0;
- } else {
- g = b;
- h = 0;
- i = d;
- }
- if ((i << 24) >> 24 == 86) {
- d = h | 2;
- c[e >> 2] = d;
- f = (g + 1) | 0;
- j = f;
- k = a[f >> 0] | 0;
- l = d;
- } else {
- j = g;
- k = i;
- l = h;
- }
- if ((k << 24) >> 24 == 75) {
- c[e >> 2] = l | 1;
- m = (j + 1) | 0;
- } else m = j;
- } else m = b;
- return m | 0;
- }
- function oB(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (a + 4) | 0;
- g = ((((c[f >> 2] | 0) - (c[a >> 2] | 0)) >> 4) + 1) | 0;
- h = AD(a) | 0;
- if (h >>> 0 < g >>> 0) Wz(a);
- else {
- i = c[a >> 2] | 0;
- j = ((c[(a + 8) >> 2] | 0) - i) | 0;
- k = j >> 3;
- BD(
- e,
- (j >> 4) >>> 0 < (h >>> 1) >>> 0
- ? k >>> 0 < g >>> 0
- ? g
- : k
- : h,
- ((c[f >> 2] | 0) - i) >> 4,
- (a + 12) | 0
- );
- i = (e + 8) | 0;
- f = c[i >> 2] | 0;
- c[f >> 2] = 0;
- c[(f + 4) >> 2] = 0;
- c[(f + 8) >> 2] = 0;
- c[(f + 12) >> 2] = c[b >> 2];
- c[i >> 2] = f + 16;
- CD(a, e);
- DD(e);
- l = d;
- return;
- }
- }
- function pB(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- return zD(a, b, c, AB(c) | 0) | 0;
- }
- function qB(a, b) {
- a = a | 0;
- b = b | 0;
- return TA(a, b, AB(b) | 0) | 0;
- }
- function rB(a, b) {
- a = a | 0;
- b = b | 0;
- TC(a, b);
- TC((a + 12) | 0, (b + 12) | 0);
- return;
- }
- function sB(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (a + 4) | 0;
- g =
- ((((((c[f >> 2] | 0) - (c[a >> 2] | 0)) | 0) / 24) | 0) +
- 1) |
- 0;
- h = XC(a) | 0;
- if (h >>> 0 < g >>> 0) Wz(a);
- else {
- i = c[a >> 2] | 0;
- j = ((((c[(a + 8) >> 2] | 0) - i) | 0) / 24) | 0;
- k = j << 1;
- YC(
- e,
- j >>> 0 < (h >>> 1) >>> 0
- ? k >>> 0 < g >>> 0
- ? g
- : k
- : h,
- ((((c[f >> 2] | 0) - i) | 0) / 24) | 0,
- (a + 12) | 0
- );
- i = (e + 8) | 0;
- f = c[i >> 2] | 0;
- rB(f, b);
- c[i >> 2] = f + 24;
- ZC(a, e);
- _C(e);
- l = d;
- return;
- }
- }
- function tB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- f = l;
- l = (l + 32) | 0;
- g = f;
- a: do {
- if ((b | 0) == (d | 0)) h = b;
- else
- do {
- switch (a[b >> 0] | 0) {
- case 118: {
- cD(g, 20112);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 119: {
- HD(g);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 98: {
- cD(g, 20117);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 99: {
- cD(g, 19886);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 97: {
- JC(g, 19891);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 104: {
- gD(g, 19903);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 115: {
- sC(g, 19917);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 116: {
- KC(g, 19923);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 105: {
- ID(g, 20122);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 106: {
- LC(g, 20126);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 108: {
- cD(g, 20139);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 109: {
- gD(g, 20144);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 120: {
- GC(g, 20158);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 121: {
- JD(g);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 110: {
- KD(g, 19952);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 111: {
- HC(g, 19961);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 102: {
- sC(g, 20168);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 100: {
- LD(g);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 101: {
- JC(g, 20174);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 103: {
- FC(g, 20186);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 122: {
- ID(g, 20197);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 1) | 0;
- break a;
- break;
- }
- case 117: {
- i = (b + 1) | 0;
- j = GB(i, d, e) | 0;
- h = (j | 0) == (i | 0) ? b : j;
- break a;
- break;
- }
- case 68: {
- j = (b + 1) | 0;
- if ((j | 0) == (d | 0)) {
- h = b;
- break a;
- }
- switch (a[j >> 0] | 0) {
- case 100: {
- GC(g, 20201);
- j = (e + 4) | 0;
- i = c[j >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 2) | 0;
- break a;
- break;
- }
- case 101: {
- FC(g, 20211);
- j = (e + 4) | 0;
- i = c[j >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 2) | 0;
- break a;
- break;
- }
- case 102: {
- GC(g, 20222);
- j = (e + 4) | 0;
- i = c[j >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 2) | 0;
- break a;
- break;
- }
- case 104: {
- GC(g, 20232);
- j = (e + 4) | 0;
- i = c[j >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 2) | 0;
- break a;
- break;
- }
- case 105: {
- KD(g, 20242);
- j = (e + 4) | 0;
- i = c[j >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 2) | 0;
- break a;
- break;
- }
- case 115: {
- KD(g, 20251);
- j = (e + 4) | 0;
- i = c[j >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 2) | 0;
- break a;
- break;
- }
- case 97: {
- cD(g, 20260);
- j = (e + 4) | 0;
- i = c[j >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 2) | 0;
- break a;
- break;
- }
- case 110: {
- KC(g, 20265);
- j = (e + 4) | 0;
- i = c[j >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- h = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- h = b;
- break a;
- }
- }
- break;
- }
- default: {
- h = b;
- break a;
- }
- }
- } while (0);
- } while (0);
- l = f;
- return h | 0;
- }
- function uB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- f = l;
- l = (l + 112) | 0;
- g = (f + 96) | 0;
- h = (f + 72) | 0;
- i = (f + 48) | 0;
- j = (f + 36) | 0;
- k = (f + 24) | 0;
- m = (f + 12) | 0;
- n = f;
- do {
- if (
- ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 65 : 0)
- ? ((o = (b + 1) | 0), (o | 0) != (d | 0))
- : 0
- ) {
- p = a[o >> 0] | 0;
- if ((p << 24) >> 24 == 95) {
- q = (b + 2) | 0;
- r = mB(q, d, e) | 0;
- if ((r | 0) == (q | 0)) {
- s = b;
- break;
- }
- q = (e + 4) | 0;
- t = c[q >> 2] | 0;
- if ((c[e >> 2] | 0) == (t | 0)) {
- s = b;
- break;
- }
- zB(g, (t + -12) | 0, 2);
- t = AB(18667) | 0;
- u = a[(g + 11) >> 0] | 0;
- if (
- (t | 0) ==
- (((u << 24) >> 24 < 0
- ? c[(g + 4) >> 2] | 0
- : u & 255) |
- 0)
- ) {
- u = (BB(g, 18667, t) | 0) == 0;
- iB(g);
- if (u) GD(((c[q >> 2] | 0) + -12) | 0);
- } else iB(g);
- pB(((c[q >> 2] | 0) + -12) | 0, 0, 20108) | 0;
- s = r;
- break;
- }
- if (((p + -49) & 255) < 9) {
- p = QB(o, d) | 0;
- if ((p | 0) == (d | 0)) {
- s = b;
- break;
- }
- if ((a[p >> 0] | 0) != 95) {
- s = b;
- break;
- }
- r = (p + 1) | 0;
- q = mB(r, d, e) | 0;
- if ((q | 0) == (r | 0)) {
- s = b;
- break;
- }
- r = (e + 4) | 0;
- u = c[r >> 2] | 0;
- if ((c[e >> 2] | 0) == (u | 0)) {
- s = b;
- break;
- }
- zB(g, (u + -12) | 0, 2);
- u = AB(18667) | 0;
- t = a[(g + 11) >> 0] | 0;
- if (
- (u | 0) ==
- (((t << 24) >> 24 < 0
- ? c[(g + 4) >> 2] | 0
- : t & 255) |
- 0)
- ) {
- t = (BB(g, 18667, u) | 0) == 0;
- iB(g);
- if (t) GD(((c[r >> 2] | 0) + -12) | 0);
- } else iB(g);
- t = ((c[r >> 2] | 0) + -12) | 0;
- c[i >> 2] = 0;
- c[(i + 4) >> 2] = 0;
- c[(i + 8) >> 2] = 0;
- QC(i, o, p);
- pB(i, 0, 18667) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- p = 0;
- while (1) {
- if ((p | 0) == 3) break;
- c[(i + (p << 2)) >> 2] = 0;
- p = (p + 1) | 0;
- }
- qB(h, 18722) | 0;
- c[g >> 2] = c[h >> 2];
- c[(g + 4) >> 2] = c[(h + 4) >> 2];
- c[(g + 8) >> 2] = c[(h + 8) >> 2];
- p = 0;
- while (1) {
- if ((p | 0) == 3) break;
- c[(h + (p << 2)) >> 2] = 0;
- p = (p + 1) | 0;
- }
- p = a[(g + 11) >> 0] | 0;
- r = (p << 24) >> 24 < 0;
- zD(
- t,
- 0,
- r ? c[g >> 2] | 0 : g,
- r ? c[(g + 4) >> 2] | 0 : p & 255
- ) | 0;
- iB(g);
- iB(h);
- iB(i);
- s = q;
- break;
- }
- p = SB(o, d, e) | 0;
- if (
- (
- (
- !(((p | 0) == (o | 0)) | ((p | 0) == (d | 0)))
- ? (a[p >> 0] | 0) == 95
- : 0
- )
- ? ((r = (p + 1) | 0),
- (p = mB(r, d, e) | 0),
- (p | 0) != (r | 0))
- : 0
- )
- ? ((r = (e + 4) | 0),
- (u = c[r >> 2] | 0),
- ((((u - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- KB(h, (u + -24) | 0);
- u = c[r >> 2] | 0;
- v = 0;
- while (1) {
- if ((v | 0) == -1) break;
- w = (v + -1) | 0;
- QA((u + ((w * 24) | 0)) | 0);
- v = w;
- }
- c[r >> 2] = u + -24;
- KB(i, (u + -48) | 0);
- v = c[r >> 2] | 0;
- o = (v + -24) | 0;
- q = (o + 11) | 0;
- if ((a[q >> 0] | 0) < 0) {
- t = c[o >> 2] | 0;
- a[g >> 0] = 0;
- cB(t, g);
- c[(v + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(o, g);
- a[q >> 0] = 0;
- }
- TB(o);
- c[o >> 2] = c[h >> 2];
- c[(o + 4) >> 2] = c[(h + 4) >> 2];
- c[(o + 8) >> 2] = c[(h + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(h + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- o = (h + 12) | 0;
- zB(g, o, 2);
- u = AB(18667) | 0;
- q = a[(g + 11) >> 0] | 0;
- if (
- (u | 0) ==
- (((q << 24) >> 24 < 0
- ? c[(g + 4) >> 2] | 0
- : q & 255) |
- 0)
- ) {
- q = (BB(g, 18667, u) | 0) == 0;
- iB(g);
- if (q) GD(o);
- } else iB(g);
- FB(n, i);
- pB(n, 0, 18667) | 0;
- c[m >> 2] = c[n >> 2];
- c[(m + 4) >> 2] = c[(n + 4) >> 2];
- c[(m + 8) >> 2] = c[(n + 8) >> 2];
- q = 0;
- while (1) {
- if ((q | 0) == 3) break;
- c[(n + (q << 2)) >> 2] = 0;
- q = (q + 1) | 0;
- }
- qB(m, 18722) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- q = 0;
- while (1) {
- if ((q | 0) == 3) break;
- c[(m + (q << 2)) >> 2] = 0;
- q = (q + 1) | 0;
- }
- q = a[(o + 11) >> 0] | 0;
- u = (q << 24) >> 24 < 0;
- TA(
- k,
- u ? c[o >> 2] | 0 : o,
- u ? c[(h + 16) >> 2] | 0 : q & 255
- ) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- q = 0;
- while (1) {
- if ((q | 0) == 3) break;
- c[(k + (q << 2)) >> 2] = 0;
- q = (q + 1) | 0;
- }
- q = c[r >> 2] | 0;
- o = (q + -12) | 0;
- u = (o + 11) | 0;
- if ((a[u >> 0] | 0) < 0) {
- v = c[o >> 2] | 0;
- a[g >> 0] = 0;
- cB(v, g);
- c[(q + -8) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(o, g);
- a[u >> 0] = 0;
- }
- TB(o);
- c[o >> 2] = c[j >> 2];
- c[(o + 4) >> 2] = c[(j + 4) >> 2];
- c[(o + 8) >> 2] = c[(j + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(j + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- iB(j);
- iB(k);
- iB(m);
- iB(n);
- QA(i);
- QA(h);
- s = p;
- } else s = b;
- } else s = b;
- } while (0);
- l = f;
- return s | 0;
- }
- function vB(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0;
- c[a >> 2] = 0;
- e = (a + 4) | 0;
- c[e >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- c[(a + 12) >> 2] = c[d >> 2];
- FD(a);
- rB(c[e >> 2] | 0, b);
- c[e >> 2] = (c[e >> 2] | 0) + 24;
- return;
- }
- function wB(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (a + 4) | 0;
- g = ((((c[f >> 2] | 0) - (c[a >> 2] | 0)) >> 4) + 1) | 0;
- h = AD(a) | 0;
- if (h >>> 0 < g >>> 0) Wz(a);
- else {
- i = c[a >> 2] | 0;
- j = ((c[(a + 8) >> 2] | 0) - i) | 0;
- k = j >> 3;
- BD(
- e,
- (j >> 4) >>> 0 < (h >>> 1) >>> 0
- ? k >>> 0 < g >>> 0
- ? g
- : k
- : h,
- ((c[f >> 2] | 0) - i) >> 4,
- (a + 12) | 0
- );
- i = (e + 8) | 0;
- f = c[i >> 2] | 0;
- c[f >> 2] = 0;
- h = (f + 4) | 0;
- c[h >> 2] = 0;
- k = (f + 8) | 0;
- c[k >> 2] = 0;
- c[(f + 12) >> 2] = c[(b + 12) >> 2];
- c[f >> 2] = c[b >> 2];
- g = (b + 4) | 0;
- c[h >> 2] = c[g >> 2];
- h = (b + 8) | 0;
- c[k >> 2] = c[h >> 2];
- c[h >> 2] = 0;
- c[g >> 2] = 0;
- c[b >> 2] = 0;
- c[i >> 2] = f + 16;
- CD(a, e);
- DD(e);
- l = d;
- return;
- }
- }
- function xB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 12) | 0;
- h = f;
- do {
- if (
- ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 70 : 0)
- ? ((i = (b + 1) | 0), (i | 0) != (d | 0))
- : 0
- ) {
- if ((a[i >> 0] | 0) == 89) {
- j = (b + 2) | 0;
- if ((j | 0) == (d | 0)) {
- k = b;
- break;
- } else m = j;
- } else m = i;
- i = mB(m, d, e) | 0;
- if ((i | 0) != (m | 0)) {
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18675, AB(18675) | 0);
- j = (e + 4) | 0;
- n = (g + 11) | 0;
- o = (g + 4) | 0;
- p = (h + 11) | 0;
- q = (h + 4) | 0;
- r = 0;
- s = i;
- a: while (1) {
- t = s;
- b: while (1) {
- if ((t | 0) == (d | 0)) {
- u = 11;
- break a;
- }
- switch (a[t >> 0] | 0) {
- case 69: {
- u = 16;
- break a;
- break;
- }
- case 118: {
- v = (t + 1) | 0;
- break;
- }
- case 82: {
- i = (t + 1) | 0;
- if (
- (i | 0) != (d | 0) ? (a[i >> 0] | 0) == 69 : 0
- ) {
- w = 1;
- x = i;
- break b;
- } else u = 23;
- break;
- }
- case 79: {
- i = (t + 1) | 0;
- if (
- (i | 0) != (d | 0) ? (a[i >> 0] | 0) == 69 : 0
- ) {
- w = 2;
- x = i;
- break b;
- } else u = 23;
- break;
- }
- default:
- u = 23;
- }
- c: do {
- if ((u | 0) == 23) {
- u = 0;
- i =
- ((((c[j >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- y = mB(t, d, e) | 0;
- z =
- ((((c[j >> 2] | 0) - (c[e >> 2] | 0)) | 0) /
- 24) |
- 0;
- if (((y | 0) == (t | 0)) | ((y | 0) == (d | 0)))
- break a;
- A = i;
- while (1) {
- if (A >>> 0 >= z >>> 0) break;
- B = a[n >> 0] | 0;
- if (
- ((B << 24) >> 24 < 0
- ? c[o >> 2] | 0
- : B & 255) >>>
- 0 >
- 1
- )
- qB(g, 18897) | 0;
- FB(h, ((c[e >> 2] | 0) + ((A * 24) | 0)) | 0);
- B = a[p >> 0] | 0;
- C = (B << 24) >> 24 < 0;
- TA(
- g,
- C ? c[h >> 2] | 0 : h,
- C ? c[q >> 2] | 0 : B & 255
- ) | 0;
- iB(h);
- A = (A + 1) | 0;
- }
- A = i;
- while (1) {
- if (A >>> 0 >= z >>> 0) {
- v = y;
- break c;
- }
- B = c[j >> 2] | 0;
- C = 0;
- while (1) {
- if ((C | 0) == -1) break;
- D = (C + -1) | 0;
- QA((B + ((D * 24) | 0)) | 0);
- C = D;
- }
- c[j >> 2] = B + -24;
- A = (A + 1) | 0;
- }
- }
- } while (0);
- t = v;
- }
- r = w;
- s = x;
- }
- if ((u | 0) == 11) {
- s = c[j >> 2] | 0;
- q = 0;
- while (1) {
- if ((q | 0) == -1) break;
- p = (q + -1) | 0;
- QA((s + ((p * 24) | 0)) | 0);
- q = p;
- }
- c[j >> 2] = s + -24;
- } else if ((u | 0) == 16) {
- q = (t + 1) | 0;
- qB(g, 18673) | 0;
- switch (r & 3) {
- case 1: {
- qB(g, 20101) | 0;
- break;
- }
- case 2: {
- qB(g, 20104) | 0;
- break;
- }
- default: {
- }
- }
- p = c[j >> 2] | 0;
- if ((c[e >> 2] | 0) != (p | 0)) {
- qB((p + -24) | 0, 18707) | 0;
- p = a[n >> 0] | 0;
- A = (p << 24) >> 24 < 0;
- zD(
- ((c[j >> 2] | 0) + -12) | 0,
- 0,
- A ? c[g >> 2] | 0 : g,
- A ? c[o >> 2] | 0 : p & 255
- ) | 0;
- iB(g);
- k = q;
- break;
- }
- }
- iB(g);
- k = b;
- } else k = b;
- } else k = b;
- } while (0);
- l = f;
- return k | 0;
- }
- function yB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- f = l;
- l = (l + 112) | 0;
- g = (f + 96) | 0;
- h = (f + 72) | 0;
- i = (f + 48) | 0;
- j = (f + 36) | 0;
- k = (f + 24) | 0;
- m = (f + 12) | 0;
- n = f;
- if (
- (
- (
- ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 77 : 0)
- ? ((o = (b + 1) | 0),
- (p = mB(o, d, e) | 0),
- (p | 0) != (o | 0))
- : 0
- )
- ? ((o = mB(p, d, e) | 0), (o | 0) != (p | 0))
- : 0
- )
- ? ((p = (e + 4) | 0),
- (d = c[p >> 2] | 0),
- ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- KB(h, (d + -24) | 0);
- d = c[p >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- q = (e + -1) | 0;
- QA((d + ((q * 24) | 0)) | 0);
- e = q;
- }
- c[p >> 2] = d + -24;
- KB(i, (d + -48) | 0);
- d = (h + 12) | 0;
- a: do {
- if (
- (a[
- ((a[(d + 11) >> 0] | 0) < 0 ? c[d >> 2] | 0 : d) >> 0
- ] |
- 0) ==
- 40
- ) {
- qB(h, 18675) | 0;
- c[m >> 2] = c[h >> 2];
- c[(m + 4) >> 2] = c[(h + 4) >> 2];
- c[(m + 8) >> 2] = c[(h + 8) >> 2];
- e = 0;
- while (1) {
- if ((e | 0) == 3) break;
- c[(h + (e << 2)) >> 2] = 0;
- e = (e + 1) | 0;
- }
- FB(n, i);
- e = a[(n + 11) >> 0] | 0;
- q = (e << 24) >> 24 < 0;
- TA(
- m,
- q ? c[n >> 2] | 0 : n,
- q ? c[(n + 4) >> 2] | 0 : e & 255
- ) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- e = 0;
- while (1) {
- if ((e | 0) == 3) break;
- c[(m + (e << 2)) >> 2] = 0;
- e = (e + 1) | 0;
- }
- qB(k, 20097) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- e = 0;
- while (1) {
- if ((e | 0) == 3) break;
- c[(k + (e << 2)) >> 2] = 0;
- e = (e + 1) | 0;
- }
- e = c[p >> 2] | 0;
- q = (e + -24) | 0;
- r = (q + 11) | 0;
- if ((a[r >> 0] | 0) < 0) {
- s = c[q >> 2] | 0;
- a[g >> 0] = 0;
- cB(s, g);
- c[(e + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(q, g);
- a[r >> 0] = 0;
- }
- TB(q);
- c[q >> 2] = c[j >> 2];
- c[(q + 4) >> 2] = c[(j + 4) >> 2];
- c[(q + 8) >> 2] = c[(j + 8) >> 2];
- q = 0;
- while (1) {
- if ((q | 0) == 3) break;
- c[(j + (q << 2)) >> 2] = 0;
- q = (q + 1) | 0;
- }
- iB(j);
- iB(k);
- iB(n);
- iB(m);
- pB(d, 0, 18673) | 0;
- c[j >> 2] = c[d >> 2];
- c[(j + 4) >> 2] = c[(d + 4) >> 2];
- c[(j + 8) >> 2] = c[(d + 8) >> 2];
- q = 0;
- while (1) {
- if ((q | 0) == 3) break;
- c[(d + (q << 2)) >> 2] = 0;
- q = (q + 1) | 0;
- }
- q = c[p >> 2] | 0;
- r = (q + -12) | 0;
- e = (r + 11) | 0;
- if ((a[e >> 0] | 0) < 0) {
- s = c[r >> 2] | 0;
- a[g >> 0] = 0;
- cB(s, g);
- c[(q + -8) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(r, g);
- a[e >> 0] = 0;
- }
- TB(r);
- c[r >> 2] = c[j >> 2];
- c[(r + 4) >> 2] = c[(j + 4) >> 2];
- c[(r + 8) >> 2] = c[(j + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(j + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- iB(j);
- } else {
- qB(h, 18707) | 0;
- c[m >> 2] = c[h >> 2];
- c[(m + 4) >> 2] = c[(h + 4) >> 2];
- c[(m + 8) >> 2] = c[(h + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(h + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- FB(n, i);
- r = a[(n + 11) >> 0] | 0;
- e = (r << 24) >> 24 < 0;
- TA(
- m,
- e ? c[n >> 2] | 0 : n,
- e ? c[(n + 4) >> 2] | 0 : r & 255
- ) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(m + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- qB(k, 20097) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(k + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- r = c[p >> 2] | 0;
- e = (r + -24) | 0;
- q = (e + 11) | 0;
- if ((a[q >> 0] | 0) < 0) {
- s = c[e >> 2] | 0;
- a[g >> 0] = 0;
- cB(s, g);
- c[(r + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(e, g);
- a[q >> 0] = 0;
- }
- TB(e);
- c[e >> 2] = c[j >> 2];
- c[(e + 4) >> 2] = c[(j + 4) >> 2];
- c[(e + 8) >> 2] = c[(j + 8) >> 2];
- e = 0;
- while (1) {
- if ((e | 0) == 3) break;
- c[(j + (e << 2)) >> 2] = 0;
- e = (e + 1) | 0;
- }
- iB(j);
- iB(k);
- iB(n);
- iB(m);
- e = c[p >> 2] | 0;
- q = (e + -12) | 0;
- r = (q + 11) | 0;
- if ((a[r >> 0] | 0) < 0) {
- s = c[q >> 2] | 0;
- a[g >> 0] = 0;
- cB(s, g);
- c[(e + -8) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(q, g);
- a[r >> 0] = 0;
- }
- TB(q);
- c[q >> 2] = c[d >> 2];
- c[(q + 4) >> 2] = c[(d + 4) >> 2];
- c[(q + 8) >> 2] = c[(d + 8) >> 2];
- q = 0;
- while (1) {
- if ((q | 0) == 3) break a;
- c[(d + (q << 2)) >> 2] = 0;
- q = (q + 1) | 0;
- }
- }
- } while (0);
- QA(i);
- QA(h);
- t = o;
- } else t = b;
- l = f;
- return t | 0;
- }
- function zB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- f = a[(d + 11) >> 0] | 0;
- g = (f << 24) >> 24 < 0;
- h = g ? c[(d + 4) >> 2] | 0 : f & 255;
- RB(b, g ? c[d >> 2] | 0 : d, h >>> 0 < e >>> 0 ? h : e);
- return;
- }
- function AB(a) {
- a = a | 0;
- return Ty(a) | 0;
- }
- function BB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0;
- f = a[(b + 11) >> 0] | 0;
- g = (f << 24) >> 24 < 0;
- if (g) h = c[(b + 4) >> 2] | 0;
- else h = f & 255;
- if ((e | 0) == -1) xD(b);
- if (g) i = c[b >> 2] | 0;
- else i = b;
- b = h >>> 0 > e >>> 0;
- g = yD(i, d, b ? e : h) | 0;
- if (!g) return (h >>> 0 < e >>> 0 ? -1 : b & 1) | 0;
- else return g | 0;
- return 0;
- }
- function CB(a) {
- a = a | 0;
- wD(a, AB(20094) | 0);
- return;
- }
- function DB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 16) | 0;
- h = f;
- a: do {
- if (((d - b) | 0) > 1 ? (a[b >> 0] | 0) == 84 : 0) {
- i = a[(b + 1) >> 0] | 0;
- if ((i << 24) >> 24 == 95) {
- j = c[(e + 36) >> 2] | 0;
- if ((c[(e + 32) >> 2] | 0) == (j | 0)) {
- k = b;
- break;
- }
- m = c[(j + -16) >> 2] | 0;
- if ((m | 0) == (c[(j + -12) >> 2] | 0)) {
- vD(g);
- j = (e + 4) | 0;
- n = c[j >> 2] | 0;
- if (n >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(n, g);
- c[j >> 2] = (c[j >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- a[(e + 62) >> 0] = 1;
- k = (b + 2) | 0;
- break;
- }
- j = c[(m + 4) >> 2] | 0;
- n = (e + 4) | 0;
- o = (e + 8) | 0;
- p = c[m >> 2] | 0;
- while (1) {
- if ((p | 0) == (j | 0)) break;
- m = c[n >> 2] | 0;
- if ((m | 0) == (c[o >> 2] | 0)) sB(e, p);
- else {
- rB(m, p);
- c[n >> 2] = (c[n >> 2] | 0) + 24;
- }
- p = (p + 24) | 0;
- }
- k = (b + 2) | 0;
- break;
- }
- p = (((i << 24) >> 24) + -48) | 0;
- if (p >>> 0 < 10) {
- n = p;
- p = (b + 2) | 0;
- while (1) {
- if ((p | 0) == (d | 0)) {
- k = b;
- break a;
- }
- q = a[p >> 0] | 0;
- o = (((q << 24) >> 24) + -48) | 0;
- if (o >>> 0 >= 10) break;
- n = (o + ((n * 10) | 0)) | 0;
- p = (p + 1) | 0;
- }
- if (
- (q << 24) >> 24 == 95
- ? ((i = c[(e + 36) >> 2] | 0),
- (c[(e + 32) >> 2] | 0) != (i | 0))
- : 0
- ) {
- o = (n + 1) | 0;
- j = c[(i + -16) >> 2] | 0;
- m = j;
- if (
- o >>> 0 >=
- (((c[(i + -12) >> 2] | 0) - j) >> 4) >>> 0
- ) {
- j = (p + 1) | 0;
- c[h >> 2] = 0;
- c[(h + 4) >> 2] = 0;
- c[(h + 8) >> 2] = 0;
- QC(h, b, j);
- IB(g, h);
- i = (e + 4) | 0;
- r = c[i >> 2] | 0;
- if (r >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(r, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(h);
- a[(e + 62) >> 0] = 1;
- k = j;
- break;
- }
- j = c[(m + (o << 4) + 4) >> 2] | 0;
- i = (e + 4) | 0;
- r = (e + 8) | 0;
- s = c[(m + (o << 4)) >> 2] | 0;
- while (1) {
- if ((s | 0) == (j | 0)) break;
- o = c[i >> 2] | 0;
- if ((o | 0) == (c[r >> 2] | 0)) sB(e, s);
- else {
- rB(o, s);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- }
- s = (s + 24) | 0;
- }
- k = (p + 1) | 0;
- } else k = b;
- } else k = b;
- } else k = b;
- } while (0);
- l = f;
- return k | 0;
- }
- function EB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 32) | 0;
- h = (f + 16) | 0;
- i = (f + 12) | 0;
- j = f;
- do {
- if (((d - b) | 0) > 1 ? (a[b >> 0] | 0) == 73 : 0) {
- k = (e + 61) | 0;
- m = (e + 36) | 0;
- if (a[k >> 0] | 0) {
- n = c[m >> 2] | 0;
- o = c[(n + -16) >> 2] | 0;
- p = (n + -12) | 0;
- n = c[p >> 2] | 0;
- while (1) {
- if ((n | 0) == (o | 0)) break;
- q = (n + -16) | 0;
- RA(q);
- n = q;
- }
- c[p >> 2] = o;
- }
- c[h >> 2] = 0;
- c[(h + 4) >> 2] = 0;
- c[(h + 8) >> 2] = 0;
- RB(h, 18709, AB(18709) | 0);
- n = (e + 4) | 0;
- q = (e + 12) | 0;
- r = (e + 40) | 0;
- s = (e + 32) | 0;
- t = (h + 11) | 0;
- u = (h + 4) | 0;
- v = (g + 11) | 0;
- w = (g + 4) | 0;
- x = (b + 1) | 0;
- while (1) {
- if ((a[x >> 0] | 0) == 69) break;
- if (a[k >> 0] | 0) {
- c[i >> 2] = c[q >> 2];
- y = c[m >> 2] | 0;
- if (y >>> 0 < (c[r >> 2] | 0) >>> 0) {
- nD(g, i);
- c[y >> 2] = 0;
- c[(y + 4) >> 2] = 0;
- c[(y + 8) >> 2] = 0;
- c[(y + 12) >> 2] = c[g >> 2];
- c[m >> 2] = (c[m >> 2] | 0) + 16;
- } else oD(s, i);
- }
- y =
- ((((c[n >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) | 0;
- z = pD(x, d, e) | 0;
- A =
- ((((c[n >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) | 0;
- if (a[k >> 0] | 0) {
- B = c[m >> 2] | 0;
- C = 0;
- while (1) {
- if ((C | 0) == -1) break;
- D = (C + -1) | 0;
- XA((B + (D << 4)) | 0);
- C = D;
- }
- c[m >> 2] = B + -16;
- }
- if (((z | 0) == (x | 0)) | ((z | 0) == (d | 0))) {
- E = 53;
- break;
- }
- a: do {
- if (a[k >> 0] | 0) {
- C = c[m >> 2] | 0;
- D = c[q >> 2] | 0;
- c[g >> 2] = D;
- F = (C + -12) | 0;
- G = c[F >> 2] | 0;
- if (G >>> 0 < (c[(C + -8) >> 2] | 0) >>> 0) {
- c[G >> 2] = 0;
- c[(G + 4) >> 2] = 0;
- c[(G + 8) >> 2] = 0;
- c[(G + 12) >> 2] = D;
- c[F >> 2] = (c[F >> 2] | 0) + 16;
- } else oB((C + -16) | 0, g);
- C = y;
- while (1) {
- if (C >>> 0 >= A >>> 0) break a;
- F = c[((c[m >> 2] | 0) + -12) >> 2] | 0;
- D = ((c[e >> 2] | 0) + ((C * 24) | 0)) | 0;
- G = (F + -12) | 0;
- H = c[G >> 2] | 0;
- if ((H | 0) == (c[(F + -8) >> 2] | 0))
- sB((F + -16) | 0, D);
- else {
- rB(H, D);
- c[G >> 2] = (c[G >> 2] | 0) + 24;
- }
- C = (C + 1) | 0;
- }
- }
- } while (0);
- B = y;
- while (1) {
- if (B >>> 0 >= A >>> 0) break;
- C = a[t >> 0] | 0;
- if (
- ((C << 24) >> 24 < 0 ? c[u >> 2] | 0 : C & 255) >>>
- 0 >
- 1
- )
- qB(h, 18897) | 0;
- FB(g, ((c[e >> 2] | 0) + ((B * 24) | 0)) | 0);
- C = a[v >> 0] | 0;
- G = (C << 24) >> 24 < 0;
- TA(
- h,
- G ? c[g >> 2] | 0 : g,
- G ? c[w >> 2] | 0 : C & 255
- ) | 0;
- iB(g);
- B = (B + 1) | 0;
- }
- B = A;
- while (1) {
- if ((B | 0) == (y | 0)) break;
- C = c[n >> 2] | 0;
- G = 0;
- while (1) {
- if ((G | 0) == -1) break;
- D = (G + -1) | 0;
- QA((C + ((D * 24) | 0)) | 0);
- G = D;
- }
- c[n >> 2] = C + -24;
- B = (B + -1) | 0;
- }
- x = z;
- }
- if ((E | 0) == 53) {
- iB(h);
- I = b;
- break;
- }
- w = (x + 1) | 0;
- v = a[t >> 0] | 0;
- m = (v << 24) >> 24 < 0;
- if (
- (a[
- ((m ? c[h >> 2] | 0 : h) +
- (m ? c[u >> 2] | 0 : v & 255) +
- -1) >>
- 0
- ] |
- 0) ==
- 62
- )
- qB(h, 20088) | 0;
- else qB(h, 18711) | 0;
- c[j >> 2] = c[h >> 2];
- c[(j + 4) >> 2] = c[(h + 4) >> 2];
- c[(j + 8) >> 2] = c[(h + 8) >> 2];
- v = 0;
- while (1) {
- if ((v | 0) == 3) break;
- c[(h + (v << 2)) >> 2] = 0;
- v = (v + 1) | 0;
- }
- IB(g, j);
- v = c[n >> 2] | 0;
- if (v >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(v, g);
- c[n >> 2] = (c[n >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(j);
- iB(h);
- I = w;
- } else I = b;
- } while (0);
- l = f;
- return I | 0;
- }
- function FB(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = (d + 12) | 0;
- f = a[(e + 11) >> 0] | 0;
- g = (f << 24) >> 24 < 0;
- TA(
- d,
- g ? c[e >> 2] | 0 : e,
- g ? c[(d + 16) >> 2] | 0 : f & 255
- ) | 0;
- c[b >> 2] = c[d >> 2];
- c[(b + 4) >> 2] = c[(d + 4) >> 2];
- c[(b + 8) >> 2] = c[(d + 8) >> 2];
- b = 0;
- while (1) {
- if ((b | 0) == 3) break;
- c[(d + (b << 2)) >> 2] = 0;
- b = (b + 1) | 0;
- }
- return;
- }
- function GB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 40) | 0;
- h = (f + 16) | 0;
- i = f;
- a: do {
- if (
- (
- (b | 0) != (d | 0)
- ? ((j = ((a[b >> 0] | 0) + -48) | 0), j >>> 0 < 10)
- : 0
- )
- ? ((k = (b + 1) | 0), (k | 0) != (d | 0))
- : 0
- ) {
- m = j;
- j = k;
- while (1) {
- k = ((a[j >> 0] | 0) + -48) | 0;
- if (k >>> 0 >= 10) break;
- n = (j + 1) | 0;
- if ((n | 0) == (d | 0)) {
- o = b;
- break a;
- }
- m = (k + ((m * 10) | 0)) | 0;
- j = n;
- }
- if (((d - j) | 0) >>> 0 >= m >>> 0) {
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, j, m);
- zB(h, g, 10);
- n = AB(20055) | 0;
- k = a[(h + 11) >> 0] | 0;
- if (
- (n | 0) ==
- (((k << 24) >> 24 < 0
- ? c[(h + 4) >> 2] | 0
- : k & 255) |
- 0)
- )
- p = (BB(h, 20055, n) | 0) == 0;
- else p = 0;
- iB(h);
- if (p) {
- mD(h);
- n = (e + 4) | 0;
- k = c[n >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, h);
- c[n >> 2] = (c[n >> 2] | 0) + 24;
- } else LB(e, h);
- QA(h);
- } else {
- c[i >> 2] = c[g >> 2];
- c[(i + 4) >> 2] = c[(g + 4) >> 2];
- c[(i + 8) >> 2] = c[(g + 8) >> 2];
- n = 0;
- while (1) {
- if ((n | 0) == 3) break;
- c[(g + (n << 2)) >> 2] = 0;
- n = (n + 1) | 0;
- }
- IB(h, i);
- n = (e + 4) | 0;
- k = c[n >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, h);
- c[n >> 2] = (c[n >> 2] | 0) + 24;
- } else LB(e, h);
- QA(h);
- iB(i);
- }
- iB(g);
- o = (j + m) | 0;
- } else o = b;
- } else o = b;
- } while (0);
- l = f;
- return o | 0;
- }
- function HB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- f = 0;
- while (1) {
- if ((f | 0) == 3) break;
- c[(b + (f << 2)) >> 2] = 0;
- f = (f + 1) | 0;
- }
- f = (d + 11) | 0;
- g = a[f >> 0] | 0;
- h = (g << 24) >> 24 < 0 ? c[(d + 4) >> 2] | 0 : g & 255;
- g = AB(e) | 0;
- VB(
- b,
- (a[f >> 0] | 0) < 0 ? c[d >> 2] | 0 : d,
- h,
- (h + g) | 0
- );
- TA(b, e, g) | 0;
- return;
- }
- function IB(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0;
- c[a >> 2] = c[b >> 2];
- c[(a + 4) >> 2] = c[(b + 4) >> 2];
- c[(a + 8) >> 2] = c[(b + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(b + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- d = (a + 12) | 0;
- c[d >> 2] = 0;
- c[(d + 4) >> 2] = 0;
- c[(d + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(d + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function JB(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (b + 11) | 0;
- if ((a[g >> 0] | 0) < 0) {
- h = c[b >> 2] | 0;
- a[f >> 0] = 0;
- cB(h, f);
- c[(b + 4) >> 2] = 0;
- } else {
- a[f >> 0] = 0;
- cB(b, f);
- a[g >> 0] = 0;
- }
- TB(b);
- c[b >> 2] = c[d >> 2];
- c[(b + 4) >> 2] = c[(d + 4) >> 2];
- c[(b + 8) >> 2] = c[(d + 8) >> 2];
- g = 0;
- while (1) {
- if ((g | 0) == 3) break;
- c[(d + (g << 2)) >> 2] = 0;
- g = (g + 1) | 0;
- }
- g = (b + 12) | 0;
- h = (d + 12) | 0;
- d = (g + 11) | 0;
- if ((a[d >> 0] | 0) < 0) {
- i = c[g >> 2] | 0;
- a[f >> 0] = 0;
- cB(i, f);
- c[(b + 16) >> 2] = 0;
- } else {
- a[f >> 0] = 0;
- cB(g, f);
- a[d >> 0] = 0;
- }
- TB(g);
- c[g >> 2] = c[h >> 2];
- c[(g + 4) >> 2] = c[(h + 4) >> 2];
- c[(g + 8) >> 2] = c[(h + 8) >> 2];
- g = 0;
- while (1) {
- if ((g | 0) == 3) break;
- c[(h + (g << 2)) >> 2] = 0;
- g = (g + 1) | 0;
- }
- l = e;
- return;
- }
- function KB(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0;
- c[a >> 2] = c[b >> 2];
- c[(a + 4) >> 2] = c[(b + 4) >> 2];
- c[(a + 8) >> 2] = c[(b + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(b + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- d = (a + 12) | 0;
- a = (b + 12) | 0;
- c[d >> 2] = c[a >> 2];
- c[(d + 4) >> 2] = c[(a + 4) >> 2];
- c[(d + 8) >> 2] = c[(a + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(a + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- return;
- }
- function LB(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- d = l;
- l = (l + 32) | 0;
- e = d;
- f = (a + 4) | 0;
- g =
- ((((((c[f >> 2] | 0) - (c[a >> 2] | 0)) | 0) / 24) | 0) +
- 1) |
- 0;
- h = XC(a) | 0;
- if (h >>> 0 < g >>> 0) Wz(a);
- else {
- i = c[a >> 2] | 0;
- j = ((((c[(a + 8) >> 2] | 0) - i) | 0) / 24) | 0;
- k = j << 1;
- YC(
- e,
- j >>> 0 < (h >>> 1) >>> 0
- ? k >>> 0 < g >>> 0
- ? g
- : k
- : h,
- ((((c[f >> 2] | 0) - i) | 0) / 24) | 0,
- (a + 12) | 0
- );
- i = (e + 8) | 0;
- f = c[i >> 2] | 0;
- KB(f, b);
- c[i >> 2] = f + 24;
- ZC(a, e);
- _C(e);
- l = d;
- return;
- }
- }
- function MB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 8) | 0;
- h = f;
- a: do {
- if (((d - b) | 0) > 1) {
- i = (a[b >> 0] | 0) == 76 ? (b + 1) | 0 : b;
- switch (a[i >> 0] | 0) {
- case 78: {
- j = hD(i, d, e) | 0;
- k = (j | 0) == (i | 0) ? b : j;
- break a;
- break;
- }
- case 90: {
- j = iD(i, d, e) | 0;
- k = (j | 0) == (i | 0) ? b : j;
- break a;
- break;
- }
- default: {
- j = jD(i, d, e) | 0;
- if ((j | 0) == (i | 0)) {
- m = NB(i, d, e) | 0;
- if (((m | 0) == (i | 0)) | ((m | 0) == (d | 0))) {
- k = b;
- break a;
- }
- if ((a[m >> 0] | 0) != 73) {
- k = b;
- break a;
- }
- i = EB(m, d, e) | 0;
- if ((i | 0) == (m | 0)) {
- k = b;
- break a;
- }
- m = (e + 4) | 0;
- n = c[m >> 2] | 0;
- if (
- ((((n - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- k = b;
- break a;
- }
- FB(g, (n + -24) | 0);
- n = c[m >> 2] | 0;
- o = 0;
- while (1) {
- if ((o | 0) == -1) break;
- p = (o + -1) | 0;
- QA((n + ((p * 24) | 0)) | 0);
- o = p;
- }
- c[m >> 2] = n + -24;
- o = a[(g + 11) >> 0] | 0;
- p = (o << 24) >> 24 < 0;
- TA(
- (n + -48) | 0,
- p ? c[g >> 2] | 0 : g,
- p ? c[(g + 4) >> 2] | 0 : o & 255
- ) | 0;
- iB(g);
- k = i;
- break a;
- }
- if ((j | 0) == (d | 0)) {
- k = d;
- break a;
- }
- if ((a[j >> 0] | 0) != 73) {
- k = j;
- break a;
- }
- o = (e + 4) | 0;
- p = c[o >> 2] | 0;
- if ((c[e >> 2] | 0) == (p | 0)) {
- k = b;
- break a;
- }
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (p + -24) | 0, h);
- p = (e + 20) | 0;
- q = c[p >> 2] | 0;
- if (q >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[q >> 2] = 0;
- r = (q + 4) | 0;
- c[r >> 2] = 0;
- s = (q + 8) | 0;
- c[s >> 2] = 0;
- c[(q + 12) >> 2] = c[(g + 12) >> 2];
- c[q >> 2] = c[g >> 2];
- q = (g + 4) | 0;
- c[r >> 2] = c[q >> 2];
- r = (g + 8) | 0;
- c[s >> 2] = c[r >> 2];
- c[r >> 2] = 0;
- c[q >> 2] = 0;
- c[g >> 2] = 0;
- c[p >> 2] = (c[p >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- p = EB(j, d, e) | 0;
- if ((p | 0) == (j | 0)) {
- k = b;
- break a;
- }
- q = c[o >> 2] | 0;
- if (
- ((((q - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- k = b;
- break a;
- }
- FB(g, (q + -24) | 0);
- q = c[o >> 2] | 0;
- r = 0;
- while (1) {
- if ((r | 0) == -1) break;
- s = (r + -1) | 0;
- QA((q + ((s * 24) | 0)) | 0);
- r = s;
- }
- c[o >> 2] = q + -24;
- r = a[(g + 11) >> 0] | 0;
- j = (r << 24) >> 24 < 0;
- TA(
- (q + -48) | 0,
- j ? c[g >> 2] | 0 : g,
- j ? c[(g + 4) >> 2] | 0 : r & 255
- ) | 0;
- iB(g);
- k = p;
- break a;
- }
- }
- } else k = b;
- } while (0);
- l = f;
- return k | 0;
- }
- function NB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- f = l;
- l = (l + 32) | 0;
- g = f;
- a: do {
- if (((d - b) | 0) > 1 ? (a[b >> 0] | 0) == 83 : 0) {
- h = a[(b + 1) >> 0] | 0;
- switch (h | 0) {
- case 97: {
- KC(g, 20001);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- k = (b + 2) | 0;
- break a;
- break;
- }
- case 98: {
- HC(g, 20016);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- k = (b + 2) | 0;
- break a;
- break;
- }
- case 115: {
- JC(g, 19495);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- k = (b + 2) | 0;
- break a;
- break;
- }
- case 105: {
- LC(g, 19591);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- k = (b + 2) | 0;
- break a;
- break;
- }
- case 111: {
- LC(g, 19668);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- k = (b + 2) | 0;
- break a;
- break;
- }
- case 100: {
- gD(g, 19745);
- i = (e + 4) | 0;
- j = c[i >> 2] | 0;
- if (j >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(j, g);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- k = (b + 2) | 0;
- break a;
- break;
- }
- case 95: {
- i = c[(e + 16) >> 2] | 0;
- if ((i | 0) == (c[(e + 20) >> 2] | 0)) {
- k = b;
- break a;
- }
- j = c[(i + 4) >> 2] | 0;
- m = (e + 4) | 0;
- n = (e + 8) | 0;
- o = c[i >> 2] | 0;
- while (1) {
- if ((o | 0) == (j | 0)) break;
- i = c[m >> 2] | 0;
- if ((i | 0) == (c[n >> 2] | 0)) sB(e, o);
- else {
- rB(i, o);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- }
- o = (o + 24) | 0;
- }
- k = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- o = (h + -48) | 0;
- m = o >>> 0 < 10;
- if (!m ? (Pz(h) | 0) == 0 : 0) {
- k = b;
- break a;
- }
- n = (b + 2) | 0;
- j = m ? o : (h + -55) | 0;
- while (1) {
- if ((n | 0) == (d | 0)) {
- k = b;
- break a;
- }
- p = a[n >> 0] | 0;
- o = (p << 24) >> 24;
- m = (o + -48) | 0;
- i = m >>> 0 < 10;
- if (!i ? (Pz(o) | 0) == 0 : 0) break;
- n = (n + 1) | 0;
- j = ((i ? m : (o + -55) | 0) + ((j * 36) | 0)) | 0;
- }
- if ((p << 24) >> 24 != 95) {
- k = b;
- break a;
- }
- h = (j + 1) | 0;
- o = c[(e + 16) >> 2] | 0;
- m = o;
- if (
- h >>> 0 >=
- (((c[(e + 20) >> 2] | 0) - o) >> 4) >>> 0
- ) {
- k = b;
- break a;
- }
- o = c[(m + (h << 4) + 4) >> 2] | 0;
- i = (e + 4) | 0;
- q = (e + 8) | 0;
- r = c[(m + (h << 4)) >> 2] | 0;
- while (1) {
- if ((r | 0) == (o | 0)) break;
- h = c[i >> 2] | 0;
- if ((h | 0) == (c[q >> 2] | 0)) sB(e, r);
- else {
- rB(h, r);
- c[i >> 2] = (c[i >> 2] | 0) + 24;
- }
- r = (r + 24) | 0;
- }
- k = (n + 1) | 0;
- break a;
- }
- }
- } else k = b;
- } while (0);
- l = f;
- return k | 0;
- }
- function OB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 40) | 0;
- h = (f + 12) | 0;
- i = (f + 24) | 0;
- j = f;
- a: do {
- if (((d - b) | 0) > 3 ? (a[b >> 0] | 0) == 68 : 0) {
- switch (a[(b + 1) >> 0] | 0) {
- case 84:
- case 116:
- break;
- default: {
- k = b;
- break a;
- }
- }
- m = (b + 2) | 0;
- n = SB(m, d, e) | 0;
- if (
- (
- !(((n | 0) == (m | 0)) | ((n | 0) == (d | 0)))
- ? (a[n >> 0] | 0) == 69
- : 0
- )
- ? ((m = (e + 4) | 0),
- (o = c[m >> 2] | 0),
- (c[e >> 2] | 0) != (o | 0))
- : 0
- ) {
- FB(j, (o + -24) | 0);
- pB(j, 0, 19991) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(j + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- qB(i, 18673) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(i + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- IB(g, h);
- JB(((c[m >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(h);
- iB(i);
- iB(j);
- k = (n + 1) | 0;
- } else k = b;
- } else k = b;
- } while (0);
- l = f;
- return k | 0;
- }
- function PB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 40) | 0;
- h = (f + 12) | 0;
- i = f;
- j = (f + 24) | 0;
- a: do {
- if (
- (((d - b) | 0) > 3 ? (a[b >> 0] | 0) == 68 : 0)
- ? (a[(b + 1) >> 0] | 0) == 118
- : 0
- ) {
- k = (b + 2) | 0;
- m = a[k >> 0] | 0;
- if (((m + -49) & 255) < 9) {
- n = QB(k, d) | 0;
- if ((n | 0) == (d | 0)) {
- o = b;
- break;
- }
- if ((a[n >> 0] | 0) != 95) {
- o = b;
- break;
- }
- p = (n - k) | 0;
- q = (n + 1) | 0;
- if ((q | 0) == (d | 0)) {
- o = b;
- break;
- }
- if ((a[q >> 0] | 0) != 112) {
- r = mB(q, d, e) | 0;
- if ((r | 0) == (q | 0)) {
- o = b;
- break;
- }
- q = (e + 4) | 0;
- if ((c[e >> 2] | 0) == (c[q >> 2] | 0)) {
- o = b;
- break;
- }
- c[i >> 2] = 0;
- c[(i + 4) >> 2] = 0;
- c[(i + 8) >> 2] = 0;
- RB(i, k, p);
- pB(i, 0, 18713) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- s = 0;
- while (1) {
- if ((s | 0) == 3) break;
- c[(i + (s << 2)) >> 2] = 0;
- s = (s + 1) | 0;
- }
- qB(h, 18722) | 0;
- c[g >> 2] = c[h >> 2];
- c[(g + 4) >> 2] = c[(h + 4) >> 2];
- c[(g + 8) >> 2] = c[(h + 8) >> 2];
- s = 0;
- while (1) {
- if ((s | 0) == 3) break;
- c[(h + (s << 2)) >> 2] = 0;
- s = (s + 1) | 0;
- }
- s = a[(g + 11) >> 0] | 0;
- t = (s << 24) >> 24 < 0;
- TA(
- ((c[q >> 2] | 0) + -24) | 0,
- t ? c[g >> 2] | 0 : g,
- t ? c[(g + 4) >> 2] | 0 : s & 255
- ) | 0;
- iB(g);
- iB(h);
- iB(i);
- o = r;
- break;
- }
- s = (n + 2) | 0;
- c[i >> 2] = 0;
- c[(i + 4) >> 2] = 0;
- c[(i + 8) >> 2] = 0;
- RB(i, k, p);
- pB(i, 0, 18724) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- t = 0;
- while (1) {
- if ((t | 0) == 3) break;
- c[(i + (t << 2)) >> 2] = 0;
- t = (t + 1) | 0;
- }
- qB(h, 18722) | 0;
- c[j >> 2] = c[h >> 2];
- c[(j + 4) >> 2] = c[(h + 4) >> 2];
- c[(j + 8) >> 2] = c[(h + 8) >> 2];
- t = 0;
- while (1) {
- if ((t | 0) == 3) break;
- c[(h + (t << 2)) >> 2] = 0;
- t = (t + 1) | 0;
- }
- IB(g, j);
- t = (e + 4) | 0;
- p = c[t >> 2] | 0;
- if (p >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(p, g);
- c[t >> 2] = (c[t >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(j);
- iB(h);
- iB(i);
- o = s;
- break;
- }
- c[h >> 2] = 0;
- c[(h + 4) >> 2] = 0;
- c[(h + 8) >> 2] = 0;
- t = 0;
- while (1) {
- if ((t | 0) == 3) break;
- c[(h + (t << 2)) >> 2] = 0;
- t = (t + 1) | 0;
- }
- if (
- (m << 24) >> 24 != 95
- ? ((t = SB(k, d, e) | 0), (t | 0) != (k | 0))
- : 0
- ) {
- s = (e + 4) | 0;
- p = c[s >> 2] | 0;
- if ((c[e >> 2] | 0) != (p | 0)) {
- FB(i, (p + -24) | 0);
- p = (h + 11) | 0;
- if ((a[p >> 0] | 0) < 0) {
- n = c[h >> 2] | 0;
- a[g >> 0] = 0;
- cB(n, g);
- c[(h + 4) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(h, g);
- a[p >> 0] = 0;
- }
- TB(h);
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- p = 0;
- while (1) {
- if ((p | 0) == 3) break;
- c[(i + (p << 2)) >> 2] = 0;
- p = (p + 1) | 0;
- }
- iB(i);
- p = c[s >> 2] | 0;
- m = 0;
- while (1) {
- if ((m | 0) == -1) break;
- n = (m + -1) | 0;
- QA((p + ((n * 24) | 0)) | 0);
- m = n;
- }
- c[s >> 2] = p + -24;
- u = t;
- v = 44;
- }
- } else {
- u = k;
- v = 44;
- }
- do {
- if ((v | 0) == 44) {
- if (
- (
- ((u | 0) != (d | 0) ? (a[u >> 0] | 0) == 95 : 0)
- ? ((m = (u + 1) | 0), (m | 0) != (d | 0))
- : 0
- )
- ? ((n = mB(m, d, e) | 0), (n | 0) != (m | 0))
- : 0
- ) {
- m = (e + 4) | 0;
- if ((c[e >> 2] | 0) == (c[m >> 2] | 0)) break;
- UB(i, 18713, h);
- qB(i, 18722) | 0;
- c[g >> 2] = c[i >> 2];
- c[(g + 4) >> 2] = c[(i + 4) >> 2];
- c[(g + 8) >> 2] = c[(i + 8) >> 2];
- r = 0;
- while (1) {
- if ((r | 0) == 3) break;
- c[(i + (r << 2)) >> 2] = 0;
- r = (r + 1) | 0;
- }
- r = a[(g + 11) >> 0] | 0;
- q = (r << 24) >> 24 < 0;
- TA(
- ((c[m >> 2] | 0) + -24) | 0,
- q ? c[g >> 2] | 0 : g,
- q ? c[(g + 4) >> 2] | 0 : r & 255
- ) | 0;
- iB(g);
- iB(i);
- w = n;
- } else w = b;
- iB(h);
- o = w;
- break a;
- }
- } while (0);
- iB(h);
- o = b;
- } else o = b;
- } while (0);
- l = f;
- return o | 0;
- }
- function QB(b, c) {
- b = b | 0;
- c = c | 0;
- var d = 0,
- e = 0,
- f = 0;
- a: do {
- if (
- (b | 0) != (c | 0)
- ? ((d = (a[b >> 0] | 0) == 110 ? (b + 1) | 0 : b),
- (d | 0) != (c | 0))
- : 0
- ) {
- e = a[d >> 0] | 0;
- if ((e << 24) >> 24 == 48) {
- f = (d + 1) | 0;
- break;
- }
- if (((e + -49) & 255) < 9) {
- e = d;
- while (1) {
- d = (e + 1) | 0;
- if ((d | 0) == (c | 0)) {
- f = c;
- break a;
- }
- if ((((a[d >> 0] | 0) + -48) | 0) >>> 0 < 10) e = d;
- else {
- f = d;
- break;
- }
- }
- } else f = b;
- } else f = b;
- } while (0);
- return f | 0;
- }
- function RB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- if (e >>> 0 > 4294967279) eB(b);
- if (e >>> 0 < 11) {
- a[(b + 11) >> 0] = e;
- h = b;
- } else {
- i = (e + 16) & -16;
- j = fB(i) | 0;
- c[b >> 2] = j;
- c[(b + 8) >> 2] = i | -2147483648;
- c[(b + 4) >> 2] = e;
- h = j;
- }
- bB(h, d, e) | 0;
- a[g >> 0] = 0;
- cB((h + e) | 0, g);
- l = f;
- return;
- }
- function SB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0;
- f = l;
- l = (l + 208) | 0;
- g = (f + 176) | 0;
- h = (f + 112) | 0;
- i = (f + 88) | 0;
- j = (f + 64) | 0;
- k = (f + 48) | 0;
- m = (f + 160) | 0;
- n = (f + 36) | 0;
- o = (f + 148) | 0;
- p = (f + 136) | 0;
- q = (f + 124) | 0;
- r = (f + 24) | 0;
- s = (f + 12) | 0;
- t = f;
- u = d;
- v = (u - b) | 0;
- a: do {
- if ((v | 0) > 1) {
- if ((v | 0) > 3 ? (a[b >> 0] | 0) == 103 : 0) {
- w = (a[(b + 1) >> 0] | 0) == 115;
- x = w ? (b + 2) | 0 : b;
- y = w;
- } else {
- x = b;
- y = 0;
- }
- do {
- switch (a[x >> 0] | 0) {
- case 76: {
- z = WB(b, d, e) | 0;
- break a;
- break;
- }
- case 84: {
- z = DB(b, d, e) | 0;
- break a;
- break;
- }
- case 102: {
- z = XB(b, d, e) | 0;
- break a;
- break;
- }
- case 97: {
- switch (a[(x + 1) >> 0] | 0) {
- case 97: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18677, AB(18677) | 0);
- A = YB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- case 100: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18695, AB(18695) | 0);
- w = ZB(A, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (A | 0) ? b : w;
- break a;
- break;
- }
- case 110: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18695, AB(18695) | 0);
- A = YB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- case 78: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18738, AB(18738) | 0);
- w = YB(A, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (A | 0) ? b : w;
- break a;
- break;
- }
- case 83: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18741, AB(18741) | 0);
- A = YB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- case 116: {
- z = _B(b, d, e) | 0;
- break a;
- break;
- }
- case 122: {
- z = $B(b, d, e) | 0;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 99: {
- switch (a[(x + 1) >> 0] | 0) {
- case 99: {
- z = aC(b, d, e) | 0;
- break a;
- break;
- }
- case 108: {
- z = bC(b, d, e) | 0;
- break a;
- break;
- }
- case 109: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18743, AB(18743) | 0);
- w = YB(A, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (A | 0) ? b : w;
- break a;
- break;
- }
- case 111: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18745, AB(18745) | 0);
- A = ZB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- case 118: {
- z = cC(b, d, e) | 0;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 100: {
- switch (a[(x + 1) >> 0] | 0) {
- case 97: {
- A = (x + 2) | 0;
- w = SB(A, d, e) | 0;
- if ((w | 0) == (A | 0)) {
- z = b;
- break a;
- }
- A = (e + 4) | 0;
- if ((c[e >> 2] | 0) == (c[A >> 2] | 0)) {
- z = b;
- break a;
- }
- c[j >> 2] = 0;
- c[(j + 4) >> 2] = 0;
- c[(j + 8) >> 2] = 0;
- b: do {
- if (y) RB(j, 18747, AB(18747) | 0);
- else {
- B = 0;
- while (1) {
- if ((B | 0) == 3) break b;
- c[(j + (B << 2)) >> 2] = 0;
- B = (B + 1) | 0;
- }
- }
- } while (0);
- qB(j, 18750) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- B = 0;
- while (1) {
- if ((B | 0) == 3) break;
- c[(j + (B << 2)) >> 2] = 0;
- B = (B + 1) | 0;
- }
- FB(k, ((c[A >> 2] | 0) + -24) | 0);
- B = a[(k + 11) >> 0] | 0;
- C = (B << 24) >> 24 < 0;
- TA(
- i,
- C ? c[k >> 2] | 0 : k,
- C ? c[(k + 4) >> 2] | 0 : B & 255
- ) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- B = 0;
- while (1) {
- if ((B | 0) == 3) break;
- c[(i + (B << 2)) >> 2] = 0;
- B = (B + 1) | 0;
- }
- B = c[A >> 2] | 0;
- C = (B + -24) | 0;
- D = (C + 11) | 0;
- if ((a[D >> 0] | 0) < 0) {
- E = c[C >> 2] | 0;
- a[g >> 0] = 0;
- cB(E, g);
- c[(B + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(C, g);
- a[D >> 0] = 0;
- }
- TB(C);
- c[C >> 2] = c[h >> 2];
- c[(C + 4) >> 2] = c[(h + 4) >> 2];
- c[(C + 8) >> 2] = c[(h + 8) >> 2];
- C = 0;
- while (1) {
- if ((C | 0) == 3) break;
- c[(h + (C << 2)) >> 2] = 0;
- C = (C + 1) | 0;
- }
- iB(h);
- iB(k);
- iB(i);
- iB(j);
- z = w;
- break a;
- break;
- }
- case 99: {
- z = dC(b, d, e) | 0;
- break a;
- break;
- }
- case 101: {
- C = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18693, AB(18693) | 0);
- A = ZB(C, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (C | 0) ? b : A;
- break a;
- break;
- }
- case 108: {
- A = (x + 2) | 0;
- C = SB(A, d, e) | 0;
- if ((C | 0) == (A | 0)) {
- z = b;
- break a;
- }
- A = (e + 4) | 0;
- if ((c[e >> 2] | 0) == (c[A >> 2] | 0)) {
- z = b;
- break a;
- }
- c[j >> 2] = 0;
- c[(j + 4) >> 2] = 0;
- c[(j + 8) >> 2] = 0;
- c: do {
- if (y) RB(j, 18747, AB(18747) | 0);
- else {
- D = 0;
- while (1) {
- if ((D | 0) == 3) break c;
- c[(j + (D << 2)) >> 2] = 0;
- D = (D + 1) | 0;
- }
- }
- } while (0);
- qB(j, 18760) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(j + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- FB(k, ((c[A >> 2] | 0) + -24) | 0);
- w = a[(k + 11) >> 0] | 0;
- D = (w << 24) >> 24 < 0;
- TA(
- i,
- D ? c[k >> 2] | 0 : k,
- D ? c[(k + 4) >> 2] | 0 : w & 255
- ) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(i + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- w = c[A >> 2] | 0;
- D = (w + -24) | 0;
- B = (D + 11) | 0;
- if ((a[B >> 0] | 0) < 0) {
- E = c[D >> 2] | 0;
- a[g >> 0] = 0;
- cB(E, g);
- c[(w + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(D, g);
- a[B >> 0] = 0;
- }
- TB(D);
- c[D >> 2] = c[h >> 2];
- c[(D + 4) >> 2] = c[(h + 4) >> 2];
- c[(D + 8) >> 2] = c[(h + 8) >> 2];
- D = 0;
- while (1) {
- if ((D | 0) == 3) break;
- c[(h + (D << 2)) >> 2] = 0;
- D = (D + 1) | 0;
- }
- iB(h);
- iB(k);
- iB(i);
- iB(j);
- z = C;
- break a;
- break;
- }
- case 110: {
- z = eC(b, d, e) | 0;
- break a;
- break;
- }
- case 115: {
- z = fC(b, d, e) | 0;
- break a;
- break;
- }
- case 116: {
- z = gC(b, d, e) | 0;
- break a;
- break;
- }
- case 118: {
- D = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18768, AB(18768) | 0);
- A = YB(D, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (D | 0) ? b : A;
- break a;
- break;
- }
- case 86: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18770, AB(18770) | 0);
- D = YB(A, d, g, e) | 0;
- iB(g);
- z = (D | 0) == (A | 0) ? b : D;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 101: {
- switch (a[(x + 1) >> 0] | 0) {
- case 111: {
- D = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18773, AB(18773) | 0);
- A = YB(D, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (D | 0) ? b : A;
- break a;
- break;
- }
- case 79: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18775, AB(18775) | 0);
- D = YB(A, d, g, e) | 0;
- iB(g);
- z = (D | 0) == (A | 0) ? b : D;
- break a;
- break;
- }
- case 113: {
- D = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18778, AB(18778) | 0);
- A = YB(D, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (D | 0) ? b : A;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 103: {
- switch (a[(x + 1) >> 0] | 0) {
- case 101: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18781, AB(18781) | 0);
- D = YB(A, d, g, e) | 0;
- iB(g);
- z = (D | 0) == (A | 0) ? b : D;
- break a;
- break;
- }
- case 116: {
- D = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18711, AB(18711) | 0);
- A = YB(D, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (D | 0) ? b : A;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 105: {
- if ((a[(x + 1) >> 0] | 0) != 120) {
- z = b;
- break a;
- }
- A = (b + 2) | 0;
- D = SB(A, d, e) | 0;
- if ((D | 0) == (A | 0)) {
- z = b;
- break a;
- }
- A = SB(D, d, e) | 0;
- B = (e + 4) | 0;
- if ((A | 0) == (D | 0)) {
- D = c[B >> 2] | 0;
- w = 0;
- while (1) {
- if ((w | 0) == -1) break;
- E = (w + -1) | 0;
- QA((D + ((E * 24) | 0)) | 0);
- w = E;
- }
- c[B >> 2] = D + -24;
- z = b;
- break a;
- }
- w = c[B >> 2] | 0;
- if (
- ((((w - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- z = b;
- break a;
- }
- FB(g, (w + -24) | 0);
- w = c[B >> 2] | 0;
- C = 0;
- while (1) {
- if ((C | 0) == -1) break;
- E = (C + -1) | 0;
- QA((w + ((E * 24) | 0)) | 0);
- C = E;
- }
- c[B >> 2] = w + -24;
- FB(h, (w + -48) | 0);
- UB(n, 18675, h);
- qB(n, 18784) | 0;
- c[k >> 2] = c[n >> 2];
- c[(k + 4) >> 2] = c[(n + 4) >> 2];
- c[(k + 8) >> 2] = c[(n + 8) >> 2];
- C = 0;
- while (1) {
- if ((C | 0) == 3) break;
- c[(n + (C << 2)) >> 2] = 0;
- C = (C + 1) | 0;
- }
- C = a[(g + 11) >> 0] | 0;
- w = (C << 24) >> 24 < 0;
- TA(
- k,
- w ? c[g >> 2] | 0 : g,
- w ? c[(g + 4) >> 2] | 0 : C & 255
- ) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- C = 0;
- while (1) {
- if ((C | 0) == 3) break;
- c[(k + (C << 2)) >> 2] = 0;
- C = (C + 1) | 0;
- }
- qB(j, 18722) | 0;
- c[m >> 2] = c[j >> 2];
- c[(m + 4) >> 2] = c[(j + 4) >> 2];
- c[(m + 8) >> 2] = c[(j + 8) >> 2];
- C = 0;
- while (1) {
- if ((C | 0) == 3) break;
- c[(j + (C << 2)) >> 2] = 0;
- C = (C + 1) | 0;
- }
- IB(i, m);
- JB(((c[B >> 2] | 0) + -24) | 0, i);
- QA(i);
- iB(m);
- iB(j);
- iB(k);
- iB(n);
- iB(h);
- iB(g);
- z = A;
- break a;
- break;
- }
- case 108: {
- switch (a[(x + 1) >> 0] | 0) {
- case 101: {
- C = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18787, AB(18787) | 0);
- w = YB(C, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (C | 0) ? b : w;
- break a;
- break;
- }
- case 115: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18790, AB(18790) | 0);
- C = YB(w, d, g, e) | 0;
- iB(g);
- z = (C | 0) == (w | 0) ? b : C;
- break a;
- break;
- }
- case 83: {
- C = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18793, AB(18793) | 0);
- w = YB(C, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (C | 0) ? b : w;
- break a;
- break;
- }
- case 116: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18709, AB(18709) | 0);
- C = YB(w, d, g, e) | 0;
- iB(g);
- z = (C | 0) == (w | 0) ? b : C;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 109: {
- switch (a[(x + 1) >> 0] | 0) {
- case 105: {
- C = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18797, AB(18797) | 0);
- w = YB(C, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (C | 0) ? b : w;
- break a;
- break;
- }
- case 73: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18799, AB(18799) | 0);
- C = YB(w, d, g, e) | 0;
- iB(g);
- z = (C | 0) == (w | 0) ? b : C;
- break a;
- break;
- }
- case 108: {
- C = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18693, AB(18693) | 0);
- w = YB(C, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (C | 0) ? b : w;
- break a;
- break;
- }
- case 76: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18802, AB(18802) | 0);
- C = YB(w, d, g, e) | 0;
- iB(g);
- z = (C | 0) == (w | 0) ? b : C;
- break a;
- break;
- }
- case 109: {
- C = (b + 2) | 0;
- if (
- (C | 0) != (d | 0) ? (a[C >> 0] | 0) == 95 : 0
- ) {
- w = (b + 3) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18805, AB(18805) | 0);
- D = ZB(w, d, g, e) | 0;
- iB(g);
- z = (D | 0) == (w | 0) ? b : D;
- break a;
- }
- D = SB(C, d, e) | 0;
- if ((D | 0) == (C | 0)) {
- z = b;
- break a;
- }
- C = (e + 4) | 0;
- w = c[C >> 2] | 0;
- if ((c[e >> 2] | 0) == (w | 0)) {
- z = b;
- break a;
- }
- FB(i, (w + -24) | 0);
- pB(i, 0, 18675) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(i + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- qB(h, 18808) | 0;
- c[o >> 2] = c[h >> 2];
- c[(o + 4) >> 2] = c[(h + 4) >> 2];
- c[(o + 8) >> 2] = c[(h + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(h + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- IB(g, o);
- JB(((c[C >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(o);
- iB(h);
- iB(i);
- z = D;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 110: {
- switch (a[(x + 1) >> 0] | 0) {
- case 119:
- case 97: {
- z = hC(b, d, e) | 0;
- break a;
- break;
- }
- case 101: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18812, AB(18812) | 0);
- A = YB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- case 103: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18797, AB(18797) | 0);
- w = ZB(A, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (A | 0) ? b : w;
- break a;
- break;
- }
- case 116: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18815, AB(18815) | 0);
- A = ZB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- case 120: {
- A = (b + 2) | 0;
- w = iC(A, d, e) | 0;
- z = (w | 0) == (A | 0) ? b : w;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 111: {
- switch (a[(x + 1) >> 0] | 0) {
- case 110: {
- z = eC(b, d, e) | 0;
- break a;
- break;
- }
- case 111: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18817, AB(18817) | 0);
- A = YB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- case 114: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18820, AB(18820) | 0);
- w = YB(A, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (A | 0) ? b : w;
- break a;
- break;
- }
- case 82: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18822, AB(18822) | 0);
- A = YB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 112: {
- switch (a[(x + 1) >> 0] | 0) {
- case 109: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18825, AB(18825) | 0);
- w = YB(A, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (A | 0) ? b : w;
- break a;
- break;
- }
- case 108: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18829, AB(18829) | 0);
- A = YB(w, d, g, e) | 0;
- iB(g);
- z = (A | 0) == (w | 0) ? b : A;
- break a;
- break;
- }
- case 76: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18831, AB(18831) | 0);
- w = YB(A, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (A | 0) ? b : w;
- break a;
- break;
- }
- case 112: {
- w = (b + 2) | 0;
- if (
- (w | 0) != (d | 0) ? (a[w >> 0] | 0) == 95 : 0
- ) {
- A = (b + 3) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18834, AB(18834) | 0);
- B = ZB(A, d, g, e) | 0;
- iB(g);
- z = (B | 0) == (A | 0) ? b : B;
- break a;
- }
- B = SB(w, d, e) | 0;
- if ((B | 0) == (w | 0)) {
- z = b;
- break a;
- }
- w = (e + 4) | 0;
- A = c[w >> 2] | 0;
- if ((c[e >> 2] | 0) == (A | 0)) {
- z = b;
- break a;
- }
- FB(i, (A + -24) | 0);
- pB(i, 0, 18675) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- A = 0;
- while (1) {
- if ((A | 0) == 3) break;
- c[(i + (A << 2)) >> 2] = 0;
- A = (A + 1) | 0;
- }
- qB(h, 18837) | 0;
- c[p >> 2] = c[h >> 2];
- c[(p + 4) >> 2] = c[(h + 4) >> 2];
- c[(p + 8) >> 2] = c[(h + 8) >> 2];
- A = 0;
- while (1) {
- if ((A | 0) == 3) break;
- c[(h + (A << 2)) >> 2] = 0;
- A = (A + 1) | 0;
- }
- IB(g, p);
- JB(((c[w >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(p);
- iB(h);
- iB(i);
- z = B;
- break a;
- break;
- }
- case 115: {
- A = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18829, AB(18829) | 0);
- D = ZB(A, d, g, e) | 0;
- iB(g);
- z = (D | 0) == (A | 0) ? b : D;
- break a;
- break;
- }
- case 116: {
- z = jC(b, d, e) | 0;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 113: {
- if ((a[(x + 1) >> 0] | 0) != 117) {
- z = b;
- break a;
- }
- D = (b + 2) | 0;
- A = SB(D, d, e) | 0;
- if ((A | 0) == (D | 0)) {
- z = b;
- break a;
- }
- D = SB(A, d, e) | 0;
- if ((D | 0) == (A | 0)) {
- A = (e + 4) | 0;
- C = c[A >> 2] | 0;
- E = 0;
- while (1) {
- if ((E | 0) == -1) break;
- F = (E + -1) | 0;
- QA((C + ((F * 24) | 0)) | 0);
- E = F;
- }
- c[A >> 2] = C + -24;
- z = b;
- break a;
- }
- E = SB(D, d, e) | 0;
- B = (e + 4) | 0;
- if ((E | 0) == (D | 0)) {
- w = c[B >> 2] | 0;
- F = 0;
- while (1) {
- if ((F | 0) == -1) break;
- G = (F + -1) | 0;
- QA((w + ((G * 24) | 0)) | 0);
- F = G;
- }
- F = (w + -24) | 0;
- c[B >> 2] = F;
- D = 0;
- while (1) {
- if ((D | 0) == -1) break;
- C = (D + -1) | 0;
- QA((F + ((C * 24) | 0)) | 0);
- D = C;
- }
- c[B >> 2] = w + -48;
- z = b;
- break a;
- }
- D = c[B >> 2] | 0;
- if (
- ((((D - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 3
- ) {
- z = b;
- break a;
- }
- FB(g, (D + -24) | 0);
- D = c[B >> 2] | 0;
- F = 0;
- while (1) {
- if ((F | 0) == -1) break;
- C = (F + -1) | 0;
- QA((D + ((C * 24) | 0)) | 0);
- F = C;
- }
- c[B >> 2] = D + -24;
- FB(h, (D + -48) | 0);
- F = c[B >> 2] | 0;
- w = 0;
- while (1) {
- if ((w | 0) == -1) break;
- C = (w + -1) | 0;
- QA((F + ((C * 24) | 0)) | 0);
- w = C;
- }
- c[B >> 2] = F + -24;
- FB(i, (F + -48) | 0);
- UB(t, 18675, i);
- qB(t, 18841) | 0;
- c[s >> 2] = c[t >> 2];
- c[(s + 4) >> 2] = c[(t + 4) >> 2];
- c[(s + 8) >> 2] = c[(t + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(t + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- w = a[(h + 11) >> 0] | 0;
- F = (w << 24) >> 24 < 0;
- TA(
- s,
- F ? c[h >> 2] | 0 : h,
- F ? c[(h + 4) >> 2] | 0 : w & 255
- ) | 0;
- c[r >> 2] = c[s >> 2];
- c[(r + 4) >> 2] = c[(s + 4) >> 2];
- c[(r + 8) >> 2] = c[(s + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(s + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- qB(r, 18847) | 0;
- c[n >> 2] = c[r >> 2];
- c[(n + 4) >> 2] = c[(r + 4) >> 2];
- c[(n + 8) >> 2] = c[(r + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(r + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- w = a[(g + 11) >> 0] | 0;
- F = (w << 24) >> 24 < 0;
- TA(
- n,
- F ? c[g >> 2] | 0 : g,
- F ? c[(g + 4) >> 2] | 0 : w & 255
- ) | 0;
- c[k >> 2] = c[n >> 2];
- c[(k + 4) >> 2] = c[(n + 4) >> 2];
- c[(k + 8) >> 2] = c[(n + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(n + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- qB(k, 18673) | 0;
- c[q >> 2] = c[k >> 2];
- c[(q + 4) >> 2] = c[(k + 4) >> 2];
- c[(q + 8) >> 2] = c[(k + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(k + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- IB(j, q);
- JB(((c[B >> 2] | 0) + -24) | 0, j);
- QA(j);
- iB(q);
- iB(k);
- iB(n);
- iB(r);
- iB(s);
- iB(t);
- iB(i);
- iB(h);
- iB(g);
- z = E;
- break a;
- break;
- }
- case 114: {
- switch (a[(x + 1) >> 0] | 0) {
- case 99: {
- z = kC(b, d, e) | 0;
- break a;
- break;
- }
- case 109: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18853, AB(18853) | 0);
- F = YB(w, d, g, e) | 0;
- iB(g);
- z = (F | 0) == (w | 0) ? b : F;
- break a;
- break;
- }
- case 77: {
- F = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18855, AB(18855) | 0);
- w = YB(F, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (F | 0) ? b : w;
- break a;
- break;
- }
- case 115: {
- w = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18858, AB(18858) | 0);
- F = YB(w, d, g, e) | 0;
- iB(g);
- z = (F | 0) == (w | 0) ? b : F;
- break a;
- break;
- }
- case 83: {
- F = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18861, AB(18861) | 0);
- w = YB(F, d, g, e) | 0;
- iB(g);
- z = (w | 0) == (F | 0) ? b : w;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 115: {
- switch (a[(x + 1) >> 0] | 0) {
- case 99: {
- z = lC(b, d, e) | 0;
- break a;
- break;
- }
- case 112: {
- z = mC(b, d, e) | 0;
- break a;
- break;
- }
- case 114: {
- z = eC(b, d, e) | 0;
- break a;
- break;
- }
- case 116: {
- z = nC(b, d, e) | 0;
- break a;
- break;
- }
- case 122: {
- z = oC(b, d, e) | 0;
- break a;
- break;
- }
- case 90: {
- if (((u - x) | 0) <= 2) {
- z = b;
- break a;
- }
- switch (a[(x + 2) >> 0] | 0) {
- case 84: {
- z = pC(b, d, e) | 0;
- break a;
- break;
- }
- case 102: {
- z = qC(b, d, e) | 0;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 116: {
- switch (a[(x + 1) >> 0] | 0) {
- case 105:
- case 101: {
- z = rC(b, d, e) | 0;
- break a;
- break;
- }
- case 114: {
- sC(g, 18865);
- w = (e + 4) | 0;
- F = c[w >> 2] | 0;
- if (F >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(F, g);
- c[w >> 2] = (c[w >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- z = (b + 2) | 0;
- break a;
- break;
- }
- case 119: {
- z = tC(b, d, e) | 0;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- break;
- }
- case 57:
- case 56:
- case 55:
- case 54:
- case 53:
- case 52:
- case 51:
- case 50:
- case 49: {
- z = eC(b, d, e) | 0;
- break a;
- break;
- }
- default: {
- z = b;
- break a;
- }
- }
- } while (0);
- } else z = b;
- } while (0);
- l = f;
- return z | 0;
- }
- function TB(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- d = (b + 11) | 0;
- e = a[d >> 0] | 0;
- f = (e << 24) >> 24 < 0;
- if (f) {
- g = c[(b + 4) >> 2] | 0;
- h = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
- } else {
- g = e & 255;
- h = 10;
- }
- i = g >>> 0 < 11;
- j = i ? 10 : (((g + 16) & -16) + -1) | 0;
- a: do {
- if ((j | 0) != (h | 0)) {
- do {
- if (i) {
- k = c[b >> 2] | 0;
- if (f) {
- l = 0;
- m = k;
- n = b;
- o = 12;
- } else {
- bB(b, k, ((e & 255) + 1) | 0) | 0;
- gB(k);
- o = 15;
- }
- } else {
- k = (j + 1) | 0;
- p = fB(k) | 0;
- if ((j >>> 0 <= h >>> 0) & ((p | 0) == 0)) break a;
- q = a[d >> 0] | 0;
- if ((q << 24) >> 24 < 0) {
- l = 1;
- m = c[b >> 2] | 0;
- n = p;
- o = 12;
- break;
- } else {
- bB(p, b, ((q & 255) + 1) | 0) | 0;
- r = p;
- s = k;
- t = (b + 4) | 0;
- o = 14;
- break;
- }
- }
- } while (0);
- if ((o | 0) == 12) {
- k = (b + 4) | 0;
- bB(n, m, ((c[k >> 2] | 0) + 1) | 0) | 0;
- gB(m);
- if (l) {
- r = n;
- s = (j + 1) | 0;
- t = k;
- o = 14;
- } else o = 15;
- }
- if ((o | 0) == 14) {
- c[(b + 8) >> 2] = s | -2147483648;
- c[t >> 2] = g;
- c[b >> 2] = r;
- break;
- } else if ((o | 0) == 15) {
- a[d >> 0] = g;
- break;
- }
- }
- } while (0);
- return;
- }
- function UB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- f = 0;
- while (1) {
- if ((f | 0) == 3) break;
- c[(b + (f << 2)) >> 2] = 0;
- f = (f + 1) | 0;
- }
- f = AB(d) | 0;
- g = (e + 11) | 0;
- h = a[g >> 0] | 0;
- i = (h << 24) >> 24 < 0 ? c[(e + 4) >> 2] | 0 : h & 255;
- VB(b, d, f, (i + f) | 0);
- TA(b, (a[g >> 0] | 0) < 0 ? c[e >> 2] | 0 : e, i) | 0;
- return;
- }
- function VB(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0;
- g = l;
- l = (l + 16) | 0;
- h = g;
- if (f >>> 0 > 4294967279) eB(b);
- if (f >>> 0 < 11) {
- a[(b + 11) >> 0] = e;
- i = b;
- } else {
- j = (f + 16) & -16;
- f = fB(j) | 0;
- c[b >> 2] = f;
- c[(b + 8) >> 2] = j | -2147483648;
- c[(b + 4) >> 2] = e;
- i = f;
- }
- bB(i, d, e) | 0;
- a[h >> 0] = 0;
- cB((i + e) | 0, h);
- l = g;
- return;
- }
- function WB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- f = l;
- l = (l + 96) | 0;
- g = (f + 64) | 0;
- h = (f + 48) | 0;
- i = (f + 36) | 0;
- j = (f + 24) | 0;
- k = (f + 12) | 0;
- m = f;
- a: do {
- if (((d - b) | 0) > 3 ? (a[b >> 0] | 0) == 76 : 0) {
- n = (b + 1) | 0;
- do {
- switch (a[n >> 0] | 0) {
- case 84: {
- o = b;
- break a;
- break;
- }
- case 119: {
- p = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19867, AB(19867) | 0);
- q = bD(p, d, g, e) | 0;
- iB(g);
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 98: {
- if ((a[(b + 3) >> 0] | 0) != 69) {
- o = b;
- break a;
- }
- switch (a[(b + 2) >> 0] | 0) {
- case 48: {
- sC(g, 19875);
- q = (e + 4) | 0;
- p = c[q >> 2] | 0;
- if (p >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(p, g);
- c[q >> 2] = (c[q >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- o = (b + 4) | 0;
- break a;
- break;
- }
- case 49: {
- cD(g, 19881);
- q = (e + 4) | 0;
- p = c[q >> 2] | 0;
- if (p >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(p, g);
- c[q >> 2] = (c[q >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- o = (b + 4) | 0;
- break a;
- break;
- }
- default: {
- o = b;
- break a;
- }
- }
- break;
- }
- case 99: {
- q = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19886, AB(19886) | 0);
- p = bD(q, d, g, e) | 0;
- iB(g);
- o = (p | 0) == (q | 0) ? b : p;
- break a;
- break;
- }
- case 97: {
- p = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19891, AB(19891) | 0);
- q = bD(p, d, g, e) | 0;
- iB(g);
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 104: {
- q = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19903, AB(19903) | 0);
- p = bD(q, d, g, e) | 0;
- iB(g);
- o = (p | 0) == (q | 0) ? b : p;
- break a;
- break;
- }
- case 115: {
- p = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19917, AB(19917) | 0);
- q = bD(p, d, g, e) | 0;
- iB(g);
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 116: {
- q = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19923, AB(19923) | 0);
- p = bD(q, d, g, e) | 0;
- iB(g);
- o = (p | 0) == (q | 0) ? b : p;
- break a;
- break;
- }
- case 105: {
- p = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 22268, AB(22268) | 0);
- q = bD(p, d, g, e) | 0;
- iB(g);
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 106: {
- q = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19938, AB(19938) | 0);
- p = bD(q, d, g, e) | 0;
- iB(g);
- o = (p | 0) == (q | 0) ? b : p;
- break a;
- break;
- }
- case 108: {
- p = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19940, AB(19940) | 0);
- q = bD(p, d, g, e) | 0;
- iB(g);
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 109: {
- q = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19942, AB(19942) | 0);
- p = bD(q, d, g, e) | 0;
- iB(g);
- o = (p | 0) == (q | 0) ? b : p;
- break a;
- break;
- }
- case 120: {
- p = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19945, AB(19945) | 0);
- q = bD(p, d, g, e) | 0;
- iB(g);
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 121: {
- q = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19948, AB(19948) | 0);
- p = bD(q, d, g, e) | 0;
- iB(g);
- o = (p | 0) == (q | 0) ? b : p;
- break a;
- break;
- }
- case 110: {
- p = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19952, AB(19952) | 0);
- q = bD(p, d, g, e) | 0;
- iB(g);
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 111: {
- q = (b + 2) | 0;
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 19961, AB(19961) | 0);
- p = bD(q, d, g, e) | 0;
- iB(g);
- o = (p | 0) == (q | 0) ? b : p;
- break a;
- break;
- }
- case 102: {
- p = (b + 2) | 0;
- q = dD(p, d, e) | 0;
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 100: {
- q = (b + 2) | 0;
- p = eD(q, d, e) | 0;
- o = (p | 0) == (q | 0) ? b : p;
- break a;
- break;
- }
- case 101: {
- p = (b + 2) | 0;
- q = fD(p, d, e) | 0;
- o = (q | 0) == (p | 0) ? b : q;
- break a;
- break;
- }
- case 95: {
- if ((a[(b + 2) >> 0] | 0) != 90) {
- o = b;
- break a;
- }
- q = (b + 3) | 0;
- p = jB(q, d, e) | 0;
- if (((p | 0) == (q | 0)) | ((p | 0) == (d | 0))) {
- o = b;
- break a;
- }
- o = (a[p >> 0] | 0) == 69 ? (p + 1) | 0 : b;
- break a;
- break;
- }
- default: {
- p = mB(n, d, e) | 0;
- if (((p | 0) == (n | 0)) | ((p | 0) == (d | 0))) {
- o = b;
- break a;
- }
- if ((a[p >> 0] | 0) == 69) {
- o = (p + 1) | 0;
- break a;
- }
- q = p;
- while (1) {
- if ((q | 0) == (d | 0)) {
- o = b;
- break a;
- }
- r = a[q >> 0] | 0;
- if (((((r << 24) >> 24) + -48) | 0) >>> 0 >= 10)
- break;
- q = (q + 1) | 0;
- }
- if (
- !(((q | 0) != (p | 0)) & ((r << 24) >> 24 == 69))
- ) {
- o = b;
- break a;
- }
- s = (e + 4) | 0;
- t = c[s >> 2] | 0;
- if ((c[e >> 2] | 0) == (t | 0)) {
- o = b;
- break a;
- }
- FB(k, (t + -24) | 0);
- pB(k, 0, 18675) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- t = 0;
- while (1) {
- if ((t | 0) == 3) break;
- c[(k + (t << 2)) >> 2] = 0;
- t = (t + 1) | 0;
- }
- qB(j, 18673) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- t = 0;
- while (1) {
- if ((t | 0) == 3) break;
- c[(j + (t << 2)) >> 2] = 0;
- t = (t + 1) | 0;
- }
- c[m >> 2] = 0;
- c[(m + 4) >> 2] = 0;
- c[(m + 8) >> 2] = 0;
- QC(m, p, q);
- t = a[(m + 11) >> 0] | 0;
- u = (t << 24) >> 24 < 0;
- TA(
- i,
- u ? c[m >> 2] | 0 : m,
- u ? c[(m + 4) >> 2] | 0 : t & 255
- ) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- t = 0;
- while (1) {
- if ((t | 0) == 3) break;
- c[(i + (t << 2)) >> 2] = 0;
- t = (t + 1) | 0;
- }
- IB(g, h);
- JB(((c[s >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(h);
- iB(m);
- iB(i);
- iB(j);
- iB(k);
- o = (q + 1) | 0;
- break a;
- }
- }
- } while (0);
- } else o = b;
- } while (0);
- l = f;
- return o | 0;
- }
- function XB(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- f = l;
- l = (l + 80) | 0;
- g = (f + 64) | 0;
- h = (f + 40) | 0;
- i = (f + 12) | 0;
- j = (f + 24) | 0;
- k = f;
- a: do {
- if (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 102 : 0) {
- switch (a[(b + 1) >> 0] | 0) {
- case 112: {
- m = nB((b + 2) | 0, d, g) | 0;
- n = QB(m, d) | 0;
- if ((n | 0) != (d | 0) ? (a[n >> 0] | 0) == 95 : 0) {
- c[j >> 2] = 0;
- c[(j + 4) >> 2] = 0;
- c[(j + 8) >> 2] = 0;
- QC(j, m, n);
- pB(j, 0, 19864) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- m = 0;
- while (1) {
- if ((m | 0) == 3) break;
- c[(j + (m << 2)) >> 2] = 0;
- m = (m + 1) | 0;
- }
- IB(h, i);
- m = (e + 4) | 0;
- o = c[m >> 2] | 0;
- if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(o, h);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, h);
- QA(h);
- iB(i);
- iB(j);
- p = (n + 1) | 0;
- } else p = b;
- q = p;
- break a;
- break;
- }
- case 76:
- break;
- default: {
- q = b;
- break a;
- }
- }
- m = QB((b + 2) | 0, d) | 0;
- if (
- (
- ((m | 0) != (d | 0) ? (a[m >> 0] | 0) == 112 : 0)
- ? ((o = nB((m + 1) | 0, d, g) | 0),
- (m = QB(o, d) | 0),
- (m | 0) != (d | 0))
- : 0
- )
- ? (a[m >> 0] | 0) == 95
- : 0
- ) {
- c[j >> 2] = 0;
- c[(j + 4) >> 2] = 0;
- c[(j + 8) >> 2] = 0;
- QC(j, o, m);
- pB(j, 0, 19864) | 0;
- c[k >> 2] = c[j >> 2];
- c[(k + 4) >> 2] = c[(j + 4) >> 2];
- c[(k + 8) >> 2] = c[(j + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(j + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- IB(h, k);
- o = (e + 4) | 0;
- n = c[o >> 2] | 0;
- if (n >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(n, h);
- c[o >> 2] = (c[o >> 2] | 0) + 24;
- } else LB(e, h);
- QA(h);
- iB(k);
- iB(j);
- r = (m + 1) | 0;
- } else r = b;
- q = r;
- } else q = b;
- } while (0);
- l = f;
- return q | 0;
- }
- function YB(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0;
- g = l;
- l = (l + 96) | 0;
- h = (g + 84) | 0;
- i = (g + 72) | 0;
- j = (g + 60) | 0;
- k = (g + 48) | 0;
- m = (g + 36) | 0;
- n = (g + 24) | 0;
- o = (g + 12) | 0;
- p = g;
- q = SB(b, d, f) | 0;
- do {
- if ((q | 0) != (b | 0)) {
- r = SB(q, d, f) | 0;
- s = (f + 4) | 0;
- if ((r | 0) == (q | 0)) {
- t = c[s >> 2] | 0;
- u = 0;
- while (1) {
- if ((u | 0) == -1) break;
- v = (u + -1) | 0;
- QA((t + ((v * 24) | 0)) | 0);
- u = v;
- }
- c[s >> 2] = t + -24;
- w = b;
- break;
- }
- u = c[s >> 2] | 0;
- if (((((u - (c[f >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2) {
- FB(i, (u + -24) | 0);
- u = c[s >> 2] | 0;
- v = 0;
- while (1) {
- if ((v | 0) == -1) break;
- x = (v + -1) | 0;
- QA((u + ((x * 24) | 0)) | 0);
- v = x;
- }
- c[s >> 2] = u + -24;
- FB(j, (u + -48) | 0);
- v = c[s >> 2] | 0;
- t = (v + -24) | 0;
- x = (t + 11) | 0;
- if ((a[x >> 0] | 0) < 0) {
- y = c[t >> 2] | 0;
- a[h >> 0] = 0;
- cB(y, h);
- c[(v + -20) >> 2] = 0;
- } else {
- a[h >> 0] = 0;
- cB(t, h);
- a[x >> 0] = 0;
- }
- x = AB(18711) | 0;
- v = (e + 11) | 0;
- y = a[v >> 0] | 0;
- z = (e + 4) | 0;
- if (
- (x | 0) ==
- (((y << 24) >> 24 < 0 ? c[z >> 2] | 0 : y & 255) | 0)
- ? (BB(e, 18711, x) | 0) == 0
- : 0
- )
- NC(t, 40);
- UB(p, 18675, j);
- qB(p, 18961) | 0;
- c[o >> 2] = c[p >> 2];
- c[(o + 4) >> 2] = c[(p + 4) >> 2];
- c[(o + 8) >> 2] = c[(p + 8) >> 2];
- x = 0;
- while (1) {
- if ((x | 0) == 3) break;
- c[(p + (x << 2)) >> 2] = 0;
- x = (x + 1) | 0;
- }
- x = a[v >> 0] | 0;
- s = (x << 24) >> 24 < 0;
- TA(
- o,
- s ? c[e >> 2] | 0 : e,
- s ? c[z >> 2] | 0 : x & 255
- ) | 0;
- c[n >> 2] = c[o >> 2];
- c[(n + 4) >> 2] = c[(o + 4) >> 2];
- c[(n + 8) >> 2] = c[(o + 8) >> 2];
- x = 0;
- while (1) {
- if ((x | 0) == 3) break;
- c[(o + (x << 2)) >> 2] = 0;
- x = (x + 1) | 0;
- }
- qB(n, 18670) | 0;
- c[m >> 2] = c[n >> 2];
- c[(m + 4) >> 2] = c[(n + 4) >> 2];
- c[(m + 8) >> 2] = c[(n + 8) >> 2];
- x = 0;
- while (1) {
- if ((x | 0) == 3) break;
- c[(n + (x << 2)) >> 2] = 0;
- x = (x + 1) | 0;
- }
- x = a[(i + 11) >> 0] | 0;
- s = (x << 24) >> 24 < 0;
- TA(
- m,
- s ? c[i >> 2] | 0 : i,
- s ? c[(i + 4) >> 2] | 0 : x & 255
- ) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- x = 0;
- while (1) {
- if ((x | 0) == 3) break;
- c[(m + (x << 2)) >> 2] = 0;
- x = (x + 1) | 0;
- }
- qB(k, 18673) | 0;
- c[h >> 2] = c[k >> 2];
- c[(h + 4) >> 2] = c[(k + 4) >> 2];
- c[(h + 8) >> 2] = c[(k + 8) >> 2];
- x = 0;
- while (1) {
- if ((x | 0) == 3) break;
- c[(k + (x << 2)) >> 2] = 0;
- x = (x + 1) | 0;
- }
- x = a[(h + 11) >> 0] | 0;
- s = (x << 24) >> 24 < 0;
- TA(
- t,
- s ? c[h >> 2] | 0 : h,
- s ? c[(h + 4) >> 2] | 0 : x & 255
- ) | 0;
- iB(h);
- iB(k);
- iB(m);
- iB(n);
- iB(o);
- iB(p);
- x = AB(18711) | 0;
- s = a[v >> 0] | 0;
- if (
- (x | 0) ==
- (((s << 24) >> 24 < 0 ? c[z >> 2] | 0 : s & 255) | 0)
- ? (BB(e, 18711, x) | 0) == 0
- : 0
- )
- NC(t, 41);
- iB(j);
- iB(i);
- w = r;
- } else w = b;
- } else w = b;
- } while (0);
- l = g;
- return w | 0;
- }
- function ZB(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 64) | 0;
- h = (g + 48) | 0;
- i = (g + 36) | 0;
- j = (g + 24) | 0;
- k = (g + 12) | 0;
- m = g;
- n = SB(b, d, f) | 0;
- if (
- (n | 0) != (b | 0)
- ? ((d = (f + 4) | 0), (c[f >> 2] | 0) != (c[d >> 2] | 0))
- : 0
- ) {
- HB(k, e, 18675);
- FB(m, ((c[d >> 2] | 0) + -24) | 0);
- e = a[(m + 11) >> 0] | 0;
- f = (e << 24) >> 24 < 0;
- TA(
- k,
- f ? c[m >> 2] | 0 : m,
- f ? c[(m + 4) >> 2] | 0 : e & 255
- ) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- e = 0;
- while (1) {
- if ((e | 0) == 3) break;
- c[(k + (e << 2)) >> 2] = 0;
- e = (e + 1) | 0;
- }
- qB(j, 18673) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- e = 0;
- while (1) {
- if ((e | 0) == 3) break;
- c[(j + (e << 2)) >> 2] = 0;
- e = (e + 1) | 0;
- }
- e = c[d >> 2] | 0;
- d = (e + -24) | 0;
- f = (d + 11) | 0;
- if ((a[f >> 0] | 0) < 0) {
- o = c[d >> 2] | 0;
- a[h >> 0] = 0;
- cB(o, h);
- c[(e + -20) >> 2] = 0;
- } else {
- a[h >> 0] = 0;
- cB(d, h);
- a[f >> 0] = 0;
- }
- TB(d);
- c[d >> 2] = c[i >> 2];
- c[(d + 4) >> 2] = c[(i + 4) >> 2];
- c[(d + 8) >> 2] = c[(i + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(i + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- iB(i);
- iB(j);
- iB(m);
- iB(k);
- p = n;
- } else p = b;
- l = g;
- return p | 0;
- }
- function _B(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 36) | 0;
- h = (f + 24) | 0;
- i = (f + 12) | 0;
- j = f;
- if (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 97 : 0)
- ? (a[(b + 1) >> 0] | 0) == 116
- : 0
- )
- ? ((k = (b + 2) | 0),
- (m = mB(k, d, e) | 0),
- (m | 0) != (k | 0))
- : 0
- )
- ? ((k = (e + 4) | 0),
- (d = c[k >> 2] | 0),
- (c[e >> 2] | 0) != (d | 0))
- : 0
- ) {
- FB(j, (d + -24) | 0);
- pB(j, 0, 19854) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(i, 18673) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(i + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- d = c[k >> 2] | 0;
- k = (d + -24) | 0;
- e = (k + 11) | 0;
- if ((a[e >> 0] | 0) < 0) {
- n = c[k >> 2] | 0;
- a[g >> 0] = 0;
- cB(n, g);
- c[(d + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(k, g);
- a[e >> 0] = 0;
- }
- TB(k);
- c[k >> 2] = c[h >> 2];
- c[(k + 4) >> 2] = c[(h + 4) >> 2];
- c[(k + 8) >> 2] = c[(h + 8) >> 2];
- k = 0;
- while (1) {
- if ((k | 0) == 3) break;
- c[(h + (k << 2)) >> 2] = 0;
- k = (k + 1) | 0;
- }
- iB(h);
- iB(i);
- iB(j);
- o = m;
- } else o = b;
- l = f;
- return o | 0;
- }
- function $B(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 36) | 0;
- h = (f + 24) | 0;
- i = (f + 12) | 0;
- j = f;
- if (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 97 : 0)
- ? (a[(b + 1) >> 0] | 0) == 122
- : 0
- )
- ? ((k = (b + 2) | 0),
- (m = SB(k, d, e) | 0),
- (m | 0) != (k | 0))
- : 0
- )
- ? ((k = (e + 4) | 0),
- (d = c[k >> 2] | 0),
- (c[e >> 2] | 0) != (d | 0))
- : 0
- ) {
- FB(j, (d + -24) | 0);
- pB(j, 0, 19854) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(i, 18673) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(i + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- d = c[k >> 2] | 0;
- k = (d + -24) | 0;
- e = (k + 11) | 0;
- if ((a[e >> 0] | 0) < 0) {
- n = c[k >> 2] | 0;
- a[g >> 0] = 0;
- cB(n, g);
- c[(d + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(k, g);
- a[e >> 0] = 0;
- }
- TB(k);
- c[k >> 2] = c[h >> 2];
- c[(k + 4) >> 2] = c[(h + 4) >> 2];
- c[(k + 8) >> 2] = c[(h + 8) >> 2];
- k = 0;
- while (1) {
- if ((k | 0) == 3) break;
- c[(h + (k << 2)) >> 2] = 0;
- k = (k + 1) | 0;
- }
- iB(h);
- iB(i);
- iB(j);
- o = m;
- } else o = b;
- l = f;
- return o | 0;
- }
- function aC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- f = l;
- l = (l + 112) | 0;
- g = (f + 88) | 0;
- h = (f + 64) | 0;
- i = (f + 36) | 0;
- j = (f + 48) | 0;
- k = (f + 24) | 0;
- m = (f + 12) | 0;
- n = f;
- if (
- (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 99 : 0)
- ? (a[(b + 1) >> 0] | 0) == 99
- : 0
- )
- ? ((o = (b + 2) | 0),
- (p = mB(o, d, e) | 0),
- (p | 0) != (o | 0))
- : 0
- )
- ? ((o = SB(p, d, e) | 0), (o | 0) != (p | 0))
- : 0
- )
- ? ((p = (e + 4) | 0),
- (d = c[p >> 2] | 0),
- ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- FB(g, (d + -24) | 0);
- d = c[p >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- q = (e + -1) | 0;
- QA((d + ((q * 24) | 0)) | 0);
- e = q;
- }
- c[p >> 2] = d + -24;
- FB(n, (d + -48) | 0);
- pB(n, 0, 19842) | 0;
- c[m >> 2] = c[n >> 2];
- c[(m + 4) >> 2] = c[(n + 4) >> 2];
- c[(m + 8) >> 2] = c[(n + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(n + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(m, 18922) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(m + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- d = a[(g + 11) >> 0] | 0;
- e = (d << 24) >> 24 < 0;
- TA(
- k,
- e ? c[g >> 2] | 0 : g,
- e ? c[(g + 4) >> 2] | 0 : d & 255
- ) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(k + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(j, 18673) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- IB(h, i);
- JB(((c[p >> 2] | 0) + -24) | 0, h);
- QA(h);
- iB(i);
- iB(j);
- iB(k);
- iB(m);
- iB(n);
- iB(g);
- r = o;
- } else r = b;
- l = f;
- return r | 0;
- }
- function bC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 12) | 0;
- h = f;
- a: do {
- if (
- (
- (
- (((d - b) | 0) > 3 ? (a[b >> 0] | 0) == 99 : 0)
- ? (a[(b + 1) >> 0] | 0) == 108
- : 0
- )
- ? ((i = (b + 2) | 0),
- (j = SB(i, d, e) | 0),
- !(((j | 0) == (i | 0)) | ((j | 0) == (d | 0))))
- : 0
- )
- ? ((i = (e + 4) | 0),
- (k = c[i >> 2] | 0),
- (c[e >> 2] | 0) != (k | 0))
- : 0
- ) {
- m = (k + -12) | 0;
- n = a[(m + 11) >> 0] | 0;
- o = (n << 24) >> 24 < 0;
- TA(
- (k + -24) | 0,
- o ? c[m >> 2] | 0 : m,
- o ? c[(k + -8) >> 2] | 0 : n & 255
- ) | 0;
- c[h >> 2] = 0;
- c[(h + 4) >> 2] = 0;
- c[(h + 8) >> 2] = 0;
- n = 0;
- while (1) {
- if ((n | 0) == 3) break;
- c[(h + (n << 2)) >> 2] = 0;
- n = (n + 1) | 0;
- }
- n = c[i >> 2] | 0;
- k = (n + -12) | 0;
- o = (k + 11) | 0;
- if ((a[o >> 0] | 0) < 0) {
- m = c[k >> 2] | 0;
- a[g >> 0] = 0;
- cB(m, g);
- c[(n + -8) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(k, g);
- a[o >> 0] = 0;
- }
- TB(k);
- c[k >> 2] = c[h >> 2];
- c[(k + 4) >> 2] = c[(h + 4) >> 2];
- c[(k + 8) >> 2] = c[(h + 8) >> 2];
- k = 0;
- while (1) {
- if ((k | 0) == 3) break;
- c[(h + (k << 2)) >> 2] = 0;
- k = (k + 1) | 0;
- }
- iB(h);
- qB(((c[i >> 2] | 0) + -24) | 0, 18675) | 0;
- k = (g + 11) | 0;
- o = (g + 4) | 0;
- n = 0;
- m = j;
- while (1) {
- if ((a[m >> 0] | 0) == 69) break;
- p = SB(m, d, e) | 0;
- if (((p | 0) == (m | 0)) | ((p | 0) == (d | 0))) {
- q = b;
- break a;
- }
- r = c[i >> 2] | 0;
- if ((c[e >> 2] | 0) == (r | 0)) {
- q = b;
- break a;
- }
- FB(g, (r + -24) | 0);
- r = c[i >> 2] | 0;
- s = 0;
- while (1) {
- if ((s | 0) == -1) break;
- t = (s + -1) | 0;
- QA((r + ((t * 24) | 0)) | 0);
- s = t;
- }
- s = (r + -24) | 0;
- c[i >> 2] = s;
- t = a[k >> 0] | 0;
- u = (t << 24) >> 24 < 0;
- v = u ? c[o >> 2] | 0 : t & 255;
- if (v) {
- if ((c[e >> 2] | 0) == (s | 0)) {
- w = 0;
- x = b;
- y = m;
- } else {
- TA((r + -48) | 0, u ? c[g >> 2] | 0 : g, v) | 0;
- w = 1;
- x = n;
- y = p;
- }
- } else {
- w = 1;
- x = n;
- y = p;
- }
- iB(g);
- if (w) {
- n = x;
- m = y;
- } else {
- q = x;
- break a;
- }
- }
- n = c[i >> 2] | 0;
- if ((c[e >> 2] | 0) != (n | 0)) {
- qB((n + -24) | 0, 18673) | 0;
- q = (m + 1) | 0;
- } else q = b;
- } else q = b;
- } while (0);
- l = f;
- return q | 0;
- }
- function cC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0;
- f = l;
- l = (l + 112) | 0;
- g = (f + 88) | 0;
- h = (f + 64) | 0;
- i = (f + 36) | 0;
- j = (f + 48) | 0;
- k = (f + 24) | 0;
- m = (f + 12) | 0;
- n = f;
- a: do {
- if (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 99 : 0)
- ? (a[(b + 1) >> 0] | 0) == 118
- : 0
- )
- ? ((o = (e + 63) | 0),
- (p = a[o >> 0] | 0),
- (a[o >> 0] = 0),
- (q = (b + 2) | 0),
- (r = mB(q, d, e) | 0),
- (a[o >> 0] = p),
- !(((r | 0) == (q | 0)) | ((r | 0) == (d | 0))))
- : 0
- ) {
- if ((a[r >> 0] | 0) != 95) {
- q = SB(r, d, e) | 0;
- if ((q | 0) == (r | 0)) {
- s = b;
- break;
- } else t = q;
- } else {
- q = (r + 1) | 0;
- if ((q | 0) == (d | 0)) {
- s = b;
- break;
- }
- r = a[q >> 0] | 0;
- b: do {
- if ((r << 24) >> 24 == 69) {
- p = (e + 4) | 0;
- o = c[p >> 2] | 0;
- if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- c[o >> 2] = 0;
- c[(o + 4) >> 2] = 0;
- c[(o + 8) >> 2] = 0;
- c[(o + 12) >> 2] = 0;
- c[(o + 16) >> 2] = 0;
- c[(o + 20) >> 2] = 0;
- VC(o);
- c[p >> 2] = (c[p >> 2] | 0) + 24;
- u = q;
- break;
- } else {
- WC(e);
- u = q;
- break;
- }
- } else {
- p = q;
- o = r;
- while (1) {
- if ((o << 24) >> 24 == 69) {
- u = p;
- break b;
- }
- v = SB(p, d, e) | 0;
- if (((v | 0) == (p | 0)) | ((v | 0) == (d | 0))) {
- s = b;
- break a;
- }
- p = v;
- o = a[v >> 0] | 0;
- }
- }
- } while (0);
- t = (u + 1) | 0;
- }
- r = (e + 4) | 0;
- q = c[r >> 2] | 0;
- if (((((q - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2) {
- FB(g, (q + -24) | 0);
- q = c[r >> 2] | 0;
- o = 0;
- while (1) {
- if ((o | 0) == -1) break;
- p = (o + -1) | 0;
- QA((q + ((p * 24) | 0)) | 0);
- o = p;
- }
- c[r >> 2] = q + -24;
- FB(n, (q + -48) | 0);
- pB(n, 0, 18675) | 0;
- c[m >> 2] = c[n >> 2];
- c[(m + 4) >> 2] = c[(n + 4) >> 2];
- c[(m + 8) >> 2] = c[(n + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(n + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- qB(m, 19839) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(m + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- o = a[(g + 11) >> 0] | 0;
- q = (o << 24) >> 24 < 0;
- TA(
- k,
- q ? c[g >> 2] | 0 : g,
- q ? c[(g + 4) >> 2] | 0 : o & 255
- ) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(k + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- qB(j, 18673) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(j + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- IB(h, i);
- JB(((c[r >> 2] | 0) + -24) | 0, h);
- QA(h);
- iB(i);
- iB(j);
- iB(k);
- iB(m);
- iB(n);
- iB(g);
- s = t;
- } else s = b;
- } else s = b;
- } while (0);
- l = f;
- return s | 0;
- }
- function dC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- f = l;
- l = (l + 112) | 0;
- g = (f + 88) | 0;
- h = (f + 64) | 0;
- i = (f + 36) | 0;
- j = (f + 48) | 0;
- k = (f + 24) | 0;
- m = (f + 12) | 0;
- n = f;
- if (
- (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 100 : 0)
- ? (a[(b + 1) >> 0] | 0) == 99
- : 0
- )
- ? ((o = (b + 2) | 0),
- (p = mB(o, d, e) | 0),
- (p | 0) != (o | 0))
- : 0
- )
- ? ((o = SB(p, d, e) | 0), (o | 0) != (p | 0))
- : 0
- )
- ? ((p = (e + 4) | 0),
- (d = c[p >> 2] | 0),
- ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- FB(g, (d + -24) | 0);
- d = c[p >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- q = (e + -1) | 0;
- QA((d + ((q * 24) | 0)) | 0);
- e = q;
- }
- c[p >> 2] = d + -24;
- FB(n, (d + -48) | 0);
- pB(n, 0, 19825) | 0;
- c[m >> 2] = c[n >> 2];
- c[(m + 4) >> 2] = c[(n + 4) >> 2];
- c[(m + 8) >> 2] = c[(n + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(n + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(m, 18922) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(m + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- d = a[(g + 11) >> 0] | 0;
- e = (d << 24) >> 24 < 0;
- TA(
- k,
- e ? c[g >> 2] | 0 : g,
- e ? c[(g + 4) >> 2] | 0 : d & 255
- ) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(k + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(j, 18673) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- IB(h, i);
- JB(((c[p >> 2] | 0) + -24) | 0, h);
- QA(h);
- iB(i);
- iB(j);
- iB(k);
- iB(m);
- iB(n);
- iB(g);
- r = o;
- } else r = b;
- l = f;
- return r | 0;
- }
- function eC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 12) | 0;
- h = f;
- i = d;
- a: do {
- if (((i - b) | 0) > 2) {
- if ((a[b >> 0] | 0) == 103) {
- j = (a[(b + 1) >> 0] | 0) == 115;
- k = j;
- m = j ? (b + 2) | 0 : b;
- } else {
- k = 0;
- m = b;
- }
- j = xC(m, d, e) | 0;
- if ((j | 0) != (m | 0)) {
- if (!k) {
- n = j;
- break;
- }
- o = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (o | 0)) {
- n = b;
- break;
- }
- pB((o + -24) | 0, 0, 18747) | 0;
- n = j;
- break;
- }
- if (
- (((i - m) | 0) > 2 ? (a[m >> 0] | 0) == 115 : 0)
- ? (a[(m + 1) >> 0] | 0) == 114
- : 0
- ) {
- j = (m + 2) | 0;
- if ((a[j >> 0] | 0) == 78) {
- o = (m + 3) | 0;
- p = yC(o, d, e) | 0;
- if (((p | 0) == (o | 0)) | ((p | 0) == (d | 0))) {
- n = b;
- break;
- }
- o = EB(p, d, e) | 0;
- q = (e + 4) | 0;
- do {
- if ((o | 0) == (p | 0)) {
- r = p;
- s = e;
- } else {
- t = c[q >> 2] | 0;
- if (
- ((((t - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- n = b;
- break a;
- }
- FB(g, (t + -24) | 0);
- t = c[q >> 2] | 0;
- u = 0;
- while (1) {
- if ((u | 0) == -1) break;
- v = (u + -1) | 0;
- QA((t + ((v * 24) | 0)) | 0);
- u = v;
- }
- c[q >> 2] = t + -24;
- u = a[(g + 11) >> 0] | 0;
- v = (u << 24) >> 24 < 0;
- TA(
- (t + -48) | 0,
- v ? c[g >> 2] | 0 : g,
- v ? c[(g + 4) >> 2] | 0 : u & 255
- ) | 0;
- if ((o | 0) != (d | 0)) {
- iB(g);
- r = o;
- s = e;
- break;
- }
- u = c[q >> 2] | 0;
- v = 0;
- while (1) {
- if ((v | 0) == -1) break;
- w = (v + -1) | 0;
- QA((u + ((w * 24) | 0)) | 0);
- v = w;
- }
- c[q >> 2] = u + -24;
- iB(g);
- n = b;
- break a;
- }
- } while (0);
- o = (h + 11) | 0;
- p = (h + 4) | 0;
- v = r;
- while (1) {
- if ((a[v >> 0] | 0) == 69) break;
- t = zC(v, d, e) | 0;
- if (((t | 0) == (v | 0)) | ((t | 0) == (d | 0))) {
- n = b;
- break a;
- }
- w = c[q >> 2] | 0;
- if (
- ((((w - (c[s >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- n = b;
- break a;
- }
- FB(g, (w + -24) | 0);
- w = c[q >> 2] | 0;
- x = 0;
- while (1) {
- if ((x | 0) == -1) break;
- y = (x + -1) | 0;
- QA((w + ((y * 24) | 0)) | 0);
- x = y;
- }
- c[q >> 2] = w + -24;
- pB(g, 0, 18747) | 0;
- c[h >> 2] = c[g >> 2];
- c[(h + 4) >> 2] = c[(g + 4) >> 2];
- c[(h + 8) >> 2] = c[(g + 8) >> 2];
- x = 0;
- while (1) {
- if ((x | 0) == 3) break;
- c[(g + (x << 2)) >> 2] = 0;
- x = (x + 1) | 0;
- }
- x = a[o >> 0] | 0;
- w = (x << 24) >> 24 < 0;
- TA(
- ((c[q >> 2] | 0) + -24) | 0,
- w ? c[h >> 2] | 0 : h,
- w ? c[p >> 2] | 0 : x & 255
- ) | 0;
- iB(h);
- iB(g);
- v = t;
- }
- p = (v + 1) | 0;
- o = xC(p, d, e) | 0;
- if ((o | 0) == (p | 0)) {
- p = c[q >> 2] | 0;
- if ((c[e >> 2] | 0) == (p | 0)) {
- n = b;
- break;
- }
- x = 0;
- while (1) {
- if ((x | 0) == -1) break;
- w = (x + -1) | 0;
- QA((p + ((w * 24) | 0)) | 0);
- x = w;
- }
- c[q >> 2] = p + -24;
- n = b;
- break;
- }
- x = c[q >> 2] | 0;
- if (
- ((((x - (c[s >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- n = b;
- break;
- }
- FB(g, (x + -24) | 0);
- x = c[q >> 2] | 0;
- v = 0;
- while (1) {
- if ((v | 0) == -1) break;
- w = (v + -1) | 0;
- QA((x + ((w * 24) | 0)) | 0);
- v = w;
- }
- c[q >> 2] = x + -24;
- pB(g, 0, 18747) | 0;
- c[h >> 2] = c[g >> 2];
- c[(h + 4) >> 2] = c[(g + 4) >> 2];
- c[(h + 8) >> 2] = c[(g + 8) >> 2];
- v = 0;
- while (1) {
- if ((v | 0) == 3) break;
- c[(g + (v << 2)) >> 2] = 0;
- v = (v + 1) | 0;
- }
- v = a[(h + 11) >> 0] | 0;
- x = (v << 24) >> 24 < 0;
- TA(
- ((c[q >> 2] | 0) + -24) | 0,
- x ? c[h >> 2] | 0 : h,
- x ? c[(h + 4) >> 2] | 0 : v & 255
- ) | 0;
- iB(h);
- iB(g);
- n = o;
- break;
- }
- v = yC(j, d, e) | 0;
- if ((v | 0) != (j | 0)) {
- x = EB(v, d, e) | 0;
- if ((x | 0) == (v | 0)) z = v;
- else {
- v = (e + 4) | 0;
- p = c[v >> 2] | 0;
- if (
- ((((p - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- n = b;
- break;
- }
- FB(g, (p + -24) | 0);
- p = c[v >> 2] | 0;
- w = 0;
- while (1) {
- if ((w | 0) == -1) break;
- u = (w + -1) | 0;
- QA((p + ((u * 24) | 0)) | 0);
- w = u;
- }
- c[v >> 2] = p + -24;
- w = a[(g + 11) >> 0] | 0;
- o = (w << 24) >> 24 < 0;
- TA(
- (p + -48) | 0,
- o ? c[g >> 2] | 0 : g,
- o ? c[(g + 4) >> 2] | 0 : w & 255
- ) | 0;
- iB(g);
- z = x;
- }
- w = xC(z, d, e) | 0;
- if ((w | 0) == (z | 0)) {
- o = (e + 4) | 0;
- q = c[o >> 2] | 0;
- if ((c[e >> 2] | 0) == (q | 0)) {
- n = b;
- break;
- }
- u = 0;
- while (1) {
- if ((u | 0) == -1) break;
- y = (u + -1) | 0;
- QA((q + ((y * 24) | 0)) | 0);
- u = y;
- }
- c[o >> 2] = q + -24;
- n = b;
- break;
- }
- u = (e + 4) | 0;
- x = c[u >> 2] | 0;
- if (
- ((((x - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- n = b;
- break;
- }
- FB(g, (x + -24) | 0);
- x = c[u >> 2] | 0;
- p = 0;
- while (1) {
- if ((p | 0) == -1) break;
- v = (p + -1) | 0;
- QA((x + ((v * 24) | 0)) | 0);
- p = v;
- }
- c[u >> 2] = x + -24;
- pB(g, 0, 18747) | 0;
- c[h >> 2] = c[g >> 2];
- c[(h + 4) >> 2] = c[(g + 4) >> 2];
- c[(h + 8) >> 2] = c[(g + 8) >> 2];
- p = 0;
- while (1) {
- if ((p | 0) == 3) break;
- c[(g + (p << 2)) >> 2] = 0;
- p = (p + 1) | 0;
- }
- p = a[(h + 11) >> 0] | 0;
- x = (p << 24) >> 24 < 0;
- TA(
- ((c[u >> 2] | 0) + -24) | 0,
- x ? c[h >> 2] | 0 : h,
- x ? c[(h + 4) >> 2] | 0 : p & 255
- ) | 0;
- iB(h);
- iB(g);
- n = w;
- break;
- }
- p = zC(j, d, e) | 0;
- if (!(((p | 0) == (j | 0)) | ((p | 0) == (d | 0)))) {
- if (k) {
- x = (e + 4) | 0;
- q = c[x >> 2] | 0;
- if ((c[e >> 2] | 0) == (q | 0)) {
- n = b;
- break;
- }
- pB((q + -24) | 0, 0, 18747) | 0;
- A = x;
- } else A = (e + 4) | 0;
- x = (h + 11) | 0;
- q = (h + 4) | 0;
- o = p;
- while (1) {
- if ((a[o >> 0] | 0) == 69) break;
- p = zC(o, d, e) | 0;
- if (((p | 0) == (o | 0)) | ((p | 0) == (d | 0))) {
- n = b;
- break a;
- }
- v = c[A >> 2] | 0;
- if (
- ((((v - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- n = b;
- break a;
- }
- FB(g, (v + -24) | 0);
- v = c[A >> 2] | 0;
- y = 0;
- while (1) {
- if ((y | 0) == -1) break;
- B = (y + -1) | 0;
- QA((v + ((B * 24) | 0)) | 0);
- y = B;
- }
- c[A >> 2] = v + -24;
- pB(g, 0, 18747) | 0;
- c[h >> 2] = c[g >> 2];
- c[(h + 4) >> 2] = c[(g + 4) >> 2];
- c[(h + 8) >> 2] = c[(g + 8) >> 2];
- y = 0;
- while (1) {
- if ((y | 0) == 3) break;
- c[(g + (y << 2)) >> 2] = 0;
- y = (y + 1) | 0;
- }
- y = a[x >> 0] | 0;
- v = (y << 24) >> 24 < 0;
- TA(
- ((c[A >> 2] | 0) + -24) | 0,
- v ? c[h >> 2] | 0 : h,
- v ? c[q >> 2] | 0 : y & 255
- ) | 0;
- iB(h);
- iB(g);
- o = p;
- }
- q = (o + 1) | 0;
- x = xC(q, d, e) | 0;
- if ((x | 0) == (q | 0)) {
- q = c[A >> 2] | 0;
- if ((c[e >> 2] | 0) == (q | 0)) {
- n = b;
- break;
- }
- j = 0;
- while (1) {
- if ((j | 0) == -1) break;
- w = (j + -1) | 0;
- QA((q + ((w * 24) | 0)) | 0);
- j = w;
- }
- c[A >> 2] = q + -24;
- n = b;
- break;
- }
- j = c[A >> 2] | 0;
- if (
- ((((j - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >=
- 2
- ) {
- FB(g, (j + -24) | 0);
- j = c[A >> 2] | 0;
- o = 0;
- while (1) {
- if ((o | 0) == -1) break;
- w = (o + -1) | 0;
- QA((j + ((w * 24) | 0)) | 0);
- o = w;
- }
- c[A >> 2] = j + -24;
- pB(g, 0, 18747) | 0;
- c[h >> 2] = c[g >> 2];
- c[(h + 4) >> 2] = c[(g + 4) >> 2];
- c[(h + 8) >> 2] = c[(g + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(g + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- o = a[(h + 11) >> 0] | 0;
- j = (o << 24) >> 24 < 0;
- TA(
- ((c[A >> 2] | 0) + -24) | 0,
- j ? c[h >> 2] | 0 : h,
- j ? c[(h + 4) >> 2] | 0 : o & 255
- ) | 0;
- iB(h);
- iB(g);
- n = x;
- } else n = b;
- } else n = b;
- } else n = b;
- } else n = b;
- } while (0);
- l = f;
- return n | 0;
- }
- function fC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 12) | 0;
- h = f;
- if (
- (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 100 : 0)
- ? (a[(b + 1) >> 0] | 0) == 115
- : 0
- )
- ? ((i = (b + 2) | 0),
- (j = SB(i, d, e) | 0),
- (j | 0) != (i | 0))
- : 0
- )
- ? ((i = SB(j, d, e) | 0), (i | 0) != (j | 0))
- : 0
- )
- ? ((j = (e + 4) | 0),
- (d = c[j >> 2] | 0),
- ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- FB(g, (d + -24) | 0);
- d = c[j >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- k = (e + -1) | 0;
- QA((d + ((k * 24) | 0)) | 0);
- e = k;
- }
- c[j >> 2] = d + -24;
- UB(h, 18966, g);
- d = a[(h + 11) >> 0] | 0;
- e = (d << 24) >> 24 < 0;
- TA(
- ((c[j >> 2] | 0) + -24) | 0,
- e ? c[h >> 2] | 0 : h,
- e ? c[(h + 4) >> 2] | 0 : d & 255
- ) | 0;
- iB(h);
- iB(g);
- m = i;
- } else m = b;
- l = f;
- return m | 0;
- }
- function gC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 12) | 0;
- h = f;
- if (
- (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 100 : 0)
- ? (a[(b + 1) >> 0] | 0) == 116
- : 0
- )
- ? ((i = (b + 2) | 0),
- (j = SB(i, d, e) | 0),
- (j | 0) != (i | 0))
- : 0
- )
- ? ((i = eC(j, d, e) | 0), (i | 0) != (j | 0))
- : 0
- )
- ? ((j = (e + 4) | 0),
- (d = c[j >> 2] | 0),
- ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- FB(g, (d + -24) | 0);
- d = c[j >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- k = (e + -1) | 0;
- QA((d + ((k * 24) | 0)) | 0);
- e = k;
- }
- c[j >> 2] = d + -24;
- UB(h, 18964, g);
- d = a[(h + 11) >> 0] | 0;
- e = (d << 24) >> 24 < 0;
- TA(
- ((c[j >> 2] | 0) + -24) | 0,
- e ? c[h >> 2] | 0 : h,
- e ? c[(h + 4) >> 2] | 0 : d & 255
- ) | 0;
- iB(h);
- iB(g);
- m = i;
- } else m = b;
- l = f;
- return m | 0;
- }
- function hC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0;
- f = l;
- l = (l + 112) | 0;
- g = (f + 88) | 0;
- h = (f + 76) | 0;
- i = (f + 64) | 0;
- j = (f + 40) | 0;
- k = (f + 16) | 0;
- m = f;
- n = (f + 52) | 0;
- o = d;
- a: do {
- if (((o - b) | 0) > 3) {
- p = a[b >> 0] | 0;
- if ((p << 24) >> 24 == 103) {
- q = (a[(b + 1) >> 0] | 0) == 115;
- r = q ? (b + 2) | 0 : b;
- s = q;
- t = r;
- u = a[r >> 0] | 0;
- } else {
- s = 0;
- t = b;
- u = p;
- }
- if ((u << 24) >> 24 == 110) {
- p = a[(t + 1) >> 0] | 0;
- switch ((p << 24) >> 24) {
- case 97:
- case 119:
- break;
- default: {
- v = b;
- break a;
- }
- }
- r = (p << 24) >> 24 == 97;
- p = (t + 2) | 0;
- b: do {
- if ((p | 0) != (d | 0)) {
- q = 0;
- w = p;
- while (1) {
- if ((a[w >> 0] | 0) == 95) break;
- x = SB(w, d, e) | 0;
- if (((x | 0) == (w | 0)) | ((x | 0) == (d | 0)))
- break b;
- else {
- q = 1;
- w = x;
- }
- }
- x = (w + 1) | 0;
- y = mB(x, d, e) | 0;
- if (
- !(((y | 0) == (x | 0)) | ((y | 0) == (d | 0)))
- ) {
- x = a[y >> 0] | 0;
- c: do {
- if (
- !(
- (((o - y) | 0) > 2) &
- ((x << 24) >> 24 == 112)
- )
- ) {
- if ((x << 24) >> 24 == 69) {
- z = 0;
- A = y;
- } else break b;
- } else {
- if ((a[(y + 1) >> 0] | 0) != 105) break b;
- B = (y + 2) | 0;
- while (1) {
- if ((a[B >> 0] | 0) == 69) {
- z = 1;
- A = B;
- break c;
- }
- C = B;
- B = SB(B, d, e) | 0;
- if (
- ((B | 0) == (C | 0)) |
- ((B | 0) == (d | 0))
- )
- break b;
- }
- }
- } while (0);
- c[h >> 2] = 0;
- c[(h + 4) >> 2] = 0;
- c[(h + 8) >> 2] = 0;
- y = 0;
- while (1) {
- if ((y | 0) == 3) break;
- c[(h + (y << 2)) >> 2] = 0;
- y = (y + 1) | 0;
- }
- if (z) {
- y = (e + 4) | 0;
- x = c[y >> 2] | 0;
- if ((c[e >> 2] | 0) == (x | 0)) {
- D = b;
- E = 1;
- } else {
- FB(i, (x + -24) | 0);
- x = (h + 11) | 0;
- if ((a[x >> 0] | 0) < 0) {
- w = c[h >> 2] | 0;
- a[g >> 0] = 0;
- cB(w, g);
- c[(h + 4) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(h, g);
- a[x >> 0] = 0;
- }
- TB(h);
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- x = 0;
- while (1) {
- if ((x | 0) == 3) break;
- c[(i + (x << 2)) >> 2] = 0;
- x = (x + 1) | 0;
- }
- iB(i);
- x = c[y >> 2] | 0;
- w = 0;
- while (1) {
- if ((w | 0) == -1) break;
- B = (w + -1) | 0;
- QA((x + ((B * 24) | 0)) | 0);
- w = B;
- }
- w = (x + -24) | 0;
- c[y >> 2] = w;
- F = y;
- G = e;
- H = w;
- I = 33;
- }
- } else {
- w = (e + 4) | 0;
- F = w;
- G = e;
- H = c[w >> 2] | 0;
- I = 33;
- }
- if ((I | 0) == 33)
- if ((c[G >> 2] | 0) == (H | 0)) {
- D = b;
- E = 1;
- } else {
- FB(i, (H + -24) | 0);
- w = c[F >> 2] | 0;
- B = 0;
- while (1) {
- if ((B | 0) == -1) break;
- C = (B + -1) | 0;
- QA((w + ((C * 24) | 0)) | 0);
- B = C;
- }
- B = (w + -24) | 0;
- c[F >> 2] = B;
- c[j >> 2] = 0;
- c[(j + 4) >> 2] = 0;
- c[(j + 8) >> 2] = 0;
- y = 0;
- while (1) {
- if ((y | 0) == 3) break;
- c[(j + (y << 2)) >> 2] = 0;
- y = (y + 1) | 0;
- }
- if (q) {
- if ((c[G >> 2] | 0) == (B | 0)) {
- J = b;
- K = 1;
- } else {
- FB(k, (w + -48) | 0);
- y = (j + 11) | 0;
- if ((a[y >> 0] | 0) < 0) {
- x = c[j >> 2] | 0;
- a[g >> 0] = 0;
- cB(x, g);
- c[(j + 4) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(j, g);
- a[y >> 0] = 0;
- }
- TB(j);
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- y = 0;
- while (1) {
- if ((y | 0) == 3) break;
- c[(k + (y << 2)) >> 2] = 0;
- y = (y + 1) | 0;
- }
- iB(k);
- y = c[F >> 2] | 0;
- w = 0;
- while (1) {
- if ((w | 0) == -1) break;
- B = (w + -1) | 0;
- QA((y + ((B * 24) | 0)) | 0);
- w = B;
- }
- c[F >> 2] = y + -24;
- I = 52;
- }
- } else I = 52;
- if ((I | 0) == 52) {
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(g + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- if (s) uC(g, 18747);
- if (r) qB(g, 18957) | 0;
- else qB(g, 18707) | 0;
- if (q) {
- UB(m, 18675, j);
- qB(m, 18961) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(m + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- w = a[(k + 11) >> 0] | 0;
- q = (w << 24) >> 24 < 0;
- TA(
- g,
- q ? c[k >> 2] | 0 : k,
- q ? c[(k + 4) >> 2] | 0 : w & 255
- ) | 0;
- iB(k);
- iB(m);
- }
- w = a[(i + 11) >> 0] | 0;
- q = (w << 24) >> 24 < 0;
- TA(
- g,
- q ? c[i >> 2] | 0 : i,
- q ? c[(i + 4) >> 2] | 0 : w & 255
- ) | 0;
- if (z) {
- UB(m, 18670, h);
- qB(m, 18673) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(m + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- w = a[(k + 11) >> 0] | 0;
- q = (w << 24) >> 24 < 0;
- TA(
- g,
- q ? c[k >> 2] | 0 : k,
- q ? c[(k + 4) >> 2] | 0 : w & 255
- ) | 0;
- iB(k);
- iB(m);
- }
- c[n >> 2] = c[g >> 2];
- c[(n + 4) >> 2] = c[(g + 4) >> 2];
- c[(n + 8) >> 2] = c[(g + 8) >> 2];
- w = 0;
- while (1) {
- if ((w | 0) == 3) break;
- c[(g + (w << 2)) >> 2] = 0;
- w = (w + 1) | 0;
- }
- IB(k, n);
- w = c[F >> 2] | 0;
- if (w >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(w, k);
- c[F >> 2] = (c[F >> 2] | 0) + 24;
- } else LB(e, k);
- QA(k);
- iB(n);
- iB(g);
- J = (A + 1) | 0;
- K = 0;
- }
- iB(j);
- iB(i);
- D = J;
- E = K;
- }
- iB(h);
- if (!E) {
- v = D;
- break a;
- }
- }
- }
- } while (0);
- v = b;
- } else v = b;
- } else v = b;
- } while (0);
- l = f;
- return v | 0;
- }
- function iC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 36) | 0;
- h = (f + 24) | 0;
- i = (f + 12) | 0;
- j = f;
- k = SB(b, d, e) | 0;
- if (
- (k | 0) != (b | 0)
- ? ((d = (e + 4) | 0),
- (m = c[d >> 2] | 0),
- (c[e >> 2] | 0) != (m | 0))
- : 0
- ) {
- FB(j, (m + -24) | 0);
- pB(j, 0, 18946) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- m = 0;
- while (1) {
- if ((m | 0) == 3) break;
- c[(j + (m << 2)) >> 2] = 0;
- m = (m + 1) | 0;
- }
- qB(i, 18673) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- m = 0;
- while (1) {
- if ((m | 0) == 3) break;
- c[(i + (m << 2)) >> 2] = 0;
- m = (m + 1) | 0;
- }
- m = c[d >> 2] | 0;
- d = (m + -24) | 0;
- e = (d + 11) | 0;
- if ((a[e >> 0] | 0) < 0) {
- n = c[d >> 2] | 0;
- a[g >> 0] = 0;
- cB(n, g);
- c[(m + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(d, g);
- a[e >> 0] = 0;
- }
- TB(d);
- c[d >> 2] = c[h >> 2];
- c[(d + 4) >> 2] = c[(h + 4) >> 2];
- c[(d + 8) >> 2] = c[(h + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(h + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- iB(h);
- iB(i);
- iB(j);
- o = k;
- } else o = b;
- l = f;
- return o | 0;
- }
- function jC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- if (
- (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 112 : 0)
- ? (a[(b + 1) >> 0] | 0) == 116
- : 0
- )
- ? ((h = (b + 2) | 0),
- (i = SB(h, d, e) | 0),
- (i | 0) != (h | 0))
- : 0
- )
- ? ((h = SB(i, d, e) | 0), (h | 0) != (i | 0))
- : 0
- )
- ? ((i = (e + 4) | 0),
- (d = c[i >> 2] | 0),
- ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- FB(g, (d + -24) | 0);
- d = c[i >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- j = (e + -1) | 0;
- QA((d + ((j * 24) | 0)) | 0);
- e = j;
- }
- c[i >> 2] = d + -24;
- qB((d + -48) | 0, 18943) | 0;
- d = a[(g + 11) >> 0] | 0;
- e = (d << 24) >> 24 < 0;
- TA(
- ((c[i >> 2] | 0) + -24) | 0,
- e ? c[g >> 2] | 0 : g,
- e ? c[(g + 4) >> 2] | 0 : d & 255
- ) | 0;
- iB(g);
- k = h;
- } else k = b;
- l = f;
- return k | 0;
- }
- function kC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- f = l;
- l = (l + 112) | 0;
- g = (f + 88) | 0;
- h = (f + 64) | 0;
- i = (f + 36) | 0;
- j = (f + 48) | 0;
- k = (f + 24) | 0;
- m = (f + 12) | 0;
- n = f;
- if (
- (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 114 : 0)
- ? (a[(b + 1) >> 0] | 0) == 99
- : 0
- )
- ? ((o = (b + 2) | 0),
- (p = mB(o, d, e) | 0),
- (p | 0) != (o | 0))
- : 0
- )
- ? ((o = SB(p, d, e) | 0), (o | 0) != (p | 0))
- : 0
- )
- ? ((p = (e + 4) | 0),
- (d = c[p >> 2] | 0),
- ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- FB(g, (d + -24) | 0);
- d = c[p >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- q = (e + -1) | 0;
- QA((d + ((q * 24) | 0)) | 0);
- e = q;
- }
- c[p >> 2] = d + -24;
- FB(n, (d + -48) | 0);
- pB(n, 0, 18925) | 0;
- c[m >> 2] = c[n >> 2];
- c[(m + 4) >> 2] = c[(n + 4) >> 2];
- c[(m + 8) >> 2] = c[(n + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(n + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(m, 18922) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(m + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- d = a[(g + 11) >> 0] | 0;
- e = (d << 24) >> 24 < 0;
- TA(
- k,
- e ? c[g >> 2] | 0 : g,
- e ? c[(g + 4) >> 2] | 0 : d & 255
- ) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(k + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(j, 18673) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- IB(h, i);
- JB(((c[p >> 2] | 0) + -24) | 0, h);
- QA(h);
- iB(i);
- iB(j);
- iB(k);
- iB(m);
- iB(n);
- iB(g);
- r = o;
- } else r = b;
- l = f;
- return r | 0;
- }
- function lC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- f = l;
- l = (l + 112) | 0;
- g = (f + 88) | 0;
- h = (f + 64) | 0;
- i = (f + 36) | 0;
- j = (f + 48) | 0;
- k = (f + 24) | 0;
- m = (f + 12) | 0;
- n = f;
- if (
- (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
- ? (a[(b + 1) >> 0] | 0) == 99
- : 0
- )
- ? ((o = (b + 2) | 0),
- (p = mB(o, d, e) | 0),
- (p | 0) != (o | 0))
- : 0
- )
- ? ((o = SB(p, d, e) | 0), (o | 0) != (p | 0))
- : 0
- )
- ? ((p = (e + 4) | 0),
- (d = c[p >> 2] | 0),
- ((((d - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 >= 2)
- : 0
- ) {
- FB(g, (d + -24) | 0);
- d = c[p >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- q = (e + -1) | 0;
- QA((d + ((q * 24) | 0)) | 0);
- e = q;
- }
- c[p >> 2] = d + -24;
- FB(n, (d + -48) | 0);
- pB(n, 0, 18909) | 0;
- c[m >> 2] = c[n >> 2];
- c[(m + 4) >> 2] = c[(n + 4) >> 2];
- c[(m + 8) >> 2] = c[(n + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(n + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(m, 18922) | 0;
- c[k >> 2] = c[m >> 2];
- c[(k + 4) >> 2] = c[(m + 4) >> 2];
- c[(k + 8) >> 2] = c[(m + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(m + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- d = a[(g + 11) >> 0] | 0;
- e = (d << 24) >> 24 < 0;
- TA(
- k,
- e ? c[g >> 2] | 0 : g,
- e ? c[(g + 4) >> 2] | 0 : d & 255
- ) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(k + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(j, 18673) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- IB(h, i);
- JB(((c[p >> 2] | 0) + -24) | 0, h);
- QA(h);
- iB(i);
- iB(j);
- iB(k);
- iB(m);
- iB(n);
- iB(g);
- r = o;
- } else r = b;
- l = f;
- return r | 0;
- }
- function mC(b, c, d) {
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- if (
- (((c - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
- ? (a[(b + 1) >> 0] | 0) == 112
- : 0
- ) {
- e = (b + 2) | 0;
- f = SB(e, c, d) | 0;
- g = (f | 0) == (e | 0) ? b : f;
- } else g = b;
- return g | 0;
- }
- function nC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 40) | 0;
- h = (f + 12) | 0;
- i = (f + 24) | 0;
- j = f;
- if (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
- ? (a[(b + 1) >> 0] | 0) == 116
- : 0
- )
- ? ((k = (b + 2) | 0),
- (m = mB(k, d, e) | 0),
- (m | 0) != (k | 0))
- : 0
- )
- ? ((k = (e + 4) | 0),
- (d = c[k >> 2] | 0),
- (c[e >> 2] | 0) != (d | 0))
- : 0
- ) {
- FB(j, (d + -24) | 0);
- pB(j, 0, 18900) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(i, 18673) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(i + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- IB(g, h);
- JB(((c[k >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(h);
- iB(i);
- iB(j);
- n = m;
- } else n = b;
- l = f;
- return n | 0;
- }
- function oC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 40) | 0;
- h = (f + 12) | 0;
- i = (f + 24) | 0;
- j = f;
- if (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
- ? (a[(b + 1) >> 0] | 0) == 122
- : 0
- )
- ? ((k = (b + 2) | 0),
- (m = SB(k, d, e) | 0),
- (m | 0) != (k | 0))
- : 0
- )
- ? ((k = (e + 4) | 0),
- (d = c[k >> 2] | 0),
- (c[e >> 2] | 0) != (d | 0))
- : 0
- ) {
- FB(j, (d + -24) | 0);
- pB(j, 0, 18900) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(i, 18673) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(i + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- IB(g, h);
- JB(((c[k >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(h);
- iB(i);
- iB(j);
- n = m;
- } else n = b;
- l = f;
- return n | 0;
- }
- function pC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 48) | 0;
- h = (f + 24) | 0;
- i = f;
- j = (f + 12) | 0;
- if (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
- ? (a[(b + 1) >> 0] | 0) == 90
- : 0
- )
- ? ((k = (b + 2) | 0), (a[k >> 0] | 0) == 84)
- : 0
- )
- ? ((m = (e + 4) | 0),
- (n =
- ((((c[m >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) | 0),
- (o = DB(k, d, e) | 0),
- (d =
- ((((c[m >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) | 0),
- (o | 0) != (k | 0))
- : 0
- ) {
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- RB(g, 18886, AB(18886) | 0);
- a: do {
- if ((n | 0) != (d | 0)) {
- FB(h, ((c[e >> 2] | 0) + ((n * 24) | 0)) | 0);
- k = a[(h + 11) >> 0] | 0;
- p = (k << 24) >> 24 < 0;
- TA(
- g,
- p ? c[h >> 2] | 0 : h,
- p ? c[(h + 4) >> 2] | 0 : k & 255
- ) | 0;
- iB(h);
- k = (h + 11) | 0;
- p = (h + 4) | 0;
- q = n;
- while (1) {
- r = (q + 1) | 0;
- if ((r | 0) == (d | 0)) break a;
- FB(i, ((c[e >> 2] | 0) + ((r * 24) | 0)) | 0);
- pB(i, 0, 18897) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- s = 0;
- while (1) {
- if ((s | 0) == 3) break;
- c[(i + (s << 2)) >> 2] = 0;
- s = (s + 1) | 0;
- }
- s = a[k >> 0] | 0;
- t = (s << 24) >> 24 < 0;
- TA(
- g,
- t ? c[h >> 2] | 0 : h,
- t ? c[p >> 2] | 0 : s & 255
- ) | 0;
- iB(h);
- iB(i);
- q = r;
- }
- }
- } while (0);
- qB(g, 18673) | 0;
- i = d;
- while (1) {
- if ((i | 0) == (n | 0)) break;
- d = c[m >> 2] | 0;
- q = 0;
- while (1) {
- if ((q | 0) == -1) break;
- p = (q + -1) | 0;
- QA((d + ((p * 24) | 0)) | 0);
- q = p;
- }
- c[m >> 2] = d + -24;
- i = (i + -1) | 0;
- }
- c[j >> 2] = c[g >> 2];
- c[(j + 4) >> 2] = c[(g + 4) >> 2];
- c[(j + 8) >> 2] = c[(g + 8) >> 2];
- i = 0;
- while (1) {
- if ((i | 0) == 3) break;
- c[(g + (i << 2)) >> 2] = 0;
- i = (i + 1) | 0;
- }
- IB(h, j);
- i = c[m >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, h);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, h);
- QA(h);
- iB(j);
- iB(g);
- u = o;
- } else u = b;
- l = f;
- return u | 0;
- }
- function qC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 40) | 0;
- h = (f + 12) | 0;
- i = (f + 24) | 0;
- j = f;
- if (
- (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 115 : 0)
- ? (a[(b + 1) >> 0] | 0) == 90
- : 0
- )
- ? ((k = (b + 2) | 0), (a[k >> 0] | 0) == 102)
- : 0
- )
- ? ((m = XB(k, d, e) | 0), (m | 0) != (k | 0))
- : 0
- )
- ? ((k = (e + 4) | 0),
- (d = c[k >> 2] | 0),
- (c[e >> 2] | 0) != (d | 0))
- : 0
- ) {
- FB(j, (d + -24) | 0);
- pB(j, 0, 18886) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(j + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- qB(i, 18673) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(i + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- IB(g, h);
- JB(((c[k >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(h);
- iB(i);
- iB(j);
- n = m;
- } else n = b;
- l = f;
- return n | 0;
- }
- function rC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 40) | 0;
- h = (f + 12) | 0;
- i = (f + 24) | 0;
- j = f;
- a: do {
- if (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 116 : 0) {
- k = a[(b + 1) >> 0] | 0;
- switch ((k << 24) >> 24) {
- case 105:
- case 101:
- break;
- default: {
- m = b;
- break a;
- }
- }
- n = (b + 2) | 0;
- if ((k << 24) >> 24 == 101) o = SB(n, d, e) | 0;
- else o = mB(n, d, e) | 0;
- if (
- (o | 0) != (n | 0)
- ? ((n = (e + 4) | 0),
- (k = c[n >> 2] | 0),
- (c[e >> 2] | 0) != (k | 0))
- : 0
- ) {
- FB(j, (k + -24) | 0);
- pB(j, 0, 18878) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- k = 0;
- while (1) {
- if ((k | 0) == 3) break;
- c[(j + (k << 2)) >> 2] = 0;
- k = (k + 1) | 0;
- }
- qB(i, 18673) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- k = 0;
- while (1) {
- if ((k | 0) == 3) break;
- c[(i + (k << 2)) >> 2] = 0;
- k = (k + 1) | 0;
- }
- IB(g, h);
- JB(((c[n >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(h);
- iB(i);
- iB(j);
- m = o;
- } else m = b;
- } else m = b;
- } while (0);
- l = f;
- return m | 0;
- }
- function sC(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 5);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function tC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 24) | 0;
- h = f;
- i = (f + 12) | 0;
- if (
- (
- (
- (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 116 : 0)
- ? (a[(b + 1) >> 0] | 0) == 119
- : 0
- )
- ? ((j = (b + 2) | 0),
- (k = SB(j, d, e) | 0),
- (k | 0) != (j | 0))
- : 0
- )
- ? ((j = (e + 4) | 0),
- (d = c[j >> 2] | 0),
- (c[e >> 2] | 0) != (d | 0))
- : 0
- ) {
- FB(i, (d + -24) | 0);
- pB(i, 0, 18871) | 0;
- c[h >> 2] = c[i >> 2];
- c[(h + 4) >> 2] = c[(i + 4) >> 2];
- c[(h + 8) >> 2] = c[(i + 8) >> 2];
- d = 0;
- while (1) {
- if ((d | 0) == 3) break;
- c[(i + (d << 2)) >> 2] = 0;
- d = (d + 1) | 0;
- }
- IB(g, h);
- JB(((c[j >> 2] | 0) + -24) | 0, g);
- QA(g);
- iB(h);
- iB(i);
- m = k;
- } else m = b;
- l = f;
- return m | 0;
- }
- function uC(a, b) {
- a = a | 0;
- b = b | 0;
- vC(a, b, AB(b) | 0);
- return;
- }
- function vC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- h = (b + 11) | 0;
- i = a[h >> 0] | 0;
- j = (i << 24) >> 24 < 0;
- if (j) k = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
- else k = 10;
- do {
- if (k >>> 0 >= e >>> 0) {
- if (j) m = c[b >> 2] | 0;
- else m = b;
- wC(m, d, e) | 0;
- a[g >> 0] = 0;
- cB((m + e) | 0, g);
- if ((a[h >> 0] | 0) < 0) {
- c[(b + 4) >> 2] = e;
- break;
- } else {
- a[h >> 0] = e;
- break;
- }
- } else {
- if (j) n = c[(b + 4) >> 2] | 0;
- else n = i & 255;
- dB(b, k, (e - k) | 0, n, 0, n, e, d);
- }
- } while (0);
- l = f;
- return;
- }
- function wC(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- if (c | 0) nE(a | 0, b | 0, c | 0) | 0;
- return a | 0;
- }
- function xC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- a: do {
- if (((d - b) | 0) > 1) {
- h = a[b >> 0] | 0;
- switch ((h << 24) >> 24) {
- case 100:
- case 111: {
- if ((a[(b + 1) >> 0] | 0) == 110) {
- i = (b + 2) | 0;
- if ((h << 24) >> 24 != 111) {
- h = UC(i, d, e) | 0;
- j = (h | 0) == (i | 0) ? b : h;
- break a;
- }
- h = EC(i, d, e) | 0;
- if ((h | 0) == (i | 0)) {
- j = b;
- break a;
- }
- i = EB(h, d, e) | 0;
- if ((i | 0) == (h | 0)) {
- j = h;
- break a;
- }
- h = (e + 4) | 0;
- k = c[h >> 2] | 0;
- if (
- ((((k - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- j = i;
- break a;
- }
- FB(g, (k + -24) | 0);
- k = c[h >> 2] | 0;
- m = 0;
- while (1) {
- if ((m | 0) == -1) break;
- n = (m + -1) | 0;
- QA((k + ((n * 24) | 0)) | 0);
- m = n;
- }
- c[h >> 2] = k + -24;
- m = a[(g + 11) >> 0] | 0;
- n = (m << 24) >> 24 < 0;
- TA(
- (k + -48) | 0,
- n ? c[g >> 2] | 0 : g,
- n ? c[(g + 4) >> 2] | 0 : m & 255
- ) | 0;
- iB(g);
- j = i;
- break a;
- }
- break;
- }
- default: {
- }
- }
- m = AC(b, d, e) | 0;
- if ((m | 0) == (b | 0)) {
- n = EC(b, d, e) | 0;
- if ((n | 0) != (b | 0)) {
- o = EB(n, d, e) | 0;
- if ((o | 0) != (n | 0)) {
- p = (e + 4) | 0;
- q = c[p >> 2] | 0;
- if (
- ((((q - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- )
- j = o;
- else {
- FB(g, (q + -24) | 0);
- q = c[p >> 2] | 0;
- r = 0;
- while (1) {
- if ((r | 0) == -1) break;
- s = (r + -1) | 0;
- QA((q + ((s * 24) | 0)) | 0);
- r = s;
- }
- c[p >> 2] = q + -24;
- r = a[(g + 11) >> 0] | 0;
- i = (r << 24) >> 24 < 0;
- TA(
- (q + -48) | 0,
- i ? c[g >> 2] | 0 : g,
- i ? c[(g + 4) >> 2] | 0 : r & 255
- ) | 0;
- iB(g);
- j = o;
- }
- } else j = n;
- } else j = b;
- } else j = m;
- } else j = b;
- } while (0);
- l = f;
- return j | 0;
- }
- function yC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0;
- f = l;
- l = (l + 32) | 0;
- g = (f + 8) | 0;
- h = f;
- a: do {
- if ((b | 0) == (d | 0)) i = b;
- else
- switch (a[b >> 0] | 0) {
- case 84: {
- j = (e + 4) | 0;
- k =
- ((((c[j >> 2] | 0) - (c[e >> 2] | 0)) | 0) / 24) |
- 0;
- m = DB(b, d, e) | 0;
- n = c[j >> 2] | 0;
- o = (((n - (c[e >> 2] | 0)) | 0) / 24) | 0;
- p = n;
- if (
- ((m | 0) != (b | 0)) &
- ((o | 0) == ((k + 1) | 0))
- ) {
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (p + -24) | 0, h);
- n = (e + 20) | 0;
- q = c[n >> 2] | 0;
- if (q >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[q >> 2] = 0;
- r = (q + 4) | 0;
- c[r >> 2] = 0;
- s = (q + 8) | 0;
- c[s >> 2] = 0;
- c[(q + 12) >> 2] = c[(g + 12) >> 2];
- c[q >> 2] = c[g >> 2];
- q = (g + 4) | 0;
- c[r >> 2] = c[q >> 2];
- r = (g + 8) | 0;
- c[s >> 2] = c[r >> 2];
- c[r >> 2] = 0;
- c[q >> 2] = 0;
- c[g >> 2] = 0;
- c[n >> 2] = (c[n >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- i = m;
- break a;
- }
- m = o;
- o = p;
- while (1) {
- if ((m | 0) == (k | 0)) {
- i = b;
- break a;
- }
- p = 0;
- while (1) {
- if ((p | 0) == -1) break;
- n = (p + -1) | 0;
- QA((o + ((n * 24) | 0)) | 0);
- p = n;
- }
- p = (o + -24) | 0;
- c[j >> 2] = p;
- m = (m + -1) | 0;
- o = p;
- }
- break;
- }
- case 68: {
- o = OB(b, d, e) | 0;
- if ((o | 0) == (b | 0)) {
- i = b;
- break a;
- }
- m = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (m | 0)) {
- i = b;
- break a;
- }
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, (m + -24) | 0, h);
- m = (e + 20) | 0;
- j = c[m >> 2] | 0;
- if (j >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[j >> 2] = 0;
- k = (j + 4) | 0;
- c[k >> 2] = 0;
- p = (j + 8) | 0;
- c[p >> 2] = 0;
- c[(j + 12) >> 2] = c[(g + 12) >> 2];
- c[j >> 2] = c[g >> 2];
- j = (g + 4) | 0;
- c[k >> 2] = c[j >> 2];
- k = (g + 8) | 0;
- c[p >> 2] = c[k >> 2];
- c[k >> 2] = 0;
- c[j >> 2] = 0;
- c[g >> 2] = 0;
- c[m >> 2] = (c[m >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- i = o;
- break a;
- break;
- }
- case 83: {
- o = NB(b, d, e) | 0;
- if ((o | 0) != (b | 0)) {
- i = o;
- break a;
- }
- if (((d - b) | 0) <= 2) {
- i = b;
- break a;
- }
- if ((a[(b + 1) >> 0] | 0) != 116) {
- i = b;
- break a;
- }
- o = (b + 2) | 0;
- m = BC(o, d, e) | 0;
- if ((m | 0) == (o | 0)) {
- i = b;
- break a;
- }
- o = (e + 4) | 0;
- j = c[o >> 2] | 0;
- if ((c[e >> 2] | 0) == (j | 0)) {
- i = b;
- break a;
- }
- pB((j + -24) | 0, 0, 18969) | 0;
- j = ((c[o >> 2] | 0) + -24) | 0;
- c[h >> 2] = c[(e + 12) >> 2];
- vB(g, j, h);
- j = (e + 20) | 0;
- o = c[j >> 2] | 0;
- if (o >>> 0 < (c[(e + 24) >> 2] | 0) >>> 0) {
- c[o >> 2] = 0;
- k = (o + 4) | 0;
- c[k >> 2] = 0;
- p = (o + 8) | 0;
- c[p >> 2] = 0;
- c[(o + 12) >> 2] = c[(g + 12) >> 2];
- c[o >> 2] = c[g >> 2];
- o = (g + 4) | 0;
- c[k >> 2] = c[o >> 2];
- k = (g + 8) | 0;
- c[p >> 2] = c[k >> 2];
- c[k >> 2] = 0;
- c[o >> 2] = 0;
- c[g >> 2] = 0;
- c[j >> 2] = (c[j >> 2] | 0) + 16;
- } else wB((e + 16) | 0, g);
- RA(g);
- i = m;
- break a;
- break;
- }
- default: {
- i = b;
- break a;
- }
- }
- } while (0);
- l = f;
- return i | 0;
- }
- function zC(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- return AC(a, b, c) | 0;
- }
- function AC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- if (
- (b | 0) != (d | 0)
- ? ((h = GB(b, d, e) | 0), (h | 0) != (b | 0))
- : 0
- ) {
- i = EB(h, d, e) | 0;
- if ((i | 0) != (h | 0)) {
- d = (e + 4) | 0;
- j = c[d >> 2] | 0;
- if (((((j - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 < 2)
- k = b;
- else {
- FB(g, (j + -24) | 0);
- j = c[d >> 2] | 0;
- e = 0;
- while (1) {
- if ((e | 0) == -1) break;
- m = (e + -1) | 0;
- QA((j + ((m * 24) | 0)) | 0);
- e = m;
- }
- c[d >> 2] = j + -24;
- d = a[(g + 11) >> 0] | 0;
- e = (d << 24) >> 24 < 0;
- TA(
- (j + -48) | 0,
- e ? c[g >> 2] | 0 : g,
- e ? c[(g + 4) >> 2] | 0 : d & 255
- ) | 0;
- iB(g);
- k = i;
- }
- } else k = h;
- } else k = b;
- l = f;
- return k | 0;
- }
- function BC(b, c, d) {
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0;
- a: do {
- if ((b | 0) == (c | 0)) e = b;
- else
- switch (a[b >> 0] | 0) {
- case 68:
- case 67: {
- e = CC(b, c, d) | 0;
- break a;
- break;
- }
- case 85: {
- e = DC(b, c, d) | 0;
- break a;
- break;
- }
- case 57:
- case 56:
- case 55:
- case 54:
- case 53:
- case 52:
- case 51:
- case 50:
- case 49: {
- e = GB(b, c, d) | 0;
- break a;
- break;
- }
- default:
- return EC(b, c, d) | 0;
- }
- } while (0);
- return e | 0;
- }
- function CC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 40) | 0;
- h = (f + 24) | 0;
- i = f;
- j = (f + 12) | 0;
- a: do {
- if (
- ((d - b) | 0) > 1
- ? ((k = (e + 4) | 0),
- (m = c[k >> 2] | 0),
- (c[e >> 2] | 0) != (m | 0))
- : 0
- ) {
- switch (a[b >> 0] | 0) {
- case 67: {
- switch (a[(b + 1) >> 0] | 0) {
- case 53:
- case 51:
- case 50:
- case 49:
- break;
- default: {
- n = b;
- break a;
- }
- }
- SC(h, (m + -24) | 0);
- IB(g, h);
- o = c[k >> 2] | 0;
- if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(o, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(h);
- a[(e + 60) >> 0] = 1;
- n = (b + 2) | 0;
- break a;
- break;
- }
- case 68:
- break;
- default: {
- n = b;
- break a;
- }
- }
- switch (a[(b + 1) >> 0] | 0) {
- case 53:
- case 50:
- case 49:
- case 48:
- break;
- default: {
- n = b;
- break a;
- }
- }
- SC(j, (m + -24) | 0);
- pB(j, 0, 18745) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- m = 0;
- while (1) {
- if ((m | 0) == 3) break;
- c[(j + (m << 2)) >> 2] = 0;
- m = (m + 1) | 0;
- }
- IB(g, i);
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(i);
- iB(j);
- a[(e + 60) >> 0] = 1;
- n = (b + 2) | 0;
- } else n = b;
- } while (0);
- l = f;
- return n | 0;
- }
- function Zl(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0;
- i = l;
- l = (l + 192) | 0;
- j = (i + 176) | 0;
- k = (i + 172) | 0;
- m = (i + 168) | 0;
- n = (i + 164) | 0;
- o = (i + 160) | 0;
- p = (i + 156) | 0;
- q = (i + 152) | 0;
- r = (i + 148) | 0;
- s = (i + 144) | 0;
- t = (i + 140) | 0;
- u = (i + 136) | 0;
- v = (i + 132) | 0;
- w = (i + 128) | 0;
- x = (i + 124) | 0;
- y = (i + 120) | 0;
- z = (i + 116) | 0;
- A = (i + 112) | 0;
- B = (i + 108) | 0;
- C = (i + 104) | 0;
- D = (i + 100) | 0;
- E = (i + 96) | 0;
- F = (i + 92) | 0;
- G = (i + 88) | 0;
- H = (i + 84) | 0;
- I = (i + 80) | 0;
- J = (i + 76) | 0;
- K = (i + 72) | 0;
- L = (i + 68) | 0;
- M = (i + 64) | 0;
- N = (i + 60) | 0;
- O = (i + 56) | 0;
- P = (i + 52) | 0;
- Q = (i + 48) | 0;
- R = (i + 44) | 0;
- S = (i + 40) | 0;
- T = (i + 36) | 0;
- U = (i + 32) | 0;
- V = (i + 28) | 0;
- W = (i + 24) | 0;
- X = (i + 20) | 0;
- Y = (i + 16) | 0;
- Z = (i + 12) | 0;
- _ = (i + 8) | 0;
- $ = (i + 4) | 0;
- aa = i;
- c[X >> 2] = a;
- c[Y >> 2] = b;
- c[Z >> 2] = e;
- c[_ >> 2] = f;
- c[$ >> 2] = g;
- c[aa >> 2] = h;
- h = c[Y >> 2] | 0;
- Y = c[Z >> 2] | 0;
- Z = c[_ >> 2] | 0;
- _ = c[$ >> 2] | 0;
- $ = c[aa >> 2] | 0;
- c[j >> 2] = c[X >> 2];
- c[k >> 2] = h;
- c[m >> 2] = Y;
- c[n >> 2] = Z;
- c[o >> 2] = _;
- c[p >> 2] = $;
- c[q >> 2] = 0;
- c[r >> 2] = 0;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[w >> 2] = (c[v >> 2] | 0) + -8;
- c[x >> 2] =
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 12) >> 2] | 0);
- c[y >> 2] = c[q >> 2] | 0 ? 5 : 4;
- c[z >> 2] = c[c[m >> 2] >> 2];
- c[A >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[B >> 2] = 0;
- c[t >> 2] =
- (c[t >> 2] | 0) +
- (((c[t >> 2] | 0) == (c[x >> 2] | 0)) & 1);
- c[((c[j >> 2] | 0) + 28) >> 2] =
- c[((c[j >> 2] | 0) + 24) >> 2];
- c[C >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- if ((c[A >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
- c[B >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- }
- if ((c[z >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
- c[B >> 2] = c[z >> 2];
- c[z >> 2] = 0;
- }
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[D >> 2] = 0;
- c[E >> 2] = 0;
- c[F >> 2] = (c[t >> 2] | 0) + 1;
- C = ((c[z >> 2] | 0) >>> 0 > 0) & 1;
- q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0;
- if (
- !((C &
- ((q | 0) ==
- (Bk(
- ((c[t >> 2] | 0) + 1 + (0 - (c[z >> 2] | 0))) | 0
- ) |
- 0))) |
- 0
- ? ((c[D >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 1 + 4) | 0,
- ((c[t >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- !(c[r >> 2] | 0))
- : 0)
- ) {
- c[G >> 2] = 99999999;
- c[H >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- G
- ) | 0;
- if ((c[H >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0) {
- c[D >> 2] = c[H >> 2];
- c[F >> 2] = c[t >> 2];
- c[E >> 2] = c[G >> 2];
- }
- if ((c[D >> 2] | 0) >>> 0 < 4) {
- c[t >> 2] =
- (c[t >> 2] | 0) +
- ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
- continue;
- }
- a: do {
- if ((c[r >> 2] | 0) >>> 0 >= 1)
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- if (
- (
- (
- c[E >> 2] | 0
- ? ((q = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
- (C = Bk(c[t >> 2] | 0) | 0),
- (q &
- ((C | 0) ==
- (Bk(
- ((c[t >> 2] | 0) +
- (0 - (c[z >> 2] | 0))) |
- 0
- ) |
- 0))) |
- 0)
- : 0
- )
- ? ((c[I >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- (c[J >> 2] = (c[I >> 2] | 0) * 3),
- (C = ((c[D >> 2] | 0) * 3) | 0),
- (c[K >> 2] =
- C -
- (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[I >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[J >> 2] | 0) > (c[K >> 2] | 0)
- : 0
- ) {
- c[D >> 2] = c[I >> 2];
- c[E >> 2] = 0;
- c[F >> 2] = c[t >> 2];
- }
- c[L >> 2] = 99999999;
- c[M >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- L
- ) | 0;
- C = c[M >> 2] << 2;
- c[N >> 2] = C - (Mm(((c[L >> 2] | 0) + 1) | 0) | 0);
- C = c[D >> 2] << 2;
- c[O >> 2] =
- C - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 4;
- if (
- (c[M >> 2] | 0) >>> 0 >= 4
- ? (c[N >> 2] | 0) > (c[O >> 2] | 0)
- : 0
- ) {
- c[D >> 2] = c[M >> 2];
- c[E >> 2] = c[L >> 2];
- c[F >> 2] = c[t >> 2];
- continue;
- }
- if ((c[r >> 2] | 0) != 2) break a;
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- do {
- if (
- (
- c[E >> 2] | 0
- ? ((C = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
- (q = Bk(c[t >> 2] | 0) | 0),
- (C &
- ((q | 0) ==
- (Bk(
- ((c[t >> 2] | 0) +
- (0 - (c[z >> 2] | 0))) |
- 0
- ) |
- 0))) |
- 0)
- : 0
- )
- ? ((c[P >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- (c[Q >> 2] = c[P >> 2] << 2),
- (q = c[D >> 2] << 2),
- (c[R >> 2] =
- q -
- (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[P >> 2] | 0) >>> 0 >= 4)
- : 0
- ) {
- if ((c[Q >> 2] | 0) <= (c[R >> 2] | 0)) break;
- c[D >> 2] = c[P >> 2];
- c[E >> 2] = 0;
- c[F >> 2] = c[t >> 2];
- }
- } while (0);
- c[S >> 2] = 99999999;
- c[T >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- S
- ) | 0;
- q = c[T >> 2] << 2;
- c[U >> 2] = q - (Mm(((c[S >> 2] | 0) + 1) | 0) | 0);
- q = c[D >> 2] << 2;
- c[V >> 2] =
- q - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 7;
- if ((c[T >> 2] | 0) >>> 0 < 4) break a;
- if ((c[U >> 2] | 0) <= (c[V >> 2] | 0)) break a;
- c[D >> 2] = c[T >> 2];
- c[E >> 2] = c[S >> 2];
- c[F >> 2] = c[t >> 2];
- }
- } while (0);
- if (c[E >> 2] | 0) {
- while (1) {
- if (
- !(
- ((c[F >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
- ? (((c[F >> 2] | 0) +
- (0 - ((c[E >> 2] | 0) - 2))) |
- 0) >>>
- 0 >
- (c[x >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[F >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[
- ((c[F >> 2] | 0) +
- (0 - ((c[E >> 2] | 0) - 2)) +
- -1) >>
- 0
- ] |
- 0 |
- 0)
- )
- break;
- c[F >> 2] = (c[F >> 2] | 0) + -1;
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = (c[E >> 2] | 0) - 2;
- }
- }
- c[W >> 2] = (c[F >> 2] | 0) - (c[u >> 2] | 0);
- Nm(
- c[k >> 2] | 0,
- c[W >> 2] | 0,
- c[u >> 2] | 0,
- c[E >> 2] | 0,
- ((c[D >> 2] | 0) - 3) | 0
- );
- q = ((c[F >> 2] | 0) + (c[D >> 2] | 0)) | 0;
- c[t >> 2] = q;
- c[u >> 2] = q;
- while (1) {
- if (
- !(
- ((c[A >> 2] | 0) >>> 0 > 0
- ? (c[t >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- q = Bk(c[t >> 2] | 0) | 0;
- if (
- (q | 0) !=
- (Bk(((c[t >> 2] | 0) + (0 - (c[A >> 2] | 0))) | 0) | 0)
- )
- break;
- c[D >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) + 4 + (0 - (c[A >> 2] | 0))) | 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4;
- c[E >> 2] = c[A >> 2];
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = c[E >> 2];
- Nm(
- c[k >> 2] | 0,
- 0,
- c[u >> 2] | 0,
- 0,
- ((c[D >> 2] | 0) - 3) | 0
- );
- c[t >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0);
- c[u >> 2] = c[t >> 2];
- }
- }
- c[c[m >> 2] >> 2] =
- c[z >> 2] | 0 ? c[z >> 2] | 0 : c[B >> 2] | 0;
- c[((c[m >> 2] | 0) + 4) >> 2] =
- c[A >> 2] | 0 ? c[A >> 2] | 0 : c[B >> 2] | 0;
- l = i;
- return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
- }
- function _l(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0;
- i = l;
- l = (l + 192) | 0;
- j = (i + 176) | 0;
- k = (i + 172) | 0;
- m = (i + 168) | 0;
- n = (i + 164) | 0;
- o = (i + 160) | 0;
- p = (i + 156) | 0;
- q = (i + 152) | 0;
- r = (i + 148) | 0;
- s = (i + 144) | 0;
- t = (i + 140) | 0;
- u = (i + 136) | 0;
- v = (i + 132) | 0;
- w = (i + 128) | 0;
- x = (i + 124) | 0;
- y = (i + 120) | 0;
- z = (i + 116) | 0;
- A = (i + 112) | 0;
- B = (i + 108) | 0;
- C = (i + 104) | 0;
- D = (i + 100) | 0;
- E = (i + 96) | 0;
- F = (i + 92) | 0;
- G = (i + 88) | 0;
- H = (i + 84) | 0;
- I = (i + 80) | 0;
- J = (i + 76) | 0;
- K = (i + 72) | 0;
- L = (i + 68) | 0;
- M = (i + 64) | 0;
- N = (i + 60) | 0;
- O = (i + 56) | 0;
- P = (i + 52) | 0;
- Q = (i + 48) | 0;
- R = (i + 44) | 0;
- S = (i + 40) | 0;
- T = (i + 36) | 0;
- U = (i + 32) | 0;
- V = (i + 28) | 0;
- W = (i + 24) | 0;
- X = (i + 20) | 0;
- Y = (i + 16) | 0;
- Z = (i + 12) | 0;
- _ = (i + 8) | 0;
- $ = (i + 4) | 0;
- aa = i;
- c[X >> 2] = a;
- c[Y >> 2] = b;
- c[Z >> 2] = e;
- c[_ >> 2] = f;
- c[$ >> 2] = g;
- c[aa >> 2] = h;
- h = c[Y >> 2] | 0;
- Y = c[Z >> 2] | 0;
- Z = c[_ >> 2] | 0;
- _ = c[$ >> 2] | 0;
- $ = c[aa >> 2] | 0;
- c[j >> 2] = c[X >> 2];
- c[k >> 2] = h;
- c[m >> 2] = Y;
- c[n >> 2] = Z;
- c[o >> 2] = _;
- c[p >> 2] = $;
- c[q >> 2] = 0;
- c[r >> 2] = 1;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[w >> 2] = (c[v >> 2] | 0) + -8;
- c[x >> 2] =
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 12) >> 2] | 0);
- c[y >> 2] = c[q >> 2] | 0 ? 5 : 4;
- c[z >> 2] = c[c[m >> 2] >> 2];
- c[A >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[B >> 2] = 0;
- c[t >> 2] =
- (c[t >> 2] | 0) +
- (((c[t >> 2] | 0) == (c[x >> 2] | 0)) & 1);
- c[((c[j >> 2] | 0) + 28) >> 2] =
- c[((c[j >> 2] | 0) + 24) >> 2];
- c[C >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- if ((c[A >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
- c[B >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- }
- if ((c[z >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
- c[B >> 2] = c[z >> 2];
- c[z >> 2] = 0;
- }
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[D >> 2] = 0;
- c[E >> 2] = 0;
- c[F >> 2] = (c[t >> 2] | 0) + 1;
- C = ((c[z >> 2] | 0) >>> 0 > 0) & 1;
- q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0;
- if (
- !((C &
- ((q | 0) ==
- (Bk(
- ((c[t >> 2] | 0) + 1 + (0 - (c[z >> 2] | 0))) | 0
- ) |
- 0))) |
- 0
- ? ((c[D >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 1 + 4) | 0,
- ((c[t >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- !(c[r >> 2] | 0))
- : 0)
- ) {
- c[G >> 2] = 99999999;
- c[H >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- G
- ) | 0;
- if ((c[H >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0) {
- c[D >> 2] = c[H >> 2];
- c[F >> 2] = c[t >> 2];
- c[E >> 2] = c[G >> 2];
- }
- if ((c[D >> 2] | 0) >>> 0 < 4) {
- c[t >> 2] =
- (c[t >> 2] | 0) +
- ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
- continue;
- }
- a: do {
- if ((c[r >> 2] | 0) >>> 0 >= 1)
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- if (
- (
- (
- c[E >> 2] | 0
- ? ((q = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
- (C = Bk(c[t >> 2] | 0) | 0),
- (q &
- ((C | 0) ==
- (Bk(
- ((c[t >> 2] | 0) +
- (0 - (c[z >> 2] | 0))) |
- 0
- ) |
- 0))) |
- 0)
- : 0
- )
- ? ((c[I >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- (c[J >> 2] = (c[I >> 2] | 0) * 3),
- (C = ((c[D >> 2] | 0) * 3) | 0),
- (c[K >> 2] =
- C -
- (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[I >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[J >> 2] | 0) > (c[K >> 2] | 0)
- : 0
- ) {
- c[D >> 2] = c[I >> 2];
- c[E >> 2] = 0;
- c[F >> 2] = c[t >> 2];
- }
- c[L >> 2] = 99999999;
- c[M >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- L
- ) | 0;
- C = c[M >> 2] << 2;
- c[N >> 2] = C - (Mm(((c[L >> 2] | 0) + 1) | 0) | 0);
- C = c[D >> 2] << 2;
- c[O >> 2] =
- C - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 4;
- if (
- (c[M >> 2] | 0) >>> 0 >= 4
- ? (c[N >> 2] | 0) > (c[O >> 2] | 0)
- : 0
- ) {
- c[D >> 2] = c[M >> 2];
- c[E >> 2] = c[L >> 2];
- c[F >> 2] = c[t >> 2];
- continue;
- }
- if ((c[r >> 2] | 0) != 2) break a;
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- do {
- if (
- (
- c[E >> 2] | 0
- ? ((C = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
- (q = Bk(c[t >> 2] | 0) | 0),
- (C &
- ((q | 0) ==
- (Bk(
- ((c[t >> 2] | 0) +
- (0 - (c[z >> 2] | 0))) |
- 0
- ) |
- 0))) |
- 0)
- : 0
- )
- ? ((c[P >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- (c[Q >> 2] = c[P >> 2] << 2),
- (q = c[D >> 2] << 2),
- (c[R >> 2] =
- q -
- (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[P >> 2] | 0) >>> 0 >= 4)
- : 0
- ) {
- if ((c[Q >> 2] | 0) <= (c[R >> 2] | 0)) break;
- c[D >> 2] = c[P >> 2];
- c[E >> 2] = 0;
- c[F >> 2] = c[t >> 2];
- }
- } while (0);
- c[S >> 2] = 99999999;
- c[T >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- S
- ) | 0;
- q = c[T >> 2] << 2;
- c[U >> 2] = q - (Mm(((c[S >> 2] | 0) + 1) | 0) | 0);
- q = c[D >> 2] << 2;
- c[V >> 2] =
- q - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 7;
- if ((c[T >> 2] | 0) >>> 0 < 4) break a;
- if ((c[U >> 2] | 0) <= (c[V >> 2] | 0)) break a;
- c[D >> 2] = c[T >> 2];
- c[E >> 2] = c[S >> 2];
- c[F >> 2] = c[t >> 2];
- }
- } while (0);
- if (c[E >> 2] | 0) {
- while (1) {
- if (
- !(
- ((c[F >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
- ? (((c[F >> 2] | 0) +
- (0 - ((c[E >> 2] | 0) - 2))) |
- 0) >>>
- 0 >
- (c[x >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[F >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[
- ((c[F >> 2] | 0) +
- (0 - ((c[E >> 2] | 0) - 2)) +
- -1) >>
- 0
- ] |
- 0 |
- 0)
- )
- break;
- c[F >> 2] = (c[F >> 2] | 0) + -1;
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = (c[E >> 2] | 0) - 2;
- }
- }
- c[W >> 2] = (c[F >> 2] | 0) - (c[u >> 2] | 0);
- Nm(
- c[k >> 2] | 0,
- c[W >> 2] | 0,
- c[u >> 2] | 0,
- c[E >> 2] | 0,
- ((c[D >> 2] | 0) - 3) | 0
- );
- q = ((c[F >> 2] | 0) + (c[D >> 2] | 0)) | 0;
- c[t >> 2] = q;
- c[u >> 2] = q;
- while (1) {
- if (
- !(
- ((c[A >> 2] | 0) >>> 0 > 0
- ? (c[t >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- q = Bk(c[t >> 2] | 0) | 0;
- if (
- (q | 0) !=
- (Bk(((c[t >> 2] | 0) + (0 - (c[A >> 2] | 0))) | 0) | 0)
- )
- break;
- c[D >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) + 4 + (0 - (c[A >> 2] | 0))) | 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4;
- c[E >> 2] = c[A >> 2];
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = c[E >> 2];
- Nm(
- c[k >> 2] | 0,
- 0,
- c[u >> 2] | 0,
- 0,
- ((c[D >> 2] | 0) - 3) | 0
- );
- c[t >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0);
- c[u >> 2] = c[t >> 2];
- }
- }
- c[c[m >> 2] >> 2] =
- c[z >> 2] | 0 ? c[z >> 2] | 0 : c[B >> 2] | 0;
- c[((c[m >> 2] | 0) + 4) >> 2] =
- c[A >> 2] | 0 ? c[A >> 2] | 0 : c[B >> 2] | 0;
- l = i;
- return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
- }
- function $l(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0;
- i = l;
- l = (l + 192) | 0;
- j = (i + 176) | 0;
- k = (i + 172) | 0;
- m = (i + 168) | 0;
- n = (i + 164) | 0;
- o = (i + 160) | 0;
- p = (i + 156) | 0;
- q = (i + 152) | 0;
- r = (i + 148) | 0;
- s = (i + 144) | 0;
- t = (i + 140) | 0;
- u = (i + 136) | 0;
- v = (i + 132) | 0;
- w = (i + 128) | 0;
- x = (i + 124) | 0;
- y = (i + 120) | 0;
- z = (i + 116) | 0;
- A = (i + 112) | 0;
- B = (i + 108) | 0;
- C = (i + 104) | 0;
- D = (i + 100) | 0;
- E = (i + 96) | 0;
- F = (i + 92) | 0;
- G = (i + 88) | 0;
- H = (i + 84) | 0;
- I = (i + 80) | 0;
- J = (i + 76) | 0;
- K = (i + 72) | 0;
- L = (i + 68) | 0;
- M = (i + 64) | 0;
- N = (i + 60) | 0;
- O = (i + 56) | 0;
- P = (i + 52) | 0;
- Q = (i + 48) | 0;
- R = (i + 44) | 0;
- S = (i + 40) | 0;
- T = (i + 36) | 0;
- U = (i + 32) | 0;
- V = (i + 28) | 0;
- W = (i + 24) | 0;
- X = (i + 20) | 0;
- Y = (i + 16) | 0;
- Z = (i + 12) | 0;
- _ = (i + 8) | 0;
- $ = (i + 4) | 0;
- aa = i;
- c[X >> 2] = a;
- c[Y >> 2] = b;
- c[Z >> 2] = e;
- c[_ >> 2] = f;
- c[$ >> 2] = g;
- c[aa >> 2] = h;
- h = c[Y >> 2] | 0;
- Y = c[Z >> 2] | 0;
- Z = c[_ >> 2] | 0;
- _ = c[$ >> 2] | 0;
- $ = c[aa >> 2] | 0;
- c[j >> 2] = c[X >> 2];
- c[k >> 2] = h;
- c[m >> 2] = Y;
- c[n >> 2] = Z;
- c[o >> 2] = _;
- c[p >> 2] = $;
- c[q >> 2] = 0;
- c[r >> 2] = 2;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[w >> 2] = (c[v >> 2] | 0) + -8;
- c[x >> 2] =
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 12) >> 2] | 0);
- c[y >> 2] = c[q >> 2] | 0 ? 5 : 4;
- c[z >> 2] = c[c[m >> 2] >> 2];
- c[A >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[B >> 2] = 0;
- c[t >> 2] =
- (c[t >> 2] | 0) +
- (((c[t >> 2] | 0) == (c[x >> 2] | 0)) & 1);
- c[((c[j >> 2] | 0) + 28) >> 2] =
- c[((c[j >> 2] | 0) + 24) >> 2];
- c[C >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- if ((c[A >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
- c[B >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- }
- if ((c[z >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
- c[B >> 2] = c[z >> 2];
- c[z >> 2] = 0;
- }
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[D >> 2] = 0;
- c[E >> 2] = 0;
- c[F >> 2] = (c[t >> 2] | 0) + 1;
- C = ((c[z >> 2] | 0) >>> 0 > 0) & 1;
- q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0;
- if (
- !((C &
- ((q | 0) ==
- (Bk(
- ((c[t >> 2] | 0) + 1 + (0 - (c[z >> 2] | 0))) | 0
- ) |
- 0))) |
- 0
- ? ((c[D >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 1 + 4) | 0,
- ((c[t >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- !(c[r >> 2] | 0))
- : 0)
- ) {
- c[G >> 2] = 99999999;
- c[H >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- G
- ) | 0;
- if ((c[H >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0) {
- c[D >> 2] = c[H >> 2];
- c[F >> 2] = c[t >> 2];
- c[E >> 2] = c[G >> 2];
- }
- if ((c[D >> 2] | 0) >>> 0 < 4) {
- c[t >> 2] =
- (c[t >> 2] | 0) +
- ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
- continue;
- }
- a: do {
- if ((c[r >> 2] | 0) >>> 0 >= 1)
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- if (
- (
- (
- c[E >> 2] | 0
- ? ((q = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
- (C = Bk(c[t >> 2] | 0) | 0),
- (q &
- ((C | 0) ==
- (Bk(
- ((c[t >> 2] | 0) +
- (0 - (c[z >> 2] | 0))) |
- 0
- ) |
- 0))) |
- 0)
- : 0
- )
- ? ((c[I >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- (c[J >> 2] = (c[I >> 2] | 0) * 3),
- (C = ((c[D >> 2] | 0) * 3) | 0),
- (c[K >> 2] =
- C -
- (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[I >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[J >> 2] | 0) > (c[K >> 2] | 0)
- : 0
- ) {
- c[D >> 2] = c[I >> 2];
- c[E >> 2] = 0;
- c[F >> 2] = c[t >> 2];
- }
- c[L >> 2] = 99999999;
- c[M >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- L
- ) | 0;
- C = c[M >> 2] << 2;
- c[N >> 2] = C - (Mm(((c[L >> 2] | 0) + 1) | 0) | 0);
- C = c[D >> 2] << 2;
- c[O >> 2] =
- C - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 4;
- if (
- (c[M >> 2] | 0) >>> 0 >= 4
- ? (c[N >> 2] | 0) > (c[O >> 2] | 0)
- : 0
- ) {
- c[D >> 2] = c[M >> 2];
- c[E >> 2] = c[L >> 2];
- c[F >> 2] = c[t >> 2];
- continue;
- }
- if ((c[r >> 2] | 0) != 2) break a;
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- do {
- if (
- (
- c[E >> 2] | 0
- ? ((C = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
- (q = Bk(c[t >> 2] | 0) | 0),
- (C &
- ((q | 0) ==
- (Bk(
- ((c[t >> 2] | 0) +
- (0 - (c[z >> 2] | 0))) |
- 0
- ) |
- 0))) |
- 0)
- : 0
- )
- ? ((c[P >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- (c[Q >> 2] = c[P >> 2] << 2),
- (q = c[D >> 2] << 2),
- (c[R >> 2] =
- q -
- (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[P >> 2] | 0) >>> 0 >= 4)
- : 0
- ) {
- if ((c[Q >> 2] | 0) <= (c[R >> 2] | 0)) break;
- c[D >> 2] = c[P >> 2];
- c[E >> 2] = 0;
- c[F >> 2] = c[t >> 2];
- }
- } while (0);
- c[S >> 2] = 99999999;
- c[T >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- S
- ) | 0;
- q = c[T >> 2] << 2;
- c[U >> 2] = q - (Mm(((c[S >> 2] | 0) + 1) | 0) | 0);
- q = c[D >> 2] << 2;
- c[V >> 2] =
- q - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 7;
- if ((c[T >> 2] | 0) >>> 0 < 4) break a;
- if ((c[U >> 2] | 0) <= (c[V >> 2] | 0)) break a;
- c[D >> 2] = c[T >> 2];
- c[E >> 2] = c[S >> 2];
- c[F >> 2] = c[t >> 2];
- }
- } while (0);
- if (c[E >> 2] | 0) {
- while (1) {
- if (
- !(
- ((c[F >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
- ? (((c[F >> 2] | 0) +
- (0 - ((c[E >> 2] | 0) - 2))) |
- 0) >>>
- 0 >
- (c[x >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[F >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[
- ((c[F >> 2] | 0) +
- (0 - ((c[E >> 2] | 0) - 2)) +
- -1) >>
- 0
- ] |
- 0 |
- 0)
- )
- break;
- c[F >> 2] = (c[F >> 2] | 0) + -1;
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = (c[E >> 2] | 0) - 2;
- }
- }
- c[W >> 2] = (c[F >> 2] | 0) - (c[u >> 2] | 0);
- Nm(
- c[k >> 2] | 0,
- c[W >> 2] | 0,
- c[u >> 2] | 0,
- c[E >> 2] | 0,
- ((c[D >> 2] | 0) - 3) | 0
- );
- q = ((c[F >> 2] | 0) + (c[D >> 2] | 0)) | 0;
- c[t >> 2] = q;
- c[u >> 2] = q;
- while (1) {
- if (
- !(
- ((c[A >> 2] | 0) >>> 0 > 0
- ? (c[t >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- q = Bk(c[t >> 2] | 0) | 0;
- if (
- (q | 0) !=
- (Bk(((c[t >> 2] | 0) + (0 - (c[A >> 2] | 0))) | 0) | 0)
- )
- break;
- c[D >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) + 4 + (0 - (c[A >> 2] | 0))) | 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4;
- c[E >> 2] = c[A >> 2];
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = c[E >> 2];
- Nm(
- c[k >> 2] | 0,
- 0,
- c[u >> 2] | 0,
- 0,
- ((c[D >> 2] | 0) - 3) | 0
- );
- c[t >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0);
- c[u >> 2] = c[t >> 2];
- }
- }
- c[c[m >> 2] >> 2] =
- c[z >> 2] | 0 ? c[z >> 2] | 0 : c[B >> 2] | 0;
- c[((c[m >> 2] | 0) + 4) >> 2] =
- c[A >> 2] | 0 ? c[A >> 2] | 0 : c[B >> 2] | 0;
- l = i;
- return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
- }
- function am(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0;
- i = l;
- l = (l + 192) | 0;
- j = (i + 176) | 0;
- k = (i + 172) | 0;
- m = (i + 168) | 0;
- n = (i + 164) | 0;
- o = (i + 160) | 0;
- p = (i + 156) | 0;
- q = (i + 152) | 0;
- r = (i + 148) | 0;
- s = (i + 144) | 0;
- t = (i + 140) | 0;
- u = (i + 136) | 0;
- v = (i + 132) | 0;
- w = (i + 128) | 0;
- x = (i + 124) | 0;
- y = (i + 120) | 0;
- z = (i + 116) | 0;
- A = (i + 112) | 0;
- B = (i + 108) | 0;
- C = (i + 104) | 0;
- D = (i + 100) | 0;
- E = (i + 96) | 0;
- F = (i + 92) | 0;
- G = (i + 88) | 0;
- H = (i + 84) | 0;
- I = (i + 80) | 0;
- J = (i + 76) | 0;
- K = (i + 72) | 0;
- L = (i + 68) | 0;
- M = (i + 64) | 0;
- N = (i + 60) | 0;
- O = (i + 56) | 0;
- P = (i + 52) | 0;
- Q = (i + 48) | 0;
- R = (i + 44) | 0;
- S = (i + 40) | 0;
- T = (i + 36) | 0;
- U = (i + 32) | 0;
- V = (i + 28) | 0;
- W = (i + 24) | 0;
- X = (i + 20) | 0;
- Y = (i + 16) | 0;
- Z = (i + 12) | 0;
- _ = (i + 8) | 0;
- $ = (i + 4) | 0;
- aa = i;
- c[X >> 2] = a;
- c[Y >> 2] = b;
- c[Z >> 2] = e;
- c[_ >> 2] = f;
- c[$ >> 2] = g;
- c[aa >> 2] = h;
- h = c[Y >> 2] | 0;
- Y = c[Z >> 2] | 0;
- Z = c[_ >> 2] | 0;
- _ = c[$ >> 2] | 0;
- $ = c[aa >> 2] | 0;
- c[j >> 2] = c[X >> 2];
- c[k >> 2] = h;
- c[m >> 2] = Y;
- c[n >> 2] = Z;
- c[o >> 2] = _;
- c[p >> 2] = $;
- c[q >> 2] = 1;
- c[r >> 2] = 2;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[w >> 2] = (c[v >> 2] | 0) + -8;
- c[x >> 2] =
- (c[((c[j >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[j >> 2] | 0) + 12) >> 2] | 0);
- c[y >> 2] = c[q >> 2] | 0 ? 5 : 4;
- c[z >> 2] = c[c[m >> 2] >> 2];
- c[A >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[B >> 2] = 0;
- c[t >> 2] =
- (c[t >> 2] | 0) +
- (((c[t >> 2] | 0) == (c[x >> 2] | 0)) & 1);
- c[((c[j >> 2] | 0) + 28) >> 2] =
- c[((c[j >> 2] | 0) + 24) >> 2];
- c[C >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- if ((c[A >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
- c[B >> 2] = c[A >> 2];
- c[A >> 2] = 0;
- }
- if ((c[z >> 2] | 0) >>> 0 > (c[C >> 2] | 0) >>> 0) {
- c[B >> 2] = c[z >> 2];
- c[z >> 2] = 0;
- }
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[D >> 2] = 0;
- c[E >> 2] = 0;
- c[F >> 2] = (c[t >> 2] | 0) + 1;
- C = ((c[z >> 2] | 0) >>> 0 > 0) & 1;
- q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0;
- if (
- !((C &
- ((q | 0) ==
- (Bk(
- ((c[t >> 2] | 0) + 1 + (0 - (c[z >> 2] | 0))) | 0
- ) |
- 0))) |
- 0
- ? ((c[D >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 1 + 4) | 0,
- ((c[t >> 2] | 0) +
- 1 +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- !(c[r >> 2] | 0))
- : 0)
- ) {
- c[G >> 2] = 99999999;
- c[H >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- G
- ) | 0;
- if ((c[H >> 2] | 0) >>> 0 > (c[D >> 2] | 0) >>> 0) {
- c[D >> 2] = c[H >> 2];
- c[F >> 2] = c[t >> 2];
- c[E >> 2] = c[G >> 2];
- }
- if ((c[D >> 2] | 0) >>> 0 < 4) {
- c[t >> 2] =
- (c[t >> 2] | 0) +
- ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
- continue;
- }
- a: do {
- if ((c[r >> 2] | 0) >>> 0 >= 1)
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- if (
- (
- (
- c[E >> 2] | 0
- ? ((q = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
- (C = Bk(c[t >> 2] | 0) | 0),
- (q &
- ((C | 0) ==
- (Bk(
- ((c[t >> 2] | 0) +
- (0 - (c[z >> 2] | 0))) |
- 0
- ) |
- 0))) |
- 0)
- : 0
- )
- ? ((c[I >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- (c[J >> 2] = (c[I >> 2] | 0) * 3),
- (C = ((c[D >> 2] | 0) * 3) | 0),
- (c[K >> 2] =
- C -
- (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[I >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[J >> 2] | 0) > (c[K >> 2] | 0)
- : 0
- ) {
- c[D >> 2] = c[I >> 2];
- c[E >> 2] = 0;
- c[F >> 2] = c[t >> 2];
- }
- c[L >> 2] = 99999999;
- c[M >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- L
- ) | 0;
- C = c[M >> 2] << 2;
- c[N >> 2] = C - (Mm(((c[L >> 2] | 0) + 1) | 0) | 0);
- C = c[D >> 2] << 2;
- c[O >> 2] =
- C - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 4;
- if (
- (c[M >> 2] | 0) >>> 0 >= 4
- ? (c[N >> 2] | 0) > (c[O >> 2] | 0)
- : 0
- ) {
- c[D >> 2] = c[M >> 2];
- c[E >> 2] = c[L >> 2];
- c[F >> 2] = c[t >> 2];
- continue;
- }
- if ((c[r >> 2] | 0) != 2) break a;
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- do {
- if (
- (
- c[E >> 2] | 0
- ? ((C = ((c[z >> 2] | 0) >>> 0 > 0) & 1),
- (q = Bk(c[t >> 2] | 0) | 0),
- (C &
- ((q | 0) ==
- (Bk(
- ((c[t >> 2] | 0) +
- (0 - (c[z >> 2] | 0))) |
- 0
- ) |
- 0))) |
- 0)
- : 0
- )
- ? ((c[P >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) +
- 4 +
- (0 - (c[z >> 2] | 0))) |
- 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4),
- (c[Q >> 2] = c[P >> 2] << 2),
- (q = c[D >> 2] << 2),
- (c[R >> 2] =
- q -
- (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[P >> 2] | 0) >>> 0 >= 4)
- : 0
- ) {
- if ((c[Q >> 2] | 0) <= (c[R >> 2] | 0)) break;
- c[D >> 2] = c[P >> 2];
- c[E >> 2] = 0;
- c[F >> 2] = c[t >> 2];
- }
- } while (0);
- c[S >> 2] = 99999999;
- c[T >> 2] =
- tc[c[y >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- S
- ) | 0;
- q = c[T >> 2] << 2;
- c[U >> 2] = q - (Mm(((c[S >> 2] | 0) + 1) | 0) | 0);
- q = c[D >> 2] << 2;
- c[V >> 2] =
- q - (Mm(((c[E >> 2] | 0) + 1) | 0) | 0) + 7;
- if ((c[T >> 2] | 0) >>> 0 < 4) break a;
- if ((c[U >> 2] | 0) <= (c[V >> 2] | 0)) break a;
- c[D >> 2] = c[T >> 2];
- c[E >> 2] = c[S >> 2];
- c[F >> 2] = c[t >> 2];
- }
- } while (0);
- if (c[E >> 2] | 0) {
- while (1) {
- if (
- !(
- ((c[F >> 2] | 0) >>> 0 > (c[u >> 2] | 0) >>> 0
- ? (((c[F >> 2] | 0) +
- (0 - ((c[E >> 2] | 0) - 2))) |
- 0) >>>
- 0 >
- (c[x >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- if (
- (d[((c[F >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[
- ((c[F >> 2] | 0) +
- (0 - ((c[E >> 2] | 0) - 2)) +
- -1) >>
- 0
- ] |
- 0 |
- 0)
- )
- break;
- c[F >> 2] = (c[F >> 2] | 0) + -1;
- c[D >> 2] = (c[D >> 2] | 0) + 1;
- }
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = (c[E >> 2] | 0) - 2;
- }
- }
- c[W >> 2] = (c[F >> 2] | 0) - (c[u >> 2] | 0);
- Nm(
- c[k >> 2] | 0,
- c[W >> 2] | 0,
- c[u >> 2] | 0,
- c[E >> 2] | 0,
- ((c[D >> 2] | 0) - 3) | 0
- );
- q = ((c[F >> 2] | 0) + (c[D >> 2] | 0)) | 0;
- c[t >> 2] = q;
- c[u >> 2] = q;
- while (1) {
- if (
- !(
- ((c[A >> 2] | 0) >>> 0 > 0
- ? (c[t >> 2] | 0) >>> 0 <= (c[w >> 2] | 0) >>> 0
- : 0) | 0
- )
- )
- break;
- q = Bk(c[t >> 2] | 0) | 0;
- if (
- (q | 0) !=
- (Bk(((c[t >> 2] | 0) + (0 - (c[A >> 2] | 0))) | 0) | 0)
- )
- break;
- c[D >> 2] =
- (Qm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[t >> 2] | 0) + 4 + (0 - (c[A >> 2] | 0))) | 0,
- c[v >> 2] | 0
- ) |
- 0) +
- 4;
- c[E >> 2] = c[A >> 2];
- c[A >> 2] = c[z >> 2];
- c[z >> 2] = c[E >> 2];
- Nm(
- c[k >> 2] | 0,
- 0,
- c[u >> 2] | 0,
- 0,
- ((c[D >> 2] | 0) - 3) | 0
- );
- c[t >> 2] = (c[t >> 2] | 0) + (c[D >> 2] | 0);
- c[u >> 2] = c[t >> 2];
- }
- }
- c[c[m >> 2] >> 2] =
- c[z >> 2] | 0 ? c[z >> 2] | 0 : c[B >> 2] | 0;
- c[((c[m >> 2] | 0) + 4) >> 2] =
- c[A >> 2] | 0 ? c[A >> 2] | 0 : c[B >> 2] | 0;
- l = i;
- return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
- }
- function bm(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0,
- Kc = 0,
- Lc = 0,
- Mc = 0,
- Nc = 0,
- Oc = 0,
- Pc = 0,
- Qc = 0,
- Rc = 0,
- Sc = 0,
- Tc = 0,
- Uc = 0,
- Vc = 0,
- Wc = 0,
- Xc = 0,
- Yc = 0,
- Zc = 0,
- _c = 0,
- $c = 0,
- ad = 0,
- bd = 0,
- cd = 0,
- dd = 0,
- ed = 0,
- fd = 0,
- gd = 0,
- hd = 0,
- id = 0,
- jd = 0,
- kd = 0,
- ld = 0,
- md = 0,
- nd = 0,
- od = 0,
- pd = 0,
- qd = 0,
- rd = 0,
- sd = 0,
- td = 0,
- ud = 0,
- vd = 0,
- wd = 0,
- xd = 0,
- yd = 0,
- zd = 0,
- Ad = 0,
- Bd = 0,
- Cd = 0,
- Dd = 0,
- Ed = 0,
- Fd = 0,
- Gd = 0,
- Hd = 0,
- Id = 0,
- Jd = 0,
- Kd = 0,
- Ld = 0,
- Md = 0,
- Nd = 0,
- Od = 0,
- Pd = 0,
- Qd = 0,
- Rd = 0,
- Sd = 0,
- Td = 0,
- Ud = 0,
- Vd = 0,
- Wd = 0,
- Xd = 0,
- Yd = 0,
- Zd = 0,
- _d = 0,
- $d = 0,
- ae = 0,
- be = 0,
- ce = 0,
- de = 0,
- ee = 0,
- fe = 0,
- ge = 0,
- he = 0,
- ie = 0,
- je = 0,
- ke = 0,
- le = 0,
- me = 0,
- ne = 0,
- oe = 0,
- pe = 0,
- qe = 0,
- re = 0,
- se = 0,
- te = 0,
- ue = 0,
- ve = 0,
- we = 0,
- xe = 0,
- ye = 0,
- ze = 0,
- Ae = 0,
- Be = 0,
- Ce = 0,
- De = 0,
- Ee = 0,
- Fe = 0,
- Ge = 0,
- He = 0,
- Ie = 0,
- Je = 0,
- Ke = 0,
- Le = 0,
- Me = 0,
- Ne = 0,
- Oe = 0,
- Pe = 0,
- Qe = 0,
- Re = 0,
- Se = 0,
- Te = 0,
- Ue = 0,
- Ve = 0,
- We = 0,
- Xe = 0,
- Ye = 0,
- Ze = 0,
- _e = 0,
- $e = 0,
- af = 0,
- bf = 0,
- cf = 0,
- df = 0,
- ef = 0,
- ff = 0,
- gf = 0,
- hf = 0,
- jf = 0,
- kf = 0,
- lf = 0,
- mf = 0,
- nf = 0,
- of = 0,
- pf = 0,
- qf = 0,
- rf = 0,
- sf = 0,
- tf = 0,
- uf = 0,
- vf = 0,
- wf = 0,
- xf = 0,
- yf = 0,
- zf = 0,
- Af = 0,
- Bf = 0,
- Cf = 0,
- Df = 0,
- Ef = 0,
- Ff = 0,
- Gf = 0,
- Hf = 0,
- If = 0,
- Jf = 0,
- Kf = 0,
- Lf = 0,
- Mf = 0,
- Nf = 0,
- Of = 0,
- Pf = 0,
- Qf = 0,
- Rf = 0,
- Sf = 0,
- Tf = 0,
- Uf = 0,
- Vf = 0,
- Wf = 0,
- Xf = 0,
- Yf = 0,
- Zf = 0,
- _f = 0,
- $f = 0,
- ag = 0,
- bg = 0,
- cg = 0,
- dg = 0,
- eg = 0,
- fg = 0,
- gg = 0,
- hg = 0,
- ig = 0,
- jg = 0,
- kg = 0,
- lg = 0,
- mg = 0,
- ng = 0,
- og = 0,
- pg = 0,
- qg = 0,
- rg = 0,
- sg = 0,
- tg = 0,
- ug = 0,
- vg = 0,
- wg = 0,
- xg = 0,
- yg = 0,
- zg = 0,
- Ag = 0,
- Bg = 0,
- Cg = 0,
- Dg = 0,
- Eg = 0,
- Fg = 0,
- Gg = 0,
- Hg = 0,
- Ig = 0,
- Jg = 0,
- Kg = 0,
- Lg = 0,
- Mg = 0,
- Ng = 0,
- Og = 0,
- Pg = 0,
- Qg = 0,
- Rg = 0,
- Sg = 0,
- Tg = 0,
- Ug = 0,
- Vg = 0,
- Wg = 0,
- Xg = 0,
- Yg = 0,
- Zg = 0,
- _g = 0,
- $g = 0,
- ah = 0,
- bh = 0,
- ch = 0,
- dh = 0,
- eh = 0,
- fh = 0,
- gh = 0,
- hh = 0,
- ih = 0,
- jh = 0,
- kh = 0,
- lh = 0,
- mh = 0,
- nh = 0,
- oh = 0,
- ph = 0,
- qh = 0,
- rh = 0,
- sh = 0,
- th = 0,
- uh = 0,
- vh = 0,
- wh = 0,
- xh = 0,
- yh = 0,
- zh = 0,
- Ah = 0,
- Bh = 0,
- Ch = 0,
- Dh = 0,
- Eh = 0,
- Fh = 0,
- Gh = 0,
- Hh = 0,
- Ih = 0,
- Jh = 0,
- Kh = 0,
- Lh = 0,
- Mh = 0,
- Nh = 0,
- Oh = 0,
- Ph = 0,
- Qh = 0,
- Rh = 0,
- Sh = 0,
- Th = 0,
- Uh = 0,
- Vh = 0,
- Wh = 0,
- Xh = 0,
- Yh = 0,
- Zh = 0,
- _h = 0,
- $h = 0,
- ai = 0,
- bi = 0,
- ci = 0,
- di = 0,
- ei = 0,
- fi = 0,
- gi = 0,
- hi = 0,
- ii = 0,
- ji = 0,
- ki = 0,
- li = 0,
- mi = 0,
- ni = 0,
- oi = 0,
- pi = 0,
- qi = 0,
- ri = 0,
- si = 0,
- ti = 0,
- ui = 0,
- vi = 0,
- wi = 0,
- xi = 0,
- yi = 0,
- zi = 0,
- Ai = 0,
- Bi = 0,
- Ci = 0,
- Di = 0,
- Ei = 0,
- Fi = 0,
- Gi = 0,
- Hi = 0,
- Ii = 0,
- Ji = 0,
- Ki = 0,
- Li = 0,
- Mi = 0,
- Ni = 0,
- Oi = 0,
- Pi = 0,
- Qi = 0,
- Ri = 0,
- Si = 0,
- Ti = 0,
- Ui = 0,
- Vi = 0,
- Wi = 0,
- Xi = 0,
- Yi = 0,
- Zi = 0,
- _i = 0,
- $i = 0,
- aj = 0,
- bj = 0,
- cj = 0,
- dj = 0,
- ej = 0,
- fj = 0,
- gj = 0,
- hj = 0,
- ij = 0,
- jj = 0,
- kj = 0,
- lj = 0,
- mj = 0,
- nj = 0,
- oj = 0,
- pj = 0,
- qj = 0,
- rj = 0,
- sj = 0,
- tj = 0,
- uj = 0,
- vj = 0,
- wj = 0,
- xj = 0,
- yj = 0,
- zj = 0,
- Aj = 0,
- Bj = 0,
- Cj = 0,
- Dj = 0,
- Ej = 0;
- i = l;
- l = (l + 2144) | 0;
- j = (i + 2136) | 0;
- k = (i + 2132) | 0;
- m = (i + 2128) | 0;
- n = (i + 2124) | 0;
- o = (i + 2120) | 0;
- p = (i + 2116) | 0;
- q = (i + 2112) | 0;
- r = (i + 2108) | 0;
- s = (i + 2104) | 0;
- t = (i + 2100) | 0;
- u = (i + 2096) | 0;
- v = (i + 2092) | 0;
- w = (i + 2088) | 0;
- x = (i + 2084) | 0;
- y = (i + 2080) | 0;
- z = (i + 2076) | 0;
- A = (i + 2072) | 0;
- B = (i + 2068) | 0;
- C = (i + 2064) | 0;
- D = (i + 2060) | 0;
- E = (i + 2056) | 0;
- F = (i + 2052) | 0;
- G = (i + 2048) | 0;
- H = (i + 2044) | 0;
- I = (i + 2040) | 0;
- J = (i + 2036) | 0;
- K = (i + 2032) | 0;
- L = (i + 2028) | 0;
- M = (i + 2024) | 0;
- N = (i + 2020) | 0;
- O = (i + 2016) | 0;
- P = (i + 2012) | 0;
- Q = (i + 2008) | 0;
- R = (i + 2004) | 0;
- S = (i + 2e3) | 0;
- T = (i + 1996) | 0;
- U = (i + 1992) | 0;
- V = (i + 1988) | 0;
- W = (i + 1984) | 0;
- X = (i + 1980) | 0;
- Y = (i + 1976) | 0;
- Z = (i + 1972) | 0;
- _ = (i + 1968) | 0;
- $ = (i + 1964) | 0;
- aa = (i + 1960) | 0;
- ba = (i + 1956) | 0;
- ca = (i + 1952) | 0;
- da = (i + 1948) | 0;
- ea = (i + 1944) | 0;
- fa = (i + 1940) | 0;
- ga = (i + 1936) | 0;
- ha = (i + 1932) | 0;
- ia = (i + 1928) | 0;
- ja = (i + 1924) | 0;
- ka = (i + 1920) | 0;
- la = (i + 1916) | 0;
- ma = (i + 1912) | 0;
- na = (i + 1908) | 0;
- oa = (i + 1904) | 0;
- pa = (i + 1900) | 0;
- qa = (i + 1896) | 0;
- ra = (i + 1892) | 0;
- sa = (i + 1888) | 0;
- ta = (i + 1884) | 0;
- ua = (i + 1880) | 0;
- va = (i + 1876) | 0;
- wa = (i + 1872) | 0;
- xa = (i + 1868) | 0;
- ya = (i + 1864) | 0;
- za = (i + 1860) | 0;
- Aa = (i + 1856) | 0;
- Ba = (i + 1852) | 0;
- Ca = (i + 1848) | 0;
- Da = (i + 1844) | 0;
- Ea = (i + 1840) | 0;
- Fa = (i + 1836) | 0;
- Ga = (i + 1832) | 0;
- Ha = (i + 1828) | 0;
- Ia = (i + 1824) | 0;
- Ja = (i + 1820) | 0;
- Ka = (i + 1816) | 0;
- La = (i + 1812) | 0;
- Ma = (i + 1808) | 0;
- Na = (i + 1804) | 0;
- Oa = (i + 1800) | 0;
- Pa = (i + 1796) | 0;
- Qa = (i + 1792) | 0;
- Ra = (i + 1788) | 0;
- Sa = (i + 1784) | 0;
- Ta = (i + 1780) | 0;
- Ua = (i + 1776) | 0;
- Va = (i + 1772) | 0;
- Wa = (i + 1768) | 0;
- Xa = (i + 1764) | 0;
- Ya = (i + 1760) | 0;
- Za = (i + 1756) | 0;
- _a = (i + 1752) | 0;
- $a = (i + 1748) | 0;
- ab = (i + 1744) | 0;
- bb = (i + 1740) | 0;
- cb = (i + 1736) | 0;
- db = (i + 1732) | 0;
- eb = (i + 1728) | 0;
- fb = (i + 1724) | 0;
- gb = (i + 1720) | 0;
- hb = (i + 1716) | 0;
- ib = (i + 1712) | 0;
- jb = (i + 1708) | 0;
- kb = (i + 1704) | 0;
- lb = (i + 1700) | 0;
- mb = (i + 1696) | 0;
- nb = (i + 1692) | 0;
- ob = (i + 1688) | 0;
- pb = (i + 1684) | 0;
- qb = (i + 1680) | 0;
- rb = (i + 1676) | 0;
- sb = (i + 1672) | 0;
- tb = (i + 1668) | 0;
- ub = (i + 1664) | 0;
- vb = (i + 1660) | 0;
- wb = (i + 1656) | 0;
- xb = (i + 1652) | 0;
- yb = (i + 1648) | 0;
- zb = (i + 1644) | 0;
- Ab = (i + 1640) | 0;
- Bb = (i + 1636) | 0;
- Cb = (i + 1632) | 0;
- Db = (i + 1628) | 0;
- Eb = (i + 1624) | 0;
- Fb = (i + 1620) | 0;
- Gb = (i + 1616) | 0;
- Hb = (i + 1612) | 0;
- Ib = (i + 1608) | 0;
- Jb = (i + 1604) | 0;
- Kb = (i + 1600) | 0;
- Lb = (i + 1596) | 0;
- Mb = (i + 1592) | 0;
- Nb = (i + 1588) | 0;
- Ob = (i + 1584) | 0;
- Pb = (i + 1580) | 0;
- Qb = (i + 1576) | 0;
- Rb = (i + 1572) | 0;
- Sb = (i + 1568) | 0;
- Tb = (i + 1564) | 0;
- Ub = (i + 1560) | 0;
- Vb = (i + 1556) | 0;
- Wb = (i + 1552) | 0;
- Xb = (i + 1548) | 0;
- Yb = (i + 1544) | 0;
- Zb = (i + 1540) | 0;
- _b = (i + 1536) | 0;
- $b = (i + 1532) | 0;
- ac = (i + 1528) | 0;
- bc = (i + 1524) | 0;
- cc = (i + 1520) | 0;
- dc = (i + 1516) | 0;
- ec = (i + 1512) | 0;
- fc = (i + 1508) | 0;
- gc = (i + 1504) | 0;
- hc = (i + 1500) | 0;
- ic = (i + 1496) | 0;
- jc = (i + 1492) | 0;
- kc = (i + 1488) | 0;
- lc = (i + 1484) | 0;
- mc = (i + 1480) | 0;
- nc = (i + 1476) | 0;
- oc = (i + 1472) | 0;
- pc = (i + 1468) | 0;
- qc = (i + 1464) | 0;
- rc = (i + 1460) | 0;
- sc = (i + 1456) | 0;
- tc = (i + 1452) | 0;
- uc = (i + 1448) | 0;
- vc = (i + 1444) | 0;
- wc = (i + 1440) | 0;
- xc = (i + 1436) | 0;
- yc = (i + 1432) | 0;
- zc = (i + 1428) | 0;
- Ac = (i + 1424) | 0;
- Bc = (i + 1420) | 0;
- Cc = (i + 1416) | 0;
- Dc = (i + 1412) | 0;
- Ec = (i + 1408) | 0;
- Fc = (i + 1404) | 0;
- Gc = (i + 1400) | 0;
- Hc = (i + 1396) | 0;
- Ic = (i + 1392) | 0;
- Jc = (i + 1388) | 0;
- Kc = (i + 1384) | 0;
- Lc = (i + 1380) | 0;
- Mc = (i + 1376) | 0;
- Nc = (i + 1372) | 0;
- Oc = (i + 1368) | 0;
- Pc = (i + 1364) | 0;
- Qc = (i + 1360) | 0;
- Rc = (i + 1356) | 0;
- Sc = (i + 1352) | 0;
- Tc = (i + 1348) | 0;
- Uc = (i + 1344) | 0;
- Vc = (i + 1340) | 0;
- Wc = (i + 1336) | 0;
- Xc = (i + 1332) | 0;
- Yc = (i + 1328) | 0;
- Zc = (i + 1324) | 0;
- _c = (i + 1320) | 0;
- $c = (i + 1316) | 0;
- ad = (i + 1312) | 0;
- bd = (i + 1308) | 0;
- cd = (i + 1304) | 0;
- dd = (i + 1300) | 0;
- ed = (i + 1296) | 0;
- fd = (i + 1292) | 0;
- gd = (i + 1288) | 0;
- hd = (i + 1284) | 0;
- id = (i + 1280) | 0;
- jd = (i + 1276) | 0;
- kd = (i + 1272) | 0;
- ld = (i + 1268) | 0;
- md = (i + 1264) | 0;
- nd = (i + 1260) | 0;
- od = (i + 1256) | 0;
- pd = (i + 1252) | 0;
- qd = (i + 1248) | 0;
- rd = (i + 1244) | 0;
- sd = (i + 1240) | 0;
- td = (i + 1236) | 0;
- ud = (i + 1232) | 0;
- vd = (i + 1228) | 0;
- wd = (i + 1224) | 0;
- xd = (i + 1220) | 0;
- yd = (i + 1216) | 0;
- zd = (i + 1212) | 0;
- Ad = (i + 1208) | 0;
- Bd = (i + 1204) | 0;
- Cd = (i + 1200) | 0;
- Dd = (i + 1196) | 0;
- Ed = (i + 1192) | 0;
- Fd = (i + 1188) | 0;
- Gd = (i + 1184) | 0;
- Hd = (i + 1180) | 0;
- Id = (i + 1176) | 0;
- Jd = (i + 1172) | 0;
- Kd = (i + 1168) | 0;
- Ld = (i + 1164) | 0;
- Md = (i + 1160) | 0;
- Nd = (i + 1156) | 0;
- Od = (i + 1152) | 0;
- Pd = (i + 1148) | 0;
- Qd = (i + 1144) | 0;
- Rd = (i + 1140) | 0;
- Sd = (i + 1136) | 0;
- Td = (i + 1132) | 0;
- Ud = (i + 1128) | 0;
- Vd = (i + 1124) | 0;
- Wd = (i + 1120) | 0;
- Xd = (i + 1116) | 0;
- Yd = (i + 1112) | 0;
- Zd = (i + 1108) | 0;
- _d = (i + 1104) | 0;
- $d = (i + 1100) | 0;
- ae = (i + 1096) | 0;
- be = (i + 1092) | 0;
- ce = (i + 1088) | 0;
- de = (i + 1084) | 0;
- ee = (i + 1080) | 0;
- fe = (i + 1076) | 0;
- ge = (i + 1072) | 0;
- he = (i + 1068) | 0;
- ie = (i + 1064) | 0;
- je = (i + 1060) | 0;
- ke = (i + 1056) | 0;
- le = (i + 1052) | 0;
- me = (i + 1048) | 0;
- ne = (i + 1044) | 0;
- oe = (i + 1040) | 0;
- pe = (i + 1036) | 0;
- qe = (i + 1032) | 0;
- re = (i + 1028) | 0;
- se = (i + 1024) | 0;
- te = (i + 1020) | 0;
- ue = (i + 1016) | 0;
- ve = (i + 1012) | 0;
- we = (i + 1008) | 0;
- xe = (i + 1004) | 0;
- ye = (i + 1e3) | 0;
- ze = (i + 996) | 0;
- Ae = (i + 992) | 0;
- Be = (i + 988) | 0;
- Ce = (i + 984) | 0;
- De = (i + 980) | 0;
- Ee = (i + 976) | 0;
- Fe = (i + 972) | 0;
- Ge = (i + 968) | 0;
- He = (i + 964) | 0;
- Ie = (i + 960) | 0;
- Je = (i + 956) | 0;
- Ke = (i + 952) | 0;
- Le = (i + 948) | 0;
- Me = (i + 944) | 0;
- Ne = (i + 940) | 0;
- Oe = (i + 936) | 0;
- Pe = (i + 932) | 0;
- Qe = (i + 928) | 0;
- Re = (i + 924) | 0;
- Se = (i + 920) | 0;
- Te = (i + 916) | 0;
- Ue = (i + 912) | 0;
- Ve = (i + 908) | 0;
- We = (i + 904) | 0;
- Xe = (i + 900) | 0;
- Ye = (i + 896) | 0;
- Ze = (i + 892) | 0;
- _e = (i + 888) | 0;
- $e = (i + 884) | 0;
- af = (i + 880) | 0;
- bf = (i + 876) | 0;
- cf = (i + 872) | 0;
- df = (i + 868) | 0;
- ef = (i + 864) | 0;
- ff = (i + 860) | 0;
- gf = (i + 856) | 0;
- hf = (i + 852) | 0;
- jf = (i + 848) | 0;
- kf = (i + 844) | 0;
- lf = (i + 840) | 0;
- mf = (i + 836) | 0;
- nf = (i + 832) | 0;
- of = (i + 828) | 0;
- pf = (i + 824) | 0;
- qf = (i + 820) | 0;
- rf = (i + 816) | 0;
- sf = (i + 812) | 0;
- tf = (i + 808) | 0;
- uf = (i + 804) | 0;
- vf = (i + 800) | 0;
- wf = (i + 796) | 0;
- xf = (i + 792) | 0;
- yf = (i + 788) | 0;
- zf = (i + 784) | 0;
- Af = (i + 780) | 0;
- Bf = (i + 776) | 0;
- Cf = (i + 772) | 0;
- Df = (i + 768) | 0;
- Ef = (i + 764) | 0;
- Ff = (i + 760) | 0;
- Gf = (i + 756) | 0;
- Hf = (i + 752) | 0;
- If = (i + 748) | 0;
- Jf = (i + 744) | 0;
- Kf = (i + 740) | 0;
- Lf = (i + 736) | 0;
- Mf = (i + 732) | 0;
- Nf = (i + 728) | 0;
- Of = (i + 724) | 0;
- Pf = (i + 720) | 0;
- Qf = (i + 716) | 0;
- Rf = (i + 712) | 0;
- Sf = (i + 708) | 0;
- Tf = (i + 704) | 0;
- Uf = (i + 700) | 0;
- Vf = (i + 696) | 0;
- Wf = (i + 692) | 0;
- Xf = (i + 688) | 0;
- Yf = (i + 684) | 0;
- Zf = (i + 680) | 0;
- _f = (i + 676) | 0;
- $f = (i + 672) | 0;
- ag = (i + 668) | 0;
- bg = (i + 664) | 0;
- cg = (i + 660) | 0;
- dg = (i + 656) | 0;
- eg = (i + 652) | 0;
- fg = (i + 648) | 0;
- gg = (i + 644) | 0;
- hg = (i + 640) | 0;
- ig = (i + 636) | 0;
- jg = (i + 632) | 0;
- kg = (i + 628) | 0;
- lg = (i + 624) | 0;
- mg = (i + 620) | 0;
- ng = (i + 616) | 0;
- og = (i + 612) | 0;
- pg = (i + 608) | 0;
- qg = (i + 604) | 0;
- rg = (i + 600) | 0;
- sg = (i + 596) | 0;
- tg = (i + 592) | 0;
- ug = (i + 588) | 0;
- vg = (i + 584) | 0;
- wg = (i + 580) | 0;
- xg = (i + 576) | 0;
- yg = (i + 572) | 0;
- zg = (i + 568) | 0;
- Ag = (i + 564) | 0;
- Bg = (i + 560) | 0;
- Cg = (i + 556) | 0;
- Dg = (i + 552) | 0;
- Eg = (i + 548) | 0;
- Fg = (i + 544) | 0;
- Gg = (i + 540) | 0;
- Hg = (i + 536) | 0;
- Ig = (i + 532) | 0;
- Jg = (i + 528) | 0;
- Kg = (i + 524) | 0;
- Lg = (i + 520) | 0;
- Mg = (i + 516) | 0;
- Ng = (i + 512) | 0;
- Og = (i + 508) | 0;
- Pg = (i + 504) | 0;
- Qg = (i + 500) | 0;
- Rg = (i + 496) | 0;
- Sg = (i + 492) | 0;
- Tg = (i + 488) | 0;
- Ug = (i + 484) | 0;
- Vg = (i + 480) | 0;
- Wg = (i + 476) | 0;
- Xg = (i + 472) | 0;
- Yg = (i + 468) | 0;
- Zg = (i + 464) | 0;
- _g = (i + 460) | 0;
- $g = (i + 456) | 0;
- ah = (i + 452) | 0;
- bh = (i + 448) | 0;
- ch = (i + 444) | 0;
- dh = (i + 440) | 0;
- eh = (i + 436) | 0;
- fh = (i + 432) | 0;
- gh = (i + 428) | 0;
- hh = (i + 424) | 0;
- ih = (i + 420) | 0;
- jh = (i + 416) | 0;
- kh = (i + 412) | 0;
- lh = (i + 408) | 0;
- mh = (i + 404) | 0;
- nh = (i + 400) | 0;
- oh = (i + 396) | 0;
- ph = (i + 392) | 0;
- qh = (i + 388) | 0;
- rh = (i + 384) | 0;
- sh = (i + 380) | 0;
- th = (i + 376) | 0;
- uh = (i + 372) | 0;
- vh = (i + 368) | 0;
- wh = (i + 364) | 0;
- xh = (i + 360) | 0;
- yh = (i + 356) | 0;
- zh = (i + 352) | 0;
- Ah = (i + 348) | 0;
- Bh = (i + 344) | 0;
- Ch = (i + 340) | 0;
- Dh = (i + 336) | 0;
- Eh = (i + 332) | 0;
- Fh = (i + 328) | 0;
- Gh = (i + 324) | 0;
- Hh = (i + 320) | 0;
- Ih = (i + 316) | 0;
- Jh = (i + 312) | 0;
- Kh = (i + 308) | 0;
- Lh = (i + 304) | 0;
- Mh = (i + 300) | 0;
- Nh = (i + 296) | 0;
- Oh = (i + 292) | 0;
- Ph = (i + 288) | 0;
- Qh = (i + 284) | 0;
- Rh = (i + 280) | 0;
- Sh = (i + 276) | 0;
- Th = (i + 272) | 0;
- Uh = (i + 268) | 0;
- Vh = (i + 264) | 0;
- Wh = (i + 260) | 0;
- Xh = (i + 256) | 0;
- Yh = (i + 252) | 0;
- Zh = (i + 248) | 0;
- _h = (i + 244) | 0;
- $h = (i + 240) | 0;
- ai = (i + 236) | 0;
- bi = (i + 232) | 0;
- ci = (i + 228) | 0;
- di = (i + 216) | 0;
- ei = (i + 212) | 0;
- fi = (i + 208) | 0;
- gi = (i + 204) | 0;
- hi = (i + 200) | 0;
- ii = (i + 196) | 0;
- ji = (i + 192) | 0;
- ki = (i + 188) | 0;
- li = (i + 184) | 0;
- mi = (i + 180) | 0;
- ni = (i + 176) | 0;
- oi = (i + 172) | 0;
- pi = (i + 168) | 0;
- qi = (i + 164) | 0;
- ri = (i + 160) | 0;
- si = (i + 148) | 0;
- ti = (i + 144) | 0;
- ui = (i + 140) | 0;
- vi = (i + 136) | 0;
- wi = (i + 132) | 0;
- xi = (i + 128) | 0;
- yi = (i + 124) | 0;
- zi = (i + 120) | 0;
- Ai = (i + 116) | 0;
- Bi = (i + 112) | 0;
- Ci = (i + 108) | 0;
- Di = (i + 104) | 0;
- Ei = (i + 100) | 0;
- Fi = (i + 88) | 0;
- Gi = (i + 84) | 0;
- Hi = (i + 80) | 0;
- Ii = (i + 76) | 0;
- Ji = (i + 72) | 0;
- Ki = (i + 68) | 0;
- Li = (i + 64) | 0;
- Mi = (i + 60) | 0;
- Ni = (i + 56) | 0;
- Oi = (i + 52) | 0;
- Pi = (i + 48) | 0;
- Qi = (i + 44) | 0;
- Ri = (i + 40) | 0;
- Si = (i + 36) | 0;
- Ti = (i + 32) | 0;
- Ui = (i + 28) | 0;
- Vi = (i + 24) | 0;
- Wi = (i + 20) | 0;
- Xi = (i + 16) | 0;
- Yi = (i + 12) | 0;
- Zi = (i + 8) | 0;
- _i = (i + 4) | 0;
- $i = i;
- c[Wi >> 2] = a;
- c[Xi >> 2] = b;
- c[Yi >> 2] = e;
- c[Zi >> 2] = f;
- c[_i >> 2] = g;
- c[$i >> 2] = h;
- h = c[Xi >> 2] | 0;
- Xi = c[Yi >> 2] | 0;
- Yi = c[Zi >> 2] | 0;
- Zi = c[_i >> 2] | 0;
- _i = c[$i >> 2] | 0;
- c[Lh >> 2] = c[Wi >> 2];
- c[Mh >> 2] = h;
- c[Nh >> 2] = Xi;
- c[Oh >> 2] = Yi;
- c[Ph >> 2] = Zi;
- c[Qh >> 2] = _i;
- c[Rh >> 2] = 0;
- c[Sh >> 2] = 0;
- c[Th >> 2] = (c[Lh >> 2] | 0) + 48;
- c[Uh >> 2] = c[Ph >> 2];
- c[Vh >> 2] = c[Uh >> 2];
- c[Wh >> 2] = c[Uh >> 2];
- c[Xh >> 2] = (c[Uh >> 2] | 0) + (c[Qh >> 2] | 0);
- c[Yh >> 2] = (c[Xh >> 2] | 0) + -8;
- c[Zh >> 2] = c[((c[Lh >> 2] | 0) + 4) >> 2];
- c[_h >> 2] =
- (c[Zh >> 2] | 0) + (c[((c[Lh >> 2] | 0) + 12) >> 2] | 0);
- if ((c[((c[Oh >> 2] | 0) + 20) >> 2] | 0) >>> 0 < 4095)
- aj = c[((c[Oh >> 2] | 0) + 20) >> 2] | 0;
- else aj = 4095;
- c[$h >> 2] = aj;
- c[ai >> 2] =
- (c[((c[Oh >> 2] | 0) + 16) >> 2] | 0) == 3 ? 3 : 4;
- c[bi >> 2] = c[((c[Th >> 2] | 0) + 20) >> 2];
- c[ci >> 2] = c[((c[Th >> 2] | 0) + 16) >> 2];
- c[((c[Lh >> 2] | 0) + 28) >> 2] =
- c[((c[Lh >> 2] | 0) + 24) >> 2];
- lm(c[Th >> 2] | 0, c[Ph >> 2] | 0, c[Qh >> 2] | 0);
- c[Vh >> 2] =
- (c[Vh >> 2] | 0) +
- (((c[Vh >> 2] | 0) == (c[_h >> 2] | 0)) & 1);
- c[di >> 2] = 0;
- c[(di + 4) >> 2] = 0;
- c[(di + 8) >> 2] = 0;
- while (1) {
- if ((c[Vh >> 2] | 0) >>> 0 >= (c[Yh >> 2] | 0) >>> 0) break;
- c[fi >> 2] = 0;
- c[ii >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
- c[ji >> 2] = (((c[ii >> 2] | 0) != 0) ^ 1) & 1;
- _h = c[Oh >> 2] | 0;
- Qh = c[Vh >> 2] | 0;
- Ph = c[Xh >> 2] | 0;
- aj = c[Sh >> 2] | 0;
- Zh = c[Nh >> 2] | 0;
- Uh = c[ji >> 2] | 0;
- _i = c[ci >> 2] | 0;
- Zi = c[ai >> 2] | 0;
- c[Bh >> 2] = c[Lh >> 2];
- c[Ch >> 2] = _h;
- c[Dh >> 2] = Qh;
- c[Eh >> 2] = Ph;
- c[Fh >> 2] = aj;
- c[Gh >> 2] = Zh;
- c[Hh >> 2] = Uh;
- c[Ih >> 2] = _i;
- c[Jh >> 2] = Zi;
- c[Kh >> 2] = c[((c[Ch >> 2] | 0) + 16) >> 2];
- a: do {
- if (
- (c[Dh >> 2] | 0) >>> 0 <
- (((c[((c[Bh >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[Bh >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Ah >> 2] = 0;
- else {
- Zi = c[Ch >> 2] | 0;
- _i = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- Zh = c[Kh >> 2] | 0;
- aj = c[Fh >> 2] | 0;
- c[rh >> 2] = c[Bh >> 2];
- c[sh >> 2] = Zi;
- c[th >> 2] = _i;
- c[uh >> 2] = Uh;
- c[vh >> 2] = Zh;
- c[wh >> 2] = aj;
- c[xh >> 2] = c[((c[rh >> 2] | 0) + 4) >> 2];
- c[yh >> 2] = (c[th >> 2] | 0) - (c[xh >> 2] | 0);
- c[zh >> 2] = c[((c[rh >> 2] | 0) + 24) >> 2];
- while (1) {
- if ((c[zh >> 2] | 0) >>> 0 >= (c[yh >> 2] | 0) >>> 0)
- break;
- aj =
- Rj(
- c[rh >> 2] | 0,
- c[sh >> 2] | 0,
- ((c[xh >> 2] | 0) + (c[zh >> 2] | 0)) | 0,
- c[uh >> 2] | 0,
- c[vh >> 2] | 0,
- c[wh >> 2] | 0
- ) | 0;
- c[zh >> 2] = (c[zh >> 2] | 0) + aj;
- }
- c[((c[rh >> 2] | 0) + 24) >> 2] = c[yh >> 2];
- switch (c[Kh >> 2] | 0) {
- case 3: {
- aj = c[Ch >> 2] | 0;
- Zh = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- _i = c[Fh >> 2] | 0;
- Zi = c[Gh >> 2] | 0;
- Ph = c[Hh >> 2] | 0;
- Qh = c[Ih >> 2] | 0;
- _h = c[Jh >> 2] | 0;
- c[wg >> 2] = c[Bh >> 2];
- c[xg >> 2] = aj;
- c[yg >> 2] = Zh;
- c[zg >> 2] = Uh;
- c[Ag >> 2] = _i;
- c[Bg >> 2] = Zi;
- c[Cg >> 2] = Ph;
- c[Dg >> 2] = Qh;
- c[Eg >> 2] = _h;
- c[Fg >> 2] = 3;
- if (
- (c[((c[xg >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- bj = c[((c[xg >> 2] | 0) + 20) >> 2] | 0;
- else bj = 4095;
- c[Gg >> 2] = bj;
- c[Hg >> 2] = c[((c[wg >> 2] | 0) + 4) >> 2];
- c[Ig >> 2] = (c[yg >> 2] | 0) - (c[Hg >> 2] | 0);
- c[Jg >> 2] = c[((c[xg >> 2] | 0) + 8) >> 2];
- c[Kg >> 2] = (c[Fg >> 2] | 0) == 3 ? 3 : 4;
- c[Lg >> 2] = c[((c[wg >> 2] | 0) + 36) >> 2];
- c[Mg >> 2] =
- Sj(
- c[yg >> 2] | 0,
- c[Jg >> 2] | 0,
- c[Fg >> 2] | 0
- ) | 0;
- c[Ng >> 2] =
- c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2];
- c[Og >> 2] = c[((c[wg >> 2] | 0) + 44) >> 2];
- c[Pg >> 2] =
- (c[((c[xg >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Qg >> 2] = (1 << c[Pg >> 2]) - 1;
- c[Rg >> 2] = 0;
- c[Sg >> 2] = 0;
- c[Tg >> 2] = c[((c[wg >> 2] | 0) + 8) >> 2];
- c[Ug >> 2] = c[((c[wg >> 2] | 0) + 12) >> 2];
- c[Vg >> 2] = (c[Tg >> 2] | 0) + (c[Ug >> 2] | 0);
- c[Wg >> 2] = (c[Hg >> 2] | 0) + (c[Ug >> 2] | 0);
- if (
- (c[Qg >> 2] | 0) >>> 0 >=
- (c[Ig >> 2] | 0) >>> 0
- )
- cj = 0;
- else cj = ((c[Ig >> 2] | 0) - (c[Qg >> 2] | 0)) | 0;
- c[Xg >> 2] = cj;
- c[Yg >> 2] = c[((c[wg >> 2] | 0) + 16) >> 2];
- c[Zg >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2);
- c[_g >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2) +
- 4;
- c[$g >> 2] = (c[Ig >> 2] | 0) + 8 + 1;
- c[bh >> 2] = 0;
- c[ch >> 2] = 1 << c[((c[xg >> 2] | 0) + 12) >> 2];
- c[dh >> 2] = (c[Eg >> 2] | 0) - 1;
- c[eh >> 2] = 3 + (c[Cg >> 2] | 0);
- c[fh >> 2] = c[Cg >> 2];
- while (1) {
- if (
- (c[fh >> 2] | 0) >>> 0 >=
- (c[eh >> 2] | 0) >>> 0
- ) {
- dj = 31;
- break;
- }
- _h = c[Bg >> 2] | 0;
- if ((c[fh >> 2] | 0) == 3)
- ej = ((c[_h >> 2] | 0) - 1) | 0;
- else ej = c[(_h + (c[fh >> 2] << 2)) >> 2] | 0;
- c[gh >> 2] = ej;
- c[hh >> 2] = (c[Ig >> 2] | 0) - (c[gh >> 2] | 0);
- c[ih >> 2] = 0;
- if (
- (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ig >> 2] | 0) - (c[Ug >> 2] | 0)) | 0) >>>
- 0
- ) {
- _h = mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0;
- if (
- (_h | 0) ==
- (mm(
- ((c[yg >> 2] | 0) +
- (0 - (c[gh >> 2] | 0))) |
- 0,
- c[Kg >> 2] | 0
- ) |
- 0)
- ) {
- _h =
- Tj(
- ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- ((c[yg >> 2] | 0) +
- (c[Kg >> 2] | 0) +
- (0 - (c[gh >> 2] | 0))) |
- 0,
- c[zg >> 2] | 0
- ) | 0;
- c[ih >> 2] = _h + (c[Kg >> 2] | 0);
- }
- } else {
- c[jh >> 2] =
- (c[Tg >> 2] | 0) + (c[hh >> 2] | 0);
- if (
- (
- c[Ag >> 2] | 0
- ? ((((c[Ug >> 2] | 0) -
- 1 -
- (c[hh >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ig >> 2] | 0) -
- (c[Yg >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((_h =
- mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0),
- (_h | 0) ==
- (mm(c[jh >> 2] | 0, c[Kg >> 2] | 0) |
- 0))
- : 0
- ) {
- _h =
- Uj(
- ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- ((c[jh >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- c[ih >> 2] = _h + (c[Kg >> 2] | 0);
- }
- }
- if (
- (c[ih >> 2] | 0) >>> 0 > (c[dh >> 2] | 0) >>> 0
- ? ((c[dh >> 2] = c[ih >> 2]),
- (c[
- ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
- 2
- ] = (c[fh >> 2] | 0) - (c[Cg >> 2] | 0)),
- (c[
- ((c[Dg >> 2] | 0) +
- (c[bh >> 2] << 3) +
- 4) >>
- 2
- ] = c[ih >> 2]),
- (c[bh >> 2] = (c[bh >> 2] | 0) + 1),
- ((c[ih >> 2] | 0) >>> 0 >
- (c[Gg >> 2] | 0) >>> 0
- ? 1
- : (((c[yg >> 2] | 0) + (c[ih >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 29;
- break;
- }
- c[fh >> 2] = (c[fh >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 29) {
- dj = 0;
- c[vg >> 2] = c[bh >> 2];
- } else if ((dj | 0) == 31) {
- dj = 0;
- if (
- (
- (c[Fg >> 2] | 0) == 3
- ? (c[dh >> 2] | 0) >>> 0 <
- (c[Fg >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[kh >> 2] =
- nm(c[wg >> 2] | 0, c[yg >> 2] | 0) | 0),
- ((c[kh >> 2] | 0) >>> 0 >
- (c[Yg >> 2] | 0) >>> 0
- ? (((c[Ig >> 2] | 0) -
- (c[kh >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ag >> 2] | 0
- ? (c[kh >> 2] | 0) >>> 0 <
- (c[Ug >> 2] | 0) >>> 0
- : 0
- ) {
- c[nh >> 2] =
- (c[Tg >> 2] | 0) + (c[kh >> 2] | 0);
- c[lh >> 2] =
- Uj(
- c[yg >> 2] | 0,
- c[nh >> 2] | 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- } else {
- c[mh >> 2] =
- (c[Hg >> 2] | 0) + (c[kh >> 2] | 0);
- c[lh >> 2] =
- Tj(
- c[yg >> 2] | 0,
- c[mh >> 2] | 0,
- c[zg >> 2] | 0
- ) | 0;
- }
- if (
- (c[lh >> 2] | 0) >>> 0 >=
- (c[Fg >> 2] | 0) >>> 0
- ? ((c[dh >> 2] = c[lh >> 2]),
- (c[c[Dg >> 2] >> 2] =
- (c[Ig >> 2] | 0) -
- (c[kh >> 2] | 0) +
- 2),
- (c[((c[Dg >> 2] | 0) + 4) >> 2] =
- c[lh >> 2]),
- (c[bh >> 2] = 1),
- ((c[lh >> 2] | 0) >>> 0 >
- (c[Gg >> 2] | 0) >>> 0
- ? 1
- : (((c[yg >> 2] | 0) +
- (c[lh >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[wg >> 2] | 0) + 24) >> 2] =
- (c[Ig >> 2] | 0) + 1;
- c[vg >> 2] = 1;
- break;
- }
- }
- c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2] =
- c[Ig >> 2];
- while (1) {
- _h = c[ch >> 2] | 0;
- c[ch >> 2] = _h + -1;
- if (!_h) break;
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Yg >> 2] | 0) >>> 0
- )
- break;
- c[oh >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ng >> 2] & c[Qg >> 2]) << 1) << 2);
- c[ph >> 2] =
- (c[Rg >> 2] | 0) >>> 0 <
- (c[Sg >> 2] | 0) >>> 0
- ? c[Rg >> 2] | 0
- : c[Sg >> 2] | 0;
- if (
- c[Ag >> 2] | 0
- ? (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Ug >> 2] | 0) >>> 0
- : 0
- ) {
- c[qh >> 2] =
- (c[Tg >> 2] | 0) + (c[Ng >> 2] | 0);
- _h =
- Uj(
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- c[ph >> 2] = (c[ph >> 2] | 0) + _h;
- if (
- (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Ug >> 2] | 0) >>> 0
- )
- c[qh >> 2] =
- (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
- } else {
- c[qh >> 2] =
- (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
- _h =
- Tj(
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- c[zg >> 2] | 0
- ) | 0;
- c[ph >> 2] = (c[ph >> 2] | 0) + _h;
- }
- if (
- (c[ph >> 2] | 0) >>> 0 >
- (c[dh >> 2] | 0) >>> 0
- ) {
- if (
- (c[ph >> 2] | 0) >>> 0 >
- (((c[$g >> 2] | 0) - (c[Ng >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[$g >> 2] =
- (c[Ng >> 2] | 0) + (c[ph >> 2] | 0);
- c[dh >> 2] = c[ph >> 2];
- c[
- ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
- 2
- ] = (c[Ig >> 2] | 0) - (c[Ng >> 2] | 0) + 2;
- c[
- ((c[Dg >> 2] | 0) +
- (c[bh >> 2] << 3) +
- 4) >>
- 2
- ] = c[ph >> 2];
- c[bh >> 2] = (c[bh >> 2] | 0) + 1;
- if ((c[ph >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)
- )
- break;
- }
- _h = c[Ng >> 2] | 0;
- if (
- (d[
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Zg >> 2] >> 2] = _h;
- c[Rg >> 2] = c[ph >> 2];
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Xg >> 2] | 0) >>> 0
- ) {
- dj = 56;
- break;
- }
- c[Zg >> 2] = (c[oh >> 2] | 0) + 4;
- c[Ng >> 2] = c[((c[oh >> 2] | 0) + 4) >> 2];
- } else {
- c[c[_g >> 2] >> 2] = _h;
- c[Sg >> 2] = c[ph >> 2];
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Xg >> 2] | 0) >>> 0
- ) {
- dj = 59;
- break;
- }
- c[_g >> 2] = c[oh >> 2];
- c[Ng >> 2] = c[c[oh >> 2] >> 2];
- }
- }
- if ((dj | 0) == 56) {
- dj = 0;
- c[Zg >> 2] = ah;
- } else if ((dj | 0) == 59) {
- dj = 0;
- c[_g >> 2] = ah;
- }
- c[c[_g >> 2] >> 2] = 0;
- c[c[Zg >> 2] >> 2] = 0;
- c[((c[wg >> 2] | 0) + 24) >> 2] =
- (c[$g >> 2] | 0) - 8;
- c[vg >> 2] = c[bh >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[vg >> 2];
- break a;
- break;
- }
- case 7:
- case 6: {
- _h = c[Ch >> 2] | 0;
- Qh = c[Dh >> 2] | 0;
- Ph = c[Eh >> 2] | 0;
- Zi = c[Fh >> 2] | 0;
- _i = c[Gh >> 2] | 0;
- Uh = c[Hh >> 2] | 0;
- Zh = c[Ih >> 2] | 0;
- aj = c[Jh >> 2] | 0;
- c[Hd >> 2] = c[Bh >> 2];
- c[Id >> 2] = _h;
- c[Jd >> 2] = Qh;
- c[Kd >> 2] = Ph;
- c[Ld >> 2] = Zi;
- c[Md >> 2] = _i;
- c[Nd >> 2] = Uh;
- c[Od >> 2] = Zh;
- c[Pd >> 2] = aj;
- c[Qd >> 2] = 6;
- if (
- (c[((c[Id >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- fj = c[((c[Id >> 2] | 0) + 20) >> 2] | 0;
- else fj = 4095;
- c[Rd >> 2] = fj;
- c[Sd >> 2] = c[((c[Hd >> 2] | 0) + 4) >> 2];
- c[Td >> 2] = (c[Jd >> 2] | 0) - (c[Sd >> 2] | 0);
- c[Ud >> 2] = c[((c[Id >> 2] | 0) + 8) >> 2];
- c[Vd >> 2] = (c[Qd >> 2] | 0) == 3 ? 3 : 4;
- c[Wd >> 2] = c[((c[Hd >> 2] | 0) + 36) >> 2];
- c[Xd >> 2] =
- Sj(
- c[Jd >> 2] | 0,
- c[Ud >> 2] | 0,
- c[Qd >> 2] | 0
- ) | 0;
- c[Yd >> 2] =
- c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2];
- c[Zd >> 2] = c[((c[Hd >> 2] | 0) + 44) >> 2];
- c[_d >> 2] =
- (c[((c[Id >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[$d >> 2] = (1 << c[_d >> 2]) - 1;
- c[ae >> 2] = 0;
- c[be >> 2] = 0;
- c[ce >> 2] = c[((c[Hd >> 2] | 0) + 8) >> 2];
- c[de >> 2] = c[((c[Hd >> 2] | 0) + 12) >> 2];
- c[ee >> 2] = (c[ce >> 2] | 0) + (c[de >> 2] | 0);
- c[fe >> 2] = (c[Sd >> 2] | 0) + (c[de >> 2] | 0);
- if (
- (c[$d >> 2] | 0) >>> 0 >=
- (c[Td >> 2] | 0) >>> 0
- )
- gj = 0;
- else gj = ((c[Td >> 2] | 0) - (c[$d >> 2] | 0)) | 0;
- c[ge >> 2] = gj;
- c[he >> 2] = c[((c[Hd >> 2] | 0) + 16) >> 2];
- c[ie >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Td >> 2] & c[$d >> 2]) << 1) << 2);
- c[je >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Td >> 2] & c[$d >> 2]) << 1) << 2) +
- 4;
- c[ke >> 2] = (c[Td >> 2] | 0) + 8 + 1;
- c[me >> 2] = 0;
- c[ne >> 2] = 1 << c[((c[Id >> 2] | 0) + 12) >> 2];
- c[oe >> 2] = (c[Pd >> 2] | 0) - 1;
- c[pe >> 2] = 3 + (c[Nd >> 2] | 0);
- c[qe >> 2] = c[Nd >> 2];
- while (1) {
- if (
- (c[qe >> 2] | 0) >>> 0 >=
- (c[pe >> 2] | 0) >>> 0
- ) {
- dj = 190;
- break;
- }
- aj = c[Md >> 2] | 0;
- if ((c[qe >> 2] | 0) == 3)
- hj = ((c[aj >> 2] | 0) - 1) | 0;
- else hj = c[(aj + (c[qe >> 2] << 2)) >> 2] | 0;
- c[re >> 2] = hj;
- c[se >> 2] = (c[Td >> 2] | 0) - (c[re >> 2] | 0);
- c[te >> 2] = 0;
- if (
- (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Td >> 2] | 0) - (c[de >> 2] | 0)) | 0) >>>
- 0
- ) {
- aj = mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0;
- if (
- (aj | 0) ==
- (mm(
- ((c[Jd >> 2] | 0) +
- (0 - (c[re >> 2] | 0))) |
- 0,
- c[Vd >> 2] | 0
- ) |
- 0)
- ) {
- aj =
- Tj(
- ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- ((c[Jd >> 2] | 0) +
- (c[Vd >> 2] | 0) +
- (0 - (c[re >> 2] | 0))) |
- 0,
- c[Kd >> 2] | 0
- ) | 0;
- c[te >> 2] = aj + (c[Vd >> 2] | 0);
- }
- } else {
- c[ue >> 2] =
- (c[ce >> 2] | 0) + (c[se >> 2] | 0);
- if (
- (
- c[Ld >> 2] | 0
- ? ((((c[de >> 2] | 0) -
- 1 -
- (c[se >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Td >> 2] | 0) -
- (c[he >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((aj =
- mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0),
- (aj | 0) ==
- (mm(c[ue >> 2] | 0, c[Vd >> 2] | 0) |
- 0))
- : 0
- ) {
- aj =
- Uj(
- ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- ((c[ue >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- c[te >> 2] = aj + (c[Vd >> 2] | 0);
- }
- }
- if (
- (c[te >> 2] | 0) >>> 0 > (c[oe >> 2] | 0) >>> 0
- ? ((c[oe >> 2] = c[te >> 2]),
- (c[
- ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
- 2
- ] = (c[qe >> 2] | 0) - (c[Nd >> 2] | 0)),
- (c[
- ((c[Od >> 2] | 0) +
- (c[me >> 2] << 3) +
- 4) >>
- 2
- ] = c[te >> 2]),
- (c[me >> 2] = (c[me >> 2] | 0) + 1),
- ((c[te >> 2] | 0) >>> 0 >
- (c[Rd >> 2] | 0) >>> 0
- ? 1
- : (((c[Jd >> 2] | 0) + (c[te >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 188;
- break;
- }
- c[qe >> 2] = (c[qe >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 188) {
- dj = 0;
- c[Gd >> 2] = c[me >> 2];
- } else if ((dj | 0) == 190) {
- dj = 0;
- if (
- (
- (c[Qd >> 2] | 0) == 3
- ? (c[oe >> 2] | 0) >>> 0 <
- (c[Qd >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[ve >> 2] =
- nm(c[Hd >> 2] | 0, c[Jd >> 2] | 0) | 0),
- ((c[ve >> 2] | 0) >>> 0 >
- (c[he >> 2] | 0) >>> 0
- ? (((c[Td >> 2] | 0) -
- (c[ve >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ld >> 2] | 0
- ? (c[ve >> 2] | 0) >>> 0 <
- (c[de >> 2] | 0) >>> 0
- : 0
- ) {
- c[ye >> 2] =
- (c[ce >> 2] | 0) + (c[ve >> 2] | 0);
- c[we >> 2] =
- Uj(
- c[Jd >> 2] | 0,
- c[ye >> 2] | 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- } else {
- c[xe >> 2] =
- (c[Sd >> 2] | 0) + (c[ve >> 2] | 0);
- c[we >> 2] =
- Tj(
- c[Jd >> 2] | 0,
- c[xe >> 2] | 0,
- c[Kd >> 2] | 0
- ) | 0;
- }
- if (
- (c[we >> 2] | 0) >>> 0 >=
- (c[Qd >> 2] | 0) >>> 0
- ? ((c[oe >> 2] = c[we >> 2]),
- (c[c[Od >> 2] >> 2] =
- (c[Td >> 2] | 0) -
- (c[ve >> 2] | 0) +
- 2),
- (c[((c[Od >> 2] | 0) + 4) >> 2] =
- c[we >> 2]),
- (c[me >> 2] = 1),
- ((c[we >> 2] | 0) >>> 0 >
- (c[Rd >> 2] | 0) >>> 0
- ? 1
- : (((c[Jd >> 2] | 0) +
- (c[we >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[Hd >> 2] | 0) + 24) >> 2] =
- (c[Td >> 2] | 0) + 1;
- c[Gd >> 2] = 1;
- break;
- }
- }
- c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2] =
- c[Td >> 2];
- while (1) {
- aj = c[ne >> 2] | 0;
- c[ne >> 2] = aj + -1;
- if (!aj) break;
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[he >> 2] | 0) >>> 0
- )
- break;
- c[ze >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Yd >> 2] & c[$d >> 2]) << 1) << 2);
- c[Ae >> 2] =
- (c[ae >> 2] | 0) >>> 0 <
- (c[be >> 2] | 0) >>> 0
- ? c[ae >> 2] | 0
- : c[be >> 2] | 0;
- if (
- c[Ld >> 2] | 0
- ? (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[de >> 2] | 0) >>> 0
- : 0
- ) {
- c[Be >> 2] =
- (c[ce >> 2] | 0) + (c[Yd >> 2] | 0);
- aj =
- Uj(
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
- if (
- (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[de >> 2] | 0) >>> 0
- )
- c[Be >> 2] =
- (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
- } else {
- c[Be >> 2] =
- (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
- aj =
- Tj(
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- c[Kd >> 2] | 0
- ) | 0;
- c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
- }
- if (
- (c[Ae >> 2] | 0) >>> 0 >
- (c[oe >> 2] | 0) >>> 0
- ) {
- if (
- (c[Ae >> 2] | 0) >>> 0 >
- (((c[ke >> 2] | 0) - (c[Yd >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[ke >> 2] =
- (c[Yd >> 2] | 0) + (c[Ae >> 2] | 0);
- c[oe >> 2] = c[Ae >> 2];
- c[
- ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
- 2
- ] = (c[Td >> 2] | 0) - (c[Yd >> 2] | 0) + 2;
- c[
- ((c[Od >> 2] | 0) +
- (c[me >> 2] << 3) +
- 4) >>
- 2
- ] = c[Ae >> 2];
- c[me >> 2] = (c[me >> 2] | 0) + 1;
- if ((c[Ae >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)
- )
- break;
- }
- aj = c[Yd >> 2] | 0;
- if (
- (d[
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[ie >> 2] >> 2] = aj;
- c[ae >> 2] = c[Ae >> 2];
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[ge >> 2] | 0) >>> 0
- ) {
- dj = 215;
- break;
- }
- c[ie >> 2] = (c[ze >> 2] | 0) + 4;
- c[Yd >> 2] = c[((c[ze >> 2] | 0) + 4) >> 2];
- } else {
- c[c[je >> 2] >> 2] = aj;
- c[be >> 2] = c[Ae >> 2];
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[ge >> 2] | 0) >>> 0
- ) {
- dj = 218;
- break;
- }
- c[je >> 2] = c[ze >> 2];
- c[Yd >> 2] = c[c[ze >> 2] >> 2];
- }
- }
- if ((dj | 0) == 215) {
- dj = 0;
- c[ie >> 2] = le;
- } else if ((dj | 0) == 218) {
- dj = 0;
- c[je >> 2] = le;
- }
- c[c[je >> 2] >> 2] = 0;
- c[c[ie >> 2] >> 2] = 0;
- c[((c[Hd >> 2] | 0) + 24) >> 2] =
- (c[ke >> 2] | 0) - 8;
- c[Gd >> 2] = c[me >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[Gd >> 2];
- break a;
- break;
- }
- case 5: {
- aj = c[Ch >> 2] | 0;
- Zh = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- _i = c[Fh >> 2] | 0;
- Zi = c[Gh >> 2] | 0;
- Ph = c[Hh >> 2] | 0;
- Qh = c[Ih >> 2] | 0;
- _h = c[Jh >> 2] | 0;
- c[De >> 2] = c[Bh >> 2];
- c[Ee >> 2] = aj;
- c[Fe >> 2] = Zh;
- c[Ge >> 2] = Uh;
- c[He >> 2] = _i;
- c[Ie >> 2] = Zi;
- c[Je >> 2] = Ph;
- c[Ke >> 2] = Qh;
- c[Le >> 2] = _h;
- c[Me >> 2] = 5;
- if (
- (c[((c[Ee >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- ij = c[((c[Ee >> 2] | 0) + 20) >> 2] | 0;
- else ij = 4095;
- c[Ne >> 2] = ij;
- c[Oe >> 2] = c[((c[De >> 2] | 0) + 4) >> 2];
- c[Pe >> 2] = (c[Fe >> 2] | 0) - (c[Oe >> 2] | 0);
- c[Qe >> 2] = c[((c[Ee >> 2] | 0) + 8) >> 2];
- c[Re >> 2] = (c[Me >> 2] | 0) == 3 ? 3 : 4;
- c[Se >> 2] = c[((c[De >> 2] | 0) + 36) >> 2];
- c[Te >> 2] =
- Sj(
- c[Fe >> 2] | 0,
- c[Qe >> 2] | 0,
- c[Me >> 2] | 0
- ) | 0;
- c[Ue >> 2] =
- c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2];
- c[Ve >> 2] = c[((c[De >> 2] | 0) + 44) >> 2];
- c[We >> 2] =
- (c[((c[Ee >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Xe >> 2] = (1 << c[We >> 2]) - 1;
- c[Ye >> 2] = 0;
- c[Ze >> 2] = 0;
- c[_e >> 2] = c[((c[De >> 2] | 0) + 8) >> 2];
- c[$e >> 2] = c[((c[De >> 2] | 0) + 12) >> 2];
- c[af >> 2] = (c[_e >> 2] | 0) + (c[$e >> 2] | 0);
- c[bf >> 2] = (c[Oe >> 2] | 0) + (c[$e >> 2] | 0);
- if (
- (c[Xe >> 2] | 0) >>> 0 >=
- (c[Pe >> 2] | 0) >>> 0
- )
- jj = 0;
- else jj = ((c[Pe >> 2] | 0) - (c[Xe >> 2] | 0)) | 0;
- c[cf >> 2] = jj;
- c[df >> 2] = c[((c[De >> 2] | 0) + 16) >> 2];
- c[ef >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2);
- c[ff >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2) +
- 4;
- c[gf >> 2] = (c[Pe >> 2] | 0) + 8 + 1;
- c[jf >> 2] = 0;
- c[kf >> 2] = 1 << c[((c[Ee >> 2] | 0) + 12) >> 2];
- c[lf >> 2] = (c[Le >> 2] | 0) - 1;
- c[mf >> 2] = 3 + (c[Je >> 2] | 0);
- c[nf >> 2] = c[Je >> 2];
- while (1) {
- if (
- (c[nf >> 2] | 0) >>> 0 >=
- (c[mf >> 2] | 0) >>> 0
- ) {
- dj = 137;
- break;
- }
- _h = c[Ie >> 2] | 0;
- if ((c[nf >> 2] | 0) == 3)
- kj = ((c[_h >> 2] | 0) - 1) | 0;
- else kj = c[(_h + (c[nf >> 2] << 2)) >> 2] | 0;
- c[of >> 2] = kj;
- c[pf >> 2] = (c[Pe >> 2] | 0) - (c[of >> 2] | 0);
- c[qf >> 2] = 0;
- if (
- (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Pe >> 2] | 0) - (c[$e >> 2] | 0)) | 0) >>>
- 0
- ) {
- _h = mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0;
- if (
- (_h | 0) ==
- (mm(
- ((c[Fe >> 2] | 0) +
- (0 - (c[of >> 2] | 0))) |
- 0,
- c[Re >> 2] | 0
- ) |
- 0)
- ) {
- _h =
- Tj(
- ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- ((c[Fe >> 2] | 0) +
- (c[Re >> 2] | 0) +
- (0 - (c[of >> 2] | 0))) |
- 0,
- c[Ge >> 2] | 0
- ) | 0;
- c[qf >> 2] = _h + (c[Re >> 2] | 0);
- }
- } else {
- c[rf >> 2] =
- (c[_e >> 2] | 0) + (c[pf >> 2] | 0);
- if (
- (
- c[He >> 2] | 0
- ? ((((c[$e >> 2] | 0) -
- 1 -
- (c[pf >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Pe >> 2] | 0) -
- (c[df >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((_h =
- mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0),
- (_h | 0) ==
- (mm(c[rf >> 2] | 0, c[Re >> 2] | 0) |
- 0))
- : 0
- ) {
- _h =
- Uj(
- ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- ((c[rf >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- c[qf >> 2] = _h + (c[Re >> 2] | 0);
- }
- }
- if (
- (c[qf >> 2] | 0) >>> 0 > (c[lf >> 2] | 0) >>> 0
- ? ((c[lf >> 2] = c[qf >> 2]),
- (c[
- ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
- 2
- ] = (c[nf >> 2] | 0) - (c[Je >> 2] | 0)),
- (c[
- ((c[Ke >> 2] | 0) +
- (c[jf >> 2] << 3) +
- 4) >>
- 2
- ] = c[qf >> 2]),
- (c[jf >> 2] = (c[jf >> 2] | 0) + 1),
- ((c[qf >> 2] | 0) >>> 0 >
- (c[Ne >> 2] | 0) >>> 0
- ? 1
- : (((c[Fe >> 2] | 0) + (c[qf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 135;
- break;
- }
- c[nf >> 2] = (c[nf >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 135) {
- dj = 0;
- c[Ce >> 2] = c[jf >> 2];
- } else if ((dj | 0) == 137) {
- dj = 0;
- if (
- (
- (c[Me >> 2] | 0) == 3
- ? (c[lf >> 2] | 0) >>> 0 <
- (c[Me >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[sf >> 2] =
- nm(c[De >> 2] | 0, c[Fe >> 2] | 0) | 0),
- ((c[sf >> 2] | 0) >>> 0 >
- (c[df >> 2] | 0) >>> 0
- ? (((c[Pe >> 2] | 0) -
- (c[sf >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[He >> 2] | 0
- ? (c[sf >> 2] | 0) >>> 0 <
- (c[$e >> 2] | 0) >>> 0
- : 0
- ) {
- c[vf >> 2] =
- (c[_e >> 2] | 0) + (c[sf >> 2] | 0);
- c[tf >> 2] =
- Uj(
- c[Fe >> 2] | 0,
- c[vf >> 2] | 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- } else {
- c[uf >> 2] =
- (c[Oe >> 2] | 0) + (c[sf >> 2] | 0);
- c[tf >> 2] =
- Tj(
- c[Fe >> 2] | 0,
- c[uf >> 2] | 0,
- c[Ge >> 2] | 0
- ) | 0;
- }
- if (
- (c[tf >> 2] | 0) >>> 0 >=
- (c[Me >> 2] | 0) >>> 0
- ? ((c[lf >> 2] = c[tf >> 2]),
- (c[c[Ke >> 2] >> 2] =
- (c[Pe >> 2] | 0) -
- (c[sf >> 2] | 0) +
- 2),
- (c[((c[Ke >> 2] | 0) + 4) >> 2] =
- c[tf >> 2]),
- (c[jf >> 2] = 1),
- ((c[tf >> 2] | 0) >>> 0 >
- (c[Ne >> 2] | 0) >>> 0
- ? 1
- : (((c[Fe >> 2] | 0) +
- (c[tf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[De >> 2] | 0) + 24) >> 2] =
- (c[Pe >> 2] | 0) + 1;
- c[Ce >> 2] = 1;
- break;
- }
- }
- c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2] =
- c[Pe >> 2];
- while (1) {
- _h = c[kf >> 2] | 0;
- c[kf >> 2] = _h + -1;
- if (!_h) break;
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[df >> 2] | 0) >>> 0
- )
- break;
- c[wf >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Ue >> 2] & c[Xe >> 2]) << 1) << 2);
- c[xf >> 2] =
- (c[Ye >> 2] | 0) >>> 0 <
- (c[Ze >> 2] | 0) >>> 0
- ? c[Ye >> 2] | 0
- : c[Ze >> 2] | 0;
- if (
- c[He >> 2] | 0
- ? (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[$e >> 2] | 0) >>> 0
- : 0
- ) {
- c[yf >> 2] =
- (c[_e >> 2] | 0) + (c[Ue >> 2] | 0);
- _h =
- Uj(
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- c[xf >> 2] = (c[xf >> 2] | 0) + _h;
- if (
- (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[$e >> 2] | 0) >>> 0
- )
- c[yf >> 2] =
- (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
- } else {
- c[yf >> 2] =
- (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
- _h =
- Tj(
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- c[Ge >> 2] | 0
- ) | 0;
- c[xf >> 2] = (c[xf >> 2] | 0) + _h;
- }
- if (
- (c[xf >> 2] | 0) >>> 0 >
- (c[lf >> 2] | 0) >>> 0
- ) {
- if (
- (c[xf >> 2] | 0) >>> 0 >
- (((c[gf >> 2] | 0) - (c[Ue >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[gf >> 2] =
- (c[Ue >> 2] | 0) + (c[xf >> 2] | 0);
- c[lf >> 2] = c[xf >> 2];
- c[
- ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
- 2
- ] = (c[Pe >> 2] | 0) - (c[Ue >> 2] | 0) + 2;
- c[
- ((c[Ke >> 2] | 0) +
- (c[jf >> 2] << 3) +
- 4) >>
- 2
- ] = c[xf >> 2];
- c[jf >> 2] = (c[jf >> 2] | 0) + 1;
- if ((c[xf >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)
- )
- break;
- }
- _h = c[Ue >> 2] | 0;
- if (
- (d[
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[ef >> 2] >> 2] = _h;
- c[Ye >> 2] = c[xf >> 2];
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[cf >> 2] | 0) >>> 0
- ) {
- dj = 162;
- break;
- }
- c[ef >> 2] = (c[wf >> 2] | 0) + 4;
- c[Ue >> 2] = c[((c[wf >> 2] | 0) + 4) >> 2];
- } else {
- c[c[ff >> 2] >> 2] = _h;
- c[Ze >> 2] = c[xf >> 2];
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[cf >> 2] | 0) >>> 0
- ) {
- dj = 165;
- break;
- }
- c[ff >> 2] = c[wf >> 2];
- c[Ue >> 2] = c[c[wf >> 2] >> 2];
- }
- }
- if ((dj | 0) == 162) {
- dj = 0;
- c[ef >> 2] = hf;
- } else if ((dj | 0) == 165) {
- dj = 0;
- c[ff >> 2] = hf;
- }
- c[c[ff >> 2] >> 2] = 0;
- c[c[ef >> 2] >> 2] = 0;
- c[((c[De >> 2] | 0) + 24) >> 2] =
- (c[gf >> 2] | 0) - 8;
- c[Ce >> 2] = c[jf >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[Ce >> 2];
- break a;
- break;
- }
- default: {
- _h = c[Ch >> 2] | 0;
- Qh = c[Dh >> 2] | 0;
- Ph = c[Eh >> 2] | 0;
- Zi = c[Fh >> 2] | 0;
- _i = c[Gh >> 2] | 0;
- Uh = c[Hh >> 2] | 0;
- Zh = c[Ih >> 2] | 0;
- aj = c[Jh >> 2] | 0;
- c[Af >> 2] = c[Bh >> 2];
- c[Bf >> 2] = _h;
- c[Cf >> 2] = Qh;
- c[Df >> 2] = Ph;
- c[Ef >> 2] = Zi;
- c[Ff >> 2] = _i;
- c[Gf >> 2] = Uh;
- c[Hf >> 2] = Zh;
- c[If >> 2] = aj;
- c[Jf >> 2] = 4;
- if (
- (c[((c[Bf >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- lj = c[((c[Bf >> 2] | 0) + 20) >> 2] | 0;
- else lj = 4095;
- c[Kf >> 2] = lj;
- c[Lf >> 2] = c[((c[Af >> 2] | 0) + 4) >> 2];
- c[Mf >> 2] = (c[Cf >> 2] | 0) - (c[Lf >> 2] | 0);
- c[Nf >> 2] = c[((c[Bf >> 2] | 0) + 8) >> 2];
- c[Of >> 2] = (c[Jf >> 2] | 0) == 3 ? 3 : 4;
- c[Pf >> 2] = c[((c[Af >> 2] | 0) + 36) >> 2];
- c[Qf >> 2] =
- Sj(
- c[Cf >> 2] | 0,
- c[Nf >> 2] | 0,
- c[Jf >> 2] | 0
- ) | 0;
- c[Rf >> 2] =
- c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2];
- c[Sf >> 2] = c[((c[Af >> 2] | 0) + 44) >> 2];
- c[Tf >> 2] =
- (c[((c[Bf >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Uf >> 2] = (1 << c[Tf >> 2]) - 1;
- c[Vf >> 2] = 0;
- c[Wf >> 2] = 0;
- c[Xf >> 2] = c[((c[Af >> 2] | 0) + 8) >> 2];
- c[Yf >> 2] = c[((c[Af >> 2] | 0) + 12) >> 2];
- c[Zf >> 2] = (c[Xf >> 2] | 0) + (c[Yf >> 2] | 0);
- c[_f >> 2] = (c[Lf >> 2] | 0) + (c[Yf >> 2] | 0);
- if (
- (c[Uf >> 2] | 0) >>> 0 >=
- (c[Mf >> 2] | 0) >>> 0
- )
- mj = 0;
- else mj = ((c[Mf >> 2] | 0) - (c[Uf >> 2] | 0)) | 0;
- c[$f >> 2] = mj;
- c[ag >> 2] = c[((c[Af >> 2] | 0) + 16) >> 2];
- c[bg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2);
- c[cg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2) +
- 4;
- c[dg >> 2] = (c[Mf >> 2] | 0) + 8 + 1;
- c[fg >> 2] = 0;
- c[gg >> 2] = 1 << c[((c[Bf >> 2] | 0) + 12) >> 2];
- c[hg >> 2] = (c[If >> 2] | 0) - 1;
- c[ig >> 2] = 3 + (c[Gf >> 2] | 0);
- c[jg >> 2] = c[Gf >> 2];
- while (1) {
- if (
- (c[jg >> 2] | 0) >>> 0 >=
- (c[ig >> 2] | 0) >>> 0
- ) {
- dj = 84;
- break;
- }
- aj = c[Ff >> 2] | 0;
- if ((c[jg >> 2] | 0) == 3)
- nj = ((c[aj >> 2] | 0) - 1) | 0;
- else nj = c[(aj + (c[jg >> 2] << 2)) >> 2] | 0;
- c[kg >> 2] = nj;
- c[lg >> 2] = (c[Mf >> 2] | 0) - (c[kg >> 2] | 0);
- c[mg >> 2] = 0;
- if (
- (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Mf >> 2] | 0) - (c[Yf >> 2] | 0)) | 0) >>>
- 0
- ) {
- aj = mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0;
- if (
- (aj | 0) ==
- (mm(
- ((c[Cf >> 2] | 0) +
- (0 - (c[kg >> 2] | 0))) |
- 0,
- c[Of >> 2] | 0
- ) |
- 0)
- ) {
- aj =
- Tj(
- ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- ((c[Cf >> 2] | 0) +
- (c[Of >> 2] | 0) +
- (0 - (c[kg >> 2] | 0))) |
- 0,
- c[Df >> 2] | 0
- ) | 0;
- c[mg >> 2] = aj + (c[Of >> 2] | 0);
- }
- } else {
- c[ng >> 2] =
- (c[Xf >> 2] | 0) + (c[lg >> 2] | 0);
- if (
- (
- c[Ef >> 2] | 0
- ? ((((c[Yf >> 2] | 0) -
- 1 -
- (c[lg >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Mf >> 2] | 0) -
- (c[ag >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((aj =
- mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0),
- (aj | 0) ==
- (mm(c[ng >> 2] | 0, c[Of >> 2] | 0) |
- 0))
- : 0
- ) {
- aj =
- Uj(
- ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- ((c[ng >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- c[mg >> 2] = aj + (c[Of >> 2] | 0);
- }
- }
- if (
- (c[mg >> 2] | 0) >>> 0 > (c[hg >> 2] | 0) >>> 0
- ? ((c[hg >> 2] = c[mg >> 2]),
- (c[
- ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
- 2
- ] = (c[jg >> 2] | 0) - (c[Gf >> 2] | 0)),
- (c[
- ((c[Hf >> 2] | 0) +
- (c[fg >> 2] << 3) +
- 4) >>
- 2
- ] = c[mg >> 2]),
- (c[fg >> 2] = (c[fg >> 2] | 0) + 1),
- ((c[mg >> 2] | 0) >>> 0 >
- (c[Kf >> 2] | 0) >>> 0
- ? 1
- : (((c[Cf >> 2] | 0) + (c[mg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 82;
- break;
- }
- c[jg >> 2] = (c[jg >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 82) {
- dj = 0;
- c[zf >> 2] = c[fg >> 2];
- } else if ((dj | 0) == 84) {
- dj = 0;
- if (
- (
- (c[Jf >> 2] | 0) == 3
- ? (c[hg >> 2] | 0) >>> 0 <
- (c[Jf >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[og >> 2] =
- nm(c[Af >> 2] | 0, c[Cf >> 2] | 0) | 0),
- ((c[og >> 2] | 0) >>> 0 >
- (c[ag >> 2] | 0) >>> 0
- ? (((c[Mf >> 2] | 0) -
- (c[og >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ef >> 2] | 0
- ? (c[og >> 2] | 0) >>> 0 <
- (c[Yf >> 2] | 0) >>> 0
- : 0
- ) {
- c[rg >> 2] =
- (c[Xf >> 2] | 0) + (c[og >> 2] | 0);
- c[pg >> 2] =
- Uj(
- c[Cf >> 2] | 0,
- c[rg >> 2] | 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- } else {
- c[qg >> 2] =
- (c[Lf >> 2] | 0) + (c[og >> 2] | 0);
- c[pg >> 2] =
- Tj(
- c[Cf >> 2] | 0,
- c[qg >> 2] | 0,
- c[Df >> 2] | 0
- ) | 0;
- }
- if (
- (c[pg >> 2] | 0) >>> 0 >=
- (c[Jf >> 2] | 0) >>> 0
- ? ((c[hg >> 2] = c[pg >> 2]),
- (c[c[Hf >> 2] >> 2] =
- (c[Mf >> 2] | 0) -
- (c[og >> 2] | 0) +
- 2),
- (c[((c[Hf >> 2] | 0) + 4) >> 2] =
- c[pg >> 2]),
- (c[fg >> 2] = 1),
- ((c[pg >> 2] | 0) >>> 0 >
- (c[Kf >> 2] | 0) >>> 0
- ? 1
- : (((c[Cf >> 2] | 0) +
- (c[pg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[Af >> 2] | 0) + 24) >> 2] =
- (c[Mf >> 2] | 0) + 1;
- c[zf >> 2] = 1;
- break;
- }
- }
- c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2] =
- c[Mf >> 2];
- while (1) {
- aj = c[gg >> 2] | 0;
- c[gg >> 2] = aj + -1;
- if (!aj) break;
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[ag >> 2] | 0) >>> 0
- )
- break;
- c[sg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Rf >> 2] & c[Uf >> 2]) << 1) << 2);
- c[tg >> 2] =
- (c[Vf >> 2] | 0) >>> 0 <
- (c[Wf >> 2] | 0) >>> 0
- ? c[Vf >> 2] | 0
- : c[Wf >> 2] | 0;
- if (
- c[Ef >> 2] | 0
- ? (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Yf >> 2] | 0) >>> 0
- : 0
- ) {
- c[ug >> 2] =
- (c[Xf >> 2] | 0) + (c[Rf >> 2] | 0);
- aj =
- Uj(
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- c[tg >> 2] = (c[tg >> 2] | 0) + aj;
- if (
- (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Yf >> 2] | 0) >>> 0
- )
- c[ug >> 2] =
- (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
- } else {
- c[ug >> 2] =
- (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
- aj =
- Tj(
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- c[Df >> 2] | 0
- ) | 0;
- c[tg >> 2] = (c[tg >> 2] | 0) + aj;
- }
- if (
- (c[tg >> 2] | 0) >>> 0 >
- (c[hg >> 2] | 0) >>> 0
- ) {
- if (
- (c[tg >> 2] | 0) >>> 0 >
- (((c[dg >> 2] | 0) - (c[Rf >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[dg >> 2] =
- (c[Rf >> 2] | 0) + (c[tg >> 2] | 0);
- c[hg >> 2] = c[tg >> 2];
- c[
- ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
- 2
- ] = (c[Mf >> 2] | 0) - (c[Rf >> 2] | 0) + 2;
- c[
- ((c[Hf >> 2] | 0) +
- (c[fg >> 2] << 3) +
- 4) >>
- 2
- ] = c[tg >> 2];
- c[fg >> 2] = (c[fg >> 2] | 0) + 1;
- if ((c[tg >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)
- )
- break;
- }
- aj = c[Rf >> 2] | 0;
- if (
- (d[
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[bg >> 2] >> 2] = aj;
- c[Vf >> 2] = c[tg >> 2];
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[$f >> 2] | 0) >>> 0
- ) {
- dj = 109;
- break;
- }
- c[bg >> 2] = (c[sg >> 2] | 0) + 4;
- c[Rf >> 2] = c[((c[sg >> 2] | 0) + 4) >> 2];
- } else {
- c[c[cg >> 2] >> 2] = aj;
- c[Wf >> 2] = c[tg >> 2];
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[$f >> 2] | 0) >>> 0
- ) {
- dj = 112;
- break;
- }
- c[cg >> 2] = c[sg >> 2];
- c[Rf >> 2] = c[c[sg >> 2] >> 2];
- }
- }
- if ((dj | 0) == 109) {
- dj = 0;
- c[bg >> 2] = eg;
- } else if ((dj | 0) == 112) {
- dj = 0;
- c[cg >> 2] = eg;
- }
- c[c[cg >> 2] >> 2] = 0;
- c[c[bg >> 2] >> 2] = 0;
- c[((c[Af >> 2] | 0) + 24) >> 2] =
- (c[dg >> 2] | 0) - 8;
- c[zf >> 2] = c[fg >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[zf >> 2];
- break a;
- }
- }
- }
- } while (0);
- c[ki >> 2] = c[Ah >> 2];
- if (!(c[ki >> 2] | 0)) {
- c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
- continue;
- }
- c[li >> 2] = 0;
- while (1) {
- if ((c[li >> 2] | 0) >>> 0 >= 3) break;
- c[((c[bi >> 2] | 0) + 16 + (c[li >> 2] << 2)) >> 2] =
- c[((c[Nh >> 2] | 0) + (c[li >> 2] << 2)) >> 2];
- c[li >> 2] = (c[li >> 2] | 0) + 1;
- }
- c[((c[bi >> 2] | 0) + 8) >> 2] = 1;
- c[((c[bi >> 2] | 0) + 12) >> 2] = c[ii >> 2];
- c[mi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[ki >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ];
- do {
- if ((c[mi >> 2] | 0) >>> 0 <= (c[$h >> 2] | 0) >>> 0) {
- c[ni >> 2] =
- om(
- di,
- c[Wh >> 2] | 0,
- c[ii >> 2] | 0,
- c[Th >> 2] | 0
- ) | 0;
- c[oi >> 2] = 0;
- while (1) {
- if ((c[oi >> 2] | 0) >>> 0 >= (c[ai >> 2] | 0) >>> 0)
- break;
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = 1;
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0)) >>
- 2
- ] = 1073741824;
- c[oi >> 2] = (c[oi >> 2] | 0) + 1;
- }
- c[pi >> 2] = 0;
- while (1) {
- if ((c[pi >> 2] | 0) >>> 0 >= (c[ki >> 2] | 0) >>> 0)
- break;
- c[qi >> 2] =
- c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3)) >> 2];
- c[ri >> 2] =
- c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3) + 4) >> 2];
- pm(
- si,
- c[Nh >> 2] | 0,
- c[qi >> 2] | 0,
- c[ji >> 2] | 0
- );
- while (1) {
- if ((c[oi >> 2] | 0) >>> 0 > (c[ri >> 2] | 0) >>> 0)
- break;
- aj = c[ni >> 2] | 0;
- Zh = c[oi >> 2] | 0;
- Uh = c[Th >> 2] | 0;
- _i = c[Rh >> 2] | 0;
- c[yd >> 2] = c[qi >> 2];
- c[zd >> 2] = Zh;
- c[Ad >> 2] = Uh;
- c[Bd >> 2] = _i;
- c[Dd >> 2] = qm(((c[yd >> 2] | 0) + 1) | 0) | 0;
- c[Ed >> 2] = (c[zd >> 2] | 0) - 3;
- if (c[((c[Ad >> 2] | 0) + 56) >> 2] | 0) {
- _i =
- ((qm(((c[Ed >> 2] | 0) + 1) | 0) | 0) + 16) | 0;
- c[xd >> 2] = _i + (c[Dd >> 2] | 0);
- } else {
- _i =
- ((c[Dd >> 2] | 0) +
- (c[((c[Ad >> 2] | 0) + 52) >> 2] | 0)) |
- 0;
- c[Cd >> 2] =
- _i -
- (qm(
- ((c[
- ((c[((c[Ad >> 2] | 0) + 12) >> 2] | 0) +
- (c[Dd >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- if (
- ((c[Bd >> 2] | 0) < 2) &
- ((c[Dd >> 2] | 0) >>> 0 >= 20)
- )
- c[Cd >> 2] =
- (c[Cd >> 2] | 0) +
- (((c[Dd >> 2] | 0) - 19) << 1);
- c[Fd >> 2] = rm(c[Ed >> 2] | 0) | 0;
- _i =
- ((c[(5840 + (c[Fd >> 2] << 2)) >> 2] | 0) +
- (c[((c[Ad >> 2] | 0) + 48) >> 2] | 0)) |
- 0;
- Uh =
- (_i -
- (qm(
- ((c[
- ((c[((c[Ad >> 2] | 0) + 8) >> 2] | 0) +
- (c[Fd >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0)) |
- 0;
- c[Cd >> 2] = (c[Cd >> 2] | 0) + Uh;
- c[xd >> 2] = c[Cd >> 2];
- }
- c[ti >> 2] = aj + (c[xd >> 2] | 0);
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[oi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[qi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[ii >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[ti >> 2];
- aj =
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- c[aj >> 2] = c[si >> 2];
- c[(aj + 4) >> 2] = c[(si + 4) >> 2];
- c[(aj + 8) >> 2] = c[(si + 8) >> 2];
- c[oi >> 2] = (c[oi >> 2] | 0) + 1;
- }
- c[pi >> 2] = (c[pi >> 2] | 0) + 1;
- }
- c[fi >> 2] = (c[oi >> 2] | 0) - 1;
- c[ei >> 2] = 1;
- b: while (1) {
- if ((c[ei >> 2] | 0) >>> 0 > (c[fi >> 2] | 0) >>> 0) {
- dj = 504;
- break;
- }
- c[ui >> 2] = (c[Vh >> 2] | 0) + (c[ei >> 2] | 0);
- if (
- (c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) ==
- 1
- )
- oj =
- ((c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 12) >>
- 2
- ] |
- 0) +
- 1) |
- 0;
- else oj = 1;
- c[vi >> 2] = oj;
- if ((c[ei >> 2] | 0) >>> 0 > (c[vi >> 2] | 0) >>> 0) {
- aj =
- c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - (c[vi >> 2] | 0)) |
- 0) *
- 28) |
- 0)) >>
- 2
- ] | 0;
- c[wi >> 2] =
- aj +
- (sm(
- ((c[ui >> 2] | 0) + (0 - (c[vi >> 2] | 0))) | 0,
- c[vi >> 2] | 0,
- c[Th >> 2] | 0
- ) |
- 0);
- } else
- c[wi >> 2] =
- tm(
- di,
- c[Wh >> 2] | 0,
- c[vi >> 2] | 0,
- c[Th >> 2] | 0
- ) | 0;
- if (
- (c[wi >> 2] | 0) <=
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- ) {
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = 1;
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = 0;
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[vi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[wi >> 2];
- aj =
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- Uh =
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 16) |
- 0;
- c[aj >> 2] = c[Uh >> 2];
- c[(aj + 4) >> 2] = c[(Uh + 4) >> 2];
- c[(aj + 8) >> 2] = c[(Uh + 8) >> 2];
- }
- c: do {
- if (
- (c[ui >> 2] | 0) >>> 0 <=
- (c[Yh >> 2] | 0) >>> 0
- ) {
- if ((c[ei >> 2] | 0) == (c[fi >> 2] | 0)) {
- dj = 504;
- break b;
- }
- if (
- (c[Rh >> 2] | 0) == 0
- ? (c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) + 1) | 0) * 28) |
- 0)) >>
- 2
- ] |
- 0) <=
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- : 0
- )
- break;
- c[xi >> 2] =
- ((c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) !=
- 1) &
- 1;
- if (
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) ==
- 1
- )
- pj =
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] | 0;
- else pj = 0;
- c[yi >> 2] = pj;
- if (
- (c[ei >> 2] | 0) >>> 0 >
- (c[yi >> 2] | 0) >>> 0
- )
- qj =
- c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - (c[yi >> 2] | 0)) |
- 0) *
- 28) |
- 0)) >>
- 2
- ] | 0;
- else qj = 0;
- c[zi >> 2] = qj;
- Uh = c[zi >> 2] | 0;
- c[Ai >> 2] =
- Uh +
- (um(
- ((c[ui >> 2] | 0) + (0 - (c[yi >> 2] | 0))) |
- 0,
- c[yi >> 2] | 0,
- c[Th >> 2] | 0
- ) |
- 0);
- Uh = c[Oh >> 2] | 0;
- aj = c[ui >> 2] | 0;
- _i = c[Xh >> 2] | 0;
- Zh = c[Sh >> 2] | 0;
- Zi =
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- Ph = c[xi >> 2] | 0;
- Qh = c[ci >> 2] | 0;
- _h = c[ai >> 2] | 0;
- c[nd >> 2] = c[Lh >> 2];
- c[od >> 2] = Uh;
- c[pd >> 2] = aj;
- c[qd >> 2] = _i;
- c[rd >> 2] = Zh;
- c[sd >> 2] = Zi;
- c[td >> 2] = Ph;
- c[ud >> 2] = Qh;
- c[vd >> 2] = _h;
- c[wd >> 2] = c[((c[od >> 2] | 0) + 16) >> 2];
- d: do {
- if (
- (c[pd >> 2] | 0) >>> 0 <
- (((c[((c[nd >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[nd >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[md >> 2] = 0;
- else {
- _h = c[od >> 2] | 0;
- Qh = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Zi = c[wd >> 2] | 0;
- Zh = c[rd >> 2] | 0;
- c[dd >> 2] = c[nd >> 2];
- c[ed >> 2] = _h;
- c[fd >> 2] = Qh;
- c[gd >> 2] = Ph;
- c[hd >> 2] = Zi;
- c[id >> 2] = Zh;
- c[jd >> 2] = c[((c[dd >> 2] | 0) + 4) >> 2];
- c[kd >> 2] =
- (c[fd >> 2] | 0) - (c[jd >> 2] | 0);
- c[ld >> 2] = c[((c[dd >> 2] | 0) + 24) >> 2];
- while (1) {
- if (
- (c[ld >> 2] | 0) >>> 0 >=
- (c[kd >> 2] | 0) >>> 0
- )
- break;
- Zh =
- Rj(
- c[dd >> 2] | 0,
- c[ed >> 2] | 0,
- ((c[jd >> 2] | 0) + (c[ld >> 2] | 0)) |
- 0,
- c[gd >> 2] | 0,
- c[hd >> 2] | 0,
- c[id >> 2] | 0
- ) | 0;
- c[ld >> 2] = (c[ld >> 2] | 0) + Zh;
- }
- c[((c[dd >> 2] | 0) + 24) >> 2] = c[kd >> 2];
- switch (c[wd >> 2] | 0) {
- case 3: {
- Zh = c[od >> 2] | 0;
- Zi = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Qh = c[rd >> 2] | 0;
- _h = c[sd >> 2] | 0;
- _i = c[td >> 2] | 0;
- aj = c[ud >> 2] | 0;
- Uh = c[vd >> 2] | 0;
- c[ic >> 2] = c[nd >> 2];
- c[jc >> 2] = Zh;
- c[kc >> 2] = Zi;
- c[lc >> 2] = Ph;
- c[mc >> 2] = Qh;
- c[nc >> 2] = _h;
- c[oc >> 2] = _i;
- c[pc >> 2] = aj;
- c[qc >> 2] = Uh;
- c[rc >> 2] = 3;
- if (
- (c[((c[jc >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- rj =
- c[((c[jc >> 2] | 0) + 20) >> 2] | 0;
- else rj = 4095;
- c[sc >> 2] = rj;
- c[tc >> 2] =
- c[((c[ic >> 2] | 0) + 4) >> 2];
- c[uc >> 2] =
- (c[kc >> 2] | 0) - (c[tc >> 2] | 0);
- c[vc >> 2] =
- c[((c[jc >> 2] | 0) + 8) >> 2];
- c[wc >> 2] =
- (c[rc >> 2] | 0) == 3 ? 3 : 4;
- c[xc >> 2] =
- c[((c[ic >> 2] | 0) + 36) >> 2];
- c[yc >> 2] =
- Sj(
- c[kc >> 2] | 0,
- c[vc >> 2] | 0,
- c[rc >> 2] | 0
- ) | 0;
- c[zc >> 2] =
- c[
- ((c[xc >> 2] | 0) +
- (c[yc >> 2] << 2)) >>
- 2
- ];
- c[Ac >> 2] =
- c[((c[ic >> 2] | 0) + 44) >> 2];
- c[Bc >> 2] =
- (c[((c[jc >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Cc >> 2] = (1 << c[Bc >> 2]) - 1;
- c[Dc >> 2] = 0;
- c[Ec >> 2] = 0;
- c[Fc >> 2] =
- c[((c[ic >> 2] | 0) + 8) >> 2];
- c[Gc >> 2] =
- c[((c[ic >> 2] | 0) + 12) >> 2];
- c[Hc >> 2] =
- (c[Fc >> 2] | 0) + (c[Gc >> 2] | 0);
- c[Ic >> 2] =
- (c[tc >> 2] | 0) + (c[Gc >> 2] | 0);
- if (
- (c[Cc >> 2] | 0) >>> 0 >=
- (c[uc >> 2] | 0) >>> 0
- )
- sj = 0;
- else
- sj =
- ((c[uc >> 2] | 0) -
- (c[Cc >> 2] | 0)) |
- 0;
- c[Jc >> 2] = sj;
- c[Kc >> 2] =
- c[((c[ic >> 2] | 0) + 16) >> 2];
- c[Lc >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[uc >> 2] & c[Cc >> 2]) << 1) << 2);
- c[Mc >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[uc >> 2] & c[Cc >> 2]) << 1) <<
- 2) +
- 4;
- c[Nc >> 2] = (c[uc >> 2] | 0) + 8 + 1;
- c[Pc >> 2] = 0;
- c[Qc >> 2] =
- 1 << c[((c[jc >> 2] | 0) + 12) >> 2];
- c[Rc >> 2] = (c[qc >> 2] | 0) - 1;
- c[Sc >> 2] = 3 + (c[oc >> 2] | 0);
- c[Tc >> 2] = c[oc >> 2];
- while (1) {
- if (
- (c[Tc >> 2] | 0) >>> 0 >=
- (c[Sc >> 2] | 0) >>> 0
- ) {
- dj = 287;
- break;
- }
- Uh = c[nc >> 2] | 0;
- if ((c[Tc >> 2] | 0) == 3)
- tj = ((c[Uh >> 2] | 0) - 1) | 0;
- else
- tj =
- c[(Uh + (c[Tc >> 2] << 2)) >> 2] |
- 0;
- c[Uc >> 2] = tj;
- c[Vc >> 2] =
- (c[uc >> 2] | 0) - (c[Uc >> 2] | 0);
- c[Wc >> 2] = 0;
- do {
- if (
- (((c[Uc >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[uc >> 2] | 0) -
- (c[Gc >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Uh =
- mm(
- c[kc >> 2] | 0,
- c[wc >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- ((c[kc >> 2] | 0) +
- (0 - (c[Uc >> 2] | 0))) |
- 0,
- c[wc >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Tj(
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0) +
- (0 - (c[Uc >> 2] | 0))) |
- 0,
- c[lc >> 2] | 0
- ) | 0;
- c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
- } else {
- c[Xc >> 2] =
- (c[Fc >> 2] | 0) +
- (c[Vc >> 2] | 0);
- if (!(c[mc >> 2] | 0)) break;
- if (
- !(
- ((((c[Gc >> 2] | 0) -
- 1 -
- (c[Vc >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[Uc >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[uc >> 2] | 0) -
- (c[Kc >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Uh =
- mm(
- c[kc >> 2] | 0,
- c[wc >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- c[Xc >> 2] | 0,
- c[wc >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Uj(
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- ((c[Xc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
- }
- } while (0);
- if (
- (c[Wc >> 2] | 0) >>> 0 >
- (c[Rc >> 2] | 0) >>> 0
- ? ((c[Rc >> 2] = c[Wc >> 2]),
- (c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3)) >>
- 2
- ] =
- (c[Tc >> 2] | 0) -
- (c[oc >> 2] | 0)),
- (c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3) +
- 4) >>
- 2
- ] = c[Wc >> 2]),
- (c[Pc >> 2] =
- (c[Pc >> 2] | 0) + 1),
- ((c[Wc >> 2] | 0) >>> 0 >
- (c[sc >> 2] | 0) >>> 0
- ? 1
- : (((c[kc >> 2] | 0) +
- (c[Wc >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 285;
- break;
- }
- c[Tc >> 2] = (c[Tc >> 2] | 0) + 1;
- }
- e: do {
- if ((dj | 0) == 285) {
- dj = 0;
- c[hc >> 2] = c[Pc >> 2];
- } else if ((dj | 0) == 287) {
- dj = 0;
- do {
- if ((c[rc >> 2] | 0) == 3) {
- if (
- (c[Rc >> 2] | 0) >>> 0 >=
- (c[rc >> 2] | 0) >>> 0
- )
- break;
- c[Yc >> 2] =
- nm(
- c[ic >> 2] | 0,
- c[kc >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[Yc >> 2] | 0) >>> 0 >
- (c[Kc >> 2] | 0) >>> 0
- ? (((c[uc >> 2] | 0) -
- (c[Yc >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[mc >> 2] | 0) {
- if (
- (c[Yc >> 2] | 0) >>> 0 >=
- (c[Gc >> 2] | 0) >>> 0
- ) {
- dj = 292;
- break;
- }
- c[$c >> 2] =
- (c[Fc >> 2] | 0) +
- (c[Yc >> 2] | 0);
- c[Zc >> 2] =
- Uj(
- c[kc >> 2] | 0,
- c[$c >> 2] | 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- } else dj = 292;
- } while (0);
- if ((dj | 0) == 292) {
- dj = 0;
- c[_c >> 2] =
- (c[tc >> 2] | 0) +
- (c[Yc >> 2] | 0);
- c[Zc >> 2] =
- Tj(
- c[kc >> 2] | 0,
- c[_c >> 2] | 0,
- c[lc >> 2] | 0
- ) | 0;
- }
- if (
- (c[Zc >> 2] | 0) >>> 0 <
- (c[rc >> 2] | 0) >>> 0
- )
- break;
- c[Rc >> 2] = c[Zc >> 2];
- c[c[pc >> 2] >> 2] =
- (c[uc >> 2] | 0) -
- (c[Yc >> 2] | 0) +
- 2;
- c[((c[pc >> 2] | 0) + 4) >> 2] =
- c[Zc >> 2];
- c[Pc >> 2] = 1;
- if (
- !(
- ((c[Zc >> 2] | 0) >>> 0 >
- (c[sc >> 2] | 0) >>> 0
- ? 1
- : (((c[kc >> 2] | 0) +
- (c[Zc >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[ic >> 2] | 0) + 24) >> 2] =
- (c[uc >> 2] | 0) + 1;
- c[hc >> 2] = 1;
- break e;
- }
- } while (0);
- c[
- ((c[xc >> 2] | 0) +
- (c[yc >> 2] << 2)) >>
- 2
- ] = c[uc >> 2];
- while (1) {
- Uh = c[Qc >> 2] | 0;
- c[Qc >> 2] = Uh + -1;
- if (!Uh) break;
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Kc >> 2] | 0) >>> 0
- )
- break;
- c[ad >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[zc >> 2] & c[Cc >> 2]) <<
- 1) <<
- 2);
- c[bd >> 2] =
- (c[Dc >> 2] | 0) >>> 0 <
- (c[Ec >> 2] | 0) >>> 0
- ? c[Dc >> 2] | 0
- : c[Ec >> 2] | 0;
- do {
- if (c[mc >> 2] | 0) {
- if (
- (((c[zc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Gc >> 2] | 0) >>> 0
- ) {
- dj = 302;
- break;
- }
- c[cd >> 2] =
- (c[Fc >> 2] | 0) +
- (c[zc >> 2] | 0);
- Uh =
- Uj(
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- c[bd >> 2] =
- (c[bd >> 2] | 0) + Uh;
- if (
- (((c[zc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Gc >> 2] | 0) >>> 0
- )
- break;
- c[cd >> 2] =
- (c[tc >> 2] | 0) +
- (c[zc >> 2] | 0);
- } else dj = 302;
- } while (0);
- if ((dj | 0) == 302) {
- dj = 0;
- c[cd >> 2] =
- (c[tc >> 2] | 0) +
- (c[zc >> 2] | 0);
- Uh =
- Tj(
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0
- ) | 0;
- c[bd >> 2] =
- (c[bd >> 2] | 0) + Uh;
- }
- if (
- (c[bd >> 2] | 0) >>> 0 >
- (c[Rc >> 2] | 0) >>> 0
- ) {
- if (
- (c[bd >> 2] | 0) >>> 0 >
- (((c[Nc >> 2] | 0) -
- (c[zc >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Nc >> 2] =
- (c[zc >> 2] | 0) +
- (c[bd >> 2] | 0);
- c[Rc >> 2] = c[bd >> 2];
- c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3)) >>
- 2
- ] =
- (c[uc >> 2] | 0) -
- (c[zc >> 2] | 0) +
- 2;
- c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3) +
- 4) >>
- 2
- ] = c[bd >> 2];
- c[Pc >> 2] = (c[Pc >> 2] | 0) + 1;
- if ((c[bd >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)
- )
- break;
- }
- Uh = c[zc >> 2] | 0;
- if (
- (d[
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Lc >> 2] >> 2] = Uh;
- c[Dc >> 2] = c[bd >> 2];
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Jc >> 2] | 0) >>> 0
- ) {
- dj = 312;
- break;
- }
- c[Lc >> 2] = (c[ad >> 2] | 0) + 4;
- c[zc >> 2] =
- c[((c[ad >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Mc >> 2] >> 2] = Uh;
- c[Ec >> 2] = c[bd >> 2];
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Jc >> 2] | 0) >>> 0
- ) {
- dj = 315;
- break;
- }
- c[Mc >> 2] = c[ad >> 2];
- c[zc >> 2] = c[c[ad >> 2] >> 2];
- }
- }
- if ((dj | 0) == 312) {
- dj = 0;
- c[Lc >> 2] = Oc;
- } else if ((dj | 0) == 315) {
- dj = 0;
- c[Mc >> 2] = Oc;
- }
- c[c[Mc >> 2] >> 2] = 0;
- c[c[Lc >> 2] >> 2] = 0;
- c[((c[ic >> 2] | 0) + 24) >> 2] =
- (c[Nc >> 2] | 0) - 8;
- c[hc >> 2] = c[Pc >> 2];
- }
- } while (0);
- c[md >> 2] = c[hc >> 2];
- break d;
- break;
- }
- case 7:
- case 6: {
- Uh = c[od >> 2] | 0;
- aj = c[pd >> 2] | 0;
- _i = c[qd >> 2] | 0;
- _h = c[rd >> 2] | 0;
- Qh = c[sd >> 2] | 0;
- Ph = c[td >> 2] | 0;
- Zi = c[ud >> 2] | 0;
- Zh = c[vd >> 2] | 0;
- c[u >> 2] = c[nd >> 2];
- c[v >> 2] = Uh;
- c[w >> 2] = aj;
- c[x >> 2] = _i;
- c[y >> 2] = _h;
- c[z >> 2] = Qh;
- c[A >> 2] = Ph;
- c[B >> 2] = Zi;
- c[C >> 2] = Zh;
- c[D >> 2] = 6;
- if (
- (c[((c[v >> 2] | 0) + 20) >> 2] | 0) >>>
- 0 <
- 4095
- )
- uj = c[((c[v >> 2] | 0) + 20) >> 2] | 0;
- else uj = 4095;
- c[E >> 2] = uj;
- c[F >> 2] = c[((c[u >> 2] | 0) + 4) >> 2];
- c[G >> 2] =
- (c[w >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = c[((c[v >> 2] | 0) + 8) >> 2];
- c[I >> 2] = (c[D >> 2] | 0) == 3 ? 3 : 4;
- c[J >> 2] =
- c[((c[u >> 2] | 0) + 36) >> 2];
- c[K >> 2] =
- Sj(
- c[w >> 2] | 0,
- c[H >> 2] | 0,
- c[D >> 2] | 0
- ) | 0;
- c[L >> 2] =
- c[
- ((c[J >> 2] | 0) +
- (c[K >> 2] << 2)) >>
- 2
- ];
- c[M >> 2] =
- c[((c[u >> 2] | 0) + 44) >> 2];
- c[N >> 2] =
- (c[((c[v >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[O >> 2] = (1 << c[N >> 2]) - 1;
- c[P >> 2] = 0;
- c[Q >> 2] = 0;
- c[R >> 2] = c[((c[u >> 2] | 0) + 8) >> 2];
- c[S >> 2] =
- c[((c[u >> 2] | 0) + 12) >> 2];
- c[T >> 2] =
- (c[R >> 2] | 0) + (c[S >> 2] | 0);
- c[U >> 2] =
- (c[F >> 2] | 0) + (c[S >> 2] | 0);
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (c[G >> 2] | 0) >>> 0
- )
- vj = 0;
- else
- vj =
- ((c[G >> 2] | 0) - (c[O >> 2] | 0)) |
- 0;
- c[V >> 2] = vj;
- c[W >> 2] =
- c[((c[u >> 2] | 0) + 16) >> 2];
- c[X >> 2] =
- (c[M >> 2] | 0) +
- (((c[G >> 2] & c[O >> 2]) << 1) << 2);
- c[Y >> 2] =
- (c[M >> 2] | 0) +
- (((c[G >> 2] & c[O >> 2]) << 1) << 2) +
- 4;
- c[Z >> 2] = (c[G >> 2] | 0) + 8 + 1;
- c[$ >> 2] = 0;
- c[aa >> 2] =
- 1 << c[((c[v >> 2] | 0) + 12) >> 2];
- c[ba >> 2] = (c[C >> 2] | 0) - 1;
- c[ca >> 2] = 3 + (c[A >> 2] | 0);
- c[da >> 2] = c[A >> 2];
- while (1) {
- if (
- (c[da >> 2] | 0) >>> 0 >=
- (c[ca >> 2] | 0) >>> 0
- ) {
- dj = 446;
- break;
- }
- Zh = c[z >> 2] | 0;
- if ((c[da >> 2] | 0) == 3)
- wj = ((c[Zh >> 2] | 0) - 1) | 0;
- else
- wj =
- c[(Zh + (c[da >> 2] << 2)) >> 2] |
- 0;
- c[ea >> 2] = wj;
- c[fa >> 2] =
- (c[G >> 2] | 0) - (c[ea >> 2] | 0);
- c[ga >> 2] = 0;
- do {
- if (
- (((c[ea >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[G >> 2] | 0) -
- (c[S >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Zh =
- mm(c[w >> 2] | 0, c[I >> 2] | 0) |
- 0;
- if (
- (Zh | 0) !=
- (mm(
- ((c[w >> 2] | 0) +
- (0 - (c[ea >> 2] | 0))) |
- 0,
- c[I >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Tj(
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0) +
- (0 - (c[ea >> 2] | 0))) |
- 0,
- c[x >> 2] | 0
- ) | 0;
- c[ga >> 2] = Zh + (c[I >> 2] | 0);
- } else {
- c[ha >> 2] =
- (c[R >> 2] | 0) +
- (c[fa >> 2] | 0);
- if (!(c[y >> 2] | 0)) break;
- if (
- !(
- ((((c[S >> 2] | 0) -
- 1 -
- (c[fa >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[ea >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[G >> 2] | 0) -
- (c[W >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Zh =
- mm(c[w >> 2] | 0, c[I >> 2] | 0) |
- 0;
- if (
- (Zh | 0) !=
- (mm(
- c[ha >> 2] | 0,
- c[I >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Uj(
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- ((c[ha >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[ga >> 2] = Zh + (c[I >> 2] | 0);
- }
- } while (0);
- if (
- (c[ga >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- ? ((c[ba >> 2] = c[ga >> 2]),
- (c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3)) >>
- 2
- ] =
- (c[da >> 2] | 0) -
- (c[A >> 2] | 0)),
- (c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3) +
- 4) >>
- 2
- ] = c[ga >> 2]),
- (c[$ >> 2] = (c[$ >> 2] | 0) + 1),
- ((c[ga >> 2] | 0) >>> 0 >
- (c[E >> 2] | 0) >>> 0
- ? 1
- : (((c[w >> 2] | 0) +
- (c[ga >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 444;
- break;
- }
- c[da >> 2] = (c[da >> 2] | 0) + 1;
- }
- f: do {
- if ((dj | 0) == 444) {
- dj = 0;
- c[t >> 2] = c[$ >> 2];
- } else if ((dj | 0) == 446) {
- dj = 0;
- do {
- if ((c[D >> 2] | 0) == 3) {
- if (
- (c[ba >> 2] | 0) >>> 0 >=
- (c[D >> 2] | 0) >>> 0
- )
- break;
- c[ia >> 2] =
- nm(
- c[u >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[ia >> 2] | 0) >>> 0 >
- (c[W >> 2] | 0) >>> 0
- ? (((c[G >> 2] | 0) -
- (c[ia >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[y >> 2] | 0) {
- if (
- (c[ia >> 2] | 0) >>> 0 >=
- (c[S >> 2] | 0) >>> 0
- ) {
- dj = 451;
- break;
- }
- c[la >> 2] =
- (c[R >> 2] | 0) +
- (c[ia >> 2] | 0);
- c[ja >> 2] =
- Uj(
- c[w >> 2] | 0,
- c[la >> 2] | 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- } else dj = 451;
- } while (0);
- if ((dj | 0) == 451) {
- dj = 0;
- c[ka >> 2] =
- (c[F >> 2] | 0) +
- (c[ia >> 2] | 0);
- c[ja >> 2] =
- Tj(
- c[w >> 2] | 0,
- c[ka >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- }
- if (
- (c[ja >> 2] | 0) >>> 0 <
- (c[D >> 2] | 0) >>> 0
- )
- break;
- c[ba >> 2] = c[ja >> 2];
- c[c[B >> 2] >> 2] =
- (c[G >> 2] | 0) -
- (c[ia >> 2] | 0) +
- 2;
- c[((c[B >> 2] | 0) + 4) >> 2] =
- c[ja >> 2];
- c[$ >> 2] = 1;
- if (
- !(
- ((c[ja >> 2] | 0) >>> 0 >
- (c[E >> 2] | 0) >>> 0
- ? 1
- : (((c[w >> 2] | 0) +
- (c[ja >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[u >> 2] | 0) + 24) >> 2] =
- (c[G >> 2] | 0) + 1;
- c[t >> 2] = 1;
- break f;
- }
- } while (0);
- c[
- ((c[J >> 2] | 0) +
- (c[K >> 2] << 2)) >>
- 2
- ] = c[G >> 2];
- while (1) {
- Zh = c[aa >> 2] | 0;
- c[aa >> 2] = Zh + -1;
- if (!Zh) break;
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[W >> 2] | 0) >>> 0
- )
- break;
- c[ma >> 2] =
- (c[M >> 2] | 0) +
- (((c[L >> 2] & c[O >> 2]) << 1) <<
- 2);
- c[na >> 2] =
- (c[P >> 2] | 0) >>> 0 <
- (c[Q >> 2] | 0) >>> 0
- ? c[P >> 2] | 0
- : c[Q >> 2] | 0;
- do {
- if (c[y >> 2] | 0) {
- if (
- (((c[L >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[S >> 2] | 0) >>> 0
- ) {
- dj = 461;
- break;
- }
- c[oa >> 2] =
- (c[R >> 2] | 0) +
- (c[L >> 2] | 0);
- Zh =
- Uj(
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[na >> 2] =
- (c[na >> 2] | 0) + Zh;
- if (
- (((c[L >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[S >> 2] | 0) >>> 0
- )
- break;
- c[oa >> 2] =
- (c[F >> 2] | 0) +
- (c[L >> 2] | 0);
- } else dj = 461;
- } while (0);
- if ((dj | 0) == 461) {
- dj = 0;
- c[oa >> 2] =
- (c[F >> 2] | 0) +
- (c[L >> 2] | 0);
- Zh =
- Tj(
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- c[x >> 2] | 0
- ) | 0;
- c[na >> 2] =
- (c[na >> 2] | 0) + Zh;
- }
- if (
- (c[na >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- ) {
- if (
- (c[na >> 2] | 0) >>> 0 >
- (((c[Z >> 2] | 0) -
- (c[L >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Z >> 2] =
- (c[L >> 2] | 0) +
- (c[na >> 2] | 0);
- c[ba >> 2] = c[na >> 2];
- c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3)) >>
- 2
- ] =
- (c[G >> 2] | 0) -
- (c[L >> 2] | 0) +
- 2;
- c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3) +
- 4) >>
- 2
- ] = c[na >> 2];
- c[$ >> 2] = (c[$ >> 2] | 0) + 1;
- if ((c[na >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)
- )
- break;
- }
- Zh = c[L >> 2] | 0;
- if (
- (d[
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[X >> 2] >> 2] = Zh;
- c[P >> 2] = c[na >> 2];
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[V >> 2] | 0) >>> 0
- ) {
- dj = 471;
- break;
- }
- c[X >> 2] = (c[ma >> 2] | 0) + 4;
- c[L >> 2] =
- c[((c[ma >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Y >> 2] >> 2] = Zh;
- c[Q >> 2] = c[na >> 2];
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[V >> 2] | 0) >>> 0
- ) {
- dj = 474;
- break;
- }
- c[Y >> 2] = c[ma >> 2];
- c[L >> 2] = c[c[ma >> 2] >> 2];
- }
- }
- if ((dj | 0) == 471) {
- dj = 0;
- c[X >> 2] = _;
- } else if ((dj | 0) == 474) {
- dj = 0;
- c[Y >> 2] = _;
- }
- c[c[Y >> 2] >> 2] = 0;
- c[c[X >> 2] >> 2] = 0;
- c[((c[u >> 2] | 0) + 24) >> 2] =
- (c[Z >> 2] | 0) - 8;
- c[t >> 2] = c[$ >> 2];
- }
- } while (0);
- c[md >> 2] = c[t >> 2];
- break d;
- break;
- }
- case 5: {
- Zh = c[od >> 2] | 0;
- Zi = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Qh = c[rd >> 2] | 0;
- _h = c[sd >> 2] | 0;
- _i = c[td >> 2] | 0;
- aj = c[ud >> 2] | 0;
- Uh = c[vd >> 2] | 0;
- c[qa >> 2] = c[nd >> 2];
- c[ra >> 2] = Zh;
- c[sa >> 2] = Zi;
- c[ta >> 2] = Ph;
- c[ua >> 2] = Qh;
- c[va >> 2] = _h;
- c[wa >> 2] = _i;
- c[xa >> 2] = aj;
- c[ya >> 2] = Uh;
- c[za >> 2] = 5;
- if (
- (c[((c[ra >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- xj =
- c[((c[ra >> 2] | 0) + 20) >> 2] | 0;
- else xj = 4095;
- c[Aa >> 2] = xj;
- c[Ba >> 2] =
- c[((c[qa >> 2] | 0) + 4) >> 2];
- c[Ca >> 2] =
- (c[sa >> 2] | 0) - (c[Ba >> 2] | 0);
- c[Da >> 2] =
- c[((c[ra >> 2] | 0) + 8) >> 2];
- c[Ea >> 2] =
- (c[za >> 2] | 0) == 3 ? 3 : 4;
- c[Fa >> 2] =
- c[((c[qa >> 2] | 0) + 36) >> 2];
- c[Ga >> 2] =
- Sj(
- c[sa >> 2] | 0,
- c[Da >> 2] | 0,
- c[za >> 2] | 0
- ) | 0;
- c[Ha >> 2] =
- c[
- ((c[Fa >> 2] | 0) +
- (c[Ga >> 2] << 2)) >>
- 2
- ];
- c[Ia >> 2] =
- c[((c[qa >> 2] | 0) + 44) >> 2];
- c[Ja >> 2] =
- (c[((c[ra >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Ka >> 2] = (1 << c[Ja >> 2]) - 1;
- c[La >> 2] = 0;
- c[Ma >> 2] = 0;
- c[Na >> 2] =
- c[((c[qa >> 2] | 0) + 8) >> 2];
- c[Oa >> 2] =
- c[((c[qa >> 2] | 0) + 12) >> 2];
- c[Pa >> 2] =
- (c[Na >> 2] | 0) + (c[Oa >> 2] | 0);
- c[Qa >> 2] =
- (c[Ba >> 2] | 0) + (c[Oa >> 2] | 0);
- if (
- (c[Ka >> 2] | 0) >>> 0 >=
- (c[Ca >> 2] | 0) >>> 0
- )
- yj = 0;
- else
- yj =
- ((c[Ca >> 2] | 0) -
- (c[Ka >> 2] | 0)) |
- 0;
- c[Ra >> 2] = yj;
- c[Sa >> 2] =
- c[((c[qa >> 2] | 0) + 16) >> 2];
- c[Ta >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ca >> 2] & c[Ka >> 2]) << 1) << 2);
- c[Ua >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ca >> 2] & c[Ka >> 2]) << 1) <<
- 2) +
- 4;
- c[Va >> 2] = (c[Ca >> 2] | 0) + 8 + 1;
- c[Xa >> 2] = 0;
- c[Ya >> 2] =
- 1 << c[((c[ra >> 2] | 0) + 12) >> 2];
- c[Za >> 2] = (c[ya >> 2] | 0) - 1;
- c[_a >> 2] = 3 + (c[wa >> 2] | 0);
- c[$a >> 2] = c[wa >> 2];
- while (1) {
- if (
- (c[$a >> 2] | 0) >>> 0 >=
- (c[_a >> 2] | 0) >>> 0
- ) {
- dj = 393;
- break;
- }
- Uh = c[va >> 2] | 0;
- if ((c[$a >> 2] | 0) == 3)
- zj = ((c[Uh >> 2] | 0) - 1) | 0;
- else
- zj =
- c[(Uh + (c[$a >> 2] << 2)) >> 2] |
- 0;
- c[ab >> 2] = zj;
- c[bb >> 2] =
- (c[Ca >> 2] | 0) - (c[ab >> 2] | 0);
- c[cb >> 2] = 0;
- do {
- if (
- (((c[ab >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ca >> 2] | 0) -
- (c[Oa >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Uh =
- mm(
- c[sa >> 2] | 0,
- c[Ea >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- ((c[sa >> 2] | 0) +
- (0 - (c[ab >> 2] | 0))) |
- 0,
- c[Ea >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Tj(
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0) +
- (0 - (c[ab >> 2] | 0))) |
- 0,
- c[ta >> 2] | 0
- ) | 0;
- c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
- } else {
- c[db >> 2] =
- (c[Na >> 2] | 0) +
- (c[bb >> 2] | 0);
- if (!(c[ua >> 2] | 0)) break;
- if (
- !(
- ((((c[Oa >> 2] | 0) -
- 1 -
- (c[bb >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[ab >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[Ca >> 2] | 0) -
- (c[Sa >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Uh =
- mm(
- c[sa >> 2] | 0,
- c[Ea >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- c[db >> 2] | 0,
- c[Ea >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Uj(
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- ((c[db >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
- }
- } while (0);
- if (
- (c[cb >> 2] | 0) >>> 0 >
- (c[Za >> 2] | 0) >>> 0
- ? ((c[Za >> 2] = c[cb >> 2]),
- (c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3)) >>
- 2
- ] =
- (c[$a >> 2] | 0) -
- (c[wa >> 2] | 0)),
- (c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3) +
- 4) >>
- 2
- ] = c[cb >> 2]),
- (c[Xa >> 2] =
- (c[Xa >> 2] | 0) + 1),
- ((c[cb >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? 1
- : (((c[sa >> 2] | 0) +
- (c[cb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 391;
- break;
- }
- c[$a >> 2] = (c[$a >> 2] | 0) + 1;
- }
- g: do {
- if ((dj | 0) == 391) {
- dj = 0;
- c[pa >> 2] = c[Xa >> 2];
- } else if ((dj | 0) == 393) {
- dj = 0;
- do {
- if ((c[za >> 2] | 0) == 3) {
- if (
- (c[Za >> 2] | 0) >>> 0 >=
- (c[za >> 2] | 0) >>> 0
- )
- break;
- c[eb >> 2] =
- nm(
- c[qa >> 2] | 0,
- c[sa >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[eb >> 2] | 0) >>> 0 >
- (c[Sa >> 2] | 0) >>> 0
- ? (((c[Ca >> 2] | 0) -
- (c[eb >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[ua >> 2] | 0) {
- if (
- (c[eb >> 2] | 0) >>> 0 >=
- (c[Oa >> 2] | 0) >>> 0
- ) {
- dj = 398;
- break;
- }
- c[hb >> 2] =
- (c[Na >> 2] | 0) +
- (c[eb >> 2] | 0);
- c[fb >> 2] =
- Uj(
- c[sa >> 2] | 0,
- c[hb >> 2] | 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- } else dj = 398;
- } while (0);
- if ((dj | 0) == 398) {
- dj = 0;
- c[gb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[eb >> 2] | 0);
- c[fb >> 2] =
- Tj(
- c[sa >> 2] | 0,
- c[gb >> 2] | 0,
- c[ta >> 2] | 0
- ) | 0;
- }
- if (
- (c[fb >> 2] | 0) >>> 0 <
- (c[za >> 2] | 0) >>> 0
- )
- break;
- c[Za >> 2] = c[fb >> 2];
- c[c[xa >> 2] >> 2] =
- (c[Ca >> 2] | 0) -
- (c[eb >> 2] | 0) +
- 2;
- c[((c[xa >> 2] | 0) + 4) >> 2] =
- c[fb >> 2];
- c[Xa >> 2] = 1;
- if (
- !(
- ((c[fb >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? 1
- : (((c[sa >> 2] | 0) +
- (c[fb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[qa >> 2] | 0) + 24) >> 2] =
- (c[Ca >> 2] | 0) + 1;
- c[pa >> 2] = 1;
- break g;
- }
- } while (0);
- c[
- ((c[Fa >> 2] | 0) +
- (c[Ga >> 2] << 2)) >>
- 2
- ] = c[Ca >> 2];
- while (1) {
- Uh = c[Ya >> 2] | 0;
- c[Ya >> 2] = Uh + -1;
- if (!Uh) break;
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Sa >> 2] | 0) >>> 0
- )
- break;
- c[ib >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ha >> 2] & c[Ka >> 2]) <<
- 1) <<
- 2);
- c[jb >> 2] =
- (c[La >> 2] | 0) >>> 0 <
- (c[Ma >> 2] | 0) >>> 0
- ? c[La >> 2] | 0
- : c[Ma >> 2] | 0;
- do {
- if (c[ua >> 2] | 0) {
- if (
- (((c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Oa >> 2] | 0) >>> 0
- ) {
- dj = 408;
- break;
- }
- c[kb >> 2] =
- (c[Na >> 2] | 0) +
- (c[Ha >> 2] | 0);
- Uh =
- Uj(
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- c[jb >> 2] =
- (c[jb >> 2] | 0) + Uh;
- if (
- (((c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Oa >> 2] | 0) >>> 0
- )
- break;
- c[kb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[Ha >> 2] | 0);
- } else dj = 408;
- } while (0);
- if ((dj | 0) == 408) {
- dj = 0;
- c[kb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[Ha >> 2] | 0);
- Uh =
- Tj(
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0
- ) | 0;
- c[jb >> 2] =
- (c[jb >> 2] | 0) + Uh;
- }
- if (
- (c[jb >> 2] | 0) >>> 0 >
- (c[Za >> 2] | 0) >>> 0
- ) {
- if (
- (c[jb >> 2] | 0) >>> 0 >
- (((c[Va >> 2] | 0) -
- (c[Ha >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Va >> 2] =
- (c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0);
- c[Za >> 2] = c[jb >> 2];
- c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3)) >>
- 2
- ] =
- (c[Ca >> 2] | 0) -
- (c[Ha >> 2] | 0) +
- 2;
- c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3) +
- 4) >>
- 2
- ] = c[jb >> 2];
- c[Xa >> 2] = (c[Xa >> 2] | 0) + 1;
- if ((c[jb >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)
- )
- break;
- }
- Uh = c[Ha >> 2] | 0;
- if (
- (d[
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Ta >> 2] >> 2] = Uh;
- c[La >> 2] = c[jb >> 2];
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Ra >> 2] | 0) >>> 0
- ) {
- dj = 418;
- break;
- }
- c[Ta >> 2] = (c[ib >> 2] | 0) + 4;
- c[Ha >> 2] =
- c[((c[ib >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Ua >> 2] >> 2] = Uh;
- c[Ma >> 2] = c[jb >> 2];
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Ra >> 2] | 0) >>> 0
- ) {
- dj = 421;
- break;
- }
- c[Ua >> 2] = c[ib >> 2];
- c[Ha >> 2] = c[c[ib >> 2] >> 2];
- }
- }
- if ((dj | 0) == 418) {
- dj = 0;
- c[Ta >> 2] = Wa;
- } else if ((dj | 0) == 421) {
- dj = 0;
- c[Ua >> 2] = Wa;
- }
- c[c[Ua >> 2] >> 2] = 0;
- c[c[Ta >> 2] >> 2] = 0;
- c[((c[qa >> 2] | 0) + 24) >> 2] =
- (c[Va >> 2] | 0) - 8;
- c[pa >> 2] = c[Xa >> 2];
- }
- } while (0);
- c[md >> 2] = c[pa >> 2];
- break d;
- break;
- }
- default: {
- Uh = c[od >> 2] | 0;
- aj = c[pd >> 2] | 0;
- _i = c[qd >> 2] | 0;
- _h = c[rd >> 2] | 0;
- Qh = c[sd >> 2] | 0;
- Ph = c[td >> 2] | 0;
- Zi = c[ud >> 2] | 0;
- Zh = c[vd >> 2] | 0;
- c[mb >> 2] = c[nd >> 2];
- c[nb >> 2] = Uh;
- c[ob >> 2] = aj;
- c[pb >> 2] = _i;
- c[qb >> 2] = _h;
- c[rb >> 2] = Qh;
- c[sb >> 2] = Ph;
- c[tb >> 2] = Zi;
- c[ub >> 2] = Zh;
- c[vb >> 2] = 4;
- if (
- (c[((c[nb >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- Aj =
- c[((c[nb >> 2] | 0) + 20) >> 2] | 0;
- else Aj = 4095;
- c[wb >> 2] = Aj;
- c[xb >> 2] =
- c[((c[mb >> 2] | 0) + 4) >> 2];
- c[yb >> 2] =
- (c[ob >> 2] | 0) - (c[xb >> 2] | 0);
- c[zb >> 2] =
- c[((c[nb >> 2] | 0) + 8) >> 2];
- c[Ab >> 2] =
- (c[vb >> 2] | 0) == 3 ? 3 : 4;
- c[Bb >> 2] =
- c[((c[mb >> 2] | 0) + 36) >> 2];
- c[Cb >> 2] =
- Sj(
- c[ob >> 2] | 0,
- c[zb >> 2] | 0,
- c[vb >> 2] | 0
- ) | 0;
- c[Db >> 2] =
- c[
- ((c[Bb >> 2] | 0) +
- (c[Cb >> 2] << 2)) >>
- 2
- ];
- c[Eb >> 2] =
- c[((c[mb >> 2] | 0) + 44) >> 2];
- c[Fb >> 2] =
- (c[((c[nb >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Gb >> 2] = (1 << c[Fb >> 2]) - 1;
- c[Hb >> 2] = 0;
- c[Ib >> 2] = 0;
- c[Jb >> 2] =
- c[((c[mb >> 2] | 0) + 8) >> 2];
- c[Kb >> 2] =
- c[((c[mb >> 2] | 0) + 12) >> 2];
- c[Lb >> 2] =
- (c[Jb >> 2] | 0) + (c[Kb >> 2] | 0);
- c[Mb >> 2] =
- (c[xb >> 2] | 0) + (c[Kb >> 2] | 0);
- if (
- (c[Gb >> 2] | 0) >>> 0 >=
- (c[yb >> 2] | 0) >>> 0
- )
- Bj = 0;
- else
- Bj =
- ((c[yb >> 2] | 0) -
- (c[Gb >> 2] | 0)) |
- 0;
- c[Nb >> 2] = Bj;
- c[Ob >> 2] =
- c[((c[mb >> 2] | 0) + 16) >> 2];
- c[Pb >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[yb >> 2] & c[Gb >> 2]) << 1) << 2);
- c[Qb >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[yb >> 2] & c[Gb >> 2]) << 1) <<
- 2) +
- 4;
- c[Rb >> 2] = (c[yb >> 2] | 0) + 8 + 1;
- c[Tb >> 2] = 0;
- c[Ub >> 2] =
- 1 << c[((c[nb >> 2] | 0) + 12) >> 2];
- c[Vb >> 2] = (c[ub >> 2] | 0) - 1;
- c[Wb >> 2] = 3 + (c[sb >> 2] | 0);
- c[Xb >> 2] = c[sb >> 2];
- while (1) {
- if (
- (c[Xb >> 2] | 0) >>> 0 >=
- (c[Wb >> 2] | 0) >>> 0
- ) {
- dj = 340;
- break;
- }
- Zh = c[rb >> 2] | 0;
- if ((c[Xb >> 2] | 0) == 3)
- Cj = ((c[Zh >> 2] | 0) - 1) | 0;
- else
- Cj =
- c[(Zh + (c[Xb >> 2] << 2)) >> 2] |
- 0;
- c[Yb >> 2] = Cj;
- c[Zb >> 2] =
- (c[yb >> 2] | 0) - (c[Yb >> 2] | 0);
- c[_b >> 2] = 0;
- do {
- if (
- (((c[Yb >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[yb >> 2] | 0) -
- (c[Kb >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Zh =
- mm(
- c[ob >> 2] | 0,
- c[Ab >> 2] | 0
- ) | 0;
- if (
- (Zh | 0) !=
- (mm(
- ((c[ob >> 2] | 0) +
- (0 - (c[Yb >> 2] | 0))) |
- 0,
- c[Ab >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Tj(
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0) +
- (0 - (c[Yb >> 2] | 0))) |
- 0,
- c[pb >> 2] | 0
- ) | 0;
- c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
- } else {
- c[$b >> 2] =
- (c[Jb >> 2] | 0) +
- (c[Zb >> 2] | 0);
- if (!(c[qb >> 2] | 0)) break;
- if (
- !(
- ((((c[Kb >> 2] | 0) -
- 1 -
- (c[Zb >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[Yb >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[yb >> 2] | 0) -
- (c[Ob >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Zh =
- mm(
- c[ob >> 2] | 0,
- c[Ab >> 2] | 0
- ) | 0;
- if (
- (Zh | 0) !=
- (mm(
- c[$b >> 2] | 0,
- c[Ab >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Uj(
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- ((c[$b >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
- }
- } while (0);
- if (
- (c[_b >> 2] | 0) >>> 0 >
- (c[Vb >> 2] | 0) >>> 0
- ? ((c[Vb >> 2] = c[_b >> 2]),
- (c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3)) >>
- 2
- ] =
- (c[Xb >> 2] | 0) -
- (c[sb >> 2] | 0)),
- (c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3) +
- 4) >>
- 2
- ] = c[_b >> 2]),
- (c[Tb >> 2] =
- (c[Tb >> 2] | 0) + 1),
- ((c[_b >> 2] | 0) >>> 0 >
- (c[wb >> 2] | 0) >>> 0
- ? 1
- : (((c[ob >> 2] | 0) +
- (c[_b >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 338;
- break;
- }
- c[Xb >> 2] = (c[Xb >> 2] | 0) + 1;
- }
- h: do {
- if ((dj | 0) == 338) {
- dj = 0;
- c[lb >> 2] = c[Tb >> 2];
- } else if ((dj | 0) == 340) {
- dj = 0;
- do {
- if ((c[vb >> 2] | 0) == 3) {
- if (
- (c[Vb >> 2] | 0) >>> 0 >=
- (c[vb >> 2] | 0) >>> 0
- )
- break;
- c[ac >> 2] =
- nm(
- c[mb >> 2] | 0,
- c[ob >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[ac >> 2] | 0) >>> 0 >
- (c[Ob >> 2] | 0) >>> 0
- ? (((c[yb >> 2] | 0) -
- (c[ac >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[qb >> 2] | 0) {
- if (
- (c[ac >> 2] | 0) >>> 0 >=
- (c[Kb >> 2] | 0) >>> 0
- ) {
- dj = 345;
- break;
- }
- c[dc >> 2] =
- (c[Jb >> 2] | 0) +
- (c[ac >> 2] | 0);
- c[bc >> 2] =
- Uj(
- c[ob >> 2] | 0,
- c[dc >> 2] | 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- } else dj = 345;
- } while (0);
- if ((dj | 0) == 345) {
- dj = 0;
- c[cc >> 2] =
- (c[xb >> 2] | 0) +
- (c[ac >> 2] | 0);
- c[bc >> 2] =
- Tj(
- c[ob >> 2] | 0,
- c[cc >> 2] | 0,
- c[pb >> 2] | 0
- ) | 0;
- }
- if (
- (c[bc >> 2] | 0) >>> 0 <
- (c[vb >> 2] | 0) >>> 0
- )
- break;
- c[Vb >> 2] = c[bc >> 2];
- c[c[tb >> 2] >> 2] =
- (c[yb >> 2] | 0) -
- (c[ac >> 2] | 0) +
- 2;
- c[((c[tb >> 2] | 0) + 4) >> 2] =
- c[bc >> 2];
- c[Tb >> 2] = 1;
- if (
- !(
- ((c[bc >> 2] | 0) >>> 0 >
- (c[wb >> 2] | 0) >>> 0
- ? 1
- : (((c[ob >> 2] | 0) +
- (c[bc >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[mb >> 2] | 0) + 24) >> 2] =
- (c[yb >> 2] | 0) + 1;
- c[lb >> 2] = 1;
- break h;
- }
- } while (0);
- c[
- ((c[Bb >> 2] | 0) +
- (c[Cb >> 2] << 2)) >>
- 2
- ] = c[yb >> 2];
- while (1) {
- Zh = c[Ub >> 2] | 0;
- c[Ub >> 2] = Zh + -1;
- if (!Zh) break;
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Ob >> 2] | 0) >>> 0
- )
- break;
- c[ec >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[Db >> 2] & c[Gb >> 2]) <<
- 1) <<
- 2);
- c[fc >> 2] =
- (c[Hb >> 2] | 0) >>> 0 <
- (c[Ib >> 2] | 0) >>> 0
- ? c[Hb >> 2] | 0
- : c[Ib >> 2] | 0;
- do {
- if (c[qb >> 2] | 0) {
- if (
- (((c[Db >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Kb >> 2] | 0) >>> 0
- ) {
- dj = 355;
- break;
- }
- c[gc >> 2] =
- (c[Jb >> 2] | 0) +
- (c[Db >> 2] | 0);
- Zh =
- Uj(
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- c[fc >> 2] =
- (c[fc >> 2] | 0) + Zh;
- if (
- (((c[Db >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Kb >> 2] | 0) >>> 0
- )
- break;
- c[gc >> 2] =
- (c[xb >> 2] | 0) +
- (c[Db >> 2] | 0);
- } else dj = 355;
- } while (0);
- if ((dj | 0) == 355) {
- dj = 0;
- c[gc >> 2] =
- (c[xb >> 2] | 0) +
- (c[Db >> 2] | 0);
- Zh =
- Tj(
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0
- ) | 0;
- c[fc >> 2] =
- (c[fc >> 2] | 0) + Zh;
- }
- if (
- (c[fc >> 2] | 0) >>> 0 >
- (c[Vb >> 2] | 0) >>> 0
- ) {
- if (
- (c[fc >> 2] | 0) >>> 0 >
- (((c[Rb >> 2] | 0) -
- (c[Db >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Rb >> 2] =
- (c[Db >> 2] | 0) +
- (c[fc >> 2] | 0);
- c[Vb >> 2] = c[fc >> 2];
- c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3)) >>
- 2
- ] =
- (c[yb >> 2] | 0) -
- (c[Db >> 2] | 0) +
- 2;
- c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3) +
- 4) >>
- 2
- ] = c[fc >> 2];
- c[Tb >> 2] = (c[Tb >> 2] | 0) + 1;
- if ((c[fc >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)
- )
- break;
- }
- Zh = c[Db >> 2] | 0;
- if (
- (d[
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Pb >> 2] >> 2] = Zh;
- c[Hb >> 2] = c[fc >> 2];
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Nb >> 2] | 0) >>> 0
- ) {
- dj = 365;
- break;
- }
- c[Pb >> 2] = (c[ec >> 2] | 0) + 4;
- c[Db >> 2] =
- c[((c[ec >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Qb >> 2] >> 2] = Zh;
- c[Ib >> 2] = c[fc >> 2];
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Nb >> 2] | 0) >>> 0
- ) {
- dj = 368;
- break;
- }
- c[Qb >> 2] = c[ec >> 2];
- c[Db >> 2] = c[c[ec >> 2] >> 2];
- }
- }
- if ((dj | 0) == 365) {
- dj = 0;
- c[Pb >> 2] = Sb;
- } else if ((dj | 0) == 368) {
- dj = 0;
- c[Qb >> 2] = Sb;
- }
- c[c[Qb >> 2] >> 2] = 0;
- c[c[Pb >> 2] >> 2] = 0;
- c[((c[mb >> 2] | 0) + 24) >> 2] =
- (c[Rb >> 2] | 0) - 8;
- c[lb >> 2] = c[Tb >> 2];
- }
- } while (0);
- c[md >> 2] = c[lb >> 2];
- break d;
- }
- }
- }
- } while (0);
- c[Bi >> 2] = c[md >> 2];
- if (c[Bi >> 2] | 0) {
- c[Di >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[Bi >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ];
- if (
- ((c[Di >> 2] | 0) >>> 0 >
- (c[$h >> 2] | 0) >>> 0
- ? 1
- : (((c[ei >> 2] | 0) + (c[Di >> 2] | 0)) |
- 0) >>>
- 0 >=
- 4096) | 0
- ) {
- dj = 481;
- break b;
- }
- c[Ci >> 2] = 0;
- while (1) {
- if (
- (c[Ci >> 2] | 0) >>> 0 >=
- (c[Bi >> 2] | 0) >>> 0
- )
- break c;
- c[Ei >> 2] =
- c[
- ((c[ci >> 2] | 0) + (c[Ci >> 2] << 3)) >>
- 2
- ];
- pm(
- Fi,
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0,
- c[Ei >> 2] | 0,
- c[xi >> 2] | 0
- );
- c[Gi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (c[Ci >> 2] << 3) +
- 4) >>
- 2
- ];
- if ((c[Ci >> 2] | 0) >>> 0 > 0)
- Dj =
- ((c[
- ((c[ci >> 2] | 0) +
- (((c[Ci >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ] |
- 0) +
- 1) |
- 0;
- else Dj = c[ai >> 2] | 0;
- c[Hi >> 2] = Dj;
- c[Ii >> 2] = c[Gi >> 2];
- i: while (1) {
- if (
- (c[Ii >> 2] | 0) >>> 0 <
- (c[Hi >> 2] | 0) >>> 0
- )
- break;
- c[Ji >> 2] =
- (c[ei >> 2] | 0) + (c[Ii >> 2] | 0);
- Zh = c[Ai >> 2] | 0;
- Zi = c[Ii >> 2] | 0;
- Ph = c[Th >> 2] | 0;
- Qh = c[Rh >> 2] | 0;
- c[k >> 2] = c[Ei >> 2];
- c[m >> 2] = Zi;
- c[n >> 2] = Ph;
- c[o >> 2] = Qh;
- c[q >> 2] =
- qm(((c[k >> 2] | 0) + 1) | 0) | 0;
- c[r >> 2] = (c[m >> 2] | 0) - 3;
- if (c[((c[n >> 2] | 0) + 56) >> 2] | 0) {
- Qh =
- ((qm(((c[r >> 2] | 0) + 1) | 0) | 0) +
- 16) |
- 0;
- c[j >> 2] = Qh + (c[q >> 2] | 0);
- } else {
- Qh =
- ((c[q >> 2] | 0) +
- (c[((c[n >> 2] | 0) + 52) >> 2] |
- 0)) |
- 0;
- c[p >> 2] =
- Qh -
- (qm(
- ((c[
- ((c[((c[n >> 2] | 0) + 12) >> 2] |
- 0) +
- (c[q >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- if (
- ((c[o >> 2] | 0) < 2) &
- ((c[q >> 2] | 0) >>> 0 >= 20)
- )
- c[p >> 2] =
- (c[p >> 2] | 0) +
- (((c[q >> 2] | 0) - 19) << 1);
- c[s >> 2] = rm(c[r >> 2] | 0) | 0;
- Qh =
- ((c[(5840 + (c[s >> 2] << 2)) >> 2] |
- 0) +
- (c[((c[n >> 2] | 0) + 48) >> 2] |
- 0)) |
- 0;
- Ph =
- (Qh -
- (qm(
- ((c[
- ((c[((c[n >> 2] | 0) + 8) >> 2] |
- 0) +
- (c[s >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0)) |
- 0;
- c[p >> 2] = (c[p >> 2] | 0) + Ph;
- c[j >> 2] = c[p >> 2];
- }
- c[Ki >> 2] = Zh + (c[j >> 2] | 0);
- do {
- if (
- (c[Ji >> 2] | 0) >>> 0 <=
- (c[fi >> 2] | 0) >>> 0
- ) {
- if (
- (c[Ki >> 2] | 0) <
- (c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- ) {
- dj = 496;
- break;
- }
- if (!(c[Rh >> 2] | 0)) break i;
- } else dj = 496;
- } while (0);
- if ((dj | 0) == 496) {
- dj = 0;
- while (1) {
- if (
- (c[fi >> 2] | 0) >>> 0 >=
- (c[Ji >> 2] | 0) >>> 0
- )
- break;
- c[
- ((c[bi >> 2] | 0) +
- (((((c[fi >> 2] | 0) + 1) | 0) *
- 28) |
- 0)) >>
- 2
- ] = 1073741824;
- c[fi >> 2] = (c[fi >> 2] | 0) + 1;
- }
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[Ii >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[Ei >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[yi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[Ki >> 2];
- Zh =
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- c[Zh >> 2] = c[Fi >> 2];
- c[(Zh + 4) >> 2] = c[(Fi + 4) >> 2];
- c[(Zh + 8) >> 2] = c[(Fi + 8) >> 2];
- }
- c[Ii >> 2] = (c[Ii >> 2] | 0) + -1;
- }
- c[Ci >> 2] = (c[Ci >> 2] | 0) + 1;
- }
- }
- }
- } while (0);
- c[ei >> 2] = (c[ei >> 2] | 0) + 1;
- }
- if ((dj | 0) == 481) {
- dj = 0;
- c[gi >> 2] = c[Di >> 2];
- c[hi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[Bi >> 2] | 0) - 1) << 3)) >>
- 2
- ];
- c[fi >> 2] = (c[ei >> 2] | 0) + 1;
- break;
- } else if ((dj | 0) == 504) {
- dj = 0;
- c[gi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[fi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[hi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[fi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- c[ei >> 2] = (c[fi >> 2] | 0) - (c[gi >> 2] | 0);
- break;
- }
- } else {
- c[gi >> 2] = c[mi >> 2];
- c[hi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[ki >> 2] | 0) - 1) << 3)) >>
- 2
- ];
- c[ei >> 2] = 0;
- c[fi >> 2] = 1;
- }
- } while (0);
- c[Li >> 2] = c[gi >> 2];
- c[Mi >> 2] = c[hi >> 2];
- c[Ni >> 2] = c[ei >> 2];
- while (1) {
- c[Oi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[Pi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[Li >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[Mi >> 2];
- c[Li >> 2] = c[Oi >> 2];
- c[Mi >> 2] = c[Pi >> 2];
- if ((c[Oi >> 2] | 0) >>> 0 > (c[Ni >> 2] | 0) >>> 0)
- break;
- c[Ni >> 2] = (c[Ni >> 2] | 0) - (c[Oi >> 2] | 0);
- }
- c[Qi >> 2] = 0;
- while (1) {
- if ((c[Qi >> 2] | 0) >>> 0 >= (c[fi >> 2] | 0) >>> 0)
- break;
- c[Ri >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
- c[Si >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Qi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[Ti >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Qi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- if ((c[Si >> 2] | 0) == 1) {
- c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
- c[Qi >> 2] = (c[Qi >> 2] | 0) + 1;
- continue;
- }
- c[Qi >> 2] = (c[Qi >> 2] | 0) + (c[Si >> 2] | 0);
- c[Vh >> 2] = (c[Vh >> 2] | 0) + (c[Si >> 2] | 0);
- if ((c[Ti >> 2] | 0) >>> 0 < 3) {
- c[Ui >> 2] =
- (c[Ti >> 2] | 0) + (((c[Ri >> 2] | 0) == 0) & 1);
- if (c[Ui >> 2] | 0) {
- Zh = c[Nh >> 2] | 0;
- if ((c[Ui >> 2] | 0) == 3)
- Ej = ((c[Zh >> 2] | 0) - 1) | 0;
- else Ej = c[(Zh + (c[Ui >> 2] << 2)) >> 2] | 0;
- c[Vi >> 2] = Ej;
- if ((c[Ui >> 2] | 0) >>> 0 >= 2)
- c[((c[Nh >> 2] | 0) + 8) >> 2] =
- c[((c[Nh >> 2] | 0) + 4) >> 2];
- c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
- c[c[Nh >> 2] >> 2] = c[Vi >> 2];
- }
- } else {
- c[((c[Nh >> 2] | 0) + 8) >> 2] =
- c[((c[Nh >> 2] | 0) + 4) >> 2];
- c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
- c[c[Nh >> 2] >> 2] = (c[Ti >> 2] | 0) - 2;
- }
- vm(
- c[Th >> 2] | 0,
- c[Ri >> 2] | 0,
- c[Wh >> 2] | 0,
- c[Ti >> 2] | 0,
- c[Si >> 2] | 0
- );
- wm(
- c[Mh >> 2] | 0,
- c[Ri >> 2] | 0,
- c[Wh >> 2] | 0,
- c[Ti >> 2] | 0,
- ((c[Si >> 2] | 0) - 3) | 0
- );
- c[Wh >> 2] = c[Vh >> 2];
- }
- xm(c[Th >> 2] | 0);
- }
- l = i;
- return ((c[Xh >> 2] | 0) - (c[Wh >> 2] | 0)) | 0;
- }
- function cm(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0,
- za = 0,
- Aa = 0,
- Ba = 0,
- Ca = 0,
- Da = 0,
- Ea = 0,
- Fa = 0,
- Ga = 0,
- Ha = 0,
- Ia = 0,
- Ja = 0,
- Ka = 0,
- La = 0,
- Ma = 0,
- Na = 0,
- Oa = 0,
- Pa = 0,
- Qa = 0,
- Ra = 0,
- Sa = 0,
- Ta = 0,
- Ua = 0,
- Va = 0,
- Wa = 0,
- Xa = 0,
- Ya = 0,
- Za = 0,
- _a = 0,
- $a = 0,
- ab = 0,
- bb = 0,
- cb = 0,
- db = 0,
- eb = 0,
- fb = 0,
- gb = 0,
- hb = 0,
- ib = 0,
- jb = 0,
- kb = 0,
- lb = 0,
- mb = 0,
- nb = 0,
- ob = 0,
- pb = 0,
- qb = 0,
- rb = 0,
- sb = 0,
- tb = 0,
- ub = 0,
- vb = 0,
- wb = 0,
- xb = 0,
- yb = 0,
- zb = 0,
- Ab = 0,
- Bb = 0,
- Cb = 0,
- Db = 0,
- Eb = 0,
- Fb = 0,
- Gb = 0,
- Hb = 0,
- Ib = 0,
- Jb = 0,
- Kb = 0,
- Lb = 0,
- Mb = 0,
- Nb = 0,
- Ob = 0,
- Pb = 0,
- Qb = 0,
- Rb = 0,
- Sb = 0,
- Tb = 0,
- Ub = 0,
- Vb = 0,
- Wb = 0,
- Xb = 0,
- Yb = 0,
- Zb = 0,
- _b = 0,
- $b = 0,
- ac = 0,
- bc = 0,
- cc = 0,
- dc = 0,
- ec = 0,
- fc = 0,
- gc = 0,
- hc = 0,
- ic = 0,
- jc = 0,
- kc = 0,
- lc = 0,
- mc = 0,
- nc = 0,
- oc = 0,
- pc = 0,
- qc = 0,
- rc = 0,
- sc = 0,
- tc = 0,
- uc = 0,
- vc = 0,
- wc = 0,
- xc = 0,
- yc = 0,
- zc = 0,
- Ac = 0,
- Bc = 0,
- Cc = 0,
- Dc = 0,
- Ec = 0,
- Fc = 0,
- Gc = 0,
- Hc = 0,
- Ic = 0,
- Jc = 0,
- Kc = 0,
- Lc = 0,
- Mc = 0,
- Nc = 0,
- Oc = 0,
- Pc = 0,
- Qc = 0,
- Rc = 0,
- Sc = 0,
- Tc = 0,
- Uc = 0,
- Vc = 0,
- Wc = 0,
- Xc = 0,
- Yc = 0,
- Zc = 0,
- _c = 0,
- $c = 0,
- ad = 0,
- bd = 0,
- cd = 0,
- dd = 0,
- ed = 0,
- fd = 0,
- gd = 0,
- hd = 0,
- id = 0,
- jd = 0,
- kd = 0,
- ld = 0,
- md = 0,
- nd = 0,
- od = 0,
- pd = 0,
- qd = 0,
- rd = 0,
- sd = 0,
- td = 0,
- ud = 0,
- vd = 0,
- wd = 0,
- xd = 0,
- yd = 0,
- zd = 0,
- Ad = 0,
- Bd = 0,
- Cd = 0,
- Dd = 0,
- Ed = 0,
- Fd = 0,
- Gd = 0,
- Hd = 0,
- Id = 0,
- Jd = 0,
- Kd = 0,
- Ld = 0,
- Md = 0,
- Nd = 0,
- Od = 0,
- Pd = 0,
- Qd = 0,
- Rd = 0,
- Sd = 0,
- Td = 0,
- Ud = 0,
- Vd = 0,
- Wd = 0,
- Xd = 0,
- Yd = 0,
- Zd = 0,
- _d = 0,
- $d = 0,
- ae = 0,
- be = 0,
- ce = 0,
- de = 0,
- ee = 0,
- fe = 0,
- ge = 0,
- he = 0,
- ie = 0,
- je = 0,
- ke = 0,
- le = 0,
- me = 0,
- ne = 0,
- oe = 0,
- pe = 0,
- qe = 0,
- re = 0,
- se = 0,
- te = 0,
- ue = 0,
- ve = 0,
- we = 0,
- xe = 0,
- ye = 0,
- ze = 0,
- Ae = 0,
- Be = 0,
- Ce = 0,
- De = 0,
- Ee = 0,
- Fe = 0,
- Ge = 0,
- He = 0,
- Ie = 0,
- Je = 0,
- Ke = 0,
- Le = 0,
- Me = 0,
- Ne = 0,
- Oe = 0,
- Pe = 0,
- Qe = 0,
- Re = 0,
- Se = 0,
- Te = 0,
- Ue = 0,
- Ve = 0,
- We = 0,
- Xe = 0,
- Ye = 0,
- Ze = 0,
- _e = 0,
- $e = 0,
- af = 0,
- bf = 0,
- cf = 0,
- df = 0,
- ef = 0,
- ff = 0,
- gf = 0,
- hf = 0,
- jf = 0,
- kf = 0,
- lf = 0,
- mf = 0,
- nf = 0,
- of = 0,
- pf = 0,
- qf = 0,
- rf = 0,
- sf = 0,
- tf = 0,
- uf = 0,
- vf = 0,
- wf = 0,
- xf = 0,
- yf = 0,
- zf = 0,
- Af = 0,
- Bf = 0,
- Cf = 0,
- Df = 0,
- Ef = 0,
- Ff = 0,
- Gf = 0,
- Hf = 0,
- If = 0,
- Jf = 0,
- Kf = 0,
- Lf = 0,
- Mf = 0,
- Nf = 0,
- Of = 0,
- Pf = 0,
- Qf = 0,
- Rf = 0,
- Sf = 0,
- Tf = 0,
- Uf = 0,
- Vf = 0,
- Wf = 0,
- Xf = 0,
- Yf = 0,
- Zf = 0,
- _f = 0,
- $f = 0,
- ag = 0,
- bg = 0,
- cg = 0,
- dg = 0,
- eg = 0,
- fg = 0,
- gg = 0,
- hg = 0,
- ig = 0,
- jg = 0,
- kg = 0,
- lg = 0,
- mg = 0,
- ng = 0,
- og = 0,
- pg = 0,
- qg = 0,
- rg = 0,
- sg = 0,
- tg = 0,
- ug = 0,
- vg = 0,
- wg = 0,
- xg = 0,
- yg = 0,
- zg = 0,
- Ag = 0,
- Bg = 0,
- Cg = 0,
- Dg = 0,
- Eg = 0,
- Fg = 0,
- Gg = 0,
- Hg = 0,
- Ig = 0,
- Jg = 0,
- Kg = 0,
- Lg = 0,
- Mg = 0,
- Ng = 0,
- Og = 0,
- Pg = 0,
- Qg = 0,
- Rg = 0,
- Sg = 0,
- Tg = 0,
- Ug = 0,
- Vg = 0,
- Wg = 0,
- Xg = 0,
- Yg = 0,
- Zg = 0,
- _g = 0,
- $g = 0,
- ah = 0,
- bh = 0,
- ch = 0,
- dh = 0,
- eh = 0,
- fh = 0,
- gh = 0,
- hh = 0,
- ih = 0,
- jh = 0,
- kh = 0,
- lh = 0,
- mh = 0,
- nh = 0,
- oh = 0,
- ph = 0,
- qh = 0,
- rh = 0,
- sh = 0,
- th = 0,
- uh = 0,
- vh = 0,
- wh = 0,
- xh = 0,
- yh = 0,
- zh = 0,
- Ah = 0,
- Bh = 0,
- Ch = 0,
- Dh = 0,
- Eh = 0,
- Fh = 0,
- Gh = 0,
- Hh = 0,
- Ih = 0,
- Jh = 0,
- Kh = 0,
- Lh = 0,
- Mh = 0,
- Nh = 0,
- Oh = 0,
- Ph = 0,
- Qh = 0,
- Rh = 0,
- Sh = 0,
- Th = 0,
- Uh = 0,
- Vh = 0,
- Wh = 0,
- Xh = 0,
- Yh = 0,
- Zh = 0,
- _h = 0,
- $h = 0,
- ai = 0,
- bi = 0,
- ci = 0,
- di = 0,
- ei = 0,
- fi = 0,
- gi = 0,
- hi = 0,
- ii = 0,
- ji = 0,
- ki = 0,
- li = 0,
- mi = 0,
- ni = 0,
- oi = 0,
- pi = 0,
- qi = 0,
- ri = 0,
- si = 0,
- ti = 0,
- ui = 0,
- vi = 0,
- wi = 0,
- xi = 0,
- yi = 0,
- zi = 0,
- Ai = 0,
- Bi = 0,
- Ci = 0,
- Di = 0,
- Ei = 0,
- Fi = 0,
- Gi = 0,
- Hi = 0,
- Ii = 0,
- Ji = 0,
- Ki = 0,
- Li = 0,
- Mi = 0,
- Ni = 0,
- Oi = 0,
- Pi = 0,
- Qi = 0,
- Ri = 0,
- Si = 0,
- Ti = 0,
- Ui = 0,
- Vi = 0,
- Wi = 0,
- Xi = 0,
- Yi = 0,
- Zi = 0,
- _i = 0,
- $i = 0,
- aj = 0,
- bj = 0,
- cj = 0,
- dj = 0,
- ej = 0,
- fj = 0,
- gj = 0,
- hj = 0,
- ij = 0,
- jj = 0,
- kj = 0,
- lj = 0,
- mj = 0,
- nj = 0,
- oj = 0,
- pj = 0,
- qj = 0,
- rj = 0,
- sj = 0,
- tj = 0,
- uj = 0,
- vj = 0,
- wj = 0,
- xj = 0,
- yj = 0,
- zj = 0,
- Aj = 0,
- Bj = 0,
- Cj = 0,
- Dj = 0,
- Ej = 0;
- i = l;
- l = (l + 2144) | 0;
- j = (i + 2136) | 0;
- k = (i + 2132) | 0;
- m = (i + 2128) | 0;
- n = (i + 2124) | 0;
- o = (i + 2120) | 0;
- p = (i + 2116) | 0;
- q = (i + 2112) | 0;
- r = (i + 2108) | 0;
- s = (i + 2104) | 0;
- t = (i + 2100) | 0;
- u = (i + 2096) | 0;
- v = (i + 2092) | 0;
- w = (i + 2088) | 0;
- x = (i + 2084) | 0;
- y = (i + 2080) | 0;
- z = (i + 2076) | 0;
- A = (i + 2072) | 0;
- B = (i + 2068) | 0;
- C = (i + 2064) | 0;
- D = (i + 2060) | 0;
- E = (i + 2056) | 0;
- F = (i + 2052) | 0;
- G = (i + 2048) | 0;
- H = (i + 2044) | 0;
- I = (i + 2040) | 0;
- J = (i + 2036) | 0;
- K = (i + 2032) | 0;
- L = (i + 2028) | 0;
- M = (i + 2024) | 0;
- N = (i + 2020) | 0;
- O = (i + 2016) | 0;
- P = (i + 2012) | 0;
- Q = (i + 2008) | 0;
- R = (i + 2004) | 0;
- S = (i + 2e3) | 0;
- T = (i + 1996) | 0;
- U = (i + 1992) | 0;
- V = (i + 1988) | 0;
- W = (i + 1984) | 0;
- X = (i + 1980) | 0;
- Y = (i + 1976) | 0;
- Z = (i + 1972) | 0;
- _ = (i + 1968) | 0;
- $ = (i + 1964) | 0;
- aa = (i + 1960) | 0;
- ba = (i + 1956) | 0;
- ca = (i + 1952) | 0;
- da = (i + 1948) | 0;
- ea = (i + 1944) | 0;
- fa = (i + 1940) | 0;
- ga = (i + 1936) | 0;
- ha = (i + 1932) | 0;
- ia = (i + 1928) | 0;
- ja = (i + 1924) | 0;
- ka = (i + 1920) | 0;
- la = (i + 1916) | 0;
- ma = (i + 1912) | 0;
- na = (i + 1908) | 0;
- oa = (i + 1904) | 0;
- pa = (i + 1900) | 0;
- qa = (i + 1896) | 0;
- ra = (i + 1892) | 0;
- sa = (i + 1888) | 0;
- ta = (i + 1884) | 0;
- ua = (i + 1880) | 0;
- va = (i + 1876) | 0;
- wa = (i + 1872) | 0;
- xa = (i + 1868) | 0;
- ya = (i + 1864) | 0;
- za = (i + 1860) | 0;
- Aa = (i + 1856) | 0;
- Ba = (i + 1852) | 0;
- Ca = (i + 1848) | 0;
- Da = (i + 1844) | 0;
- Ea = (i + 1840) | 0;
- Fa = (i + 1836) | 0;
- Ga = (i + 1832) | 0;
- Ha = (i + 1828) | 0;
- Ia = (i + 1824) | 0;
- Ja = (i + 1820) | 0;
- Ka = (i + 1816) | 0;
- La = (i + 1812) | 0;
- Ma = (i + 1808) | 0;
- Na = (i + 1804) | 0;
- Oa = (i + 1800) | 0;
- Pa = (i + 1796) | 0;
- Qa = (i + 1792) | 0;
- Ra = (i + 1788) | 0;
- Sa = (i + 1784) | 0;
- Ta = (i + 1780) | 0;
- Ua = (i + 1776) | 0;
- Va = (i + 1772) | 0;
- Wa = (i + 1768) | 0;
- Xa = (i + 1764) | 0;
- Ya = (i + 1760) | 0;
- Za = (i + 1756) | 0;
- _a = (i + 1752) | 0;
- $a = (i + 1748) | 0;
- ab = (i + 1744) | 0;
- bb = (i + 1740) | 0;
- cb = (i + 1736) | 0;
- db = (i + 1732) | 0;
- eb = (i + 1728) | 0;
- fb = (i + 1724) | 0;
- gb = (i + 1720) | 0;
- hb = (i + 1716) | 0;
- ib = (i + 1712) | 0;
- jb = (i + 1708) | 0;
- kb = (i + 1704) | 0;
- lb = (i + 1700) | 0;
- mb = (i + 1696) | 0;
- nb = (i + 1692) | 0;
- ob = (i + 1688) | 0;
- pb = (i + 1684) | 0;
- qb = (i + 1680) | 0;
- rb = (i + 1676) | 0;
- sb = (i + 1672) | 0;
- tb = (i + 1668) | 0;
- ub = (i + 1664) | 0;
- vb = (i + 1660) | 0;
- wb = (i + 1656) | 0;
- xb = (i + 1652) | 0;
- yb = (i + 1648) | 0;
- zb = (i + 1644) | 0;
- Ab = (i + 1640) | 0;
- Bb = (i + 1636) | 0;
- Cb = (i + 1632) | 0;
- Db = (i + 1628) | 0;
- Eb = (i + 1624) | 0;
- Fb = (i + 1620) | 0;
- Gb = (i + 1616) | 0;
- Hb = (i + 1612) | 0;
- Ib = (i + 1608) | 0;
- Jb = (i + 1604) | 0;
- Kb = (i + 1600) | 0;
- Lb = (i + 1596) | 0;
- Mb = (i + 1592) | 0;
- Nb = (i + 1588) | 0;
- Ob = (i + 1584) | 0;
- Pb = (i + 1580) | 0;
- Qb = (i + 1576) | 0;
- Rb = (i + 1572) | 0;
- Sb = (i + 1568) | 0;
- Tb = (i + 1564) | 0;
- Ub = (i + 1560) | 0;
- Vb = (i + 1556) | 0;
- Wb = (i + 1552) | 0;
- Xb = (i + 1548) | 0;
- Yb = (i + 1544) | 0;
- Zb = (i + 1540) | 0;
- _b = (i + 1536) | 0;
- $b = (i + 1532) | 0;
- ac = (i + 1528) | 0;
- bc = (i + 1524) | 0;
- cc = (i + 1520) | 0;
- dc = (i + 1516) | 0;
- ec = (i + 1512) | 0;
- fc = (i + 1508) | 0;
- gc = (i + 1504) | 0;
- hc = (i + 1500) | 0;
- ic = (i + 1496) | 0;
- jc = (i + 1492) | 0;
- kc = (i + 1488) | 0;
- lc = (i + 1484) | 0;
- mc = (i + 1480) | 0;
- nc = (i + 1476) | 0;
- oc = (i + 1472) | 0;
- pc = (i + 1468) | 0;
- qc = (i + 1464) | 0;
- rc = (i + 1460) | 0;
- sc = (i + 1456) | 0;
- tc = (i + 1452) | 0;
- uc = (i + 1448) | 0;
- vc = (i + 1444) | 0;
- wc = (i + 1440) | 0;
- xc = (i + 1436) | 0;
- yc = (i + 1432) | 0;
- zc = (i + 1428) | 0;
- Ac = (i + 1424) | 0;
- Bc = (i + 1420) | 0;
- Cc = (i + 1416) | 0;
- Dc = (i + 1412) | 0;
- Ec = (i + 1408) | 0;
- Fc = (i + 1404) | 0;
- Gc = (i + 1400) | 0;
- Hc = (i + 1396) | 0;
- Ic = (i + 1392) | 0;
- Jc = (i + 1388) | 0;
- Kc = (i + 1384) | 0;
- Lc = (i + 1380) | 0;
- Mc = (i + 1376) | 0;
- Nc = (i + 1372) | 0;
- Oc = (i + 1368) | 0;
- Pc = (i + 1364) | 0;
- Qc = (i + 1360) | 0;
- Rc = (i + 1356) | 0;
- Sc = (i + 1352) | 0;
- Tc = (i + 1348) | 0;
- Uc = (i + 1344) | 0;
- Vc = (i + 1340) | 0;
- Wc = (i + 1336) | 0;
- Xc = (i + 1332) | 0;
- Yc = (i + 1328) | 0;
- Zc = (i + 1324) | 0;
- _c = (i + 1320) | 0;
- $c = (i + 1316) | 0;
- ad = (i + 1312) | 0;
- bd = (i + 1308) | 0;
- cd = (i + 1304) | 0;
- dd = (i + 1300) | 0;
- ed = (i + 1296) | 0;
- fd = (i + 1292) | 0;
- gd = (i + 1288) | 0;
- hd = (i + 1284) | 0;
- id = (i + 1280) | 0;
- jd = (i + 1276) | 0;
- kd = (i + 1272) | 0;
- ld = (i + 1268) | 0;
- md = (i + 1264) | 0;
- nd = (i + 1260) | 0;
- od = (i + 1256) | 0;
- pd = (i + 1252) | 0;
- qd = (i + 1248) | 0;
- rd = (i + 1244) | 0;
- sd = (i + 1240) | 0;
- td = (i + 1236) | 0;
- ud = (i + 1232) | 0;
- vd = (i + 1228) | 0;
- wd = (i + 1224) | 0;
- xd = (i + 1220) | 0;
- yd = (i + 1216) | 0;
- zd = (i + 1212) | 0;
- Ad = (i + 1208) | 0;
- Bd = (i + 1204) | 0;
- Cd = (i + 1200) | 0;
- Dd = (i + 1196) | 0;
- Ed = (i + 1192) | 0;
- Fd = (i + 1188) | 0;
- Gd = (i + 1184) | 0;
- Hd = (i + 1180) | 0;
- Id = (i + 1176) | 0;
- Jd = (i + 1172) | 0;
- Kd = (i + 1168) | 0;
- Ld = (i + 1164) | 0;
- Md = (i + 1160) | 0;
- Nd = (i + 1156) | 0;
- Od = (i + 1152) | 0;
- Pd = (i + 1148) | 0;
- Qd = (i + 1144) | 0;
- Rd = (i + 1140) | 0;
- Sd = (i + 1136) | 0;
- Td = (i + 1132) | 0;
- Ud = (i + 1128) | 0;
- Vd = (i + 1124) | 0;
- Wd = (i + 1120) | 0;
- Xd = (i + 1116) | 0;
- Yd = (i + 1112) | 0;
- Zd = (i + 1108) | 0;
- _d = (i + 1104) | 0;
- $d = (i + 1100) | 0;
- ae = (i + 1096) | 0;
- be = (i + 1092) | 0;
- ce = (i + 1088) | 0;
- de = (i + 1084) | 0;
- ee = (i + 1080) | 0;
- fe = (i + 1076) | 0;
- ge = (i + 1072) | 0;
- he = (i + 1068) | 0;
- ie = (i + 1064) | 0;
- je = (i + 1060) | 0;
- ke = (i + 1056) | 0;
- le = (i + 1052) | 0;
- me = (i + 1048) | 0;
- ne = (i + 1044) | 0;
- oe = (i + 1040) | 0;
- pe = (i + 1036) | 0;
- qe = (i + 1032) | 0;
- re = (i + 1028) | 0;
- se = (i + 1024) | 0;
- te = (i + 1020) | 0;
- ue = (i + 1016) | 0;
- ve = (i + 1012) | 0;
- we = (i + 1008) | 0;
- xe = (i + 1004) | 0;
- ye = (i + 1e3) | 0;
- ze = (i + 996) | 0;
- Ae = (i + 992) | 0;
- Be = (i + 988) | 0;
- Ce = (i + 984) | 0;
- De = (i + 980) | 0;
- Ee = (i + 976) | 0;
- Fe = (i + 972) | 0;
- Ge = (i + 968) | 0;
- He = (i + 964) | 0;
- Ie = (i + 960) | 0;
- Je = (i + 956) | 0;
- Ke = (i + 952) | 0;
- Le = (i + 948) | 0;
- Me = (i + 944) | 0;
- Ne = (i + 940) | 0;
- Oe = (i + 936) | 0;
- Pe = (i + 932) | 0;
- Qe = (i + 928) | 0;
- Re = (i + 924) | 0;
- Se = (i + 920) | 0;
- Te = (i + 916) | 0;
- Ue = (i + 912) | 0;
- Ve = (i + 908) | 0;
- We = (i + 904) | 0;
- Xe = (i + 900) | 0;
- Ye = (i + 896) | 0;
- Ze = (i + 892) | 0;
- _e = (i + 888) | 0;
- $e = (i + 884) | 0;
- af = (i + 880) | 0;
- bf = (i + 876) | 0;
- cf = (i + 872) | 0;
- df = (i + 868) | 0;
- ef = (i + 864) | 0;
- ff = (i + 860) | 0;
- gf = (i + 856) | 0;
- hf = (i + 852) | 0;
- jf = (i + 848) | 0;
- kf = (i + 844) | 0;
- lf = (i + 840) | 0;
- mf = (i + 836) | 0;
- nf = (i + 832) | 0;
- of = (i + 828) | 0;
- pf = (i + 824) | 0;
- qf = (i + 820) | 0;
- rf = (i + 816) | 0;
- sf = (i + 812) | 0;
- tf = (i + 808) | 0;
- uf = (i + 804) | 0;
- vf = (i + 800) | 0;
- wf = (i + 796) | 0;
- xf = (i + 792) | 0;
- yf = (i + 788) | 0;
- zf = (i + 784) | 0;
- Af = (i + 780) | 0;
- Bf = (i + 776) | 0;
- Cf = (i + 772) | 0;
- Df = (i + 768) | 0;
- Ef = (i + 764) | 0;
- Ff = (i + 760) | 0;
- Gf = (i + 756) | 0;
- Hf = (i + 752) | 0;
- If = (i + 748) | 0;
- Jf = (i + 744) | 0;
- Kf = (i + 740) | 0;
- Lf = (i + 736) | 0;
- Mf = (i + 732) | 0;
- Nf = (i + 728) | 0;
- Of = (i + 724) | 0;
- Pf = (i + 720) | 0;
- Qf = (i + 716) | 0;
- Rf = (i + 712) | 0;
- Sf = (i + 708) | 0;
- Tf = (i + 704) | 0;
- Uf = (i + 700) | 0;
- Vf = (i + 696) | 0;
- Wf = (i + 692) | 0;
- Xf = (i + 688) | 0;
- Yf = (i + 684) | 0;
- Zf = (i + 680) | 0;
- _f = (i + 676) | 0;
- $f = (i + 672) | 0;
- ag = (i + 668) | 0;
- bg = (i + 664) | 0;
- cg = (i + 660) | 0;
- dg = (i + 656) | 0;
- eg = (i + 652) | 0;
- fg = (i + 648) | 0;
- gg = (i + 644) | 0;
- hg = (i + 640) | 0;
- ig = (i + 636) | 0;
- jg = (i + 632) | 0;
- kg = (i + 628) | 0;
- lg = (i + 624) | 0;
- mg = (i + 620) | 0;
- ng = (i + 616) | 0;
- og = (i + 612) | 0;
- pg = (i + 608) | 0;
- qg = (i + 604) | 0;
- rg = (i + 600) | 0;
- sg = (i + 596) | 0;
- tg = (i + 592) | 0;
- ug = (i + 588) | 0;
- vg = (i + 584) | 0;
- wg = (i + 580) | 0;
- xg = (i + 576) | 0;
- yg = (i + 572) | 0;
- zg = (i + 568) | 0;
- Ag = (i + 564) | 0;
- Bg = (i + 560) | 0;
- Cg = (i + 556) | 0;
- Dg = (i + 552) | 0;
- Eg = (i + 548) | 0;
- Fg = (i + 544) | 0;
- Gg = (i + 540) | 0;
- Hg = (i + 536) | 0;
- Ig = (i + 532) | 0;
- Jg = (i + 528) | 0;
- Kg = (i + 524) | 0;
- Lg = (i + 520) | 0;
- Mg = (i + 516) | 0;
- Ng = (i + 512) | 0;
- Og = (i + 508) | 0;
- Pg = (i + 504) | 0;
- Qg = (i + 500) | 0;
- Rg = (i + 496) | 0;
- Sg = (i + 492) | 0;
- Tg = (i + 488) | 0;
- Ug = (i + 484) | 0;
- Vg = (i + 480) | 0;
- Wg = (i + 476) | 0;
- Xg = (i + 472) | 0;
- Yg = (i + 468) | 0;
- Zg = (i + 464) | 0;
- _g = (i + 460) | 0;
- $g = (i + 456) | 0;
- ah = (i + 452) | 0;
- bh = (i + 448) | 0;
- ch = (i + 444) | 0;
- dh = (i + 440) | 0;
- eh = (i + 436) | 0;
- fh = (i + 432) | 0;
- gh = (i + 428) | 0;
- hh = (i + 424) | 0;
- ih = (i + 420) | 0;
- jh = (i + 416) | 0;
- kh = (i + 412) | 0;
- lh = (i + 408) | 0;
- mh = (i + 404) | 0;
- nh = (i + 400) | 0;
- oh = (i + 396) | 0;
- ph = (i + 392) | 0;
- qh = (i + 388) | 0;
- rh = (i + 384) | 0;
- sh = (i + 380) | 0;
- th = (i + 376) | 0;
- uh = (i + 372) | 0;
- vh = (i + 368) | 0;
- wh = (i + 364) | 0;
- xh = (i + 360) | 0;
- yh = (i + 356) | 0;
- zh = (i + 352) | 0;
- Ah = (i + 348) | 0;
- Bh = (i + 344) | 0;
- Ch = (i + 340) | 0;
- Dh = (i + 336) | 0;
- Eh = (i + 332) | 0;
- Fh = (i + 328) | 0;
- Gh = (i + 324) | 0;
- Hh = (i + 320) | 0;
- Ih = (i + 316) | 0;
- Jh = (i + 312) | 0;
- Kh = (i + 308) | 0;
- Lh = (i + 304) | 0;
- Mh = (i + 300) | 0;
- Nh = (i + 296) | 0;
- Oh = (i + 292) | 0;
- Ph = (i + 288) | 0;
- Qh = (i + 284) | 0;
- Rh = (i + 280) | 0;
- Sh = (i + 276) | 0;
- Th = (i + 272) | 0;
- Uh = (i + 268) | 0;
- Vh = (i + 264) | 0;
- Wh = (i + 260) | 0;
- Xh = (i + 256) | 0;
- Yh = (i + 252) | 0;
- Zh = (i + 248) | 0;
- _h = (i + 244) | 0;
- $h = (i + 240) | 0;
- ai = (i + 236) | 0;
- bi = (i + 232) | 0;
- ci = (i + 228) | 0;
- di = (i + 216) | 0;
- ei = (i + 212) | 0;
- fi = (i + 208) | 0;
- gi = (i + 204) | 0;
- hi = (i + 200) | 0;
- ii = (i + 196) | 0;
- ji = (i + 192) | 0;
- ki = (i + 188) | 0;
- li = (i + 184) | 0;
- mi = (i + 180) | 0;
- ni = (i + 176) | 0;
- oi = (i + 172) | 0;
- pi = (i + 168) | 0;
- qi = (i + 164) | 0;
- ri = (i + 160) | 0;
- si = (i + 148) | 0;
- ti = (i + 144) | 0;
- ui = (i + 140) | 0;
- vi = (i + 136) | 0;
- wi = (i + 132) | 0;
- xi = (i + 128) | 0;
- yi = (i + 124) | 0;
- zi = (i + 120) | 0;
- Ai = (i + 116) | 0;
- Bi = (i + 112) | 0;
- Ci = (i + 108) | 0;
- Di = (i + 104) | 0;
- Ei = (i + 100) | 0;
- Fi = (i + 88) | 0;
- Gi = (i + 84) | 0;
- Hi = (i + 80) | 0;
- Ii = (i + 76) | 0;
- Ji = (i + 72) | 0;
- Ki = (i + 68) | 0;
- Li = (i + 64) | 0;
- Mi = (i + 60) | 0;
- Ni = (i + 56) | 0;
- Oi = (i + 52) | 0;
- Pi = (i + 48) | 0;
- Qi = (i + 44) | 0;
- Ri = (i + 40) | 0;
- Si = (i + 36) | 0;
- Ti = (i + 32) | 0;
- Ui = (i + 28) | 0;
- Vi = (i + 24) | 0;
- Wi = (i + 20) | 0;
- Xi = (i + 16) | 0;
- Yi = (i + 12) | 0;
- Zi = (i + 8) | 0;
- _i = (i + 4) | 0;
- $i = i;
- c[Wi >> 2] = a;
- c[Xi >> 2] = b;
- c[Yi >> 2] = e;
- c[Zi >> 2] = f;
- c[_i >> 2] = g;
- c[$i >> 2] = h;
- h = c[Xi >> 2] | 0;
- Xi = c[Yi >> 2] | 0;
- Yi = c[Zi >> 2] | 0;
- Zi = c[_i >> 2] | 0;
- _i = c[$i >> 2] | 0;
- c[Lh >> 2] = c[Wi >> 2];
- c[Mh >> 2] = h;
- c[Nh >> 2] = Xi;
- c[Oh >> 2] = Yi;
- c[Ph >> 2] = Zi;
- c[Qh >> 2] = _i;
- c[Rh >> 2] = 2;
- c[Sh >> 2] = 0;
- c[Th >> 2] = (c[Lh >> 2] | 0) + 48;
- c[Uh >> 2] = c[Ph >> 2];
- c[Vh >> 2] = c[Uh >> 2];
- c[Wh >> 2] = c[Uh >> 2];
- c[Xh >> 2] = (c[Uh >> 2] | 0) + (c[Qh >> 2] | 0);
- c[Yh >> 2] = (c[Xh >> 2] | 0) + -8;
- c[Zh >> 2] = c[((c[Lh >> 2] | 0) + 4) >> 2];
- c[_h >> 2] =
- (c[Zh >> 2] | 0) + (c[((c[Lh >> 2] | 0) + 12) >> 2] | 0);
- if ((c[((c[Oh >> 2] | 0) + 20) >> 2] | 0) >>> 0 < 4095)
- aj = c[((c[Oh >> 2] | 0) + 20) >> 2] | 0;
- else aj = 4095;
- c[$h >> 2] = aj;
- c[ai >> 2] =
- (c[((c[Oh >> 2] | 0) + 16) >> 2] | 0) == 3 ? 3 : 4;
- c[bi >> 2] = c[((c[Th >> 2] | 0) + 20) >> 2];
- c[ci >> 2] = c[((c[Th >> 2] | 0) + 16) >> 2];
- c[((c[Lh >> 2] | 0) + 28) >> 2] =
- c[((c[Lh >> 2] | 0) + 24) >> 2];
- lm(c[Th >> 2] | 0, c[Ph >> 2] | 0, c[Qh >> 2] | 0);
- c[Vh >> 2] =
- (c[Vh >> 2] | 0) +
- (((c[Vh >> 2] | 0) == (c[_h >> 2] | 0)) & 1);
- c[di >> 2] = 0;
- c[(di + 4) >> 2] = 0;
- c[(di + 8) >> 2] = 0;
- while (1) {
- if ((c[Vh >> 2] | 0) >>> 0 >= (c[Yh >> 2] | 0) >>> 0) break;
- c[fi >> 2] = 0;
- c[ii >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
- c[ji >> 2] = (((c[ii >> 2] | 0) != 0) ^ 1) & 1;
- _h = c[Oh >> 2] | 0;
- Qh = c[Vh >> 2] | 0;
- Ph = c[Xh >> 2] | 0;
- aj = c[Sh >> 2] | 0;
- Zh = c[Nh >> 2] | 0;
- Uh = c[ji >> 2] | 0;
- _i = c[ci >> 2] | 0;
- Zi = c[ai >> 2] | 0;
- c[Bh >> 2] = c[Lh >> 2];
- c[Ch >> 2] = _h;
- c[Dh >> 2] = Qh;
- c[Eh >> 2] = Ph;
- c[Fh >> 2] = aj;
- c[Gh >> 2] = Zh;
- c[Hh >> 2] = Uh;
- c[Ih >> 2] = _i;
- c[Jh >> 2] = Zi;
- c[Kh >> 2] = c[((c[Ch >> 2] | 0) + 16) >> 2];
- a: do {
- if (
- (c[Dh >> 2] | 0) >>> 0 <
- (((c[((c[Bh >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[Bh >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Ah >> 2] = 0;
- else {
- Zi = c[Ch >> 2] | 0;
- _i = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- Zh = c[Kh >> 2] | 0;
- aj = c[Fh >> 2] | 0;
- c[rh >> 2] = c[Bh >> 2];
- c[sh >> 2] = Zi;
- c[th >> 2] = _i;
- c[uh >> 2] = Uh;
- c[vh >> 2] = Zh;
- c[wh >> 2] = aj;
- c[xh >> 2] = c[((c[rh >> 2] | 0) + 4) >> 2];
- c[yh >> 2] = (c[th >> 2] | 0) - (c[xh >> 2] | 0);
- c[zh >> 2] = c[((c[rh >> 2] | 0) + 24) >> 2];
- while (1) {
- if ((c[zh >> 2] | 0) >>> 0 >= (c[yh >> 2] | 0) >>> 0)
- break;
- aj =
- Rj(
- c[rh >> 2] | 0,
- c[sh >> 2] | 0,
- ((c[xh >> 2] | 0) + (c[zh >> 2] | 0)) | 0,
- c[uh >> 2] | 0,
- c[vh >> 2] | 0,
- c[wh >> 2] | 0
- ) | 0;
- c[zh >> 2] = (c[zh >> 2] | 0) + aj;
- }
- c[((c[rh >> 2] | 0) + 24) >> 2] = c[yh >> 2];
- switch (c[Kh >> 2] | 0) {
- case 3: {
- aj = c[Ch >> 2] | 0;
- Zh = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- _i = c[Fh >> 2] | 0;
- Zi = c[Gh >> 2] | 0;
- Ph = c[Hh >> 2] | 0;
- Qh = c[Ih >> 2] | 0;
- _h = c[Jh >> 2] | 0;
- c[wg >> 2] = c[Bh >> 2];
- c[xg >> 2] = aj;
- c[yg >> 2] = Zh;
- c[zg >> 2] = Uh;
- c[Ag >> 2] = _i;
- c[Bg >> 2] = Zi;
- c[Cg >> 2] = Ph;
- c[Dg >> 2] = Qh;
- c[Eg >> 2] = _h;
- c[Fg >> 2] = 3;
- if (
- (c[((c[xg >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- bj = c[((c[xg >> 2] | 0) + 20) >> 2] | 0;
- else bj = 4095;
- c[Gg >> 2] = bj;
- c[Hg >> 2] = c[((c[wg >> 2] | 0) + 4) >> 2];
- c[Ig >> 2] = (c[yg >> 2] | 0) - (c[Hg >> 2] | 0);
- c[Jg >> 2] = c[((c[xg >> 2] | 0) + 8) >> 2];
- c[Kg >> 2] = (c[Fg >> 2] | 0) == 3 ? 3 : 4;
- c[Lg >> 2] = c[((c[wg >> 2] | 0) + 36) >> 2];
- c[Mg >> 2] =
- Sj(
- c[yg >> 2] | 0,
- c[Jg >> 2] | 0,
- c[Fg >> 2] | 0
- ) | 0;
- c[Ng >> 2] =
- c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2];
- c[Og >> 2] = c[((c[wg >> 2] | 0) + 44) >> 2];
- c[Pg >> 2] =
- (c[((c[xg >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Qg >> 2] = (1 << c[Pg >> 2]) - 1;
- c[Rg >> 2] = 0;
- c[Sg >> 2] = 0;
- c[Tg >> 2] = c[((c[wg >> 2] | 0) + 8) >> 2];
- c[Ug >> 2] = c[((c[wg >> 2] | 0) + 12) >> 2];
- c[Vg >> 2] = (c[Tg >> 2] | 0) + (c[Ug >> 2] | 0);
- c[Wg >> 2] = (c[Hg >> 2] | 0) + (c[Ug >> 2] | 0);
- if (
- (c[Qg >> 2] | 0) >>> 0 >=
- (c[Ig >> 2] | 0) >>> 0
- )
- cj = 0;
- else cj = ((c[Ig >> 2] | 0) - (c[Qg >> 2] | 0)) | 0;
- c[Xg >> 2] = cj;
- c[Yg >> 2] = c[((c[wg >> 2] | 0) + 16) >> 2];
- c[Zg >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2);
- c[_g >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ig >> 2] & c[Qg >> 2]) << 1) << 2) +
- 4;
- c[$g >> 2] = (c[Ig >> 2] | 0) + 8 + 1;
- c[bh >> 2] = 0;
- c[ch >> 2] = 1 << c[((c[xg >> 2] | 0) + 12) >> 2];
- c[dh >> 2] = (c[Eg >> 2] | 0) - 1;
- c[eh >> 2] = 3 + (c[Cg >> 2] | 0);
- c[fh >> 2] = c[Cg >> 2];
- while (1) {
- if (
- (c[fh >> 2] | 0) >>> 0 >=
- (c[eh >> 2] | 0) >>> 0
- ) {
- dj = 31;
- break;
- }
- _h = c[Bg >> 2] | 0;
- if ((c[fh >> 2] | 0) == 3)
- ej = ((c[_h >> 2] | 0) - 1) | 0;
- else ej = c[(_h + (c[fh >> 2] << 2)) >> 2] | 0;
- c[gh >> 2] = ej;
- c[hh >> 2] = (c[Ig >> 2] | 0) - (c[gh >> 2] | 0);
- c[ih >> 2] = 0;
- if (
- (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ig >> 2] | 0) - (c[Ug >> 2] | 0)) | 0) >>>
- 0
- ) {
- _h = mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0;
- if (
- (_h | 0) ==
- (mm(
- ((c[yg >> 2] | 0) +
- (0 - (c[gh >> 2] | 0))) |
- 0,
- c[Kg >> 2] | 0
- ) |
- 0)
- ) {
- _h =
- Tj(
- ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- ((c[yg >> 2] | 0) +
- (c[Kg >> 2] | 0) +
- (0 - (c[gh >> 2] | 0))) |
- 0,
- c[zg >> 2] | 0
- ) | 0;
- c[ih >> 2] = _h + (c[Kg >> 2] | 0);
- }
- } else {
- c[jh >> 2] =
- (c[Tg >> 2] | 0) + (c[hh >> 2] | 0);
- if (
- (
- c[Ag >> 2] | 0
- ? ((((c[Ug >> 2] | 0) -
- 1 -
- (c[hh >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[gh >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ig >> 2] | 0) -
- (c[Yg >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((_h =
- mm(c[yg >> 2] | 0, c[Kg >> 2] | 0) | 0),
- (_h | 0) ==
- (mm(c[jh >> 2] | 0, c[Kg >> 2] | 0) |
- 0))
- : 0
- ) {
- _h =
- Uj(
- ((c[yg >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- ((c[jh >> 2] | 0) + (c[Kg >> 2] | 0)) | 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- c[ih >> 2] = _h + (c[Kg >> 2] | 0);
- }
- }
- if (
- (c[ih >> 2] | 0) >>> 0 > (c[dh >> 2] | 0) >>> 0
- ? ((c[dh >> 2] = c[ih >> 2]),
- (c[
- ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
- 2
- ] = (c[fh >> 2] | 0) - (c[Cg >> 2] | 0)),
- (c[
- ((c[Dg >> 2] | 0) +
- (c[bh >> 2] << 3) +
- 4) >>
- 2
- ] = c[ih >> 2]),
- (c[bh >> 2] = (c[bh >> 2] | 0) + 1),
- ((c[ih >> 2] | 0) >>> 0 >
- (c[Gg >> 2] | 0) >>> 0
- ? 1
- : (((c[yg >> 2] | 0) + (c[ih >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 29;
- break;
- }
- c[fh >> 2] = (c[fh >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 29) {
- dj = 0;
- c[vg >> 2] = c[bh >> 2];
- } else if ((dj | 0) == 31) {
- dj = 0;
- if (
- (
- (c[Fg >> 2] | 0) == 3
- ? (c[dh >> 2] | 0) >>> 0 <
- (c[Fg >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[kh >> 2] =
- nm(c[wg >> 2] | 0, c[yg >> 2] | 0) | 0),
- ((c[kh >> 2] | 0) >>> 0 >
- (c[Yg >> 2] | 0) >>> 0
- ? (((c[Ig >> 2] | 0) -
- (c[kh >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ag >> 2] | 0
- ? (c[kh >> 2] | 0) >>> 0 <
- (c[Ug >> 2] | 0) >>> 0
- : 0
- ) {
- c[nh >> 2] =
- (c[Tg >> 2] | 0) + (c[kh >> 2] | 0);
- c[lh >> 2] =
- Uj(
- c[yg >> 2] | 0,
- c[nh >> 2] | 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- } else {
- c[mh >> 2] =
- (c[Hg >> 2] | 0) + (c[kh >> 2] | 0);
- c[lh >> 2] =
- Tj(
- c[yg >> 2] | 0,
- c[mh >> 2] | 0,
- c[zg >> 2] | 0
- ) | 0;
- }
- if (
- (c[lh >> 2] | 0) >>> 0 >=
- (c[Fg >> 2] | 0) >>> 0
- ? ((c[dh >> 2] = c[lh >> 2]),
- (c[c[Dg >> 2] >> 2] =
- (c[Ig >> 2] | 0) -
- (c[kh >> 2] | 0) +
- 2),
- (c[((c[Dg >> 2] | 0) + 4) >> 2] =
- c[lh >> 2]),
- (c[bh >> 2] = 1),
- ((c[lh >> 2] | 0) >>> 0 >
- (c[Gg >> 2] | 0) >>> 0
- ? 1
- : (((c[yg >> 2] | 0) +
- (c[lh >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[wg >> 2] | 0) + 24) >> 2] =
- (c[Ig >> 2] | 0) + 1;
- c[vg >> 2] = 1;
- break;
- }
- }
- c[((c[Lg >> 2] | 0) + (c[Mg >> 2] << 2)) >> 2] =
- c[Ig >> 2];
- while (1) {
- _h = c[ch >> 2] | 0;
- c[ch >> 2] = _h + -1;
- if (!_h) break;
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Yg >> 2] | 0) >>> 0
- )
- break;
- c[oh >> 2] =
- (c[Og >> 2] | 0) +
- (((c[Ng >> 2] & c[Qg >> 2]) << 1) << 2);
- c[ph >> 2] =
- (c[Rg >> 2] | 0) >>> 0 <
- (c[Sg >> 2] | 0) >>> 0
- ? c[Rg >> 2] | 0
- : c[Sg >> 2] | 0;
- if (
- c[Ag >> 2] | 0
- ? (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Ug >> 2] | 0) >>> 0
- : 0
- ) {
- c[qh >> 2] =
- (c[Tg >> 2] | 0) + (c[Ng >> 2] | 0);
- _h =
- Uj(
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- c[zg >> 2] | 0,
- c[Vg >> 2] | 0,
- c[Wg >> 2] | 0
- ) | 0;
- c[ph >> 2] = (c[ph >> 2] | 0) + _h;
- if (
- (((c[Ng >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Ug >> 2] | 0) >>> 0
- )
- c[qh >> 2] =
- (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
- } else {
- c[qh >> 2] =
- (c[Hg >> 2] | 0) + (c[Ng >> 2] | 0);
- _h =
- Tj(
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0,
- c[zg >> 2] | 0
- ) | 0;
- c[ph >> 2] = (c[ph >> 2] | 0) + _h;
- }
- if (
- (c[ph >> 2] | 0) >>> 0 >
- (c[dh >> 2] | 0) >>> 0
- ) {
- if (
- (c[ph >> 2] | 0) >>> 0 >
- (((c[$g >> 2] | 0) - (c[Ng >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[$g >> 2] =
- (c[Ng >> 2] | 0) + (c[ph >> 2] | 0);
- c[dh >> 2] = c[ph >> 2];
- c[
- ((c[Dg >> 2] | 0) + (c[bh >> 2] << 3)) >>
- 2
- ] = (c[Ig >> 2] | 0) - (c[Ng >> 2] | 0) + 2;
- c[
- ((c[Dg >> 2] | 0) +
- (c[bh >> 2] << 3) +
- 4) >>
- 2
- ] = c[ph >> 2];
- c[bh >> 2] = (c[bh >> 2] | 0) + 1;
- if ((c[ph >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) |
- 0) ==
- (c[zg >> 2] | 0)
- )
- break;
- }
- _h = c[Ng >> 2] | 0;
- if (
- (d[
- ((c[qh >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[yg >> 2] | 0) + (c[ph >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Zg >> 2] >> 2] = _h;
- c[Rg >> 2] = c[ph >> 2];
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Xg >> 2] | 0) >>> 0
- ) {
- dj = 56;
- break;
- }
- c[Zg >> 2] = (c[oh >> 2] | 0) + 4;
- c[Ng >> 2] = c[((c[oh >> 2] | 0) + 4) >> 2];
- } else {
- c[c[_g >> 2] >> 2] = _h;
- c[Sg >> 2] = c[ph >> 2];
- if (
- (c[Ng >> 2] | 0) >>> 0 <=
- (c[Xg >> 2] | 0) >>> 0
- ) {
- dj = 59;
- break;
- }
- c[_g >> 2] = c[oh >> 2];
- c[Ng >> 2] = c[c[oh >> 2] >> 2];
- }
- }
- if ((dj | 0) == 56) {
- dj = 0;
- c[Zg >> 2] = ah;
- } else if ((dj | 0) == 59) {
- dj = 0;
- c[_g >> 2] = ah;
- }
- c[c[_g >> 2] >> 2] = 0;
- c[c[Zg >> 2] >> 2] = 0;
- c[((c[wg >> 2] | 0) + 24) >> 2] =
- (c[$g >> 2] | 0) - 8;
- c[vg >> 2] = c[bh >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[vg >> 2];
- break a;
- break;
- }
- case 7:
- case 6: {
- _h = c[Ch >> 2] | 0;
- Qh = c[Dh >> 2] | 0;
- Ph = c[Eh >> 2] | 0;
- Zi = c[Fh >> 2] | 0;
- _i = c[Gh >> 2] | 0;
- Uh = c[Hh >> 2] | 0;
- Zh = c[Ih >> 2] | 0;
- aj = c[Jh >> 2] | 0;
- c[Hd >> 2] = c[Bh >> 2];
- c[Id >> 2] = _h;
- c[Jd >> 2] = Qh;
- c[Kd >> 2] = Ph;
- c[Ld >> 2] = Zi;
- c[Md >> 2] = _i;
- c[Nd >> 2] = Uh;
- c[Od >> 2] = Zh;
- c[Pd >> 2] = aj;
- c[Qd >> 2] = 6;
- if (
- (c[((c[Id >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- fj = c[((c[Id >> 2] | 0) + 20) >> 2] | 0;
- else fj = 4095;
- c[Rd >> 2] = fj;
- c[Sd >> 2] = c[((c[Hd >> 2] | 0) + 4) >> 2];
- c[Td >> 2] = (c[Jd >> 2] | 0) - (c[Sd >> 2] | 0);
- c[Ud >> 2] = c[((c[Id >> 2] | 0) + 8) >> 2];
- c[Vd >> 2] = (c[Qd >> 2] | 0) == 3 ? 3 : 4;
- c[Wd >> 2] = c[((c[Hd >> 2] | 0) + 36) >> 2];
- c[Xd >> 2] =
- Sj(
- c[Jd >> 2] | 0,
- c[Ud >> 2] | 0,
- c[Qd >> 2] | 0
- ) | 0;
- c[Yd >> 2] =
- c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2];
- c[Zd >> 2] = c[((c[Hd >> 2] | 0) + 44) >> 2];
- c[_d >> 2] =
- (c[((c[Id >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[$d >> 2] = (1 << c[_d >> 2]) - 1;
- c[ae >> 2] = 0;
- c[be >> 2] = 0;
- c[ce >> 2] = c[((c[Hd >> 2] | 0) + 8) >> 2];
- c[de >> 2] = c[((c[Hd >> 2] | 0) + 12) >> 2];
- c[ee >> 2] = (c[ce >> 2] | 0) + (c[de >> 2] | 0);
- c[fe >> 2] = (c[Sd >> 2] | 0) + (c[de >> 2] | 0);
- if (
- (c[$d >> 2] | 0) >>> 0 >=
- (c[Td >> 2] | 0) >>> 0
- )
- gj = 0;
- else gj = ((c[Td >> 2] | 0) - (c[$d >> 2] | 0)) | 0;
- c[ge >> 2] = gj;
- c[he >> 2] = c[((c[Hd >> 2] | 0) + 16) >> 2];
- c[ie >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Td >> 2] & c[$d >> 2]) << 1) << 2);
- c[je >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Td >> 2] & c[$d >> 2]) << 1) << 2) +
- 4;
- c[ke >> 2] = (c[Td >> 2] | 0) + 8 + 1;
- c[me >> 2] = 0;
- c[ne >> 2] = 1 << c[((c[Id >> 2] | 0) + 12) >> 2];
- c[oe >> 2] = (c[Pd >> 2] | 0) - 1;
- c[pe >> 2] = 3 + (c[Nd >> 2] | 0);
- c[qe >> 2] = c[Nd >> 2];
- while (1) {
- if (
- (c[qe >> 2] | 0) >>> 0 >=
- (c[pe >> 2] | 0) >>> 0
- ) {
- dj = 190;
- break;
- }
- aj = c[Md >> 2] | 0;
- if ((c[qe >> 2] | 0) == 3)
- hj = ((c[aj >> 2] | 0) - 1) | 0;
- else hj = c[(aj + (c[qe >> 2] << 2)) >> 2] | 0;
- c[re >> 2] = hj;
- c[se >> 2] = (c[Td >> 2] | 0) - (c[re >> 2] | 0);
- c[te >> 2] = 0;
- if (
- (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Td >> 2] | 0) - (c[de >> 2] | 0)) | 0) >>>
- 0
- ) {
- aj = mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0;
- if (
- (aj | 0) ==
- (mm(
- ((c[Jd >> 2] | 0) +
- (0 - (c[re >> 2] | 0))) |
- 0,
- c[Vd >> 2] | 0
- ) |
- 0)
- ) {
- aj =
- Tj(
- ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- ((c[Jd >> 2] | 0) +
- (c[Vd >> 2] | 0) +
- (0 - (c[re >> 2] | 0))) |
- 0,
- c[Kd >> 2] | 0
- ) | 0;
- c[te >> 2] = aj + (c[Vd >> 2] | 0);
- }
- } else {
- c[ue >> 2] =
- (c[ce >> 2] | 0) + (c[se >> 2] | 0);
- if (
- (
- c[Ld >> 2] | 0
- ? ((((c[de >> 2] | 0) -
- 1 -
- (c[se >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[re >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Td >> 2] | 0) -
- (c[he >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((aj =
- mm(c[Jd >> 2] | 0, c[Vd >> 2] | 0) | 0),
- (aj | 0) ==
- (mm(c[ue >> 2] | 0, c[Vd >> 2] | 0) |
- 0))
- : 0
- ) {
- aj =
- Uj(
- ((c[Jd >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- ((c[ue >> 2] | 0) + (c[Vd >> 2] | 0)) | 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- c[te >> 2] = aj + (c[Vd >> 2] | 0);
- }
- }
- if (
- (c[te >> 2] | 0) >>> 0 > (c[oe >> 2] | 0) >>> 0
- ? ((c[oe >> 2] = c[te >> 2]),
- (c[
- ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
- 2
- ] = (c[qe >> 2] | 0) - (c[Nd >> 2] | 0)),
- (c[
- ((c[Od >> 2] | 0) +
- (c[me >> 2] << 3) +
- 4) >>
- 2
- ] = c[te >> 2]),
- (c[me >> 2] = (c[me >> 2] | 0) + 1),
- ((c[te >> 2] | 0) >>> 0 >
- (c[Rd >> 2] | 0) >>> 0
- ? 1
- : (((c[Jd >> 2] | 0) + (c[te >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 188;
- break;
- }
- c[qe >> 2] = (c[qe >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 188) {
- dj = 0;
- c[Gd >> 2] = c[me >> 2];
- } else if ((dj | 0) == 190) {
- dj = 0;
- if (
- (
- (c[Qd >> 2] | 0) == 3
- ? (c[oe >> 2] | 0) >>> 0 <
- (c[Qd >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[ve >> 2] =
- nm(c[Hd >> 2] | 0, c[Jd >> 2] | 0) | 0),
- ((c[ve >> 2] | 0) >>> 0 >
- (c[he >> 2] | 0) >>> 0
- ? (((c[Td >> 2] | 0) -
- (c[ve >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ld >> 2] | 0
- ? (c[ve >> 2] | 0) >>> 0 <
- (c[de >> 2] | 0) >>> 0
- : 0
- ) {
- c[ye >> 2] =
- (c[ce >> 2] | 0) + (c[ve >> 2] | 0);
- c[we >> 2] =
- Uj(
- c[Jd >> 2] | 0,
- c[ye >> 2] | 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- } else {
- c[xe >> 2] =
- (c[Sd >> 2] | 0) + (c[ve >> 2] | 0);
- c[we >> 2] =
- Tj(
- c[Jd >> 2] | 0,
- c[xe >> 2] | 0,
- c[Kd >> 2] | 0
- ) | 0;
- }
- if (
- (c[we >> 2] | 0) >>> 0 >=
- (c[Qd >> 2] | 0) >>> 0
- ? ((c[oe >> 2] = c[we >> 2]),
- (c[c[Od >> 2] >> 2] =
- (c[Td >> 2] | 0) -
- (c[ve >> 2] | 0) +
- 2),
- (c[((c[Od >> 2] | 0) + 4) >> 2] =
- c[we >> 2]),
- (c[me >> 2] = 1),
- ((c[we >> 2] | 0) >>> 0 >
- (c[Rd >> 2] | 0) >>> 0
- ? 1
- : (((c[Jd >> 2] | 0) +
- (c[we >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[Hd >> 2] | 0) + 24) >> 2] =
- (c[Td >> 2] | 0) + 1;
- c[Gd >> 2] = 1;
- break;
- }
- }
- c[((c[Wd >> 2] | 0) + (c[Xd >> 2] << 2)) >> 2] =
- c[Td >> 2];
- while (1) {
- aj = c[ne >> 2] | 0;
- c[ne >> 2] = aj + -1;
- if (!aj) break;
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[he >> 2] | 0) >>> 0
- )
- break;
- c[ze >> 2] =
- (c[Zd >> 2] | 0) +
- (((c[Yd >> 2] & c[$d >> 2]) << 1) << 2);
- c[Ae >> 2] =
- (c[ae >> 2] | 0) >>> 0 <
- (c[be >> 2] | 0) >>> 0
- ? c[ae >> 2] | 0
- : c[be >> 2] | 0;
- if (
- c[Ld >> 2] | 0
- ? (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[de >> 2] | 0) >>> 0
- : 0
- ) {
- c[Be >> 2] =
- (c[ce >> 2] | 0) + (c[Yd >> 2] | 0);
- aj =
- Uj(
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- c[Kd >> 2] | 0,
- c[ee >> 2] | 0,
- c[fe >> 2] | 0
- ) | 0;
- c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
- if (
- (((c[Yd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[de >> 2] | 0) >>> 0
- )
- c[Be >> 2] =
- (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
- } else {
- c[Be >> 2] =
- (c[Sd >> 2] | 0) + (c[Yd >> 2] | 0);
- aj =
- Tj(
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0,
- c[Kd >> 2] | 0
- ) | 0;
- c[Ae >> 2] = (c[Ae >> 2] | 0) + aj;
- }
- if (
- (c[Ae >> 2] | 0) >>> 0 >
- (c[oe >> 2] | 0) >>> 0
- ) {
- if (
- (c[Ae >> 2] | 0) >>> 0 >
- (((c[ke >> 2] | 0) - (c[Yd >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[ke >> 2] =
- (c[Yd >> 2] | 0) + (c[Ae >> 2] | 0);
- c[oe >> 2] = c[Ae >> 2];
- c[
- ((c[Od >> 2] | 0) + (c[me >> 2] << 3)) >>
- 2
- ] = (c[Td >> 2] | 0) - (c[Yd >> 2] | 0) + 2;
- c[
- ((c[Od >> 2] | 0) +
- (c[me >> 2] << 3) +
- 4) >>
- 2
- ] = c[Ae >> 2];
- c[me >> 2] = (c[me >> 2] | 0) + 1;
- if ((c[Ae >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) |
- 0) ==
- (c[Kd >> 2] | 0)
- )
- break;
- }
- aj = c[Yd >> 2] | 0;
- if (
- (d[
- ((c[Be >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Jd >> 2] | 0) + (c[Ae >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[ie >> 2] >> 2] = aj;
- c[ae >> 2] = c[Ae >> 2];
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[ge >> 2] | 0) >>> 0
- ) {
- dj = 215;
- break;
- }
- c[ie >> 2] = (c[ze >> 2] | 0) + 4;
- c[Yd >> 2] = c[((c[ze >> 2] | 0) + 4) >> 2];
- } else {
- c[c[je >> 2] >> 2] = aj;
- c[be >> 2] = c[Ae >> 2];
- if (
- (c[Yd >> 2] | 0) >>> 0 <=
- (c[ge >> 2] | 0) >>> 0
- ) {
- dj = 218;
- break;
- }
- c[je >> 2] = c[ze >> 2];
- c[Yd >> 2] = c[c[ze >> 2] >> 2];
- }
- }
- if ((dj | 0) == 215) {
- dj = 0;
- c[ie >> 2] = le;
- } else if ((dj | 0) == 218) {
- dj = 0;
- c[je >> 2] = le;
- }
- c[c[je >> 2] >> 2] = 0;
- c[c[ie >> 2] >> 2] = 0;
- c[((c[Hd >> 2] | 0) + 24) >> 2] =
- (c[ke >> 2] | 0) - 8;
- c[Gd >> 2] = c[me >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[Gd >> 2];
- break a;
- break;
- }
- case 5: {
- aj = c[Ch >> 2] | 0;
- Zh = c[Dh >> 2] | 0;
- Uh = c[Eh >> 2] | 0;
- _i = c[Fh >> 2] | 0;
- Zi = c[Gh >> 2] | 0;
- Ph = c[Hh >> 2] | 0;
- Qh = c[Ih >> 2] | 0;
- _h = c[Jh >> 2] | 0;
- c[De >> 2] = c[Bh >> 2];
- c[Ee >> 2] = aj;
- c[Fe >> 2] = Zh;
- c[Ge >> 2] = Uh;
- c[He >> 2] = _i;
- c[Ie >> 2] = Zi;
- c[Je >> 2] = Ph;
- c[Ke >> 2] = Qh;
- c[Le >> 2] = _h;
- c[Me >> 2] = 5;
- if (
- (c[((c[Ee >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- ij = c[((c[Ee >> 2] | 0) + 20) >> 2] | 0;
- else ij = 4095;
- c[Ne >> 2] = ij;
- c[Oe >> 2] = c[((c[De >> 2] | 0) + 4) >> 2];
- c[Pe >> 2] = (c[Fe >> 2] | 0) - (c[Oe >> 2] | 0);
- c[Qe >> 2] = c[((c[Ee >> 2] | 0) + 8) >> 2];
- c[Re >> 2] = (c[Me >> 2] | 0) == 3 ? 3 : 4;
- c[Se >> 2] = c[((c[De >> 2] | 0) + 36) >> 2];
- c[Te >> 2] =
- Sj(
- c[Fe >> 2] | 0,
- c[Qe >> 2] | 0,
- c[Me >> 2] | 0
- ) | 0;
- c[Ue >> 2] =
- c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2];
- c[Ve >> 2] = c[((c[De >> 2] | 0) + 44) >> 2];
- c[We >> 2] =
- (c[((c[Ee >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Xe >> 2] = (1 << c[We >> 2]) - 1;
- c[Ye >> 2] = 0;
- c[Ze >> 2] = 0;
- c[_e >> 2] = c[((c[De >> 2] | 0) + 8) >> 2];
- c[$e >> 2] = c[((c[De >> 2] | 0) + 12) >> 2];
- c[af >> 2] = (c[_e >> 2] | 0) + (c[$e >> 2] | 0);
- c[bf >> 2] = (c[Oe >> 2] | 0) + (c[$e >> 2] | 0);
- if (
- (c[Xe >> 2] | 0) >>> 0 >=
- (c[Pe >> 2] | 0) >>> 0
- )
- jj = 0;
- else jj = ((c[Pe >> 2] | 0) - (c[Xe >> 2] | 0)) | 0;
- c[cf >> 2] = jj;
- c[df >> 2] = c[((c[De >> 2] | 0) + 16) >> 2];
- c[ef >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2);
- c[ff >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Pe >> 2] & c[Xe >> 2]) << 1) << 2) +
- 4;
- c[gf >> 2] = (c[Pe >> 2] | 0) + 8 + 1;
- c[jf >> 2] = 0;
- c[kf >> 2] = 1 << c[((c[Ee >> 2] | 0) + 12) >> 2];
- c[lf >> 2] = (c[Le >> 2] | 0) - 1;
- c[mf >> 2] = 3 + (c[Je >> 2] | 0);
- c[nf >> 2] = c[Je >> 2];
- while (1) {
- if (
- (c[nf >> 2] | 0) >>> 0 >=
- (c[mf >> 2] | 0) >>> 0
- ) {
- dj = 137;
- break;
- }
- _h = c[Ie >> 2] | 0;
- if ((c[nf >> 2] | 0) == 3)
- kj = ((c[_h >> 2] | 0) - 1) | 0;
- else kj = c[(_h + (c[nf >> 2] << 2)) >> 2] | 0;
- c[of >> 2] = kj;
- c[pf >> 2] = (c[Pe >> 2] | 0) - (c[of >> 2] | 0);
- c[qf >> 2] = 0;
- if (
- (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Pe >> 2] | 0) - (c[$e >> 2] | 0)) | 0) >>>
- 0
- ) {
- _h = mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0;
- if (
- (_h | 0) ==
- (mm(
- ((c[Fe >> 2] | 0) +
- (0 - (c[of >> 2] | 0))) |
- 0,
- c[Re >> 2] | 0
- ) |
- 0)
- ) {
- _h =
- Tj(
- ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- ((c[Fe >> 2] | 0) +
- (c[Re >> 2] | 0) +
- (0 - (c[of >> 2] | 0))) |
- 0,
- c[Ge >> 2] | 0
- ) | 0;
- c[qf >> 2] = _h + (c[Re >> 2] | 0);
- }
- } else {
- c[rf >> 2] =
- (c[_e >> 2] | 0) + (c[pf >> 2] | 0);
- if (
- (
- c[He >> 2] | 0
- ? ((((c[$e >> 2] | 0) -
- 1 -
- (c[pf >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[of >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Pe >> 2] | 0) -
- (c[df >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((_h =
- mm(c[Fe >> 2] | 0, c[Re >> 2] | 0) | 0),
- (_h | 0) ==
- (mm(c[rf >> 2] | 0, c[Re >> 2] | 0) |
- 0))
- : 0
- ) {
- _h =
- Uj(
- ((c[Fe >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- ((c[rf >> 2] | 0) + (c[Re >> 2] | 0)) | 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- c[qf >> 2] = _h + (c[Re >> 2] | 0);
- }
- }
- if (
- (c[qf >> 2] | 0) >>> 0 > (c[lf >> 2] | 0) >>> 0
- ? ((c[lf >> 2] = c[qf >> 2]),
- (c[
- ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
- 2
- ] = (c[nf >> 2] | 0) - (c[Je >> 2] | 0)),
- (c[
- ((c[Ke >> 2] | 0) +
- (c[jf >> 2] << 3) +
- 4) >>
- 2
- ] = c[qf >> 2]),
- (c[jf >> 2] = (c[jf >> 2] | 0) + 1),
- ((c[qf >> 2] | 0) >>> 0 >
- (c[Ne >> 2] | 0) >>> 0
- ? 1
- : (((c[Fe >> 2] | 0) + (c[qf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 135;
- break;
- }
- c[nf >> 2] = (c[nf >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 135) {
- dj = 0;
- c[Ce >> 2] = c[jf >> 2];
- } else if ((dj | 0) == 137) {
- dj = 0;
- if (
- (
- (c[Me >> 2] | 0) == 3
- ? (c[lf >> 2] | 0) >>> 0 <
- (c[Me >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[sf >> 2] =
- nm(c[De >> 2] | 0, c[Fe >> 2] | 0) | 0),
- ((c[sf >> 2] | 0) >>> 0 >
- (c[df >> 2] | 0) >>> 0
- ? (((c[Pe >> 2] | 0) -
- (c[sf >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[He >> 2] | 0
- ? (c[sf >> 2] | 0) >>> 0 <
- (c[$e >> 2] | 0) >>> 0
- : 0
- ) {
- c[vf >> 2] =
- (c[_e >> 2] | 0) + (c[sf >> 2] | 0);
- c[tf >> 2] =
- Uj(
- c[Fe >> 2] | 0,
- c[vf >> 2] | 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- } else {
- c[uf >> 2] =
- (c[Oe >> 2] | 0) + (c[sf >> 2] | 0);
- c[tf >> 2] =
- Tj(
- c[Fe >> 2] | 0,
- c[uf >> 2] | 0,
- c[Ge >> 2] | 0
- ) | 0;
- }
- if (
- (c[tf >> 2] | 0) >>> 0 >=
- (c[Me >> 2] | 0) >>> 0
- ? ((c[lf >> 2] = c[tf >> 2]),
- (c[c[Ke >> 2] >> 2] =
- (c[Pe >> 2] | 0) -
- (c[sf >> 2] | 0) +
- 2),
- (c[((c[Ke >> 2] | 0) + 4) >> 2] =
- c[tf >> 2]),
- (c[jf >> 2] = 1),
- ((c[tf >> 2] | 0) >>> 0 >
- (c[Ne >> 2] | 0) >>> 0
- ? 1
- : (((c[Fe >> 2] | 0) +
- (c[tf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[De >> 2] | 0) + 24) >> 2] =
- (c[Pe >> 2] | 0) + 1;
- c[Ce >> 2] = 1;
- break;
- }
- }
- c[((c[Se >> 2] | 0) + (c[Te >> 2] << 2)) >> 2] =
- c[Pe >> 2];
- while (1) {
- _h = c[kf >> 2] | 0;
- c[kf >> 2] = _h + -1;
- if (!_h) break;
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[df >> 2] | 0) >>> 0
- )
- break;
- c[wf >> 2] =
- (c[Ve >> 2] | 0) +
- (((c[Ue >> 2] & c[Xe >> 2]) << 1) << 2);
- c[xf >> 2] =
- (c[Ye >> 2] | 0) >>> 0 <
- (c[Ze >> 2] | 0) >>> 0
- ? c[Ye >> 2] | 0
- : c[Ze >> 2] | 0;
- if (
- c[He >> 2] | 0
- ? (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[$e >> 2] | 0) >>> 0
- : 0
- ) {
- c[yf >> 2] =
- (c[_e >> 2] | 0) + (c[Ue >> 2] | 0);
- _h =
- Uj(
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- c[Ge >> 2] | 0,
- c[af >> 2] | 0,
- c[bf >> 2] | 0
- ) | 0;
- c[xf >> 2] = (c[xf >> 2] | 0) + _h;
- if (
- (((c[Ue >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[$e >> 2] | 0) >>> 0
- )
- c[yf >> 2] =
- (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
- } else {
- c[yf >> 2] =
- (c[Oe >> 2] | 0) + (c[Ue >> 2] | 0);
- _h =
- Tj(
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0,
- c[Ge >> 2] | 0
- ) | 0;
- c[xf >> 2] = (c[xf >> 2] | 0) + _h;
- }
- if (
- (c[xf >> 2] | 0) >>> 0 >
- (c[lf >> 2] | 0) >>> 0
- ) {
- if (
- (c[xf >> 2] | 0) >>> 0 >
- (((c[gf >> 2] | 0) - (c[Ue >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[gf >> 2] =
- (c[Ue >> 2] | 0) + (c[xf >> 2] | 0);
- c[lf >> 2] = c[xf >> 2];
- c[
- ((c[Ke >> 2] | 0) + (c[jf >> 2] << 3)) >>
- 2
- ] = (c[Pe >> 2] | 0) - (c[Ue >> 2] | 0) + 2;
- c[
- ((c[Ke >> 2] | 0) +
- (c[jf >> 2] << 3) +
- 4) >>
- 2
- ] = c[xf >> 2];
- c[jf >> 2] = (c[jf >> 2] | 0) + 1;
- if ((c[xf >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) |
- 0) ==
- (c[Ge >> 2] | 0)
- )
- break;
- }
- _h = c[Ue >> 2] | 0;
- if (
- (d[
- ((c[yf >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Fe >> 2] | 0) + (c[xf >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[ef >> 2] >> 2] = _h;
- c[Ye >> 2] = c[xf >> 2];
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[cf >> 2] | 0) >>> 0
- ) {
- dj = 162;
- break;
- }
- c[ef >> 2] = (c[wf >> 2] | 0) + 4;
- c[Ue >> 2] = c[((c[wf >> 2] | 0) + 4) >> 2];
- } else {
- c[c[ff >> 2] >> 2] = _h;
- c[Ze >> 2] = c[xf >> 2];
- if (
- (c[Ue >> 2] | 0) >>> 0 <=
- (c[cf >> 2] | 0) >>> 0
- ) {
- dj = 165;
- break;
- }
- c[ff >> 2] = c[wf >> 2];
- c[Ue >> 2] = c[c[wf >> 2] >> 2];
- }
- }
- if ((dj | 0) == 162) {
- dj = 0;
- c[ef >> 2] = hf;
- } else if ((dj | 0) == 165) {
- dj = 0;
- c[ff >> 2] = hf;
- }
- c[c[ff >> 2] >> 2] = 0;
- c[c[ef >> 2] >> 2] = 0;
- c[((c[De >> 2] | 0) + 24) >> 2] =
- (c[gf >> 2] | 0) - 8;
- c[Ce >> 2] = c[jf >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[Ce >> 2];
- break a;
- break;
- }
- default: {
- _h = c[Ch >> 2] | 0;
- Qh = c[Dh >> 2] | 0;
- Ph = c[Eh >> 2] | 0;
- Zi = c[Fh >> 2] | 0;
- _i = c[Gh >> 2] | 0;
- Uh = c[Hh >> 2] | 0;
- Zh = c[Ih >> 2] | 0;
- aj = c[Jh >> 2] | 0;
- c[Af >> 2] = c[Bh >> 2];
- c[Bf >> 2] = _h;
- c[Cf >> 2] = Qh;
- c[Df >> 2] = Ph;
- c[Ef >> 2] = Zi;
- c[Ff >> 2] = _i;
- c[Gf >> 2] = Uh;
- c[Hf >> 2] = Zh;
- c[If >> 2] = aj;
- c[Jf >> 2] = 4;
- if (
- (c[((c[Bf >> 2] | 0) + 20) >> 2] | 0) >>> 0 <
- 4095
- )
- lj = c[((c[Bf >> 2] | 0) + 20) >> 2] | 0;
- else lj = 4095;
- c[Kf >> 2] = lj;
- c[Lf >> 2] = c[((c[Af >> 2] | 0) + 4) >> 2];
- c[Mf >> 2] = (c[Cf >> 2] | 0) - (c[Lf >> 2] | 0);
- c[Nf >> 2] = c[((c[Bf >> 2] | 0) + 8) >> 2];
- c[Of >> 2] = (c[Jf >> 2] | 0) == 3 ? 3 : 4;
- c[Pf >> 2] = c[((c[Af >> 2] | 0) + 36) >> 2];
- c[Qf >> 2] =
- Sj(
- c[Cf >> 2] | 0,
- c[Nf >> 2] | 0,
- c[Jf >> 2] | 0
- ) | 0;
- c[Rf >> 2] =
- c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2];
- c[Sf >> 2] = c[((c[Af >> 2] | 0) + 44) >> 2];
- c[Tf >> 2] =
- (c[((c[Bf >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[Uf >> 2] = (1 << c[Tf >> 2]) - 1;
- c[Vf >> 2] = 0;
- c[Wf >> 2] = 0;
- c[Xf >> 2] = c[((c[Af >> 2] | 0) + 8) >> 2];
- c[Yf >> 2] = c[((c[Af >> 2] | 0) + 12) >> 2];
- c[Zf >> 2] = (c[Xf >> 2] | 0) + (c[Yf >> 2] | 0);
- c[_f >> 2] = (c[Lf >> 2] | 0) + (c[Yf >> 2] | 0);
- if (
- (c[Uf >> 2] | 0) >>> 0 >=
- (c[Mf >> 2] | 0) >>> 0
- )
- mj = 0;
- else mj = ((c[Mf >> 2] | 0) - (c[Uf >> 2] | 0)) | 0;
- c[$f >> 2] = mj;
- c[ag >> 2] = c[((c[Af >> 2] | 0) + 16) >> 2];
- c[bg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2);
- c[cg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Mf >> 2] & c[Uf >> 2]) << 1) << 2) +
- 4;
- c[dg >> 2] = (c[Mf >> 2] | 0) + 8 + 1;
- c[fg >> 2] = 0;
- c[gg >> 2] = 1 << c[((c[Bf >> 2] | 0) + 12) >> 2];
- c[hg >> 2] = (c[If >> 2] | 0) - 1;
- c[ig >> 2] = 3 + (c[Gf >> 2] | 0);
- c[jg >> 2] = c[Gf >> 2];
- while (1) {
- if (
- (c[jg >> 2] | 0) >>> 0 >=
- (c[ig >> 2] | 0) >>> 0
- ) {
- dj = 84;
- break;
- }
- aj = c[Ff >> 2] | 0;
- if ((c[jg >> 2] | 0) == 3)
- nj = ((c[aj >> 2] | 0) - 1) | 0;
- else nj = c[(aj + (c[jg >> 2] << 2)) >> 2] | 0;
- c[kg >> 2] = nj;
- c[lg >> 2] = (c[Mf >> 2] | 0) - (c[kg >> 2] | 0);
- c[mg >> 2] = 0;
- if (
- (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Mf >> 2] | 0) - (c[Yf >> 2] | 0)) | 0) >>>
- 0
- ) {
- aj = mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0;
- if (
- (aj | 0) ==
- (mm(
- ((c[Cf >> 2] | 0) +
- (0 - (c[kg >> 2] | 0))) |
- 0,
- c[Of >> 2] | 0
- ) |
- 0)
- ) {
- aj =
- Tj(
- ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- ((c[Cf >> 2] | 0) +
- (c[Of >> 2] | 0) +
- (0 - (c[kg >> 2] | 0))) |
- 0,
- c[Df >> 2] | 0
- ) | 0;
- c[mg >> 2] = aj + (c[Of >> 2] | 0);
- }
- } else {
- c[ng >> 2] =
- (c[Xf >> 2] | 0) + (c[lg >> 2] | 0);
- if (
- (
- c[Ef >> 2] | 0
- ? ((((c[Yf >> 2] | 0) -
- 1 -
- (c[lg >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[kg >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Mf >> 2] | 0) -
- (c[ag >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- : 0
- )
- ? ((aj =
- mm(c[Cf >> 2] | 0, c[Of >> 2] | 0) | 0),
- (aj | 0) ==
- (mm(c[ng >> 2] | 0, c[Of >> 2] | 0) |
- 0))
- : 0
- ) {
- aj =
- Uj(
- ((c[Cf >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- ((c[ng >> 2] | 0) + (c[Of >> 2] | 0)) | 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- c[mg >> 2] = aj + (c[Of >> 2] | 0);
- }
- }
- if (
- (c[mg >> 2] | 0) >>> 0 > (c[hg >> 2] | 0) >>> 0
- ? ((c[hg >> 2] = c[mg >> 2]),
- (c[
- ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
- 2
- ] = (c[jg >> 2] | 0) - (c[Gf >> 2] | 0)),
- (c[
- ((c[Hf >> 2] | 0) +
- (c[fg >> 2] << 3) +
- 4) >>
- 2
- ] = c[mg >> 2]),
- (c[fg >> 2] = (c[fg >> 2] | 0) + 1),
- ((c[mg >> 2] | 0) >>> 0 >
- (c[Kf >> 2] | 0) >>> 0
- ? 1
- : (((c[Cf >> 2] | 0) + (c[mg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 82;
- break;
- }
- c[jg >> 2] = (c[jg >> 2] | 0) + 1;
- }
- do {
- if ((dj | 0) == 82) {
- dj = 0;
- c[zf >> 2] = c[fg >> 2];
- } else if ((dj | 0) == 84) {
- dj = 0;
- if (
- (
- (c[Jf >> 2] | 0) == 3
- ? (c[hg >> 2] | 0) >>> 0 <
- (c[Jf >> 2] | 0) >>> 0
- : 0
- )
- ? ((c[og >> 2] =
- nm(c[Af >> 2] | 0, c[Cf >> 2] | 0) | 0),
- ((c[og >> 2] | 0) >>> 0 >
- (c[ag >> 2] | 0) >>> 0
- ? (((c[Mf >> 2] | 0) -
- (c[og >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0)
- : 0
- ) {
- if (
- c[Ef >> 2] | 0
- ? (c[og >> 2] | 0) >>> 0 <
- (c[Yf >> 2] | 0) >>> 0
- : 0
- ) {
- c[rg >> 2] =
- (c[Xf >> 2] | 0) + (c[og >> 2] | 0);
- c[pg >> 2] =
- Uj(
- c[Cf >> 2] | 0,
- c[rg >> 2] | 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- } else {
- c[qg >> 2] =
- (c[Lf >> 2] | 0) + (c[og >> 2] | 0);
- c[pg >> 2] =
- Tj(
- c[Cf >> 2] | 0,
- c[qg >> 2] | 0,
- c[Df >> 2] | 0
- ) | 0;
- }
- if (
- (c[pg >> 2] | 0) >>> 0 >=
- (c[Jf >> 2] | 0) >>> 0
- ? ((c[hg >> 2] = c[pg >> 2]),
- (c[c[Hf >> 2] >> 2] =
- (c[Mf >> 2] | 0) -
- (c[og >> 2] | 0) +
- 2),
- (c[((c[Hf >> 2] | 0) + 4) >> 2] =
- c[pg >> 2]),
- (c[fg >> 2] = 1),
- ((c[pg >> 2] | 0) >>> 0 >
- (c[Kf >> 2] | 0) >>> 0
- ? 1
- : (((c[Cf >> 2] | 0) +
- (c[pg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)) | 0)
- : 0
- ) {
- c[((c[Af >> 2] | 0) + 24) >> 2] =
- (c[Mf >> 2] | 0) + 1;
- c[zf >> 2] = 1;
- break;
- }
- }
- c[((c[Pf >> 2] | 0) + (c[Qf >> 2] << 2)) >> 2] =
- c[Mf >> 2];
- while (1) {
- aj = c[gg >> 2] | 0;
- c[gg >> 2] = aj + -1;
- if (!aj) break;
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[ag >> 2] | 0) >>> 0
- )
- break;
- c[sg >> 2] =
- (c[Sf >> 2] | 0) +
- (((c[Rf >> 2] & c[Uf >> 2]) << 1) << 2);
- c[tg >> 2] =
- (c[Vf >> 2] | 0) >>> 0 <
- (c[Wf >> 2] | 0) >>> 0
- ? c[Vf >> 2] | 0
- : c[Wf >> 2] | 0;
- if (
- c[Ef >> 2] | 0
- ? (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Yf >> 2] | 0) >>> 0
- : 0
- ) {
- c[ug >> 2] =
- (c[Xf >> 2] | 0) + (c[Rf >> 2] | 0);
- aj =
- Uj(
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- c[Df >> 2] | 0,
- c[Zf >> 2] | 0,
- c[_f >> 2] | 0
- ) | 0;
- c[tg >> 2] = (c[tg >> 2] | 0) + aj;
- if (
- (((c[Rf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Yf >> 2] | 0) >>> 0
- )
- c[ug >> 2] =
- (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
- } else {
- c[ug >> 2] =
- (c[Lf >> 2] | 0) + (c[Rf >> 2] | 0);
- aj =
- Tj(
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0,
- c[Df >> 2] | 0
- ) | 0;
- c[tg >> 2] = (c[tg >> 2] | 0) + aj;
- }
- if (
- (c[tg >> 2] | 0) >>> 0 >
- (c[hg >> 2] | 0) >>> 0
- ) {
- if (
- (c[tg >> 2] | 0) >>> 0 >
- (((c[dg >> 2] | 0) - (c[Rf >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[dg >> 2] =
- (c[Rf >> 2] | 0) + (c[tg >> 2] | 0);
- c[hg >> 2] = c[tg >> 2];
- c[
- ((c[Hf >> 2] | 0) + (c[fg >> 2] << 3)) >>
- 2
- ] = (c[Mf >> 2] | 0) - (c[Rf >> 2] | 0) + 2;
- c[
- ((c[Hf >> 2] | 0) +
- (c[fg >> 2] << 3) +
- 4) >>
- 2
- ] = c[tg >> 2];
- c[fg >> 2] = (c[fg >> 2] | 0) + 1;
- if ((c[tg >> 2] | 0) >>> 0 > 4096) break;
- if (
- (((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) |
- 0) ==
- (c[Df >> 2] | 0)
- )
- break;
- }
- aj = c[Rf >> 2] | 0;
- if (
- (d[
- ((c[ug >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[Cf >> 2] | 0) + (c[tg >> 2] | 0)) >> 0
- ] |
- 0 |
- 0)
- ) {
- c[c[bg >> 2] >> 2] = aj;
- c[Vf >> 2] = c[tg >> 2];
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[$f >> 2] | 0) >>> 0
- ) {
- dj = 109;
- break;
- }
- c[bg >> 2] = (c[sg >> 2] | 0) + 4;
- c[Rf >> 2] = c[((c[sg >> 2] | 0) + 4) >> 2];
- } else {
- c[c[cg >> 2] >> 2] = aj;
- c[Wf >> 2] = c[tg >> 2];
- if (
- (c[Rf >> 2] | 0) >>> 0 <=
- (c[$f >> 2] | 0) >>> 0
- ) {
- dj = 112;
- break;
- }
- c[cg >> 2] = c[sg >> 2];
- c[Rf >> 2] = c[c[sg >> 2] >> 2];
- }
- }
- if ((dj | 0) == 109) {
- dj = 0;
- c[bg >> 2] = eg;
- } else if ((dj | 0) == 112) {
- dj = 0;
- c[cg >> 2] = eg;
- }
- c[c[cg >> 2] >> 2] = 0;
- c[c[bg >> 2] >> 2] = 0;
- c[((c[Af >> 2] | 0) + 24) >> 2] =
- (c[dg >> 2] | 0) - 8;
- c[zf >> 2] = c[fg >> 2];
- }
- } while (0);
- c[Ah >> 2] = c[zf >> 2];
- break a;
- }
- }
- }
- } while (0);
- c[ki >> 2] = c[Ah >> 2];
- if (!(c[ki >> 2] | 0)) {
- c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
- continue;
- }
- c[li >> 2] = 0;
- while (1) {
- if ((c[li >> 2] | 0) >>> 0 >= 3) break;
- c[((c[bi >> 2] | 0) + 16 + (c[li >> 2] << 2)) >> 2] =
- c[((c[Nh >> 2] | 0) + (c[li >> 2] << 2)) >> 2];
- c[li >> 2] = (c[li >> 2] | 0) + 1;
- }
- c[((c[bi >> 2] | 0) + 8) >> 2] = 1;
- c[((c[bi >> 2] | 0) + 12) >> 2] = c[ii >> 2];
- c[mi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[ki >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ];
- do {
- if ((c[mi >> 2] | 0) >>> 0 <= (c[$h >> 2] | 0) >>> 0) {
- c[ni >> 2] =
- om(
- di,
- c[Wh >> 2] | 0,
- c[ii >> 2] | 0,
- c[Th >> 2] | 0
- ) | 0;
- c[oi >> 2] = 0;
- while (1) {
- if ((c[oi >> 2] | 0) >>> 0 >= (c[ai >> 2] | 0) >>> 0)
- break;
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = 1;
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0)) >>
- 2
- ] = 1073741824;
- c[oi >> 2] = (c[oi >> 2] | 0) + 1;
- }
- c[pi >> 2] = 0;
- while (1) {
- if ((c[pi >> 2] | 0) >>> 0 >= (c[ki >> 2] | 0) >>> 0)
- break;
- c[qi >> 2] =
- c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3)) >> 2];
- c[ri >> 2] =
- c[((c[ci >> 2] | 0) + (c[pi >> 2] << 3) + 4) >> 2];
- pm(
- si,
- c[Nh >> 2] | 0,
- c[qi >> 2] | 0,
- c[ji >> 2] | 0
- );
- while (1) {
- if ((c[oi >> 2] | 0) >>> 0 > (c[ri >> 2] | 0) >>> 0)
- break;
- aj = c[ni >> 2] | 0;
- Zh = c[oi >> 2] | 0;
- Uh = c[Th >> 2] | 0;
- _i = c[Rh >> 2] | 0;
- c[yd >> 2] = c[qi >> 2];
- c[zd >> 2] = Zh;
- c[Ad >> 2] = Uh;
- c[Bd >> 2] = _i;
- c[Dd >> 2] = qm(((c[yd >> 2] | 0) + 1) | 0) | 0;
- c[Ed >> 2] = (c[zd >> 2] | 0) - 3;
- if (c[((c[Ad >> 2] | 0) + 56) >> 2] | 0) {
- _i =
- ((qm(((c[Ed >> 2] | 0) + 1) | 0) | 0) + 16) | 0;
- c[xd >> 2] = _i + (c[Dd >> 2] | 0);
- } else {
- _i =
- ((c[Dd >> 2] | 0) +
- (c[((c[Ad >> 2] | 0) + 52) >> 2] | 0)) |
- 0;
- c[Cd >> 2] =
- _i -
- (qm(
- ((c[
- ((c[((c[Ad >> 2] | 0) + 12) >> 2] | 0) +
- (c[Dd >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- if (
- ((c[Bd >> 2] | 0) < 2) &
- ((c[Dd >> 2] | 0) >>> 0 >= 20)
- )
- c[Cd >> 2] =
- (c[Cd >> 2] | 0) +
- (((c[Dd >> 2] | 0) - 19) << 1);
- c[Fd >> 2] = rm(c[Ed >> 2] | 0) | 0;
- _i =
- ((c[(5840 + (c[Fd >> 2] << 2)) >> 2] | 0) +
- (c[((c[Ad >> 2] | 0) + 48) >> 2] | 0)) |
- 0;
- Uh =
- (_i -
- (qm(
- ((c[
- ((c[((c[Ad >> 2] | 0) + 8) >> 2] | 0) +
- (c[Fd >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0)) |
- 0;
- c[Cd >> 2] = (c[Cd >> 2] | 0) + Uh;
- c[xd >> 2] = c[Cd >> 2];
- }
- c[ti >> 2] = aj + (c[xd >> 2] | 0);
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[oi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[qi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[ii >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[ti >> 2];
- aj =
- ((c[bi >> 2] | 0) +
- (((c[oi >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- c[aj >> 2] = c[si >> 2];
- c[(aj + 4) >> 2] = c[(si + 4) >> 2];
- c[(aj + 8) >> 2] = c[(si + 8) >> 2];
- c[oi >> 2] = (c[oi >> 2] | 0) + 1;
- }
- c[pi >> 2] = (c[pi >> 2] | 0) + 1;
- }
- c[fi >> 2] = (c[oi >> 2] | 0) - 1;
- c[ei >> 2] = 1;
- b: while (1) {
- if ((c[ei >> 2] | 0) >>> 0 > (c[fi >> 2] | 0) >>> 0) {
- dj = 504;
- break;
- }
- c[ui >> 2] = (c[Vh >> 2] | 0) + (c[ei >> 2] | 0);
- if (
- (c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) ==
- 1
- )
- oj =
- ((c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 12) >>
- 2
- ] |
- 0) +
- 1) |
- 0;
- else oj = 1;
- c[vi >> 2] = oj;
- if ((c[ei >> 2] | 0) >>> 0 > (c[vi >> 2] | 0) >>> 0) {
- aj =
- c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - (c[vi >> 2] | 0)) |
- 0) *
- 28) |
- 0)) >>
- 2
- ] | 0;
- c[wi >> 2] =
- aj +
- (sm(
- ((c[ui >> 2] | 0) + (0 - (c[vi >> 2] | 0))) | 0,
- c[vi >> 2] | 0,
- c[Th >> 2] | 0
- ) |
- 0);
- } else
- c[wi >> 2] =
- tm(
- di,
- c[Wh >> 2] | 0,
- c[vi >> 2] | 0,
- c[Th >> 2] | 0
- ) | 0;
- if (
- (c[wi >> 2] | 0) <=
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- ) {
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = 1;
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = 0;
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[vi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[wi >> 2];
- aj =
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- Uh =
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - 1) | 0) * 28) | 0) +
- 16) |
- 0;
- c[aj >> 2] = c[Uh >> 2];
- c[(aj + 4) >> 2] = c[(Uh + 4) >> 2];
- c[(aj + 8) >> 2] = c[(Uh + 8) >> 2];
- }
- c: do {
- if (
- (c[ui >> 2] | 0) >>> 0 <=
- (c[Yh >> 2] | 0) >>> 0
- ) {
- if ((c[ei >> 2] | 0) == (c[fi >> 2] | 0)) {
- dj = 504;
- break b;
- }
- if (
- (c[Rh >> 2] | 0) == 0
- ? (c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) + 1) | 0) * 28) |
- 0)) >>
- 2
- ] |
- 0) <=
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- : 0
- )
- break;
- c[xi >> 2] =
- ((c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) !=
- 1) &
- 1;
- if (
- (c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] |
- 0) ==
- 1
- )
- pj =
- c[
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] | 0;
- else pj = 0;
- c[yi >> 2] = pj;
- if (
- (c[ei >> 2] | 0) >>> 0 >
- (c[yi >> 2] | 0) >>> 0
- )
- qj =
- c[
- ((c[bi >> 2] | 0) +
- (((((c[ei >> 2] | 0) - (c[yi >> 2] | 0)) |
- 0) *
- 28) |
- 0)) >>
- 2
- ] | 0;
- else qj = 0;
- c[zi >> 2] = qj;
- Uh = c[zi >> 2] | 0;
- c[Ai >> 2] =
- Uh +
- (um(
- ((c[ui >> 2] | 0) + (0 - (c[yi >> 2] | 0))) |
- 0,
- c[yi >> 2] | 0,
- c[Th >> 2] | 0
- ) |
- 0);
- Uh = c[Oh >> 2] | 0;
- aj = c[ui >> 2] | 0;
- _i = c[Xh >> 2] | 0;
- Zh = c[Sh >> 2] | 0;
- Zi =
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- Ph = c[xi >> 2] | 0;
- Qh = c[ci >> 2] | 0;
- _h = c[ai >> 2] | 0;
- c[nd >> 2] = c[Lh >> 2];
- c[od >> 2] = Uh;
- c[pd >> 2] = aj;
- c[qd >> 2] = _i;
- c[rd >> 2] = Zh;
- c[sd >> 2] = Zi;
- c[td >> 2] = Ph;
- c[ud >> 2] = Qh;
- c[vd >> 2] = _h;
- c[wd >> 2] = c[((c[od >> 2] | 0) + 16) >> 2];
- d: do {
- if (
- (c[pd >> 2] | 0) >>> 0 <
- (((c[((c[nd >> 2] | 0) + 4) >> 2] | 0) +
- (c[((c[nd >> 2] | 0) + 24) >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[md >> 2] = 0;
- else {
- _h = c[od >> 2] | 0;
- Qh = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Zi = c[wd >> 2] | 0;
- Zh = c[rd >> 2] | 0;
- c[dd >> 2] = c[nd >> 2];
- c[ed >> 2] = _h;
- c[fd >> 2] = Qh;
- c[gd >> 2] = Ph;
- c[hd >> 2] = Zi;
- c[id >> 2] = Zh;
- c[jd >> 2] = c[((c[dd >> 2] | 0) + 4) >> 2];
- c[kd >> 2] =
- (c[fd >> 2] | 0) - (c[jd >> 2] | 0);
- c[ld >> 2] = c[((c[dd >> 2] | 0) + 24) >> 2];
- while (1) {
- if (
- (c[ld >> 2] | 0) >>> 0 >=
- (c[kd >> 2] | 0) >>> 0
- )
- break;
- Zh =
- Rj(
- c[dd >> 2] | 0,
- c[ed >> 2] | 0,
- ((c[jd >> 2] | 0) + (c[ld >> 2] | 0)) |
- 0,
- c[gd >> 2] | 0,
- c[hd >> 2] | 0,
- c[id >> 2] | 0
- ) | 0;
- c[ld >> 2] = (c[ld >> 2] | 0) + Zh;
- }
- c[((c[dd >> 2] | 0) + 24) >> 2] = c[kd >> 2];
- switch (c[wd >> 2] | 0) {
- case 3: {
- Zh = c[od >> 2] | 0;
- Zi = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Qh = c[rd >> 2] | 0;
- _h = c[sd >> 2] | 0;
- _i = c[td >> 2] | 0;
- aj = c[ud >> 2] | 0;
- Uh = c[vd >> 2] | 0;
- c[ic >> 2] = c[nd >> 2];
- c[jc >> 2] = Zh;
- c[kc >> 2] = Zi;
- c[lc >> 2] = Ph;
- c[mc >> 2] = Qh;
- c[nc >> 2] = _h;
- c[oc >> 2] = _i;
- c[pc >> 2] = aj;
- c[qc >> 2] = Uh;
- c[rc >> 2] = 3;
- if (
- (c[((c[jc >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- rj =
- c[((c[jc >> 2] | 0) + 20) >> 2] | 0;
- else rj = 4095;
- c[sc >> 2] = rj;
- c[tc >> 2] =
- c[((c[ic >> 2] | 0) + 4) >> 2];
- c[uc >> 2] =
- (c[kc >> 2] | 0) - (c[tc >> 2] | 0);
- c[vc >> 2] =
- c[((c[jc >> 2] | 0) + 8) >> 2];
- c[wc >> 2] =
- (c[rc >> 2] | 0) == 3 ? 3 : 4;
- c[xc >> 2] =
- c[((c[ic >> 2] | 0) + 36) >> 2];
- c[yc >> 2] =
- Sj(
- c[kc >> 2] | 0,
- c[vc >> 2] | 0,
- c[rc >> 2] | 0
- ) | 0;
- c[zc >> 2] =
- c[
- ((c[xc >> 2] | 0) +
- (c[yc >> 2] << 2)) >>
- 2
- ];
- c[Ac >> 2] =
- c[((c[ic >> 2] | 0) + 44) >> 2];
- c[Bc >> 2] =
- (c[((c[jc >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Cc >> 2] = (1 << c[Bc >> 2]) - 1;
- c[Dc >> 2] = 0;
- c[Ec >> 2] = 0;
- c[Fc >> 2] =
- c[((c[ic >> 2] | 0) + 8) >> 2];
- c[Gc >> 2] =
- c[((c[ic >> 2] | 0) + 12) >> 2];
- c[Hc >> 2] =
- (c[Fc >> 2] | 0) + (c[Gc >> 2] | 0);
- c[Ic >> 2] =
- (c[tc >> 2] | 0) + (c[Gc >> 2] | 0);
- if (
- (c[Cc >> 2] | 0) >>> 0 >=
- (c[uc >> 2] | 0) >>> 0
- )
- sj = 0;
- else
- sj =
- ((c[uc >> 2] | 0) -
- (c[Cc >> 2] | 0)) |
- 0;
- c[Jc >> 2] = sj;
- c[Kc >> 2] =
- c[((c[ic >> 2] | 0) + 16) >> 2];
- c[Lc >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[uc >> 2] & c[Cc >> 2]) << 1) << 2);
- c[Mc >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[uc >> 2] & c[Cc >> 2]) << 1) <<
- 2) +
- 4;
- c[Nc >> 2] = (c[uc >> 2] | 0) + 8 + 1;
- c[Pc >> 2] = 0;
- c[Qc >> 2] =
- 1 << c[((c[jc >> 2] | 0) + 12) >> 2];
- c[Rc >> 2] = (c[qc >> 2] | 0) - 1;
- c[Sc >> 2] = 3 + (c[oc >> 2] | 0);
- c[Tc >> 2] = c[oc >> 2];
- while (1) {
- if (
- (c[Tc >> 2] | 0) >>> 0 >=
- (c[Sc >> 2] | 0) >>> 0
- ) {
- dj = 287;
- break;
- }
- Uh = c[nc >> 2] | 0;
- if ((c[Tc >> 2] | 0) == 3)
- tj = ((c[Uh >> 2] | 0) - 1) | 0;
- else
- tj =
- c[(Uh + (c[Tc >> 2] << 2)) >> 2] |
- 0;
- c[Uc >> 2] = tj;
- c[Vc >> 2] =
- (c[uc >> 2] | 0) - (c[Uc >> 2] | 0);
- c[Wc >> 2] = 0;
- do {
- if (
- (((c[Uc >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[uc >> 2] | 0) -
- (c[Gc >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Uh =
- mm(
- c[kc >> 2] | 0,
- c[wc >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- ((c[kc >> 2] | 0) +
- (0 - (c[Uc >> 2] | 0))) |
- 0,
- c[wc >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Tj(
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0) +
- (0 - (c[Uc >> 2] | 0))) |
- 0,
- c[lc >> 2] | 0
- ) | 0;
- c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
- } else {
- c[Xc >> 2] =
- (c[Fc >> 2] | 0) +
- (c[Vc >> 2] | 0);
- if (!(c[mc >> 2] | 0)) break;
- if (
- !(
- ((((c[Gc >> 2] | 0) -
- 1 -
- (c[Vc >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[Uc >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[uc >> 2] | 0) -
- (c[Kc >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Uh =
- mm(
- c[kc >> 2] | 0,
- c[wc >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- c[Xc >> 2] | 0,
- c[wc >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Uj(
- ((c[kc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- ((c[Xc >> 2] | 0) +
- (c[wc >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- c[Wc >> 2] = Uh + (c[wc >> 2] | 0);
- }
- } while (0);
- if (
- (c[Wc >> 2] | 0) >>> 0 >
- (c[Rc >> 2] | 0) >>> 0
- ? ((c[Rc >> 2] = c[Wc >> 2]),
- (c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3)) >>
- 2
- ] =
- (c[Tc >> 2] | 0) -
- (c[oc >> 2] | 0)),
- (c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3) +
- 4) >>
- 2
- ] = c[Wc >> 2]),
- (c[Pc >> 2] =
- (c[Pc >> 2] | 0) + 1),
- ((c[Wc >> 2] | 0) >>> 0 >
- (c[sc >> 2] | 0) >>> 0
- ? 1
- : (((c[kc >> 2] | 0) +
- (c[Wc >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 285;
- break;
- }
- c[Tc >> 2] = (c[Tc >> 2] | 0) + 1;
- }
- e: do {
- if ((dj | 0) == 285) {
- dj = 0;
- c[hc >> 2] = c[Pc >> 2];
- } else if ((dj | 0) == 287) {
- dj = 0;
- do {
- if ((c[rc >> 2] | 0) == 3) {
- if (
- (c[Rc >> 2] | 0) >>> 0 >=
- (c[rc >> 2] | 0) >>> 0
- )
- break;
- c[Yc >> 2] =
- nm(
- c[ic >> 2] | 0,
- c[kc >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[Yc >> 2] | 0) >>> 0 >
- (c[Kc >> 2] | 0) >>> 0
- ? (((c[uc >> 2] | 0) -
- (c[Yc >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[mc >> 2] | 0) {
- if (
- (c[Yc >> 2] | 0) >>> 0 >=
- (c[Gc >> 2] | 0) >>> 0
- ) {
- dj = 292;
- break;
- }
- c[$c >> 2] =
- (c[Fc >> 2] | 0) +
- (c[Yc >> 2] | 0);
- c[Zc >> 2] =
- Uj(
- c[kc >> 2] | 0,
- c[$c >> 2] | 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- } else dj = 292;
- } while (0);
- if ((dj | 0) == 292) {
- dj = 0;
- c[_c >> 2] =
- (c[tc >> 2] | 0) +
- (c[Yc >> 2] | 0);
- c[Zc >> 2] =
- Tj(
- c[kc >> 2] | 0,
- c[_c >> 2] | 0,
- c[lc >> 2] | 0
- ) | 0;
- }
- if (
- (c[Zc >> 2] | 0) >>> 0 <
- (c[rc >> 2] | 0) >>> 0
- )
- break;
- c[Rc >> 2] = c[Zc >> 2];
- c[c[pc >> 2] >> 2] =
- (c[uc >> 2] | 0) -
- (c[Yc >> 2] | 0) +
- 2;
- c[((c[pc >> 2] | 0) + 4) >> 2] =
- c[Zc >> 2];
- c[Pc >> 2] = 1;
- if (
- !(
- ((c[Zc >> 2] | 0) >>> 0 >
- (c[sc >> 2] | 0) >>> 0
- ? 1
- : (((c[kc >> 2] | 0) +
- (c[Zc >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[ic >> 2] | 0) + 24) >> 2] =
- (c[uc >> 2] | 0) + 1;
- c[hc >> 2] = 1;
- break e;
- }
- } while (0);
- c[
- ((c[xc >> 2] | 0) +
- (c[yc >> 2] << 2)) >>
- 2
- ] = c[uc >> 2];
- while (1) {
- Uh = c[Qc >> 2] | 0;
- c[Qc >> 2] = Uh + -1;
- if (!Uh) break;
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Kc >> 2] | 0) >>> 0
- )
- break;
- c[ad >> 2] =
- (c[Ac >> 2] | 0) +
- (((c[zc >> 2] & c[Cc >> 2]) <<
- 1) <<
- 2);
- c[bd >> 2] =
- (c[Dc >> 2] | 0) >>> 0 <
- (c[Ec >> 2] | 0) >>> 0
- ? c[Dc >> 2] | 0
- : c[Ec >> 2] | 0;
- do {
- if (c[mc >> 2] | 0) {
- if (
- (((c[zc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Gc >> 2] | 0) >>> 0
- ) {
- dj = 302;
- break;
- }
- c[cd >> 2] =
- (c[Fc >> 2] | 0) +
- (c[zc >> 2] | 0);
- Uh =
- Uj(
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0,
- c[Hc >> 2] | 0,
- c[Ic >> 2] | 0
- ) | 0;
- c[bd >> 2] =
- (c[bd >> 2] | 0) + Uh;
- if (
- (((c[zc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Gc >> 2] | 0) >>> 0
- )
- break;
- c[cd >> 2] =
- (c[tc >> 2] | 0) +
- (c[zc >> 2] | 0);
- } else dj = 302;
- } while (0);
- if ((dj | 0) == 302) {
- dj = 0;
- c[cd >> 2] =
- (c[tc >> 2] | 0) +
- (c[zc >> 2] | 0);
- Uh =
- Tj(
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0,
- c[lc >> 2] | 0
- ) | 0;
- c[bd >> 2] =
- (c[bd >> 2] | 0) + Uh;
- }
- if (
- (c[bd >> 2] | 0) >>> 0 >
- (c[Rc >> 2] | 0) >>> 0
- ) {
- if (
- (c[bd >> 2] | 0) >>> 0 >
- (((c[Nc >> 2] | 0) -
- (c[zc >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Nc >> 2] =
- (c[zc >> 2] | 0) +
- (c[bd >> 2] | 0);
- c[Rc >> 2] = c[bd >> 2];
- c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3)) >>
- 2
- ] =
- (c[uc >> 2] | 0) -
- (c[zc >> 2] | 0) +
- 2;
- c[
- ((c[pc >> 2] | 0) +
- (c[Pc >> 2] << 3) +
- 4) >>
- 2
- ] = c[bd >> 2];
- c[Pc >> 2] = (c[Pc >> 2] | 0) + 1;
- if ((c[bd >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) |
- 0) ==
- (c[lc >> 2] | 0)
- )
- break;
- }
- Uh = c[zc >> 2] | 0;
- if (
- (d[
- ((c[cd >> 2] | 0) +
- (c[bd >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[kc >> 2] | 0) +
- (c[bd >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Lc >> 2] >> 2] = Uh;
- c[Dc >> 2] = c[bd >> 2];
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Jc >> 2] | 0) >>> 0
- ) {
- dj = 312;
- break;
- }
- c[Lc >> 2] = (c[ad >> 2] | 0) + 4;
- c[zc >> 2] =
- c[((c[ad >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Mc >> 2] >> 2] = Uh;
- c[Ec >> 2] = c[bd >> 2];
- if (
- (c[zc >> 2] | 0) >>> 0 <=
- (c[Jc >> 2] | 0) >>> 0
- ) {
- dj = 315;
- break;
- }
- c[Mc >> 2] = c[ad >> 2];
- c[zc >> 2] = c[c[ad >> 2] >> 2];
- }
- }
- if ((dj | 0) == 312) {
- dj = 0;
- c[Lc >> 2] = Oc;
- } else if ((dj | 0) == 315) {
- dj = 0;
- c[Mc >> 2] = Oc;
- }
- c[c[Mc >> 2] >> 2] = 0;
- c[c[Lc >> 2] >> 2] = 0;
- c[((c[ic >> 2] | 0) + 24) >> 2] =
- (c[Nc >> 2] | 0) - 8;
- c[hc >> 2] = c[Pc >> 2];
- }
- } while (0);
- c[md >> 2] = c[hc >> 2];
- break d;
- break;
- }
- case 7:
- case 6: {
- Uh = c[od >> 2] | 0;
- aj = c[pd >> 2] | 0;
- _i = c[qd >> 2] | 0;
- _h = c[rd >> 2] | 0;
- Qh = c[sd >> 2] | 0;
- Ph = c[td >> 2] | 0;
- Zi = c[ud >> 2] | 0;
- Zh = c[vd >> 2] | 0;
- c[u >> 2] = c[nd >> 2];
- c[v >> 2] = Uh;
- c[w >> 2] = aj;
- c[x >> 2] = _i;
- c[y >> 2] = _h;
- c[z >> 2] = Qh;
- c[A >> 2] = Ph;
- c[B >> 2] = Zi;
- c[C >> 2] = Zh;
- c[D >> 2] = 6;
- if (
- (c[((c[v >> 2] | 0) + 20) >> 2] | 0) >>>
- 0 <
- 4095
- )
- uj = c[((c[v >> 2] | 0) + 20) >> 2] | 0;
- else uj = 4095;
- c[E >> 2] = uj;
- c[F >> 2] = c[((c[u >> 2] | 0) + 4) >> 2];
- c[G >> 2] =
- (c[w >> 2] | 0) - (c[F >> 2] | 0);
- c[H >> 2] = c[((c[v >> 2] | 0) + 8) >> 2];
- c[I >> 2] = (c[D >> 2] | 0) == 3 ? 3 : 4;
- c[J >> 2] =
- c[((c[u >> 2] | 0) + 36) >> 2];
- c[K >> 2] =
- Sj(
- c[w >> 2] | 0,
- c[H >> 2] | 0,
- c[D >> 2] | 0
- ) | 0;
- c[L >> 2] =
- c[
- ((c[J >> 2] | 0) +
- (c[K >> 2] << 2)) >>
- 2
- ];
- c[M >> 2] =
- c[((c[u >> 2] | 0) + 44) >> 2];
- c[N >> 2] =
- (c[((c[v >> 2] | 0) + 4) >> 2] | 0) - 1;
- c[O >> 2] = (1 << c[N >> 2]) - 1;
- c[P >> 2] = 0;
- c[Q >> 2] = 0;
- c[R >> 2] = c[((c[u >> 2] | 0) + 8) >> 2];
- c[S >> 2] =
- c[((c[u >> 2] | 0) + 12) >> 2];
- c[T >> 2] =
- (c[R >> 2] | 0) + (c[S >> 2] | 0);
- c[U >> 2] =
- (c[F >> 2] | 0) + (c[S >> 2] | 0);
- if (
- (c[O >> 2] | 0) >>> 0 >=
- (c[G >> 2] | 0) >>> 0
- )
- vj = 0;
- else
- vj =
- ((c[G >> 2] | 0) - (c[O >> 2] | 0)) |
- 0;
- c[V >> 2] = vj;
- c[W >> 2] =
- c[((c[u >> 2] | 0) + 16) >> 2];
- c[X >> 2] =
- (c[M >> 2] | 0) +
- (((c[G >> 2] & c[O >> 2]) << 1) << 2);
- c[Y >> 2] =
- (c[M >> 2] | 0) +
- (((c[G >> 2] & c[O >> 2]) << 1) << 2) +
- 4;
- c[Z >> 2] = (c[G >> 2] | 0) + 8 + 1;
- c[$ >> 2] = 0;
- c[aa >> 2] =
- 1 << c[((c[v >> 2] | 0) + 12) >> 2];
- c[ba >> 2] = (c[C >> 2] | 0) - 1;
- c[ca >> 2] = 3 + (c[A >> 2] | 0);
- c[da >> 2] = c[A >> 2];
- while (1) {
- if (
- (c[da >> 2] | 0) >>> 0 >=
- (c[ca >> 2] | 0) >>> 0
- ) {
- dj = 446;
- break;
- }
- Zh = c[z >> 2] | 0;
- if ((c[da >> 2] | 0) == 3)
- wj = ((c[Zh >> 2] | 0) - 1) | 0;
- else
- wj =
- c[(Zh + (c[da >> 2] << 2)) >> 2] |
- 0;
- c[ea >> 2] = wj;
- c[fa >> 2] =
- (c[G >> 2] | 0) - (c[ea >> 2] | 0);
- c[ga >> 2] = 0;
- do {
- if (
- (((c[ea >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[G >> 2] | 0) -
- (c[S >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Zh =
- mm(c[w >> 2] | 0, c[I >> 2] | 0) |
- 0;
- if (
- (Zh | 0) !=
- (mm(
- ((c[w >> 2] | 0) +
- (0 - (c[ea >> 2] | 0))) |
- 0,
- c[I >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Tj(
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0) +
- (0 - (c[ea >> 2] | 0))) |
- 0,
- c[x >> 2] | 0
- ) | 0;
- c[ga >> 2] = Zh + (c[I >> 2] | 0);
- } else {
- c[ha >> 2] =
- (c[R >> 2] | 0) +
- (c[fa >> 2] | 0);
- if (!(c[y >> 2] | 0)) break;
- if (
- !(
- ((((c[S >> 2] | 0) -
- 1 -
- (c[fa >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[ea >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[G >> 2] | 0) -
- (c[W >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Zh =
- mm(c[w >> 2] | 0, c[I >> 2] | 0) |
- 0;
- if (
- (Zh | 0) !=
- (mm(
- c[ha >> 2] | 0,
- c[I >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Uj(
- ((c[w >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- ((c[ha >> 2] | 0) +
- (c[I >> 2] | 0)) |
- 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[ga >> 2] = Zh + (c[I >> 2] | 0);
- }
- } while (0);
- if (
- (c[ga >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- ? ((c[ba >> 2] = c[ga >> 2]),
- (c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3)) >>
- 2
- ] =
- (c[da >> 2] | 0) -
- (c[A >> 2] | 0)),
- (c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3) +
- 4) >>
- 2
- ] = c[ga >> 2]),
- (c[$ >> 2] = (c[$ >> 2] | 0) + 1),
- ((c[ga >> 2] | 0) >>> 0 >
- (c[E >> 2] | 0) >>> 0
- ? 1
- : (((c[w >> 2] | 0) +
- (c[ga >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 444;
- break;
- }
- c[da >> 2] = (c[da >> 2] | 0) + 1;
- }
- f: do {
- if ((dj | 0) == 444) {
- dj = 0;
- c[t >> 2] = c[$ >> 2];
- } else if ((dj | 0) == 446) {
- dj = 0;
- do {
- if ((c[D >> 2] | 0) == 3) {
- if (
- (c[ba >> 2] | 0) >>> 0 >=
- (c[D >> 2] | 0) >>> 0
- )
- break;
- c[ia >> 2] =
- nm(
- c[u >> 2] | 0,
- c[w >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[ia >> 2] | 0) >>> 0 >
- (c[W >> 2] | 0) >>> 0
- ? (((c[G >> 2] | 0) -
- (c[ia >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[y >> 2] | 0) {
- if (
- (c[ia >> 2] | 0) >>> 0 >=
- (c[S >> 2] | 0) >>> 0
- ) {
- dj = 451;
- break;
- }
- c[la >> 2] =
- (c[R >> 2] | 0) +
- (c[ia >> 2] | 0);
- c[ja >> 2] =
- Uj(
- c[w >> 2] | 0,
- c[la >> 2] | 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- } else dj = 451;
- } while (0);
- if ((dj | 0) == 451) {
- dj = 0;
- c[ka >> 2] =
- (c[F >> 2] | 0) +
- (c[ia >> 2] | 0);
- c[ja >> 2] =
- Tj(
- c[w >> 2] | 0,
- c[ka >> 2] | 0,
- c[x >> 2] | 0
- ) | 0;
- }
- if (
- (c[ja >> 2] | 0) >>> 0 <
- (c[D >> 2] | 0) >>> 0
- )
- break;
- c[ba >> 2] = c[ja >> 2];
- c[c[B >> 2] >> 2] =
- (c[G >> 2] | 0) -
- (c[ia >> 2] | 0) +
- 2;
- c[((c[B >> 2] | 0) + 4) >> 2] =
- c[ja >> 2];
- c[$ >> 2] = 1;
- if (
- !(
- ((c[ja >> 2] | 0) >>> 0 >
- (c[E >> 2] | 0) >>> 0
- ? 1
- : (((c[w >> 2] | 0) +
- (c[ja >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[u >> 2] | 0) + 24) >> 2] =
- (c[G >> 2] | 0) + 1;
- c[t >> 2] = 1;
- break f;
- }
- } while (0);
- c[
- ((c[J >> 2] | 0) +
- (c[K >> 2] << 2)) >>
- 2
- ] = c[G >> 2];
- while (1) {
- Zh = c[aa >> 2] | 0;
- c[aa >> 2] = Zh + -1;
- if (!Zh) break;
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[W >> 2] | 0) >>> 0
- )
- break;
- c[ma >> 2] =
- (c[M >> 2] | 0) +
- (((c[L >> 2] & c[O >> 2]) << 1) <<
- 2);
- c[na >> 2] =
- (c[P >> 2] | 0) >>> 0 <
- (c[Q >> 2] | 0) >>> 0
- ? c[P >> 2] | 0
- : c[Q >> 2] | 0;
- do {
- if (c[y >> 2] | 0) {
- if (
- (((c[L >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[S >> 2] | 0) >>> 0
- ) {
- dj = 461;
- break;
- }
- c[oa >> 2] =
- (c[R >> 2] | 0) +
- (c[L >> 2] | 0);
- Zh =
- Uj(
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- c[x >> 2] | 0,
- c[T >> 2] | 0,
- c[U >> 2] | 0
- ) | 0;
- c[na >> 2] =
- (c[na >> 2] | 0) + Zh;
- if (
- (((c[L >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[S >> 2] | 0) >>> 0
- )
- break;
- c[oa >> 2] =
- (c[F >> 2] | 0) +
- (c[L >> 2] | 0);
- } else dj = 461;
- } while (0);
- if ((dj | 0) == 461) {
- dj = 0;
- c[oa >> 2] =
- (c[F >> 2] | 0) +
- (c[L >> 2] | 0);
- Zh =
- Tj(
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0,
- c[x >> 2] | 0
- ) | 0;
- c[na >> 2] =
- (c[na >> 2] | 0) + Zh;
- }
- if (
- (c[na >> 2] | 0) >>> 0 >
- (c[ba >> 2] | 0) >>> 0
- ) {
- if (
- (c[na >> 2] | 0) >>> 0 >
- (((c[Z >> 2] | 0) -
- (c[L >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Z >> 2] =
- (c[L >> 2] | 0) +
- (c[na >> 2] | 0);
- c[ba >> 2] = c[na >> 2];
- c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3)) >>
- 2
- ] =
- (c[G >> 2] | 0) -
- (c[L >> 2] | 0) +
- 2;
- c[
- ((c[B >> 2] | 0) +
- (c[$ >> 2] << 3) +
- 4) >>
- 2
- ] = c[na >> 2];
- c[$ >> 2] = (c[$ >> 2] | 0) + 1;
- if ((c[na >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) |
- 0) ==
- (c[x >> 2] | 0)
- )
- break;
- }
- Zh = c[L >> 2] | 0;
- if (
- (d[
- ((c[oa >> 2] | 0) +
- (c[na >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[w >> 2] | 0) +
- (c[na >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[X >> 2] >> 2] = Zh;
- c[P >> 2] = c[na >> 2];
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[V >> 2] | 0) >>> 0
- ) {
- dj = 471;
- break;
- }
- c[X >> 2] = (c[ma >> 2] | 0) + 4;
- c[L >> 2] =
- c[((c[ma >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Y >> 2] >> 2] = Zh;
- c[Q >> 2] = c[na >> 2];
- if (
- (c[L >> 2] | 0) >>> 0 <=
- (c[V >> 2] | 0) >>> 0
- ) {
- dj = 474;
- break;
- }
- c[Y >> 2] = c[ma >> 2];
- c[L >> 2] = c[c[ma >> 2] >> 2];
- }
- }
- if ((dj | 0) == 471) {
- dj = 0;
- c[X >> 2] = _;
- } else if ((dj | 0) == 474) {
- dj = 0;
- c[Y >> 2] = _;
- }
- c[c[Y >> 2] >> 2] = 0;
- c[c[X >> 2] >> 2] = 0;
- c[((c[u >> 2] | 0) + 24) >> 2] =
- (c[Z >> 2] | 0) - 8;
- c[t >> 2] = c[$ >> 2];
- }
- } while (0);
- c[md >> 2] = c[t >> 2];
- break d;
- break;
- }
- case 5: {
- Zh = c[od >> 2] | 0;
- Zi = c[pd >> 2] | 0;
- Ph = c[qd >> 2] | 0;
- Qh = c[rd >> 2] | 0;
- _h = c[sd >> 2] | 0;
- _i = c[td >> 2] | 0;
- aj = c[ud >> 2] | 0;
- Uh = c[vd >> 2] | 0;
- c[qa >> 2] = c[nd >> 2];
- c[ra >> 2] = Zh;
- c[sa >> 2] = Zi;
- c[ta >> 2] = Ph;
- c[ua >> 2] = Qh;
- c[va >> 2] = _h;
- c[wa >> 2] = _i;
- c[xa >> 2] = aj;
- c[ya >> 2] = Uh;
- c[za >> 2] = 5;
- if (
- (c[((c[ra >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- xj =
- c[((c[ra >> 2] | 0) + 20) >> 2] | 0;
- else xj = 4095;
- c[Aa >> 2] = xj;
- c[Ba >> 2] =
- c[((c[qa >> 2] | 0) + 4) >> 2];
- c[Ca >> 2] =
- (c[sa >> 2] | 0) - (c[Ba >> 2] | 0);
- c[Da >> 2] =
- c[((c[ra >> 2] | 0) + 8) >> 2];
- c[Ea >> 2] =
- (c[za >> 2] | 0) == 3 ? 3 : 4;
- c[Fa >> 2] =
- c[((c[qa >> 2] | 0) + 36) >> 2];
- c[Ga >> 2] =
- Sj(
- c[sa >> 2] | 0,
- c[Da >> 2] | 0,
- c[za >> 2] | 0
- ) | 0;
- c[Ha >> 2] =
- c[
- ((c[Fa >> 2] | 0) +
- (c[Ga >> 2] << 2)) >>
- 2
- ];
- c[Ia >> 2] =
- c[((c[qa >> 2] | 0) + 44) >> 2];
- c[Ja >> 2] =
- (c[((c[ra >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Ka >> 2] = (1 << c[Ja >> 2]) - 1;
- c[La >> 2] = 0;
- c[Ma >> 2] = 0;
- c[Na >> 2] =
- c[((c[qa >> 2] | 0) + 8) >> 2];
- c[Oa >> 2] =
- c[((c[qa >> 2] | 0) + 12) >> 2];
- c[Pa >> 2] =
- (c[Na >> 2] | 0) + (c[Oa >> 2] | 0);
- c[Qa >> 2] =
- (c[Ba >> 2] | 0) + (c[Oa >> 2] | 0);
- if (
- (c[Ka >> 2] | 0) >>> 0 >=
- (c[Ca >> 2] | 0) >>> 0
- )
- yj = 0;
- else
- yj =
- ((c[Ca >> 2] | 0) -
- (c[Ka >> 2] | 0)) |
- 0;
- c[Ra >> 2] = yj;
- c[Sa >> 2] =
- c[((c[qa >> 2] | 0) + 16) >> 2];
- c[Ta >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ca >> 2] & c[Ka >> 2]) << 1) << 2);
- c[Ua >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ca >> 2] & c[Ka >> 2]) << 1) <<
- 2) +
- 4;
- c[Va >> 2] = (c[Ca >> 2] | 0) + 8 + 1;
- c[Xa >> 2] = 0;
- c[Ya >> 2] =
- 1 << c[((c[ra >> 2] | 0) + 12) >> 2];
- c[Za >> 2] = (c[ya >> 2] | 0) - 1;
- c[_a >> 2] = 3 + (c[wa >> 2] | 0);
- c[$a >> 2] = c[wa >> 2];
- while (1) {
- if (
- (c[$a >> 2] | 0) >>> 0 >=
- (c[_a >> 2] | 0) >>> 0
- ) {
- dj = 393;
- break;
- }
- Uh = c[va >> 2] | 0;
- if ((c[$a >> 2] | 0) == 3)
- zj = ((c[Uh >> 2] | 0) - 1) | 0;
- else
- zj =
- c[(Uh + (c[$a >> 2] << 2)) >> 2] |
- 0;
- c[ab >> 2] = zj;
- c[bb >> 2] =
- (c[Ca >> 2] | 0) - (c[ab >> 2] | 0);
- c[cb >> 2] = 0;
- do {
- if (
- (((c[ab >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[Ca >> 2] | 0) -
- (c[Oa >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Uh =
- mm(
- c[sa >> 2] | 0,
- c[Ea >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- ((c[sa >> 2] | 0) +
- (0 - (c[ab >> 2] | 0))) |
- 0,
- c[Ea >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Tj(
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0) +
- (0 - (c[ab >> 2] | 0))) |
- 0,
- c[ta >> 2] | 0
- ) | 0;
- c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
- } else {
- c[db >> 2] =
- (c[Na >> 2] | 0) +
- (c[bb >> 2] | 0);
- if (!(c[ua >> 2] | 0)) break;
- if (
- !(
- ((((c[Oa >> 2] | 0) -
- 1 -
- (c[bb >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[ab >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[Ca >> 2] | 0) -
- (c[Sa >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Uh =
- mm(
- c[sa >> 2] | 0,
- c[Ea >> 2] | 0
- ) | 0;
- if (
- (Uh | 0) !=
- (mm(
- c[db >> 2] | 0,
- c[Ea >> 2] | 0
- ) |
- 0)
- )
- break;
- Uh =
- Uj(
- ((c[sa >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- ((c[db >> 2] | 0) +
- (c[Ea >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- c[cb >> 2] = Uh + (c[Ea >> 2] | 0);
- }
- } while (0);
- if (
- (c[cb >> 2] | 0) >>> 0 >
- (c[Za >> 2] | 0) >>> 0
- ? ((c[Za >> 2] = c[cb >> 2]),
- (c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3)) >>
- 2
- ] =
- (c[$a >> 2] | 0) -
- (c[wa >> 2] | 0)),
- (c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3) +
- 4) >>
- 2
- ] = c[cb >> 2]),
- (c[Xa >> 2] =
- (c[Xa >> 2] | 0) + 1),
- ((c[cb >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? 1
- : (((c[sa >> 2] | 0) +
- (c[cb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 391;
- break;
- }
- c[$a >> 2] = (c[$a >> 2] | 0) + 1;
- }
- g: do {
- if ((dj | 0) == 391) {
- dj = 0;
- c[pa >> 2] = c[Xa >> 2];
- } else if ((dj | 0) == 393) {
- dj = 0;
- do {
- if ((c[za >> 2] | 0) == 3) {
- if (
- (c[Za >> 2] | 0) >>> 0 >=
- (c[za >> 2] | 0) >>> 0
- )
- break;
- c[eb >> 2] =
- nm(
- c[qa >> 2] | 0,
- c[sa >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[eb >> 2] | 0) >>> 0 >
- (c[Sa >> 2] | 0) >>> 0
- ? (((c[Ca >> 2] | 0) -
- (c[eb >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[ua >> 2] | 0) {
- if (
- (c[eb >> 2] | 0) >>> 0 >=
- (c[Oa >> 2] | 0) >>> 0
- ) {
- dj = 398;
- break;
- }
- c[hb >> 2] =
- (c[Na >> 2] | 0) +
- (c[eb >> 2] | 0);
- c[fb >> 2] =
- Uj(
- c[sa >> 2] | 0,
- c[hb >> 2] | 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- } else dj = 398;
- } while (0);
- if ((dj | 0) == 398) {
- dj = 0;
- c[gb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[eb >> 2] | 0);
- c[fb >> 2] =
- Tj(
- c[sa >> 2] | 0,
- c[gb >> 2] | 0,
- c[ta >> 2] | 0
- ) | 0;
- }
- if (
- (c[fb >> 2] | 0) >>> 0 <
- (c[za >> 2] | 0) >>> 0
- )
- break;
- c[Za >> 2] = c[fb >> 2];
- c[c[xa >> 2] >> 2] =
- (c[Ca >> 2] | 0) -
- (c[eb >> 2] | 0) +
- 2;
- c[((c[xa >> 2] | 0) + 4) >> 2] =
- c[fb >> 2];
- c[Xa >> 2] = 1;
- if (
- !(
- ((c[fb >> 2] | 0) >>> 0 >
- (c[Aa >> 2] | 0) >>> 0
- ? 1
- : (((c[sa >> 2] | 0) +
- (c[fb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[qa >> 2] | 0) + 24) >> 2] =
- (c[Ca >> 2] | 0) + 1;
- c[pa >> 2] = 1;
- break g;
- }
- } while (0);
- c[
- ((c[Fa >> 2] | 0) +
- (c[Ga >> 2] << 2)) >>
- 2
- ] = c[Ca >> 2];
- while (1) {
- Uh = c[Ya >> 2] | 0;
- c[Ya >> 2] = Uh + -1;
- if (!Uh) break;
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Sa >> 2] | 0) >>> 0
- )
- break;
- c[ib >> 2] =
- (c[Ia >> 2] | 0) +
- (((c[Ha >> 2] & c[Ka >> 2]) <<
- 1) <<
- 2);
- c[jb >> 2] =
- (c[La >> 2] | 0) >>> 0 <
- (c[Ma >> 2] | 0) >>> 0
- ? c[La >> 2] | 0
- : c[Ma >> 2] | 0;
- do {
- if (c[ua >> 2] | 0) {
- if (
- (((c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Oa >> 2] | 0) >>> 0
- ) {
- dj = 408;
- break;
- }
- c[kb >> 2] =
- (c[Na >> 2] | 0) +
- (c[Ha >> 2] | 0);
- Uh =
- Uj(
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0,
- c[Pa >> 2] | 0,
- c[Qa >> 2] | 0
- ) | 0;
- c[jb >> 2] =
- (c[jb >> 2] | 0) + Uh;
- if (
- (((c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Oa >> 2] | 0) >>> 0
- )
- break;
- c[kb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[Ha >> 2] | 0);
- } else dj = 408;
- } while (0);
- if ((dj | 0) == 408) {
- dj = 0;
- c[kb >> 2] =
- (c[Ba >> 2] | 0) +
- (c[Ha >> 2] | 0);
- Uh =
- Tj(
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0,
- c[ta >> 2] | 0
- ) | 0;
- c[jb >> 2] =
- (c[jb >> 2] | 0) + Uh;
- }
- if (
- (c[jb >> 2] | 0) >>> 0 >
- (c[Za >> 2] | 0) >>> 0
- ) {
- if (
- (c[jb >> 2] | 0) >>> 0 >
- (((c[Va >> 2] | 0) -
- (c[Ha >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Va >> 2] =
- (c[Ha >> 2] | 0) +
- (c[jb >> 2] | 0);
- c[Za >> 2] = c[jb >> 2];
- c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3)) >>
- 2
- ] =
- (c[Ca >> 2] | 0) -
- (c[Ha >> 2] | 0) +
- 2;
- c[
- ((c[xa >> 2] | 0) +
- (c[Xa >> 2] << 3) +
- 4) >>
- 2
- ] = c[jb >> 2];
- c[Xa >> 2] = (c[Xa >> 2] | 0) + 1;
- if ((c[jb >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) |
- 0) ==
- (c[ta >> 2] | 0)
- )
- break;
- }
- Uh = c[Ha >> 2] | 0;
- if (
- (d[
- ((c[kb >> 2] | 0) +
- (c[jb >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[sa >> 2] | 0) +
- (c[jb >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Ta >> 2] >> 2] = Uh;
- c[La >> 2] = c[jb >> 2];
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Ra >> 2] | 0) >>> 0
- ) {
- dj = 418;
- break;
- }
- c[Ta >> 2] = (c[ib >> 2] | 0) + 4;
- c[Ha >> 2] =
- c[((c[ib >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Ua >> 2] >> 2] = Uh;
- c[Ma >> 2] = c[jb >> 2];
- if (
- (c[Ha >> 2] | 0) >>> 0 <=
- (c[Ra >> 2] | 0) >>> 0
- ) {
- dj = 421;
- break;
- }
- c[Ua >> 2] = c[ib >> 2];
- c[Ha >> 2] = c[c[ib >> 2] >> 2];
- }
- }
- if ((dj | 0) == 418) {
- dj = 0;
- c[Ta >> 2] = Wa;
- } else if ((dj | 0) == 421) {
- dj = 0;
- c[Ua >> 2] = Wa;
- }
- c[c[Ua >> 2] >> 2] = 0;
- c[c[Ta >> 2] >> 2] = 0;
- c[((c[qa >> 2] | 0) + 24) >> 2] =
- (c[Va >> 2] | 0) - 8;
- c[pa >> 2] = c[Xa >> 2];
- }
- } while (0);
- c[md >> 2] = c[pa >> 2];
- break d;
- break;
- }
- default: {
- Uh = c[od >> 2] | 0;
- aj = c[pd >> 2] | 0;
- _i = c[qd >> 2] | 0;
- _h = c[rd >> 2] | 0;
- Qh = c[sd >> 2] | 0;
- Ph = c[td >> 2] | 0;
- Zi = c[ud >> 2] | 0;
- Zh = c[vd >> 2] | 0;
- c[mb >> 2] = c[nd >> 2];
- c[nb >> 2] = Uh;
- c[ob >> 2] = aj;
- c[pb >> 2] = _i;
- c[qb >> 2] = _h;
- c[rb >> 2] = Qh;
- c[sb >> 2] = Ph;
- c[tb >> 2] = Zi;
- c[ub >> 2] = Zh;
- c[vb >> 2] = 4;
- if (
- (c[((c[nb >> 2] | 0) + 20) >> 2] |
- 0) >>>
- 0 <
- 4095
- )
- Aj =
- c[((c[nb >> 2] | 0) + 20) >> 2] | 0;
- else Aj = 4095;
- c[wb >> 2] = Aj;
- c[xb >> 2] =
- c[((c[mb >> 2] | 0) + 4) >> 2];
- c[yb >> 2] =
- (c[ob >> 2] | 0) - (c[xb >> 2] | 0);
- c[zb >> 2] =
- c[((c[nb >> 2] | 0) + 8) >> 2];
- c[Ab >> 2] =
- (c[vb >> 2] | 0) == 3 ? 3 : 4;
- c[Bb >> 2] =
- c[((c[mb >> 2] | 0) + 36) >> 2];
- c[Cb >> 2] =
- Sj(
- c[ob >> 2] | 0,
- c[zb >> 2] | 0,
- c[vb >> 2] | 0
- ) | 0;
- c[Db >> 2] =
- c[
- ((c[Bb >> 2] | 0) +
- (c[Cb >> 2] << 2)) >>
- 2
- ];
- c[Eb >> 2] =
- c[((c[mb >> 2] | 0) + 44) >> 2];
- c[Fb >> 2] =
- (c[((c[nb >> 2] | 0) + 4) >> 2] | 0) -
- 1;
- c[Gb >> 2] = (1 << c[Fb >> 2]) - 1;
- c[Hb >> 2] = 0;
- c[Ib >> 2] = 0;
- c[Jb >> 2] =
- c[((c[mb >> 2] | 0) + 8) >> 2];
- c[Kb >> 2] =
- c[((c[mb >> 2] | 0) + 12) >> 2];
- c[Lb >> 2] =
- (c[Jb >> 2] | 0) + (c[Kb >> 2] | 0);
- c[Mb >> 2] =
- (c[xb >> 2] | 0) + (c[Kb >> 2] | 0);
- if (
- (c[Gb >> 2] | 0) >>> 0 >=
- (c[yb >> 2] | 0) >>> 0
- )
- Bj = 0;
- else
- Bj =
- ((c[yb >> 2] | 0) -
- (c[Gb >> 2] | 0)) |
- 0;
- c[Nb >> 2] = Bj;
- c[Ob >> 2] =
- c[((c[mb >> 2] | 0) + 16) >> 2];
- c[Pb >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[yb >> 2] & c[Gb >> 2]) << 1) << 2);
- c[Qb >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[yb >> 2] & c[Gb >> 2]) << 1) <<
- 2) +
- 4;
- c[Rb >> 2] = (c[yb >> 2] | 0) + 8 + 1;
- c[Tb >> 2] = 0;
- c[Ub >> 2] =
- 1 << c[((c[nb >> 2] | 0) + 12) >> 2];
- c[Vb >> 2] = (c[ub >> 2] | 0) - 1;
- c[Wb >> 2] = 3 + (c[sb >> 2] | 0);
- c[Xb >> 2] = c[sb >> 2];
- while (1) {
- if (
- (c[Xb >> 2] | 0) >>> 0 >=
- (c[Wb >> 2] | 0) >>> 0
- ) {
- dj = 340;
- break;
- }
- Zh = c[rb >> 2] | 0;
- if ((c[Xb >> 2] | 0) == 3)
- Cj = ((c[Zh >> 2] | 0) - 1) | 0;
- else
- Cj =
- c[(Zh + (c[Xb >> 2] << 2)) >> 2] |
- 0;
- c[Yb >> 2] = Cj;
- c[Zb >> 2] =
- (c[yb >> 2] | 0) - (c[Yb >> 2] | 0);
- c[_b >> 2] = 0;
- do {
- if (
- (((c[Yb >> 2] | 0) - 1) | 0) >>> 0 <
- (((c[yb >> 2] | 0) -
- (c[Kb >> 2] | 0)) |
- 0) >>>
- 0
- ) {
- Zh =
- mm(
- c[ob >> 2] | 0,
- c[Ab >> 2] | 0
- ) | 0;
- if (
- (Zh | 0) !=
- (mm(
- ((c[ob >> 2] | 0) +
- (0 - (c[Yb >> 2] | 0))) |
- 0,
- c[Ab >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Tj(
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0) +
- (0 - (c[Yb >> 2] | 0))) |
- 0,
- c[pb >> 2] | 0
- ) | 0;
- c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
- } else {
- c[$b >> 2] =
- (c[Jb >> 2] | 0) +
- (c[Zb >> 2] | 0);
- if (!(c[qb >> 2] | 0)) break;
- if (
- !(
- ((((c[Kb >> 2] | 0) -
- 1 -
- (c[Zb >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- ? (((c[Yb >> 2] | 0) - 1) |
- 0) >>>
- 0 <
- (((c[yb >> 2] | 0) -
- (c[Ob >> 2] | 0)) |
- 0) >>>
- 0
- : 0) | 0
- )
- )
- break;
- Zh =
- mm(
- c[ob >> 2] | 0,
- c[Ab >> 2] | 0
- ) | 0;
- if (
- (Zh | 0) !=
- (mm(
- c[$b >> 2] | 0,
- c[Ab >> 2] | 0
- ) |
- 0)
- )
- break;
- Zh =
- Uj(
- ((c[ob >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- ((c[$b >> 2] | 0) +
- (c[Ab >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- c[_b >> 2] = Zh + (c[Ab >> 2] | 0);
- }
- } while (0);
- if (
- (c[_b >> 2] | 0) >>> 0 >
- (c[Vb >> 2] | 0) >>> 0
- ? ((c[Vb >> 2] = c[_b >> 2]),
- (c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3)) >>
- 2
- ] =
- (c[Xb >> 2] | 0) -
- (c[sb >> 2] | 0)),
- (c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3) +
- 4) >>
- 2
- ] = c[_b >> 2]),
- (c[Tb >> 2] =
- (c[Tb >> 2] | 0) + 1),
- ((c[_b >> 2] | 0) >>> 0 >
- (c[wb >> 2] | 0) >>> 0
- ? 1
- : (((c[ob >> 2] | 0) +
- (c[_b >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)) | 0)
- : 0
- ) {
- dj = 338;
- break;
- }
- c[Xb >> 2] = (c[Xb >> 2] | 0) + 1;
- }
- h: do {
- if ((dj | 0) == 338) {
- dj = 0;
- c[lb >> 2] = c[Tb >> 2];
- } else if ((dj | 0) == 340) {
- dj = 0;
- do {
- if ((c[vb >> 2] | 0) == 3) {
- if (
- (c[Vb >> 2] | 0) >>> 0 >=
- (c[vb >> 2] | 0) >>> 0
- )
- break;
- c[ac >> 2] =
- nm(
- c[mb >> 2] | 0,
- c[ob >> 2] | 0
- ) | 0;
- if (
- !(
- ((c[ac >> 2] | 0) >>> 0 >
- (c[Ob >> 2] | 0) >>> 0
- ? (((c[yb >> 2] | 0) -
- (c[ac >> 2] | 0)) |
- 0) >>>
- 0 <
- 262144
- : 0) | 0
- )
- )
- break;
- do {
- if (c[qb >> 2] | 0) {
- if (
- (c[ac >> 2] | 0) >>> 0 >=
- (c[Kb >> 2] | 0) >>> 0
- ) {
- dj = 345;
- break;
- }
- c[dc >> 2] =
- (c[Jb >> 2] | 0) +
- (c[ac >> 2] | 0);
- c[bc >> 2] =
- Uj(
- c[ob >> 2] | 0,
- c[dc >> 2] | 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- } else dj = 345;
- } while (0);
- if ((dj | 0) == 345) {
- dj = 0;
- c[cc >> 2] =
- (c[xb >> 2] | 0) +
- (c[ac >> 2] | 0);
- c[bc >> 2] =
- Tj(
- c[ob >> 2] | 0,
- c[cc >> 2] | 0,
- c[pb >> 2] | 0
- ) | 0;
- }
- if (
- (c[bc >> 2] | 0) >>> 0 <
- (c[vb >> 2] | 0) >>> 0
- )
- break;
- c[Vb >> 2] = c[bc >> 2];
- c[c[tb >> 2] >> 2] =
- (c[yb >> 2] | 0) -
- (c[ac >> 2] | 0) +
- 2;
- c[((c[tb >> 2] | 0) + 4) >> 2] =
- c[bc >> 2];
- c[Tb >> 2] = 1;
- if (
- !(
- ((c[bc >> 2] | 0) >>> 0 >
- (c[wb >> 2] | 0) >>> 0
- ? 1
- : (((c[ob >> 2] | 0) +
- (c[bc >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)) | 0
- )
- )
- break;
- c[((c[mb >> 2] | 0) + 24) >> 2] =
- (c[yb >> 2] | 0) + 1;
- c[lb >> 2] = 1;
- break h;
- }
- } while (0);
- c[
- ((c[Bb >> 2] | 0) +
- (c[Cb >> 2] << 2)) >>
- 2
- ] = c[yb >> 2];
- while (1) {
- Zh = c[Ub >> 2] | 0;
- c[Ub >> 2] = Zh + -1;
- if (!Zh) break;
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Ob >> 2] | 0) >>> 0
- )
- break;
- c[ec >> 2] =
- (c[Eb >> 2] | 0) +
- (((c[Db >> 2] & c[Gb >> 2]) <<
- 1) <<
- 2);
- c[fc >> 2] =
- (c[Hb >> 2] | 0) >>> 0 <
- (c[Ib >> 2] | 0) >>> 0
- ? c[Hb >> 2] | 0
- : c[Ib >> 2] | 0;
- do {
- if (c[qb >> 2] | 0) {
- if (
- (((c[Db >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) >>>
- 0 >=
- (c[Kb >> 2] | 0) >>> 0
- ) {
- dj = 355;
- break;
- }
- c[gc >> 2] =
- (c[Jb >> 2] | 0) +
- (c[Db >> 2] | 0);
- Zh =
- Uj(
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0,
- c[Lb >> 2] | 0,
- c[Mb >> 2] | 0
- ) | 0;
- c[fc >> 2] =
- (c[fc >> 2] | 0) + Zh;
- if (
- (((c[Db >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) >>>
- 0 <
- (c[Kb >> 2] | 0) >>> 0
- )
- break;
- c[gc >> 2] =
- (c[xb >> 2] | 0) +
- (c[Db >> 2] | 0);
- } else dj = 355;
- } while (0);
- if ((dj | 0) == 355) {
- dj = 0;
- c[gc >> 2] =
- (c[xb >> 2] | 0) +
- (c[Db >> 2] | 0);
- Zh =
- Tj(
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0,
- c[pb >> 2] | 0
- ) | 0;
- c[fc >> 2] =
- (c[fc >> 2] | 0) + Zh;
- }
- if (
- (c[fc >> 2] | 0) >>> 0 >
- (c[Vb >> 2] | 0) >>> 0
- ) {
- if (
- (c[fc >> 2] | 0) >>> 0 >
- (((c[Rb >> 2] | 0) -
- (c[Db >> 2] | 0)) |
- 0) >>>
- 0
- )
- c[Rb >> 2] =
- (c[Db >> 2] | 0) +
- (c[fc >> 2] | 0);
- c[Vb >> 2] = c[fc >> 2];
- c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3)) >>
- 2
- ] =
- (c[yb >> 2] | 0) -
- (c[Db >> 2] | 0) +
- 2;
- c[
- ((c[tb >> 2] | 0) +
- (c[Tb >> 2] << 3) +
- 4) >>
- 2
- ] = c[fc >> 2];
- c[Tb >> 2] = (c[Tb >> 2] | 0) + 1;
- if ((c[fc >> 2] | 0) >>> 0 > 4096)
- break;
- if (
- (((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) |
- 0) ==
- (c[pb >> 2] | 0)
- )
- break;
- }
- Zh = c[Db >> 2] | 0;
- if (
- (d[
- ((c[gc >> 2] | 0) +
- (c[fc >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0) <
- (d[
- ((c[ob >> 2] | 0) +
- (c[fc >> 2] | 0)) >>
- 0
- ] |
- 0 |
- 0)
- ) {
- c[c[Pb >> 2] >> 2] = Zh;
- c[Hb >> 2] = c[fc >> 2];
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Nb >> 2] | 0) >>> 0
- ) {
- dj = 365;
- break;
- }
- c[Pb >> 2] = (c[ec >> 2] | 0) + 4;
- c[Db >> 2] =
- c[((c[ec >> 2] | 0) + 4) >> 2];
- } else {
- c[c[Qb >> 2] >> 2] = Zh;
- c[Ib >> 2] = c[fc >> 2];
- if (
- (c[Db >> 2] | 0) >>> 0 <=
- (c[Nb >> 2] | 0) >>> 0
- ) {
- dj = 368;
- break;
- }
- c[Qb >> 2] = c[ec >> 2];
- c[Db >> 2] = c[c[ec >> 2] >> 2];
- }
- }
- if ((dj | 0) == 365) {
- dj = 0;
- c[Pb >> 2] = Sb;
- } else if ((dj | 0) == 368) {
- dj = 0;
- c[Qb >> 2] = Sb;
- }
- c[c[Qb >> 2] >> 2] = 0;
- c[c[Pb >> 2] >> 2] = 0;
- c[((c[mb >> 2] | 0) + 24) >> 2] =
- (c[Rb >> 2] | 0) - 8;
- c[lb >> 2] = c[Tb >> 2];
- }
- } while (0);
- c[md >> 2] = c[lb >> 2];
- break d;
- }
- }
- }
- } while (0);
- c[Bi >> 2] = c[md >> 2];
- if (c[Bi >> 2] | 0) {
- c[Di >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[Bi >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ];
- if (
- ((c[Di >> 2] | 0) >>> 0 >
- (c[$h >> 2] | 0) >>> 0
- ? 1
- : (((c[ei >> 2] | 0) + (c[Di >> 2] | 0)) |
- 0) >>>
- 0 >=
- 4096) | 0
- ) {
- dj = 481;
- break b;
- }
- c[Ci >> 2] = 0;
- while (1) {
- if (
- (c[Ci >> 2] | 0) >>> 0 >=
- (c[Bi >> 2] | 0) >>> 0
- )
- break c;
- c[Ei >> 2] =
- c[
- ((c[ci >> 2] | 0) + (c[Ci >> 2] << 3)) >>
- 2
- ];
- pm(
- Fi,
- ((c[bi >> 2] | 0) +
- (((c[ei >> 2] | 0) * 28) | 0) +
- 16) |
- 0,
- c[Ei >> 2] | 0,
- c[xi >> 2] | 0
- );
- c[Gi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (c[Ci >> 2] << 3) +
- 4) >>
- 2
- ];
- if ((c[Ci >> 2] | 0) >>> 0 > 0)
- Dj =
- ((c[
- ((c[ci >> 2] | 0) +
- (((c[Ci >> 2] | 0) - 1) << 3) +
- 4) >>
- 2
- ] |
- 0) +
- 1) |
- 0;
- else Dj = c[ai >> 2] | 0;
- c[Hi >> 2] = Dj;
- c[Ii >> 2] = c[Gi >> 2];
- i: while (1) {
- if (
- (c[Ii >> 2] | 0) >>> 0 <
- (c[Hi >> 2] | 0) >>> 0
- )
- break;
- c[Ji >> 2] =
- (c[ei >> 2] | 0) + (c[Ii >> 2] | 0);
- Zh = c[Ai >> 2] | 0;
- Zi = c[Ii >> 2] | 0;
- Ph = c[Th >> 2] | 0;
- Qh = c[Rh >> 2] | 0;
- c[k >> 2] = c[Ei >> 2];
- c[m >> 2] = Zi;
- c[n >> 2] = Ph;
- c[o >> 2] = Qh;
- c[q >> 2] =
- qm(((c[k >> 2] | 0) + 1) | 0) | 0;
- c[r >> 2] = (c[m >> 2] | 0) - 3;
- if (c[((c[n >> 2] | 0) + 56) >> 2] | 0) {
- Qh =
- ((qm(((c[r >> 2] | 0) + 1) | 0) | 0) +
- 16) |
- 0;
- c[j >> 2] = Qh + (c[q >> 2] | 0);
- } else {
- Qh =
- ((c[q >> 2] | 0) +
- (c[((c[n >> 2] | 0) + 52) >> 2] |
- 0)) |
- 0;
- c[p >> 2] =
- Qh -
- (qm(
- ((c[
- ((c[((c[n >> 2] | 0) + 12) >> 2] |
- 0) +
- (c[q >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0);
- if (
- ((c[o >> 2] | 0) < 2) &
- ((c[q >> 2] | 0) >>> 0 >= 20)
- )
- c[p >> 2] =
- (c[p >> 2] | 0) +
- (((c[q >> 2] | 0) - 19) << 1);
- c[s >> 2] = rm(c[r >> 2] | 0) | 0;
- Qh =
- ((c[(5840 + (c[s >> 2] << 2)) >> 2] |
- 0) +
- (c[((c[n >> 2] | 0) + 48) >> 2] |
- 0)) |
- 0;
- Ph =
- (Qh -
- (qm(
- ((c[
- ((c[((c[n >> 2] | 0) + 8) >> 2] |
- 0) +
- (c[s >> 2] << 2)) >>
- 2
- ] |
- 0) +
- 1) |
- 0
- ) |
- 0)) |
- 0;
- c[p >> 2] = (c[p >> 2] | 0) + Ph;
- c[j >> 2] = c[p >> 2];
- }
- c[Ki >> 2] = Zh + (c[j >> 2] | 0);
- do {
- if (
- (c[Ji >> 2] | 0) >>> 0 <=
- (c[fi >> 2] | 0) >>> 0
- ) {
- if (
- (c[Ki >> 2] | 0) <
- (c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0)) >>
- 2
- ] |
- 0)
- ) {
- dj = 496;
- break;
- }
- if (!(c[Rh >> 2] | 0)) break i;
- } else dj = 496;
- } while (0);
- if ((dj | 0) == 496) {
- dj = 0;
- while (1) {
- if (
- (c[fi >> 2] | 0) >>> 0 >=
- (c[Ji >> 2] | 0) >>> 0
- )
- break;
- c[
- ((c[bi >> 2] | 0) +
- (((((c[fi >> 2] | 0) + 1) | 0) *
- 28) |
- 0)) >>
- 2
- ] = 1073741824;
- c[fi >> 2] = (c[fi >> 2] | 0) + 1;
- }
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[Ii >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[Ei >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 12) >>
- 2
- ] = c[yi >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0)) >>
- 2
- ] = c[Ki >> 2];
- Zh =
- ((c[bi >> 2] | 0) +
- (((c[Ji >> 2] | 0) * 28) | 0) +
- 16) |
- 0;
- c[Zh >> 2] = c[Fi >> 2];
- c[(Zh + 4) >> 2] = c[(Fi + 4) >> 2];
- c[(Zh + 8) >> 2] = c[(Fi + 8) >> 2];
- }
- c[Ii >> 2] = (c[Ii >> 2] | 0) + -1;
- }
- c[Ci >> 2] = (c[Ci >> 2] | 0) + 1;
- }
- }
- }
- } while (0);
- c[ei >> 2] = (c[ei >> 2] | 0) + 1;
- }
- if ((dj | 0) == 481) {
- dj = 0;
- c[gi >> 2] = c[Di >> 2];
- c[hi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[Bi >> 2] | 0) - 1) << 3)) >>
- 2
- ];
- c[fi >> 2] = (c[ei >> 2] | 0) + 1;
- break;
- } else if ((dj | 0) == 504) {
- dj = 0;
- c[gi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[fi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[hi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[fi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- c[ei >> 2] = (c[fi >> 2] | 0) - (c[gi >> 2] | 0);
- break;
- }
- } else {
- c[gi >> 2] = c[mi >> 2];
- c[hi >> 2] =
- c[
- ((c[ci >> 2] | 0) +
- (((c[ki >> 2] | 0) - 1) << 3)) >>
- 2
- ];
- c[ei >> 2] = 0;
- c[fi >> 2] = 1;
- }
- } while (0);
- c[Li >> 2] = c[gi >> 2];
- c[Mi >> 2] = c[hi >> 2];
- c[Ni >> 2] = c[ei >> 2];
- while (1) {
- c[Oi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[Pi >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ] = c[Li >> 2];
- c[
- ((c[bi >> 2] | 0) +
- (((c[Ni >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ] = c[Mi >> 2];
- c[Li >> 2] = c[Oi >> 2];
- c[Mi >> 2] = c[Pi >> 2];
- if ((c[Oi >> 2] | 0) >>> 0 > (c[Ni >> 2] | 0) >>> 0)
- break;
- c[Ni >> 2] = (c[Ni >> 2] | 0) - (c[Oi >> 2] | 0);
- }
- c[Qi >> 2] = 0;
- while (1) {
- if ((c[Qi >> 2] | 0) >>> 0 >= (c[fi >> 2] | 0) >>> 0)
- break;
- c[Ri >> 2] = (c[Vh >> 2] | 0) - (c[Wh >> 2] | 0);
- c[Si >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Qi >> 2] | 0) * 28) | 0) +
- 8) >>
- 2
- ];
- c[Ti >> 2] =
- c[
- ((c[bi >> 2] | 0) +
- (((c[Qi >> 2] | 0) * 28) | 0) +
- 4) >>
- 2
- ];
- if ((c[Si >> 2] | 0) == 1) {
- c[Vh >> 2] = (c[Vh >> 2] | 0) + 1;
- c[Qi >> 2] = (c[Qi >> 2] | 0) + 1;
- continue;
- }
- c[Qi >> 2] = (c[Qi >> 2] | 0) + (c[Si >> 2] | 0);
- c[Vh >> 2] = (c[Vh >> 2] | 0) + (c[Si >> 2] | 0);
- if ((c[Ti >> 2] | 0) >>> 0 < 3) {
- c[Ui >> 2] =
- (c[Ti >> 2] | 0) + (((c[Ri >> 2] | 0) == 0) & 1);
- if (c[Ui >> 2] | 0) {
- Zh = c[Nh >> 2] | 0;
- if ((c[Ui >> 2] | 0) == 3)
- Ej = ((c[Zh >> 2] | 0) - 1) | 0;
- else Ej = c[(Zh + (c[Ui >> 2] << 2)) >> 2] | 0;
- c[Vi >> 2] = Ej;
- if ((c[Ui >> 2] | 0) >>> 0 >= 2)
- c[((c[Nh >> 2] | 0) + 8) >> 2] =
- c[((c[Nh >> 2] | 0) + 4) >> 2];
- c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
- c[c[Nh >> 2] >> 2] = c[Vi >> 2];
- }
- } else {
- c[((c[Nh >> 2] | 0) + 8) >> 2] =
- c[((c[Nh >> 2] | 0) + 4) >> 2];
- c[((c[Nh >> 2] | 0) + 4) >> 2] = c[c[Nh >> 2] >> 2];
- c[c[Nh >> 2] >> 2] = (c[Ti >> 2] | 0) - 2;
- }
- vm(
- c[Th >> 2] | 0,
- c[Ri >> 2] | 0,
- c[Wh >> 2] | 0,
- c[Ti >> 2] | 0,
- c[Si >> 2] | 0
- );
- wm(
- c[Mh >> 2] | 0,
- c[Ri >> 2] | 0,
- c[Wh >> 2] | 0,
- c[Ti >> 2] | 0,
- ((c[Si >> 2] | 0) - 3) | 0
- );
- c[Wh >> 2] = c[Vh >> 2];
- }
- xm(c[Th >> 2] | 0);
- }
- l = i;
- return ((c[Xh >> 2] | 0) - (c[Wh >> 2] | 0)) | 0;
- }
- function dm(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0;
- h = l;
- l = (l + 48) | 0;
- i = (h + 36) | 0;
- j = (h + 32) | 0;
- k = (h + 28) | 0;
- m = (h + 24) | 0;
- n = (h + 20) | 0;
- o = (h + 16) | 0;
- p = (h + 12) | 0;
- q = (h + 8) | 0;
- r = (h + 4) | 0;
- s = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = c[((c[n >> 2] | 0) + 8) >> 2];
- c[r >> 2] = c[((c[n >> 2] | 0) + 16) >> 2];
- c[s >> 2] = c[((c[n >> 2] | 0) + 20) >> 2];
- switch (c[r >> 2] | 0) {
- case 7: {
- c[i >> 2] =
- hn(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[s >> 2] | 0,
- 7
- ) | 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 5: {
- c[i >> 2] =
- hn(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[s >> 2] | 0,
- 5
- ) | 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- case 6: {
- c[i >> 2] =
- hn(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[s >> 2] | 0,
- 6
- ) | 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- default: {
- c[i >> 2] =
- hn(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- c[q >> 2] | 0,
- c[s >> 2] | 0,
- 4
- ) | 0;
- t = c[i >> 2] | 0;
- l = h;
- return t | 0;
- }
- }
- return 0;
- }
- function em(a, b, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- var h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- h = l;
- l = (l + 32) | 0;
- i = (h + 28) | 0;
- j = (h + 24) | 0;
- k = (h + 20) | 0;
- m = (h + 16) | 0;
- n = (h + 12) | 0;
- o = (h + 8) | 0;
- p = (h + 4) | 0;
- q = h;
- c[j >> 2] = a;
- c[k >> 2] = b;
- c[m >> 2] = d;
- c[n >> 2] = e;
- c[o >> 2] = f;
- c[p >> 2] = g;
- c[q >> 2] = c[((c[n >> 2] | 0) + 16) >> 2];
- switch (c[q >> 2] | 0) {
- case 7: {
- c[i >> 2] =
- Zm(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- 7
- ) | 0;
- r = c[i >> 2] | 0;
- l = h;
- return r | 0;
- }
- case 5: {
- c[i >> 2] =
- Zm(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- 5
- ) | 0;
- r = c[i >> 2] | 0;
- l = h;
- return r | 0;
- }
- case 6: {
- c[i >> 2] =
- Zm(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- 6
- ) | 0;
- r = c[i >> 2] | 0;
- l = h;
- return r | 0;
- }
- default: {
- c[i >> 2] =
- Zm(
- c[j >> 2] | 0,
- c[k >> 2] | 0,
- c[m >> 2] | 0,
- c[n >> 2] | 0,
- c[o >> 2] | 0,
- c[p >> 2] | 0,
- 4
- ) | 0;
- r = c[i >> 2] | 0;
- l = h;
- return r | 0;
- }
- }
- return 0;
- }
- function fm(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0;
- i = l;
- l = (l + 288) | 0;
- j = (i + 272) | 0;
- k = (i + 268) | 0;
- m = (i + 264) | 0;
- n = (i + 260) | 0;
- o = (i + 256) | 0;
- p = (i + 252) | 0;
- q = (i + 248) | 0;
- r = (i + 244) | 0;
- s = (i + 240) | 0;
- t = (i + 236) | 0;
- u = (i + 232) | 0;
- v = (i + 228) | 0;
- w = (i + 224) | 0;
- x = (i + 220) | 0;
- y = (i + 216) | 0;
- z = (i + 212) | 0;
- A = (i + 208) | 0;
- B = (i + 204) | 0;
- C = (i + 200) | 0;
- D = (i + 196) | 0;
- E = (i + 192) | 0;
- F = (i + 188) | 0;
- G = (i + 184) | 0;
- H = (i + 180) | 0;
- I = (i + 176) | 0;
- J = (i + 172) | 0;
- K = (i + 168) | 0;
- L = (i + 164) | 0;
- M = (i + 160) | 0;
- N = (i + 156) | 0;
- O = (i + 152) | 0;
- P = (i + 148) | 0;
- Q = (i + 144) | 0;
- R = (i + 140) | 0;
- S = (i + 136) | 0;
- T = (i + 132) | 0;
- U = (i + 128) | 0;
- V = (i + 124) | 0;
- W = (i + 120) | 0;
- X = (i + 116) | 0;
- Y = (i + 112) | 0;
- Z = (i + 108) | 0;
- _ = (i + 104) | 0;
- $ = (i + 100) | 0;
- aa = (i + 96) | 0;
- ba = (i + 92) | 0;
- ca = (i + 88) | 0;
- da = (i + 84) | 0;
- ea = (i + 80) | 0;
- fa = (i + 76) | 0;
- ga = (i + 72) | 0;
- ha = (i + 68) | 0;
- ia = (i + 64) | 0;
- ja = (i + 60) | 0;
- ka = (i + 56) | 0;
- la = (i + 52) | 0;
- ma = (i + 48) | 0;
- na = (i + 44) | 0;
- oa = (i + 40) | 0;
- pa = (i + 36) | 0;
- qa = (i + 32) | 0;
- ra = (i + 28) | 0;
- sa = (i + 24) | 0;
- ta = (i + 20) | 0;
- ua = (i + 16) | 0;
- va = (i + 12) | 0;
- wa = (i + 8) | 0;
- xa = (i + 4) | 0;
- ya = i;
- c[ta >> 2] = a;
- c[ua >> 2] = b;
- c[va >> 2] = e;
- c[wa >> 2] = f;
- c[xa >> 2] = g;
- c[ya >> 2] = h;
- h = c[ua >> 2] | 0;
- ua = c[va >> 2] | 0;
- va = c[wa >> 2] | 0;
- wa = c[xa >> 2] | 0;
- xa = c[ya >> 2] | 0;
- c[j >> 2] = c[ta >> 2];
- c[k >> 2] = h;
- c[m >> 2] = ua;
- c[n >> 2] = va;
- c[o >> 2] = wa;
- c[p >> 2] = xa;
- c[q >> 2] = 0;
- c[r >> 2] = 0;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[w >> 2] = (c[v >> 2] | 0) + -8;
- c[x >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
- c[y >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
- c[z >> 2] = c[((c[j >> 2] | 0) + 16) >> 2];
- c[A >> 2] = (c[x >> 2] | 0) + (c[y >> 2] | 0);
- c[B >> 2] = c[((c[j >> 2] | 0) + 8) >> 2];
- c[C >> 2] = (c[B >> 2] | 0) + (c[y >> 2] | 0);
- c[D >> 2] = (c[B >> 2] | 0) + (c[z >> 2] | 0);
- c[E >> 2] = c[q >> 2] | 0 ? 7 : 6;
- c[F >> 2] = c[c[m >> 2] >> 2];
- c[G >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[((c[j >> 2] | 0) + 28) >> 2] =
- c[((c[j >> 2] | 0) + 24) >> 2];
- c[t >> 2] =
- (c[t >> 2] | 0) +
- (((c[t >> 2] | 0) == (c[A >> 2] | 0)) & 1);
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[H >> 2] = 0;
- c[I >> 2] = 0;
- c[J >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- c[L >> 2] = (c[K >> 2] | 0) + 1 - (c[F >> 2] | 0);
- c[M >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0;
- c[N >> 2] = (c[M >> 2] | 0) + (c[L >> 2] | 0);
- if (
- !((
- ((c[L >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) - 1 - (c[L >> 2] | 0)) | 0) >>>
- 0 >=
- 3
- : 0) | 0
- ? ((q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0),
- (q | 0) == (Bk(c[N >> 2] | 0) | 0))
- : 0
- )
- ? ((c[O >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[H >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 1 + 4) | 0,
- ((c[N >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[O >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- !(c[r >> 2] | 0))
- : 0)
- ) {
- c[P >> 2] = 99999999;
- c[Q >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- P
- ) | 0;
- if ((c[Q >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
- c[H >> 2] = c[Q >> 2];
- c[J >> 2] = c[t >> 2];
- c[I >> 2] = c[P >> 2];
- }
- if ((c[H >> 2] | 0) >>> 0 < 4) {
- c[t >> 2] =
- (c[t >> 2] | 0) +
- ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
- continue;
- }
- a: do {
- if ((c[r >> 2] | 0) >>> 0 >= 1)
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- if (
- (
- (
- (
- c[I >> 2] | 0
- ? ((c[R >> 2] =
- (c[K >> 2] | 0) - (c[F >> 2] | 0)),
- (c[S >> 2] =
- (c[R >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0),
- (c[T >> 2] =
- (c[S >> 2] | 0) + (c[R >> 2] | 0)),
- ((c[R >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) -
- 1 -
- (c[R >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0)
- : 0
- )
- ? ((q = Bk(c[t >> 2] | 0) | 0),
- (q | 0) == (Bk(c[T >> 2] | 0) | 0))
- : 0
- )
- ? ((c[U >> 2] =
- (c[R >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[V >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[T >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[U >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- (c[W >> 2] = (c[V >> 2] | 0) * 3),
- (q = ((c[H >> 2] | 0) * 3) | 0),
- (c[X >> 2] =
- q -
- (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[V >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[W >> 2] | 0) > (c[X >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[V >> 2];
- c[I >> 2] = 0;
- c[J >> 2] = c[t >> 2];
- }
- c[Y >> 2] = 99999999;
- c[Z >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- Y
- ) | 0;
- q = c[Z >> 2] << 2;
- c[_ >> 2] = q - (Mm(((c[Y >> 2] | 0) + 1) | 0) | 0);
- q = c[H >> 2] << 2;
- c[$ >> 2] =
- q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 4;
- if (
- (c[Z >> 2] | 0) >>> 0 >= 4
- ? (c[_ >> 2] | 0) > (c[$ >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[Z >> 2];
- c[I >> 2] = c[Y >> 2];
- c[J >> 2] = c[t >> 2];
- continue;
- }
- if ((c[r >> 2] | 0) != 2) break a;
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- if (
- (
- (
- (
- c[I >> 2] | 0
- ? ((c[aa >> 2] =
- (c[K >> 2] | 0) - (c[F >> 2] | 0)),
- (c[ba >> 2] =
- (c[aa >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0),
- (c[ca >> 2] =
- (c[ba >> 2] | 0) + (c[aa >> 2] | 0)),
- ((c[aa >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) -
- 1 -
- (c[aa >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0)
- : 0
- )
- ? ((q = Bk(c[t >> 2] | 0) | 0),
- (q | 0) == (Bk(c[ca >> 2] | 0) | 0))
- : 0
- )
- ? ((c[da >> 2] =
- (c[aa >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[ea >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[ca >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[da >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- (c[fa >> 2] = c[ea >> 2] << 2),
- (q = c[H >> 2] << 2),
- (c[ga >> 2] =
- q -
- (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[ea >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[fa >> 2] | 0) > (c[ga >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[ea >> 2];
- c[I >> 2] = 0;
- c[J >> 2] = c[t >> 2];
- }
- c[ha >> 2] = 99999999;
- c[ia >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- ha
- ) | 0;
- q = c[ia >> 2] << 2;
- c[ja >> 2] =
- q - (Mm(((c[ha >> 2] | 0) + 1) | 0) | 0);
- q = c[H >> 2] << 2;
- c[ka >> 2] =
- q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 7;
- if ((c[ia >> 2] | 0) >>> 0 < 4) break a;
- if ((c[ja >> 2] | 0) <= (c[ka >> 2] | 0)) break a;
- c[H >> 2] = c[ia >> 2];
- c[I >> 2] = c[ha >> 2];
- c[J >> 2] = c[t >> 2];
- }
- } while (0);
- if (c[I >> 2] | 0) {
- c[la >> 2] =
- (c[J >> 2] | 0) -
- (c[x >> 2] | 0) -
- ((c[I >> 2] | 0) - 2);
- c[ma >> 2] =
- (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? ((c[B >> 2] | 0) + (c[la >> 2] | 0)) | 0
- : ((c[x >> 2] | 0) + (c[la >> 2] | 0)) | 0;
- c[na >> 2] =
- (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[D >> 2] | 0
- : c[A >> 2] | 0;
- while (1) {
- if ((c[J >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
- break;
- if ((c[ma >> 2] | 0) >>> 0 <= (c[na >> 2] | 0) >>> 0)
- break;
- if (
- (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[ma >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[J >> 2] = (c[J >> 2] | 0) + -1;
- c[ma >> 2] = (c[ma >> 2] | 0) + -1;
- c[H >> 2] = (c[H >> 2] | 0) + 1;
- }
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = (c[I >> 2] | 0) - 2;
- }
- }
- c[oa >> 2] = (c[J >> 2] | 0) - (c[u >> 2] | 0);
- Nm(
- c[k >> 2] | 0,
- c[oa >> 2] | 0,
- c[u >> 2] | 0,
- c[I >> 2] | 0,
- ((c[H >> 2] | 0) - 3) | 0
- );
- q = ((c[J >> 2] | 0) + (c[H >> 2] | 0)) | 0;
- c[t >> 2] = q;
- c[u >> 2] = q;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) break;
- c[pa >> 2] =
- (c[t >> 2] | 0) - (c[x >> 2] | 0) - (c[G >> 2] | 0);
- c[qa >> 2] =
- (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0;
- c[ra >> 2] = (c[qa >> 2] | 0) + (c[pa >> 2] | 0);
- if (
- !(
- ((c[pa >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) - 1 - (c[pa >> 2] | 0)) | 0) >>>
- 0 >=
- 3
- : 0) | 0
- )
- )
- break;
- q = Bk(c[t >> 2] | 0) | 0;
- if ((q | 0) != (Bk(c[ra >> 2] | 0) | 0)) break;
- c[sa >> 2] =
- (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0;
- c[H >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[ra >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[sa >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4;
- c[I >> 2] = c[G >> 2];
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = c[I >> 2];
- Nm(
- c[k >> 2] | 0,
- 0,
- c[u >> 2] | 0,
- 0,
- ((c[H >> 2] | 0) - 3) | 0
- );
- c[t >> 2] = (c[t >> 2] | 0) + (c[H >> 2] | 0);
- c[u >> 2] = c[t >> 2];
- }
- }
- c[c[m >> 2] >> 2] = c[F >> 2];
- c[((c[m >> 2] | 0) + 4) >> 2] = c[G >> 2];
- l = i;
- return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
- }
- function gm(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0;
- i = l;
- l = (l + 288) | 0;
- j = (i + 272) | 0;
- k = (i + 268) | 0;
- m = (i + 264) | 0;
- n = (i + 260) | 0;
- o = (i + 256) | 0;
- p = (i + 252) | 0;
- q = (i + 248) | 0;
- r = (i + 244) | 0;
- s = (i + 240) | 0;
- t = (i + 236) | 0;
- u = (i + 232) | 0;
- v = (i + 228) | 0;
- w = (i + 224) | 0;
- x = (i + 220) | 0;
- y = (i + 216) | 0;
- z = (i + 212) | 0;
- A = (i + 208) | 0;
- B = (i + 204) | 0;
- C = (i + 200) | 0;
- D = (i + 196) | 0;
- E = (i + 192) | 0;
- F = (i + 188) | 0;
- G = (i + 184) | 0;
- H = (i + 180) | 0;
- I = (i + 176) | 0;
- J = (i + 172) | 0;
- K = (i + 168) | 0;
- L = (i + 164) | 0;
- M = (i + 160) | 0;
- N = (i + 156) | 0;
- O = (i + 152) | 0;
- P = (i + 148) | 0;
- Q = (i + 144) | 0;
- R = (i + 140) | 0;
- S = (i + 136) | 0;
- T = (i + 132) | 0;
- U = (i + 128) | 0;
- V = (i + 124) | 0;
- W = (i + 120) | 0;
- X = (i + 116) | 0;
- Y = (i + 112) | 0;
- Z = (i + 108) | 0;
- _ = (i + 104) | 0;
- $ = (i + 100) | 0;
- aa = (i + 96) | 0;
- ba = (i + 92) | 0;
- ca = (i + 88) | 0;
- da = (i + 84) | 0;
- ea = (i + 80) | 0;
- fa = (i + 76) | 0;
- ga = (i + 72) | 0;
- ha = (i + 68) | 0;
- ia = (i + 64) | 0;
- ja = (i + 60) | 0;
- ka = (i + 56) | 0;
- la = (i + 52) | 0;
- ma = (i + 48) | 0;
- na = (i + 44) | 0;
- oa = (i + 40) | 0;
- pa = (i + 36) | 0;
- qa = (i + 32) | 0;
- ra = (i + 28) | 0;
- sa = (i + 24) | 0;
- ta = (i + 20) | 0;
- ua = (i + 16) | 0;
- va = (i + 12) | 0;
- wa = (i + 8) | 0;
- xa = (i + 4) | 0;
- ya = i;
- c[ta >> 2] = a;
- c[ua >> 2] = b;
- c[va >> 2] = e;
- c[wa >> 2] = f;
- c[xa >> 2] = g;
- c[ya >> 2] = h;
- h = c[ua >> 2] | 0;
- ua = c[va >> 2] | 0;
- va = c[wa >> 2] | 0;
- wa = c[xa >> 2] | 0;
- xa = c[ya >> 2] | 0;
- c[j >> 2] = c[ta >> 2];
- c[k >> 2] = h;
- c[m >> 2] = ua;
- c[n >> 2] = va;
- c[o >> 2] = wa;
- c[p >> 2] = xa;
- c[q >> 2] = 0;
- c[r >> 2] = 1;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[w >> 2] = (c[v >> 2] | 0) + -8;
- c[x >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
- c[y >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
- c[z >> 2] = c[((c[j >> 2] | 0) + 16) >> 2];
- c[A >> 2] = (c[x >> 2] | 0) + (c[y >> 2] | 0);
- c[B >> 2] = c[((c[j >> 2] | 0) + 8) >> 2];
- c[C >> 2] = (c[B >> 2] | 0) + (c[y >> 2] | 0);
- c[D >> 2] = (c[B >> 2] | 0) + (c[z >> 2] | 0);
- c[E >> 2] = c[q >> 2] | 0 ? 7 : 6;
- c[F >> 2] = c[c[m >> 2] >> 2];
- c[G >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[((c[j >> 2] | 0) + 28) >> 2] =
- c[((c[j >> 2] | 0) + 24) >> 2];
- c[t >> 2] =
- (c[t >> 2] | 0) +
- (((c[t >> 2] | 0) == (c[A >> 2] | 0)) & 1);
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[H >> 2] = 0;
- c[I >> 2] = 0;
- c[J >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- c[L >> 2] = (c[K >> 2] | 0) + 1 - (c[F >> 2] | 0);
- c[M >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0;
- c[N >> 2] = (c[M >> 2] | 0) + (c[L >> 2] | 0);
- if (
- !((
- ((c[L >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) - 1 - (c[L >> 2] | 0)) | 0) >>>
- 0 >=
- 3
- : 0) | 0
- ? ((q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0),
- (q | 0) == (Bk(c[N >> 2] | 0) | 0))
- : 0
- )
- ? ((c[O >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[H >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 1 + 4) | 0,
- ((c[N >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[O >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- !(c[r >> 2] | 0))
- : 0)
- ) {
- c[P >> 2] = 99999999;
- c[Q >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- P
- ) | 0;
- if ((c[Q >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
- c[H >> 2] = c[Q >> 2];
- c[J >> 2] = c[t >> 2];
- c[I >> 2] = c[P >> 2];
- }
- if ((c[H >> 2] | 0) >>> 0 < 4) {
- c[t >> 2] =
- (c[t >> 2] | 0) +
- ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
- continue;
- }
- a: do {
- if ((c[r >> 2] | 0) >>> 0 >= 1)
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- if (
- (
- (
- (
- c[I >> 2] | 0
- ? ((c[R >> 2] =
- (c[K >> 2] | 0) - (c[F >> 2] | 0)),
- (c[S >> 2] =
- (c[R >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0),
- (c[T >> 2] =
- (c[S >> 2] | 0) + (c[R >> 2] | 0)),
- ((c[R >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) -
- 1 -
- (c[R >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0)
- : 0
- )
- ? ((q = Bk(c[t >> 2] | 0) | 0),
- (q | 0) == (Bk(c[T >> 2] | 0) | 0))
- : 0
- )
- ? ((c[U >> 2] =
- (c[R >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[V >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[T >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[U >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- (c[W >> 2] = (c[V >> 2] | 0) * 3),
- (q = ((c[H >> 2] | 0) * 3) | 0),
- (c[X >> 2] =
- q -
- (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[V >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[W >> 2] | 0) > (c[X >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[V >> 2];
- c[I >> 2] = 0;
- c[J >> 2] = c[t >> 2];
- }
- c[Y >> 2] = 99999999;
- c[Z >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- Y
- ) | 0;
- q = c[Z >> 2] << 2;
- c[_ >> 2] = q - (Mm(((c[Y >> 2] | 0) + 1) | 0) | 0);
- q = c[H >> 2] << 2;
- c[$ >> 2] =
- q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 4;
- if (
- (c[Z >> 2] | 0) >>> 0 >= 4
- ? (c[_ >> 2] | 0) > (c[$ >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[Z >> 2];
- c[I >> 2] = c[Y >> 2];
- c[J >> 2] = c[t >> 2];
- continue;
- }
- if ((c[r >> 2] | 0) != 2) break a;
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- if (
- (
- (
- (
- c[I >> 2] | 0
- ? ((c[aa >> 2] =
- (c[K >> 2] | 0) - (c[F >> 2] | 0)),
- (c[ba >> 2] =
- (c[aa >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0),
- (c[ca >> 2] =
- (c[ba >> 2] | 0) + (c[aa >> 2] | 0)),
- ((c[aa >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) -
- 1 -
- (c[aa >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0)
- : 0
- )
- ? ((q = Bk(c[t >> 2] | 0) | 0),
- (q | 0) == (Bk(c[ca >> 2] | 0) | 0))
- : 0
- )
- ? ((c[da >> 2] =
- (c[aa >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[ea >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[ca >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[da >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- (c[fa >> 2] = c[ea >> 2] << 2),
- (q = c[H >> 2] << 2),
- (c[ga >> 2] =
- q -
- (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[ea >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[fa >> 2] | 0) > (c[ga >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[ea >> 2];
- c[I >> 2] = 0;
- c[J >> 2] = c[t >> 2];
- }
- c[ha >> 2] = 99999999;
- c[ia >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- ha
- ) | 0;
- q = c[ia >> 2] << 2;
- c[ja >> 2] =
- q - (Mm(((c[ha >> 2] | 0) + 1) | 0) | 0);
- q = c[H >> 2] << 2;
- c[ka >> 2] =
- q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 7;
- if ((c[ia >> 2] | 0) >>> 0 < 4) break a;
- if ((c[ja >> 2] | 0) <= (c[ka >> 2] | 0)) break a;
- c[H >> 2] = c[ia >> 2];
- c[I >> 2] = c[ha >> 2];
- c[J >> 2] = c[t >> 2];
- }
- } while (0);
- if (c[I >> 2] | 0) {
- c[la >> 2] =
- (c[J >> 2] | 0) -
- (c[x >> 2] | 0) -
- ((c[I >> 2] | 0) - 2);
- c[ma >> 2] =
- (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? ((c[B >> 2] | 0) + (c[la >> 2] | 0)) | 0
- : ((c[x >> 2] | 0) + (c[la >> 2] | 0)) | 0;
- c[na >> 2] =
- (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[D >> 2] | 0
- : c[A >> 2] | 0;
- while (1) {
- if ((c[J >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
- break;
- if ((c[ma >> 2] | 0) >>> 0 <= (c[na >> 2] | 0) >>> 0)
- break;
- if (
- (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[ma >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[J >> 2] = (c[J >> 2] | 0) + -1;
- c[ma >> 2] = (c[ma >> 2] | 0) + -1;
- c[H >> 2] = (c[H >> 2] | 0) + 1;
- }
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = (c[I >> 2] | 0) - 2;
- }
- }
- c[oa >> 2] = (c[J >> 2] | 0) - (c[u >> 2] | 0);
- Nm(
- c[k >> 2] | 0,
- c[oa >> 2] | 0,
- c[u >> 2] | 0,
- c[I >> 2] | 0,
- ((c[H >> 2] | 0) - 3) | 0
- );
- q = ((c[J >> 2] | 0) + (c[H >> 2] | 0)) | 0;
- c[t >> 2] = q;
- c[u >> 2] = q;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) break;
- c[pa >> 2] =
- (c[t >> 2] | 0) - (c[x >> 2] | 0) - (c[G >> 2] | 0);
- c[qa >> 2] =
- (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0;
- c[ra >> 2] = (c[qa >> 2] | 0) + (c[pa >> 2] | 0);
- if (
- !(
- ((c[pa >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) - 1 - (c[pa >> 2] | 0)) | 0) >>>
- 0 >=
- 3
- : 0) | 0
- )
- )
- break;
- q = Bk(c[t >> 2] | 0) | 0;
- if ((q | 0) != (Bk(c[ra >> 2] | 0) | 0)) break;
- c[sa >> 2] =
- (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0;
- c[H >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[ra >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[sa >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4;
- c[I >> 2] = c[G >> 2];
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = c[I >> 2];
- Nm(
- c[k >> 2] | 0,
- 0,
- c[u >> 2] | 0,
- 0,
- ((c[H >> 2] | 0) - 3) | 0
- );
- c[t >> 2] = (c[t >> 2] | 0) + (c[H >> 2] | 0);
- c[u >> 2] = c[t >> 2];
- }
- }
- c[c[m >> 2] >> 2] = c[F >> 2];
- c[((c[m >> 2] | 0) + 4) >> 2] = c[G >> 2];
- l = i;
- return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
- }
- function hm(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0;
- i = l;
- l = (l + 288) | 0;
- j = (i + 272) | 0;
- k = (i + 268) | 0;
- m = (i + 264) | 0;
- n = (i + 260) | 0;
- o = (i + 256) | 0;
- p = (i + 252) | 0;
- q = (i + 248) | 0;
- r = (i + 244) | 0;
- s = (i + 240) | 0;
- t = (i + 236) | 0;
- u = (i + 232) | 0;
- v = (i + 228) | 0;
- w = (i + 224) | 0;
- x = (i + 220) | 0;
- y = (i + 216) | 0;
- z = (i + 212) | 0;
- A = (i + 208) | 0;
- B = (i + 204) | 0;
- C = (i + 200) | 0;
- D = (i + 196) | 0;
- E = (i + 192) | 0;
- F = (i + 188) | 0;
- G = (i + 184) | 0;
- H = (i + 180) | 0;
- I = (i + 176) | 0;
- J = (i + 172) | 0;
- K = (i + 168) | 0;
- L = (i + 164) | 0;
- M = (i + 160) | 0;
- N = (i + 156) | 0;
- O = (i + 152) | 0;
- P = (i + 148) | 0;
- Q = (i + 144) | 0;
- R = (i + 140) | 0;
- S = (i + 136) | 0;
- T = (i + 132) | 0;
- U = (i + 128) | 0;
- V = (i + 124) | 0;
- W = (i + 120) | 0;
- X = (i + 116) | 0;
- Y = (i + 112) | 0;
- Z = (i + 108) | 0;
- _ = (i + 104) | 0;
- $ = (i + 100) | 0;
- aa = (i + 96) | 0;
- ba = (i + 92) | 0;
- ca = (i + 88) | 0;
- da = (i + 84) | 0;
- ea = (i + 80) | 0;
- fa = (i + 76) | 0;
- ga = (i + 72) | 0;
- ha = (i + 68) | 0;
- ia = (i + 64) | 0;
- ja = (i + 60) | 0;
- ka = (i + 56) | 0;
- la = (i + 52) | 0;
- ma = (i + 48) | 0;
- na = (i + 44) | 0;
- oa = (i + 40) | 0;
- pa = (i + 36) | 0;
- qa = (i + 32) | 0;
- ra = (i + 28) | 0;
- sa = (i + 24) | 0;
- ta = (i + 20) | 0;
- ua = (i + 16) | 0;
- va = (i + 12) | 0;
- wa = (i + 8) | 0;
- xa = (i + 4) | 0;
- ya = i;
- c[ta >> 2] = a;
- c[ua >> 2] = b;
- c[va >> 2] = e;
- c[wa >> 2] = f;
- c[xa >> 2] = g;
- c[ya >> 2] = h;
- h = c[ua >> 2] | 0;
- ua = c[va >> 2] | 0;
- va = c[wa >> 2] | 0;
- wa = c[xa >> 2] | 0;
- xa = c[ya >> 2] | 0;
- c[j >> 2] = c[ta >> 2];
- c[k >> 2] = h;
- c[m >> 2] = ua;
- c[n >> 2] = va;
- c[o >> 2] = wa;
- c[p >> 2] = xa;
- c[q >> 2] = 0;
- c[r >> 2] = 2;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[w >> 2] = (c[v >> 2] | 0) + -8;
- c[x >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
- c[y >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
- c[z >> 2] = c[((c[j >> 2] | 0) + 16) >> 2];
- c[A >> 2] = (c[x >> 2] | 0) + (c[y >> 2] | 0);
- c[B >> 2] = c[((c[j >> 2] | 0) + 8) >> 2];
- c[C >> 2] = (c[B >> 2] | 0) + (c[y >> 2] | 0);
- c[D >> 2] = (c[B >> 2] | 0) + (c[z >> 2] | 0);
- c[E >> 2] = c[q >> 2] | 0 ? 7 : 6;
- c[F >> 2] = c[c[m >> 2] >> 2];
- c[G >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[((c[j >> 2] | 0) + 28) >> 2] =
- c[((c[j >> 2] | 0) + 24) >> 2];
- c[t >> 2] =
- (c[t >> 2] | 0) +
- (((c[t >> 2] | 0) == (c[A >> 2] | 0)) & 1);
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[H >> 2] = 0;
- c[I >> 2] = 0;
- c[J >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- c[L >> 2] = (c[K >> 2] | 0) + 1 - (c[F >> 2] | 0);
- c[M >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0;
- c[N >> 2] = (c[M >> 2] | 0) + (c[L >> 2] | 0);
- if (
- !((
- ((c[L >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) - 1 - (c[L >> 2] | 0)) | 0) >>>
- 0 >=
- 3
- : 0) | 0
- ? ((q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0),
- (q | 0) == (Bk(c[N >> 2] | 0) | 0))
- : 0
- )
- ? ((c[O >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[H >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 1 + 4) | 0,
- ((c[N >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[O >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- !(c[r >> 2] | 0))
- : 0)
- ) {
- c[P >> 2] = 99999999;
- c[Q >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- P
- ) | 0;
- if ((c[Q >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
- c[H >> 2] = c[Q >> 2];
- c[J >> 2] = c[t >> 2];
- c[I >> 2] = c[P >> 2];
- }
- if ((c[H >> 2] | 0) >>> 0 < 4) {
- c[t >> 2] =
- (c[t >> 2] | 0) +
- ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
- continue;
- }
- a: do {
- if ((c[r >> 2] | 0) >>> 0 >= 1)
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- if (
- (
- (
- (
- c[I >> 2] | 0
- ? ((c[R >> 2] =
- (c[K >> 2] | 0) - (c[F >> 2] | 0)),
- (c[S >> 2] =
- (c[R >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0),
- (c[T >> 2] =
- (c[S >> 2] | 0) + (c[R >> 2] | 0)),
- ((c[R >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) -
- 1 -
- (c[R >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0)
- : 0
- )
- ? ((q = Bk(c[t >> 2] | 0) | 0),
- (q | 0) == (Bk(c[T >> 2] | 0) | 0))
- : 0
- )
- ? ((c[U >> 2] =
- (c[R >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[V >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[T >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[U >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- (c[W >> 2] = (c[V >> 2] | 0) * 3),
- (q = ((c[H >> 2] | 0) * 3) | 0),
- (c[X >> 2] =
- q -
- (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[V >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[W >> 2] | 0) > (c[X >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[V >> 2];
- c[I >> 2] = 0;
- c[J >> 2] = c[t >> 2];
- }
- c[Y >> 2] = 99999999;
- c[Z >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- Y
- ) | 0;
- q = c[Z >> 2] << 2;
- c[_ >> 2] = q - (Mm(((c[Y >> 2] | 0) + 1) | 0) | 0);
- q = c[H >> 2] << 2;
- c[$ >> 2] =
- q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 4;
- if (
- (c[Z >> 2] | 0) >>> 0 >= 4
- ? (c[_ >> 2] | 0) > (c[$ >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[Z >> 2];
- c[I >> 2] = c[Y >> 2];
- c[J >> 2] = c[t >> 2];
- continue;
- }
- if ((c[r >> 2] | 0) != 2) break a;
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- if (
- (
- (
- (
- c[I >> 2] | 0
- ? ((c[aa >> 2] =
- (c[K >> 2] | 0) - (c[F >> 2] | 0)),
- (c[ba >> 2] =
- (c[aa >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0),
- (c[ca >> 2] =
- (c[ba >> 2] | 0) + (c[aa >> 2] | 0)),
- ((c[aa >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) -
- 1 -
- (c[aa >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0)
- : 0
- )
- ? ((q = Bk(c[t >> 2] | 0) | 0),
- (q | 0) == (Bk(c[ca >> 2] | 0) | 0))
- : 0
- )
- ? ((c[da >> 2] =
- (c[aa >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[ea >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[ca >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[da >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- (c[fa >> 2] = c[ea >> 2] << 2),
- (q = c[H >> 2] << 2),
- (c[ga >> 2] =
- q -
- (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[ea >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[fa >> 2] | 0) > (c[ga >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[ea >> 2];
- c[I >> 2] = 0;
- c[J >> 2] = c[t >> 2];
- }
- c[ha >> 2] = 99999999;
- c[ia >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- ha
- ) | 0;
- q = c[ia >> 2] << 2;
- c[ja >> 2] =
- q - (Mm(((c[ha >> 2] | 0) + 1) | 0) | 0);
- q = c[H >> 2] << 2;
- c[ka >> 2] =
- q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 7;
- if ((c[ia >> 2] | 0) >>> 0 < 4) break a;
- if ((c[ja >> 2] | 0) <= (c[ka >> 2] | 0)) break a;
- c[H >> 2] = c[ia >> 2];
- c[I >> 2] = c[ha >> 2];
- c[J >> 2] = c[t >> 2];
- }
- } while (0);
- if (c[I >> 2] | 0) {
- c[la >> 2] =
- (c[J >> 2] | 0) -
- (c[x >> 2] | 0) -
- ((c[I >> 2] | 0) - 2);
- c[ma >> 2] =
- (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? ((c[B >> 2] | 0) + (c[la >> 2] | 0)) | 0
- : ((c[x >> 2] | 0) + (c[la >> 2] | 0)) | 0;
- c[na >> 2] =
- (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[D >> 2] | 0
- : c[A >> 2] | 0;
- while (1) {
- if ((c[J >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
- break;
- if ((c[ma >> 2] | 0) >>> 0 <= (c[na >> 2] | 0) >>> 0)
- break;
- if (
- (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[ma >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[J >> 2] = (c[J >> 2] | 0) + -1;
- c[ma >> 2] = (c[ma >> 2] | 0) + -1;
- c[H >> 2] = (c[H >> 2] | 0) + 1;
- }
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = (c[I >> 2] | 0) - 2;
- }
- }
- c[oa >> 2] = (c[J >> 2] | 0) - (c[u >> 2] | 0);
- Nm(
- c[k >> 2] | 0,
- c[oa >> 2] | 0,
- c[u >> 2] | 0,
- c[I >> 2] | 0,
- ((c[H >> 2] | 0) - 3) | 0
- );
- q = ((c[J >> 2] | 0) + (c[H >> 2] | 0)) | 0;
- c[t >> 2] = q;
- c[u >> 2] = q;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) break;
- c[pa >> 2] =
- (c[t >> 2] | 0) - (c[x >> 2] | 0) - (c[G >> 2] | 0);
- c[qa >> 2] =
- (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0;
- c[ra >> 2] = (c[qa >> 2] | 0) + (c[pa >> 2] | 0);
- if (
- !(
- ((c[pa >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) - 1 - (c[pa >> 2] | 0)) | 0) >>>
- 0 >=
- 3
- : 0) | 0
- )
- )
- break;
- q = Bk(c[t >> 2] | 0) | 0;
- if ((q | 0) != (Bk(c[ra >> 2] | 0) | 0)) break;
- c[sa >> 2] =
- (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0;
- c[H >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[ra >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[sa >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4;
- c[I >> 2] = c[G >> 2];
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = c[I >> 2];
- Nm(
- c[k >> 2] | 0,
- 0,
- c[u >> 2] | 0,
- 0,
- ((c[H >> 2] | 0) - 3) | 0
- );
- c[t >> 2] = (c[t >> 2] | 0) + (c[H >> 2] | 0);
- c[u >> 2] = c[t >> 2];
- }
- }
- c[c[m >> 2] >> 2] = c[F >> 2];
- c[((c[m >> 2] | 0) + 4) >> 2] = c[G >> 2];
- l = i;
- return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
- }
- function im(a, b, e, f, g, h) {
- a = a | 0;
- b = b | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0,
- ka = 0,
- la = 0,
- ma = 0,
- na = 0,
- oa = 0,
- pa = 0,
- qa = 0,
- ra = 0,
- sa = 0,
- ta = 0,
- ua = 0,
- va = 0,
- wa = 0,
- xa = 0,
- ya = 0;
- i = l;
- l = (l + 288) | 0;
- j = (i + 272) | 0;
- k = (i + 268) | 0;
- m = (i + 264) | 0;
- n = (i + 260) | 0;
- o = (i + 256) | 0;
- p = (i + 252) | 0;
- q = (i + 248) | 0;
- r = (i + 244) | 0;
- s = (i + 240) | 0;
- t = (i + 236) | 0;
- u = (i + 232) | 0;
- v = (i + 228) | 0;
- w = (i + 224) | 0;
- x = (i + 220) | 0;
- y = (i + 216) | 0;
- z = (i + 212) | 0;
- A = (i + 208) | 0;
- B = (i + 204) | 0;
- C = (i + 200) | 0;
- D = (i + 196) | 0;
- E = (i + 192) | 0;
- F = (i + 188) | 0;
- G = (i + 184) | 0;
- H = (i + 180) | 0;
- I = (i + 176) | 0;
- J = (i + 172) | 0;
- K = (i + 168) | 0;
- L = (i + 164) | 0;
- M = (i + 160) | 0;
- N = (i + 156) | 0;
- O = (i + 152) | 0;
- P = (i + 148) | 0;
- Q = (i + 144) | 0;
- R = (i + 140) | 0;
- S = (i + 136) | 0;
- T = (i + 132) | 0;
- U = (i + 128) | 0;
- V = (i + 124) | 0;
- W = (i + 120) | 0;
- X = (i + 116) | 0;
- Y = (i + 112) | 0;
- Z = (i + 108) | 0;
- _ = (i + 104) | 0;
- $ = (i + 100) | 0;
- aa = (i + 96) | 0;
- ba = (i + 92) | 0;
- ca = (i + 88) | 0;
- da = (i + 84) | 0;
- ea = (i + 80) | 0;
- fa = (i + 76) | 0;
- ga = (i + 72) | 0;
- ha = (i + 68) | 0;
- ia = (i + 64) | 0;
- ja = (i + 60) | 0;
- ka = (i + 56) | 0;
- la = (i + 52) | 0;
- ma = (i + 48) | 0;
- na = (i + 44) | 0;
- oa = (i + 40) | 0;
- pa = (i + 36) | 0;
- qa = (i + 32) | 0;
- ra = (i + 28) | 0;
- sa = (i + 24) | 0;
- ta = (i + 20) | 0;
- ua = (i + 16) | 0;
- va = (i + 12) | 0;
- wa = (i + 8) | 0;
- xa = (i + 4) | 0;
- ya = i;
- c[ta >> 2] = a;
- c[ua >> 2] = b;
- c[va >> 2] = e;
- c[wa >> 2] = f;
- c[xa >> 2] = g;
- c[ya >> 2] = h;
- h = c[ua >> 2] | 0;
- ua = c[va >> 2] | 0;
- va = c[wa >> 2] | 0;
- wa = c[xa >> 2] | 0;
- xa = c[ya >> 2] | 0;
- c[j >> 2] = c[ta >> 2];
- c[k >> 2] = h;
- c[m >> 2] = ua;
- c[n >> 2] = va;
- c[o >> 2] = wa;
- c[p >> 2] = xa;
- c[q >> 2] = 1;
- c[r >> 2] = 2;
- c[s >> 2] = c[o >> 2];
- c[t >> 2] = c[s >> 2];
- c[u >> 2] = c[s >> 2];
- c[v >> 2] = (c[s >> 2] | 0) + (c[p >> 2] | 0);
- c[w >> 2] = (c[v >> 2] | 0) + -8;
- c[x >> 2] = c[((c[j >> 2] | 0) + 4) >> 2];
- c[y >> 2] = c[((c[j >> 2] | 0) + 12) >> 2];
- c[z >> 2] = c[((c[j >> 2] | 0) + 16) >> 2];
- c[A >> 2] = (c[x >> 2] | 0) + (c[y >> 2] | 0);
- c[B >> 2] = c[((c[j >> 2] | 0) + 8) >> 2];
- c[C >> 2] = (c[B >> 2] | 0) + (c[y >> 2] | 0);
- c[D >> 2] = (c[B >> 2] | 0) + (c[z >> 2] | 0);
- c[E >> 2] = c[q >> 2] | 0 ? 7 : 6;
- c[F >> 2] = c[c[m >> 2] >> 2];
- c[G >> 2] = c[((c[m >> 2] | 0) + 4) >> 2];
- c[((c[j >> 2] | 0) + 28) >> 2] =
- c[((c[j >> 2] | 0) + 24) >> 2];
- c[t >> 2] =
- (c[t >> 2] | 0) +
- (((c[t >> 2] | 0) == (c[A >> 2] | 0)) & 1);
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0) break;
- c[H >> 2] = 0;
- c[I >> 2] = 0;
- c[J >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[t >> 2] | 0) - (c[x >> 2] | 0);
- c[L >> 2] = (c[K >> 2] | 0) + 1 - (c[F >> 2] | 0);
- c[M >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0;
- c[N >> 2] = (c[M >> 2] | 0) + (c[L >> 2] | 0);
- if (
- !((
- ((c[L >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) - 1 - (c[L >> 2] | 0)) | 0) >>>
- 0 >=
- 3
- : 0) | 0
- ? ((q = Bk(((c[t >> 2] | 0) + 1) | 0) | 0),
- (q | 0) == (Bk(c[N >> 2] | 0) | 0))
- : 0
- )
- ? ((c[O >> 2] =
- (c[L >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[H >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 1 + 4) | 0,
- ((c[N >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[O >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- !(c[r >> 2] | 0))
- : 0)
- ) {
- c[P >> 2] = 99999999;
- c[Q >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- P
- ) | 0;
- if ((c[Q >> 2] | 0) >>> 0 > (c[H >> 2] | 0) >>> 0) {
- c[H >> 2] = c[Q >> 2];
- c[J >> 2] = c[t >> 2];
- c[I >> 2] = c[P >> 2];
- }
- if ((c[H >> 2] | 0) >>> 0 < 4) {
- c[t >> 2] =
- (c[t >> 2] | 0) +
- ((((c[t >> 2] | 0) - (c[u >> 2] | 0)) >> 8) + 1);
- continue;
- }
- a: do {
- if ((c[r >> 2] | 0) >>> 0 >= 1)
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- if (
- (
- (
- (
- c[I >> 2] | 0
- ? ((c[R >> 2] =
- (c[K >> 2] | 0) - (c[F >> 2] | 0)),
- (c[S >> 2] =
- (c[R >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0),
- (c[T >> 2] =
- (c[S >> 2] | 0) + (c[R >> 2] | 0)),
- ((c[R >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) -
- 1 -
- (c[R >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0)
- : 0
- )
- ? ((q = Bk(c[t >> 2] | 0) | 0),
- (q | 0) == (Bk(c[T >> 2] | 0) | 0))
- : 0
- )
- ? ((c[U >> 2] =
- (c[R >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[V >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[T >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[U >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- (c[W >> 2] = (c[V >> 2] | 0) * 3),
- (q = ((c[H >> 2] | 0) * 3) | 0),
- (c[X >> 2] =
- q -
- (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[V >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[W >> 2] | 0) > (c[X >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[V >> 2];
- c[I >> 2] = 0;
- c[J >> 2] = c[t >> 2];
- }
- c[Y >> 2] = 99999999;
- c[Z >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- Y
- ) | 0;
- q = c[Z >> 2] << 2;
- c[_ >> 2] = q - (Mm(((c[Y >> 2] | 0) + 1) | 0) | 0);
- q = c[H >> 2] << 2;
- c[$ >> 2] =
- q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 4;
- if (
- (c[Z >> 2] | 0) >>> 0 >= 4
- ? (c[_ >> 2] | 0) > (c[$ >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[Z >> 2];
- c[I >> 2] = c[Y >> 2];
- c[J >> 2] = c[t >> 2];
- continue;
- }
- if ((c[r >> 2] | 0) != 2) break a;
- if ((c[t >> 2] | 0) >>> 0 >= (c[w >> 2] | 0) >>> 0)
- break a;
- c[t >> 2] = (c[t >> 2] | 0) + 1;
- c[K >> 2] = (c[K >> 2] | 0) + 1;
- if (
- (
- (
- (
- c[I >> 2] | 0
- ? ((c[aa >> 2] =
- (c[K >> 2] | 0) - (c[F >> 2] | 0)),
- (c[ba >> 2] =
- (c[aa >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0),
- (c[ca >> 2] =
- (c[ba >> 2] | 0) + (c[aa >> 2] | 0)),
- ((c[aa >> 2] | 0) >>> 0 >
- (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) -
- 1 -
- (c[aa >> 2] | 0)) |
- 0) >>>
- 0 >=
- 3
- : 0) | 0)
- : 0
- )
- ? ((q = Bk(c[t >> 2] | 0) | 0),
- (q | 0) == (Bk(c[ca >> 2] | 0) | 0))
- : 0
- )
- ? ((c[da >> 2] =
- (c[aa >> 2] | 0) >>> 0 <
- (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0),
- (c[ea >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[ca >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[da >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4),
- (c[fa >> 2] = c[ea >> 2] << 2),
- (q = c[H >> 2] << 2),
- (c[ga >> 2] =
- q -
- (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) +
- 1),
- (c[ea >> 2] | 0) >>> 0 >= 4)
- : 0
- )
- ? (c[fa >> 2] | 0) > (c[ga >> 2] | 0)
- : 0
- ) {
- c[H >> 2] = c[ea >> 2];
- c[I >> 2] = 0;
- c[J >> 2] = c[t >> 2];
- }
- c[ha >> 2] = 99999999;
- c[ia >> 2] =
- tc[c[E >> 2] & 7](
- c[j >> 2] | 0,
- c[n >> 2] | 0,
- c[t >> 2] | 0,
- c[v >> 2] | 0,
- ha
- ) | 0;
- q = c[ia >> 2] << 2;
- c[ja >> 2] =
- q - (Mm(((c[ha >> 2] | 0) + 1) | 0) | 0);
- q = c[H >> 2] << 2;
- c[ka >> 2] =
- q - (Mm(((c[I >> 2] | 0) + 1) | 0) | 0) + 7;
- if ((c[ia >> 2] | 0) >>> 0 < 4) break a;
- if ((c[ja >> 2] | 0) <= (c[ka >> 2] | 0)) break a;
- c[H >> 2] = c[ia >> 2];
- c[I >> 2] = c[ha >> 2];
- c[J >> 2] = c[t >> 2];
- }
- } while (0);
- if (c[I >> 2] | 0) {
- c[la >> 2] =
- (c[J >> 2] | 0) -
- (c[x >> 2] | 0) -
- ((c[I >> 2] | 0) - 2);
- c[ma >> 2] =
- (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? ((c[B >> 2] | 0) + (c[la >> 2] | 0)) | 0
- : ((c[x >> 2] | 0) + (c[la >> 2] | 0)) | 0;
- c[na >> 2] =
- (c[la >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[D >> 2] | 0
- : c[A >> 2] | 0;
- while (1) {
- if ((c[J >> 2] | 0) >>> 0 <= (c[u >> 2] | 0) >>> 0)
- break;
- if ((c[ma >> 2] | 0) >>> 0 <= (c[na >> 2] | 0) >>> 0)
- break;
- if (
- (d[((c[J >> 2] | 0) + -1) >> 0] | 0 | 0) !=
- (d[((c[ma >> 2] | 0) + -1) >> 0] | 0 | 0)
- )
- break;
- c[J >> 2] = (c[J >> 2] | 0) + -1;
- c[ma >> 2] = (c[ma >> 2] | 0) + -1;
- c[H >> 2] = (c[H >> 2] | 0) + 1;
- }
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = (c[I >> 2] | 0) - 2;
- }
- }
- c[oa >> 2] = (c[J >> 2] | 0) - (c[u >> 2] | 0);
- Nm(
- c[k >> 2] | 0,
- c[oa >> 2] | 0,
- c[u >> 2] | 0,
- c[I >> 2] | 0,
- ((c[H >> 2] | 0) - 3) | 0
- );
- q = ((c[J >> 2] | 0) + (c[H >> 2] | 0)) | 0;
- c[t >> 2] = q;
- c[u >> 2] = q;
- while (1) {
- if ((c[t >> 2] | 0) >>> 0 > (c[w >> 2] | 0) >>> 0) break;
- c[pa >> 2] =
- (c[t >> 2] | 0) - (c[x >> 2] | 0) - (c[G >> 2] | 0);
- c[qa >> 2] =
- (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[B >> 2] | 0
- : c[x >> 2] | 0;
- c[ra >> 2] = (c[qa >> 2] | 0) + (c[pa >> 2] | 0);
- if (
- !(
- ((c[pa >> 2] | 0) >>> 0 > (c[z >> 2] | 0) >>> 0
- ? (((c[y >> 2] | 0) - 1 - (c[pa >> 2] | 0)) | 0) >>>
- 0 >=
- 3
- : 0) | 0
- )
- )
- break;
- q = Bk(c[t >> 2] | 0) | 0;
- if ((q | 0) != (Bk(c[ra >> 2] | 0) | 0)) break;
- c[sa >> 2] =
- (c[pa >> 2] | 0) >>> 0 < (c[y >> 2] | 0) >>> 0
- ? c[C >> 2] | 0
- : c[v >> 2] | 0;
- c[H >> 2] =
- (Lm(
- ((c[t >> 2] | 0) + 4) | 0,
- ((c[ra >> 2] | 0) + 4) | 0,
- c[v >> 2] | 0,
- c[sa >> 2] | 0,
- c[A >> 2] | 0
- ) |
- 0) +
- 4;
- c[I >> 2] = c[G >> 2];
- c[G >> 2] = c[F >> 2];
- c[F >> 2] = c[I >> 2];
- Nm(
- c[k >> 2] | 0,
- 0,
- c[u >> 2] | 0,
- 0,
- ((c[H >> 2] | 0) - 3) | 0
- );
- c[t >> 2] = (c[t >> 2] | 0) + (c[H >> 2] | 0);
- c[u >> 2] = c[t >> 2];
- }
- }
- c[c[m >> 2] >> 2] = c[F >> 2];
- c[((c[m >> 2] | 0) + 4) >> 2] = c[G >> 2];
- l = i;
- return ((c[v >> 2] | 0) - (c[u >> 2] | 0)) | 0;
- }
- function DC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0;
- f = l;
- l = (l + 80) | 0;
- g = (f + 56) | 0;
- h = (f + 40) | 0;
- i = (f + 28) | 0;
- j = (f + 12) | 0;
- k = f;
- m = (f + 24) | 0;
- a: do {
- if (((d - b) | 0) > 2 ? (a[b >> 0] | 0) == 85 : 0) {
- switch (a[(b + 1) >> 0] | 0) {
- case 116: {
- c[h >> 2] = 0;
- c[(h + 4) >> 2] = 0;
- c[(h + 8) >> 2] = 0;
- RB(h, 19476, AB(19476) | 0);
- IB(g, h);
- n = (e + 4) | 0;
- o = c[n >> 2] | 0;
- if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(o, g);
- c[n >> 2] = (c[n >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(h);
- o = (b + 2) | 0;
- if ((o | 0) == (d | 0)) {
- p = c[n >> 2] | 0;
- q = 0;
- while (1) {
- if ((q | 0) == -1) break;
- r = (q + -1) | 0;
- QA((p + ((r * 24) | 0)) | 0);
- q = r;
- }
- c[n >> 2] = p + -24;
- s = b;
- break a;
- }
- if ((((a[o >> 0] | 0) + -48) | 0) >>> 0 < 10) {
- q = (b + 3) | 0;
- while (1) {
- if ((q | 0) == (d | 0)) {
- t = d;
- break;
- }
- if ((((a[q >> 0] | 0) + -48) | 0) >>> 0 >= 10) {
- t = q;
- break;
- }
- q = (q + 1) | 0;
- }
- MC(((c[n >> 2] | 0) + -24) | 0, o, t);
- u = t;
- } else u = o;
- NC(((c[n >> 2] | 0) + -24) | 0, 39);
- if ((u | 0) != (d | 0) ? (a[u >> 0] | 0) == 95 : 0) {
- s = (u + 1) | 0;
- break a;
- }
- q = c[n >> 2] | 0;
- p = 0;
- while (1) {
- if ((p | 0) == -1) break;
- r = (p + -1) | 0;
- QA((q + ((r * 24) | 0)) | 0);
- p = r;
- }
- c[n >> 2] = q + -24;
- s = b;
- break a;
- break;
- }
- case 108:
- break;
- default: {
- s = b;
- break a;
- }
- }
- c[i >> 2] = 0;
- c[(i + 4) >> 2] = 0;
- c[(i + 8) >> 2] = 0;
- RB(i, 19485, AB(19485) | 0);
- IB(g, i);
- p = (e + 4) | 0;
- o = c[p >> 2] | 0;
- if (o >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(o, g);
- c[p >> 2] = (c[p >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(i);
- o = (b + 2) | 0;
- do {
- if ((a[o >> 0] | 0) != 118) {
- r = mB(o, d, e) | 0;
- if ((r | 0) == (o | 0)) {
- v = c[p >> 2] | 0;
- w = 0;
- while (1) {
- if ((w | 0) == -1) break;
- x = (w + -1) | 0;
- QA((v + ((x * 24) | 0)) | 0);
- w = x;
- }
- c[p >> 2] = v + -24;
- s = b;
- break a;
- }
- w = c[p >> 2] | 0;
- if (
- ((((w - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- s = b;
- break a;
- }
- FB(j, (w + -24) | 0);
- w = c[p >> 2] | 0;
- x = 0;
- while (1) {
- if ((x | 0) == -1) break;
- y = (x + -1) | 0;
- QA((w + ((y * 24) | 0)) | 0);
- x = y;
- }
- c[p >> 2] = w + -24;
- x = (j + 11) | 0;
- v = a[x >> 0] | 0;
- y = (v << 24) >> 24 < 0;
- z = (j + 4) | 0;
- TA(
- (w + -48) | 0,
- y ? c[j >> 2] | 0 : j,
- y ? c[z >> 2] | 0 : v & 255
- ) | 0;
- v = r;
- while (1) {
- y = mB(v, d, e) | 0;
- if ((y | 0) == (v | 0)) {
- A = 54;
- break;
- }
- B = c[p >> 2] | 0;
- if (
- ((((B - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- A = 82;
- break;
- }
- FB(k, (B + -24) | 0);
- if ((a[x >> 0] | 0) < 0) {
- B = c[j >> 2] | 0;
- a[g >> 0] = 0;
- cB(B, g);
- c[z >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(j, g);
- a[x >> 0] = 0;
- }
- TB(j);
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- B = 0;
- while (1) {
- if ((B | 0) == 3) break;
- c[(k + (B << 2)) >> 2] = 0;
- B = (B + 1) | 0;
- }
- iB(k);
- B = c[p >> 2] | 0;
- C = 0;
- while (1) {
- if ((C | 0) == -1) break;
- D = (C + -1) | 0;
- QA((B + ((D * 24) | 0)) | 0);
- C = D;
- }
- c[p >> 2] = B + -24;
- C = a[x >> 0] | 0;
- if (
- ((C << 24) >> 24 < 0 ? c[z >> 2] | 0 : C & 255) |
- 0
- ) {
- qB((B + -48) | 0, 18897) | 0;
- C = a[x >> 0] | 0;
- D = (C << 24) >> 24 < 0;
- TA(
- ((c[p >> 2] | 0) + -24) | 0,
- D ? c[j >> 2] | 0 : j,
- D ? c[z >> 2] | 0 : C & 255
- ) | 0;
- }
- v = y;
- }
- if ((A | 0) == 54) {
- qB(((c[p >> 2] | 0) + -24) | 0, 18673) | 0;
- iB(j);
- E = v;
- break;
- } else if ((A | 0) == 82) {
- iB(j);
- s = b;
- break a;
- }
- } else {
- NC(((c[p >> 2] | 0) + -24) | 0, 41);
- E = (b + 3) | 0;
- }
- } while (0);
- if ((E | 0) != (d | 0) ? (a[E >> 0] | 0) == 69 : 0) {
- o = (E + 1) | 0;
- if ((o | 0) == (d | 0)) {
- q = c[p >> 2] | 0;
- n = 0;
- while (1) {
- if ((n | 0) == -1) break;
- z = (n + -1) | 0;
- QA((q + ((z * 24) | 0)) | 0);
- n = z;
- }
- c[p >> 2] = q + -24;
- s = b;
- break;
- }
- if ((((a[o >> 0] | 0) + -48) | 0) >>> 0 < 10) {
- n = (E + 2) | 0;
- while (1) {
- if ((n | 0) == (d | 0)) {
- F = d;
- break;
- }
- if ((((a[n >> 0] | 0) + -48) | 0) >>> 0 >= 10) {
- F = n;
- break;
- }
- n = (n + 1) | 0;
- }
- n = ((c[p >> 2] | 0) + -24) | 0;
- if ((a[(n + 11) >> 0] | 0) < 0) G = c[n >> 2] | 0;
- else G = n;
- c[m >> 2] = G + 7;
- c[g >> 2] = c[m >> 2];
- OC(n, g, o, F) | 0;
- H = F;
- } else H = o;
- if ((H | 0) != (d | 0) ? (a[H >> 0] | 0) == 95 : 0) {
- s = (H + 1) | 0;
- break;
- }
- n = c[p >> 2] | 0;
- q = 0;
- while (1) {
- if ((q | 0) == -1) break;
- z = (q + -1) | 0;
- QA((n + ((z * 24) | 0)) | 0);
- q = z;
- }
- c[p >> 2] = n + -24;
- s = b;
- break;
- }
- q = c[p >> 2] | 0;
- o = 0;
- while (1) {
- if ((o | 0) == -1) break;
- z = (o + -1) | 0;
- QA((q + ((z * 24) | 0)) | 0);
- o = z;
- }
- c[p >> 2] = q + -24;
- s = b;
- } else s = b;
- } while (0);
- l = f;
- return s | 0;
- }
- function EC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 32) | 0;
- g = f;
- a: do {
- if (((d - b) | 0) > 1)
- do {
- switch (a[b >> 0] | 0) {
- case 97: {
- switch (a[(b + 1) >> 0] | 0) {
- case 97: {
- FC(g, 18975);
- h = (e + 4) | 0;
- i = c[h >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[h >> 2] = (c[h >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 110:
- case 100: {
- GC(g, 18986);
- h = (e + 4) | 0;
- i = c[h >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[h >> 2] = (c[h >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 78: {
- FC(g, 18996);
- h = (e + 4) | 0;
- i = c[h >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[h >> 2] = (c[h >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 83: {
- GC(g, 19007);
- h = (e + 4) | 0;
- i = c[h >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[h >> 2] = (c[h >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 99: {
- switch (a[(b + 1) >> 0] | 0) {
- case 108: {
- FC(g, 19017);
- h = (e + 4) | 0;
- i = c[h >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[h >> 2] = (c[h >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 109: {
- GC(g, 19028);
- h = (e + 4) | 0;
- i = c[h >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[h >> 2] = (c[h >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 111: {
- GC(g, 19038);
- h = (e + 4) | 0;
- i = c[h >> 2] | 0;
- if (i >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(i, g);
- c[h >> 2] = (c[h >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 118: {
- h = (e + 63) | 0;
- i = a[h >> 0] | 0;
- a[h >> 0] = 0;
- k = (b + 2) | 0;
- m = mB(k, d, e) | 0;
- a[h >> 0] = i;
- if ((m | 0) == (k | 0)) {
- j = b;
- break a;
- }
- k = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (k | 0)) {
- j = b;
- break a;
- }
- pB((k + -24) | 0, 0, 19048) | 0;
- a[(e + 60) >> 0] = 1;
- j = m;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 100: {
- switch (a[(b + 1) >> 0] | 0) {
- case 97: {
- HC(g, 19058);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 101: {
- GC(g, 19076);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 108: {
- IC(g);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 118: {
- GC(g, 19086);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 86: {
- FC(g, 19096);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 101: {
- switch (a[(b + 1) >> 0] | 0) {
- case 111: {
- GC(g, 19107);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 79: {
- FC(g, 19117);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 113: {
- FC(g, 19128);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 103: {
- switch (a[(b + 1) >> 0] | 0) {
- case 101: {
- FC(g, 19139);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 116: {
- GC(g, 19150);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 105: {
- if ((a[(b + 1) >> 0] | 0) != 120) {
- j = b;
- break a;
- }
- FC(g, 19160);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 108: {
- switch (a[(b + 1) >> 0] | 0) {
- case 101: {
- FC(g, 19171);
- m = (e + 4) | 0;
- k = c[m >> 2] | 0;
- if (k >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(k, g);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 105: {
- m = (b + 2) | 0;
- k = GB(m, d, e) | 0;
- if ((k | 0) == (m | 0)) {
- j = b;
- break a;
- }
- m = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (m | 0)) {
- j = b;
- break a;
- }
- pB((m + -24) | 0, 0, 19182) | 0;
- j = k;
- break a;
- break;
- }
- case 115: {
- FC(g, 19194);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 83: {
- JC(g, 19205);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 116: {
- GC(g, 19217);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 109: {
- switch (a[(b + 1) >> 0] | 0) {
- case 105: {
- GC(g, 19227);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 73: {
- FC(g, 19237);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 108: {
- GC(g, 19076);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 76: {
- FC(g, 19248);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 109: {
- FC(g, 19259);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 110: {
- switch (a[(b + 1) >> 0] | 0) {
- case 97: {
- KC(g, 19270);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 101: {
- FC(g, 19285);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 103: {
- GC(g, 19227);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 116: {
- GC(g, 19296);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 119: {
- LC(g, 19306);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 111: {
- switch (a[(b + 1) >> 0] | 0) {
- case 111: {
- FC(g, 19319);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 114: {
- GC(g, 19330);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 82: {
- FC(g, 19340);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 112: {
- switch (a[(b + 1) >> 0] | 0) {
- case 109: {
- JC(g, 19351);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 108: {
- GC(g, 19363);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 76: {
- FC(g, 19373);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 112: {
- FC(g, 19384);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 115: {
- GC(g, 19363);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 116: {
- FC(g, 19395);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 113: {
- if ((a[(b + 1) >> 0] | 0) != 117) {
- j = b;
- break a;
- }
- GC(g, 19406);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 114: {
- switch (a[(b + 1) >> 0] | 0) {
- case 109: {
- GC(g, 19416);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 77: {
- FC(g, 19426);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 115: {
- FC(g, 19437);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- case 83: {
- JC(g, 19448);
- k = (e + 4) | 0;
- m = c[k >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[k >> 2] = (c[k >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- j = (b + 2) | 0;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- break;
- }
- case 118: {
- if (
- (((a[(b + 1) >> 0] | 0) + -48) | 0) >>> 0 >=
- 10
- ) {
- j = b;
- break a;
- }
- k = (b + 2) | 0;
- m = GB(k, d, e) | 0;
- if ((m | 0) == (k | 0)) {
- j = b;
- break a;
- }
- k = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (k | 0)) {
- j = b;
- break a;
- }
- pB((k + -24) | 0, 0, 19048) | 0;
- j = m;
- break a;
- break;
- }
- default: {
- j = b;
- break a;
- }
- }
- } while (0);
- else j = b;
- } while (0);
- l = f;
- return j | 0;
- }
- function FC(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 10);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function GC(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 9);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function HC(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 17);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function IC(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, 19460, 15);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function JC(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 11);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function KC(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 14);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function LC(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 12);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function MC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- f = l;
- l = (l + 16) | 0;
- g = d;
- h = f;
- i = (b + 11) | 0;
- j = a[i >> 0] | 0;
- k = (j << 24) >> 24 < 0;
- if (k) {
- m = c[(b + 4) >> 2] | 0;
- n = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
- } else {
- m = j & 255;
- n = 10;
- }
- o = (e - g) | 0;
- do {
- if (o | 0) {
- if (k) {
- p = c[b >> 2] | 0;
- q = c[(b + 4) >> 2] | 0;
- } else {
- p = b;
- q = j & 255;
- }
- if (PC(d, p, (p + q) | 0) | 0) {
- c[h >> 2] = 0;
- c[(h + 4) >> 2] = 0;
- c[(h + 8) >> 2] = 0;
- QC(h, d, e);
- r = a[(h + 11) >> 0] | 0;
- s = (r << 24) >> 24 < 0;
- TA(
- b,
- s ? c[h >> 2] | 0 : h,
- s ? c[(h + 4) >> 2] | 0 : r & 255
- ) | 0;
- iB(h);
- break;
- }
- if (((n - m) | 0) >>> 0 < o >>> 0)
- RC(b, n, (m + o - n) | 0, m, m, 0);
- if ((a[i >> 0] | 0) < 0) t = c[b >> 2] | 0;
- else t = b;
- r = (e + (m - g)) | 0;
- s = (t + m) | 0;
- u = d;
- while (1) {
- if ((u | 0) == (e | 0)) break;
- cB(s, u);
- s = (s + 1) | 0;
- u = (u + 1) | 0;
- }
- a[h >> 0] = 0;
- cB((t + r) | 0, h);
- u = (m + o) | 0;
- if ((a[i >> 0] | 0) < 0) {
- c[(b + 4) >> 2] = u;
- break;
- } else {
- a[i >> 0] = u;
- break;
- }
- }
- } while (0);
- l = f;
- return;
- }
- function NC(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (e + 1) | 0;
- a[f >> 0] = d;
- d = (b + 11) | 0;
- h = a[d >> 0] | 0;
- i = (h << 24) >> 24 < 0;
- if (i) {
- j = c[(b + 4) >> 2] | 0;
- k = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
- } else {
- j = h & 255;
- k = 10;
- }
- if ((j | 0) == (k | 0)) {
- RC(b, k, 1, k, k, 0);
- if ((a[d >> 0] | 0) < 0) m = 8;
- else m = 7;
- } else if (i) m = 8;
- else m = 7;
- if ((m | 0) == 7) {
- a[d >> 0] = j + 1;
- n = b;
- } else if ((m | 0) == 8) {
- m = c[b >> 2] | 0;
- c[(b + 4) >> 2] = j + 1;
- n = m;
- }
- m = (n + j) | 0;
- cB(m, f);
- a[g >> 0] = 0;
- cB((m + 1) | 0, g);
- l = e;
- return;
- }
- function OC(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0;
- g = l;
- l = (l + 32) | 0;
- h = (g + 16) | 0;
- i = (g + 4) | 0;
- j = g;
- k = (b + 11) | 0;
- m = a[k >> 0] | 0;
- n = (m << 24) >> 24 < 0;
- if (n) o = c[b >> 2] | 0;
- else o = b;
- p = c[d >> 2] | 0;
- d = (p - o) | 0;
- o = (f - e) | 0;
- do {
- if (!o) {
- q = m;
- r = 27;
- } else {
- if (n) {
- s = c[b >> 2] | 0;
- t = c[(b + 4) >> 2] | 0;
- } else {
- s = b;
- t = m & 255;
- }
- if (PC(e, s, (s + t) | 0) | 0) {
- c[i >> 2] = 0;
- c[(i + 4) >> 2] = 0;
- c[(i + 8) >> 2] = 0;
- QC(i, e, f);
- c[j >> 2] = p;
- u = a[(i + 11) >> 0] | 0;
- v = (u << 24) >> 24 < 0;
- w = v ? c[i >> 2] | 0 : i;
- x = (w + (v ? c[(i + 4) >> 2] | 0 : u & 255)) | 0;
- c[h >> 2] = c[j >> 2];
- u = OC(b, h, w, x) | 0;
- iB(i);
- y = u;
- break;
- }
- u = a[k >> 0] | 0;
- x = (u << 24) >> 24 < 0;
- if (x) {
- z = c[(b + 4) >> 2] | 0;
- A = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
- } else {
- z = u & 255;
- A = 10;
- }
- if (((A - z) | 0) >>> 0 >= o >>> 0) {
- if (x) B = c[b >> 2] | 0;
- else B = b;
- x = (z - d) | 0;
- if (!x) C = B;
- else {
- u = (B + d) | 0;
- wC((u + o) | 0, u, x) | 0;
- C = B;
- }
- } else {
- RC(b, A, (z + o - A) | 0, z, d, o);
- C = c[b >> 2] | 0;
- }
- x = (z + o) | 0;
- if ((a[k >> 0] | 0) < 0) c[(b + 4) >> 2] = x;
- else a[k >> 0] = x;
- a[h >> 0] = 0;
- cB((C + x) | 0, h);
- x = e;
- u = (C + d) | 0;
- while (1) {
- if ((x | 0) == (f | 0)) break;
- cB(u, x);
- x = (x + 1) | 0;
- u = (u + 1) | 0;
- }
- q = a[k >> 0] | 0;
- r = 27;
- }
- } while (0);
- if ((r | 0) == 27) {
- if ((q << 24) >> 24 < 0) D = c[b >> 2] | 0;
- else D = b;
- y = (D + d) | 0;
- }
- l = g;
- return y | 0;
- }
- function PC(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- return ((b >>> 0 <= a >>> 0) & (a >>> 0 < c >>> 0)) | 0;
- }
- function QC(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- f = l;
- l = (l + 16) | 0;
- g = d;
- h = f;
- i = (e - g) | 0;
- if (i >>> 0 > 4294967279) eB(b);
- if (i >>> 0 < 11) {
- a[(b + 11) >> 0] = i;
- j = b;
- } else {
- k = (i + 16) & -16;
- m = fB(k) | 0;
- c[b >> 2] = m;
- c[(b + 8) >> 2] = k | -2147483648;
- c[(b + 4) >> 2] = i;
- j = m;
- }
- m = (e - g) | 0;
- g = d;
- d = j;
- while (1) {
- if ((g | 0) == (e | 0)) break;
- cB(d, g);
- g = (g + 1) | 0;
- d = (d + 1) | 0;
- }
- a[h >> 0] = 0;
- cB((j + m) | 0, h);
- l = f;
- return;
- }
- function RC(b, d, e, f, g, h) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- h = h | 0;
- var i = 0,
- j = 0,
- k = 0,
- l = 0;
- if (((-17 - d) | 0) >>> 0 < e >>> 0) eB(b);
- if ((a[(b + 11) >> 0] | 0) < 0) i = c[b >> 2] | 0;
- else i = b;
- if (d >>> 0 < 2147483623) {
- j = (e + d) | 0;
- e = d << 1;
- k = j >>> 0 < e >>> 0 ? e : j;
- l = k >>> 0 < 11 ? 11 : (k + 16) & -16;
- } else l = -17;
- k = fB(l) | 0;
- if (g | 0) bB(k, i, g) | 0;
- j = (f - g) | 0;
- if (j | 0) bB((k + g + h) | 0, (i + g) | 0, j) | 0;
- if ((d | 0) != 10) gB(i);
- c[b >> 2] = k;
- c[(b + 8) >> 2] = l | -2147483648;
- return;
- }
- function SC(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- e = (d + 11) | 0;
- f = a[e >> 0] | 0;
- g = (d + 4) | 0;
- a: do {
- if (!(((f << 24) >> 24 < 0 ? c[g >> 2] | 0 : f & 255) | 0))
- TC(b, d);
- else {
- h = AB(19495) | 0;
- i = a[e >> 0] | 0;
- if (
- (h | 0) ==
- (((i << 24) >> 24 < 0 ? c[g >> 2] | 0 : i & 255) | 0)
- ? (BB(d, 19495, h) | 0) == 0
- : 0
- ) {
- uC(d, 19507);
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- RB(b, 19578, AB(19578) | 0);
- break;
- }
- h = AB(19591) | 0;
- i = a[e >> 0] | 0;
- if (
- (h | 0) ==
- (((i << 24) >> 24 < 0 ? c[g >> 2] | 0 : i & 255) | 0)
- ? (BB(d, 19591, h) | 0) == 0
- : 0
- ) {
- uC(d, 19604);
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- RB(b, 19654, AB(19654) | 0);
- break;
- }
- h = AB(19668) | 0;
- i = a[e >> 0] | 0;
- if (
- (h | 0) ==
- (((i << 24) >> 24 < 0 ? c[g >> 2] | 0 : i & 255) | 0)
- ? (BB(d, 19668, h) | 0) == 0
- : 0
- ) {
- uC(d, 19681);
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- RB(b, 19731, AB(19731) | 0);
- break;
- }
- h = AB(19745) | 0;
- i = a[e >> 0] | 0;
- j = c[g >> 2] | 0;
- k = i & 255;
- do {
- if ((h | 0) == (((i << 24) >> 24 < 0 ? j : k) | 0)) {
- if (!(BB(d, 19745, h) | 0)) {
- uC(d, 19759);
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- RB(b, 19810, AB(19810) | 0);
- break a;
- } else {
- l = a[e >> 0] | 0;
- m = l & 255;
- n = l;
- o = c[g >> 2] | 0;
- break;
- }
- } else {
- m = k;
- n = i;
- o = j;
- }
- } while (0);
- j = (n << 24) >> 24 < 0;
- i = j ? c[d >> 2] | 0 : d;
- k = (i + (j ? o : m)) | 0;
- do {
- if ((a[(k + -1) >> 0] | 0) == 62) {
- j = 1;
- h = k;
- b: while (1) {
- p = h;
- c: while (1) {
- q = (p + -1) | 0;
- if ((q | 0) == (i | 0)) break b;
- switch (a[(p + -2) >> 0] | 0) {
- case 60: {
- r = 24;
- break c;
- break;
- }
- case 62: {
- r = 25;
- break c;
- break;
- }
- default:
- p = q;
- }
- }
- if ((r | 0) == 24) {
- r = 0;
- l = (j + -1) | 0;
- if (!l) {
- r = 27;
- break;
- } else s = l;
- } else if ((r | 0) == 25) {
- r = 0;
- s = (j + 1) | 0;
- }
- j = s;
- h = q;
- }
- if ((r | 0) == 27) {
- t = (p + -2) | 0;
- break;
- }
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- h = 0;
- while (1) {
- if ((h | 0) == 3) break a;
- c[(b + (h << 2)) >> 2] = 0;
- h = (h + 1) | 0;
- }
- } else t = k;
- } while (0);
- k = t;
- while (1) {
- h = (k + -1) | 0;
- if ((h | 0) == (i | 0)) {
- u = i;
- break;
- }
- if ((a[h >> 0] | 0) == 58) {
- u = k;
- break;
- } else k = h;
- }
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- QC(b, u, t);
- }
- } while (0);
- return;
- }
- function TC(b, d) {
- b = b | 0;
- d = d | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- if ((a[(d + 11) >> 0] | 0) < 0)
- RB(b, c[d >> 2] | 0, c[(d + 4) >> 2] | 0);
- else {
- c[b >> 2] = c[d >> 2];
- c[(b + 4) >> 2] = c[(d + 4) >> 2];
- c[(b + 8) >> 2] = c[(d + 8) >> 2];
- }
- return;
- }
- function UC(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- if ((a | 0) != (b | 0)) {
- e = yC(a, b, d) | 0;
- if ((e | 0) == (a | 0)) f = AC(a, b, d) | 0;
- else f = e;
- if (
- (f | 0) != (a | 0)
- ? ((e = c[(d + 4) >> 2] | 0),
- (c[d >> 2] | 0) != (e | 0))
- : 0
- ) {
- pB((e + -24) | 0, 0, 18745) | 0;
- g = f;
- } else g = a;
- } else g = a;
- return g | 0;
- }
- function VC(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- b = 0;
- while (1) {
- if ((b | 0) == 3) break;
- c[(a + (b << 2)) >> 2] = 0;
- b = (b + 1) | 0;
- }
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function WC(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0;
- b = l;
- l = (l + 32) | 0;
- d = b;
- e = (a + 4) | 0;
- f =
- ((((((c[e >> 2] | 0) - (c[a >> 2] | 0)) | 0) / 24) | 0) +
- 1) |
- 0;
- g = XC(a) | 0;
- if (g >>> 0 < f >>> 0) Wz(a);
- else {
- h = c[a >> 2] | 0;
- i = ((((c[(a + 8) >> 2] | 0) - h) | 0) / 24) | 0;
- j = i << 1;
- YC(
- d,
- i >>> 0 < (g >>> 1) >>> 0
- ? j >>> 0 < f >>> 0
- ? f
- : j
- : g,
- ((((c[e >> 2] | 0) - h) | 0) / 24) | 0,
- (a + 12) | 0
- );
- h = (d + 8) | 0;
- e = c[h >> 2] | 0;
- c[e >> 2] = 0;
- c[(e + 4) >> 2] = 0;
- c[(e + 8) >> 2] = 0;
- c[(e + 12) >> 2] = 0;
- c[(e + 16) >> 2] = 0;
- c[(e + 20) >> 2] = 0;
- VC(e);
- c[h >> 2] = e + 24;
- ZC(a, d);
- _C(d);
- l = b;
- return;
- }
- }
- function XC(a) {
- a = a | 0;
- return 178956970;
- }
- function YC(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0;
- f = (a + 12) | 0;
- c[f >> 2] = 0;
- c[(a + 16) >> 2] = e;
- if (!b) g = 0;
- else g = $C(e, b) | 0;
- c[a >> 2] = g;
- e = (g + ((d * 24) | 0)) | 0;
- c[(a + 8) >> 2] = e;
- c[(a + 4) >> 2] = e;
- c[f >> 2] = g + ((b * 24) | 0);
- return;
- }
- function ZC(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0;
- d = c[a >> 2] | 0;
- e = (a + 4) | 0;
- f = (b + 4) | 0;
- g = c[e >> 2] | 0;
- while (1) {
- if ((g | 0) == (d | 0)) break;
- h = (g + -24) | 0;
- KB(((c[f >> 2] | 0) + -24) | 0, h);
- c[f >> 2] = (c[f >> 2] | 0) + -24;
- g = h;
- }
- g = c[a >> 2] | 0;
- c[a >> 2] = c[f >> 2];
- c[f >> 2] = g;
- g = (b + 8) | 0;
- d = c[e >> 2] | 0;
- c[e >> 2] = c[g >> 2];
- c[g >> 2] = d;
- d = (a + 8) | 0;
- a = (b + 12) | 0;
- g = c[d >> 2] | 0;
- c[d >> 2] = c[a >> 2];
- c[a >> 2] = g;
- c[b >> 2] = c[f >> 2];
- return;
- }
- function _C(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = c[(a + 4) >> 2] | 0;
- d = (a + 8) | 0;
- while (1) {
- e = c[d >> 2] | 0;
- if ((e | 0) == (b | 0)) break;
- f = (e + -24) | 0;
- c[d >> 2] = f;
- QA(f);
- }
- d = c[a >> 2] | 0;
- if (d | 0)
- hB(
- c[(a + 16) >> 2] | 0,
- d,
- ((((c[(a + 12) >> 2] | 0) - d) | 0) / 24) | 0
- );
- return;
- }
- function $C(a, b) {
- a = a | 0;
- b = b | 0;
- return aD(c[a >> 2] | 0, (b * 24) | 0) | 0;
- }
- function aD(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0;
- d = $A(b) | 0;
- b = (a + 4096) | 0;
- e = c[b >> 2] | 0;
- if (((a + 4096 - e) | 0) >>> 0 < d >>> 0) f = Cy(d) | 0;
- else {
- c[b >> 2] = e + d;
- f = e;
- }
- return f | 0;
- }
- function bD(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- g = l;
- l = (l + 48) | 0;
- h = (g + 24) | 0;
- i = g;
- j = (g + 12) | 0;
- k = QB(b, d) | 0;
- if (
- !(((k | 0) == (b | 0)) | ((k | 0) == (d | 0)))
- ? (a[k >> 0] | 0) == 69
- : 0
- ) {
- d = (e + 11) | 0;
- m = a[d >> 0] | 0;
- n = (e + 4) | 0;
- do {
- if (
- ((m << 24) >> 24 < 0 ? c[n >> 2] | 0 : m & 255) >>> 0 <=
- 3
- ) {
- o = (f + 4) | 0;
- p = c[o >> 2] | 0;
- if (p >>> 0 < (c[(f + 8) >> 2] | 0) >>> 0) {
- c[p >> 2] = 0;
- c[(p + 4) >> 2] = 0;
- c[(p + 8) >> 2] = 0;
- c[(p + 12) >> 2] = 0;
- c[(p + 16) >> 2] = 0;
- c[(p + 20) >> 2] = 0;
- VC(p);
- c[o >> 2] = (c[o >> 2] | 0) + 24;
- break;
- } else {
- WC(f);
- break;
- }
- } else {
- UB(j, 18675, e);
- qB(j, 18673) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- o = 0;
- while (1) {
- if ((o | 0) == 3) break;
- c[(j + (o << 2)) >> 2] = 0;
- o = (o + 1) | 0;
- }
- IB(h, i);
- o = (f + 4) | 0;
- p = c[o >> 2] | 0;
- if (p >>> 0 < (c[(f + 8) >> 2] | 0) >>> 0) {
- KB(p, h);
- c[o >> 2] = (c[o >> 2] | 0) + 24;
- } else LB(f, h);
- QA(h);
- iB(i);
- iB(j);
- }
- } while (0);
- j = (f + 4) | 0;
- if ((a[b >> 0] | 0) == 110) {
- NC(((c[j >> 2] | 0) + -24) | 0, 45);
- q = (b + 1) | 0;
- } else q = b;
- MC(((c[j >> 2] | 0) + -24) | 0, q, k);
- q = a[d >> 0] | 0;
- d = (q << 24) >> 24 < 0;
- f = d ? c[n >> 2] | 0 : q & 255;
- if (f >>> 0 < 4)
- TA(
- ((c[j >> 2] | 0) + -24) | 0,
- d ? c[e >> 2] | 0 : e,
- f
- ) | 0;
- r = (k + 1) | 0;
- } else r = b;
- l = g;
- return r | 0;
- }
- function cD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 4);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function dD(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0;
- f = l;
- l = (l + 64) | 0;
- i = (f + 24) | 0;
- j = (f + 60) | 0;
- k = f;
- m = (f + 48) | 0;
- a: do {
- if (((d - b) | 0) >>> 0 > 8) {
- n = 0;
- o = j;
- while (1) {
- p = a[(b + n) >> 0] | 0;
- q = (p << 24) >> 24;
- if ((n | 0) == 8) {
- r = 6;
- break;
- }
- if (!(Qz(q) | 0)) break;
- s = a[(b + (n | 1)) >> 0] | 0;
- a[o >> 0] =
- (((((q + -48) | 0) >>> 0 < 10 ? 0 : 9) + q) << 4) +
- s +
- (((s + -48) | 0) >>> 0 < 10 ? 208 : 169);
- n = (n + 2) | 0;
- o = (o + 1) | 0;
- }
- do {
- if ((r | 0) == 6) {
- if ((p << 24) >> 24 == 69) {
- b: do {
- if ((o | 0) != (j | 0)) {
- n = o;
- s = j;
- while (1) {
- q = (n + -1) | 0;
- if (s >>> 0 >= q >>> 0) break b;
- t = a[s >> 0] | 0;
- a[s >> 0] = a[q >> 0] | 0;
- a[q >> 0] = t;
- n = q;
- s = (s + 1) | 0;
- }
- }
- } while (0);
- c[k >> 2] = 0;
- c[(k + 4) >> 2] = 0;
- c[(k + 8) >> 2] = 0;
- c[(k + 12) >> 2] = 0;
- c[(k + 16) >> 2] = 0;
- c[(k + 20) >> 2] = 0;
- h[i >> 3] = +g[j >> 2];
- s = bz(k, 24, 19987, i) | 0;
- if (s >>> 0 > 23) break;
- c[m >> 2] = 0;
- c[(m + 4) >> 2] = 0;
- c[(m + 8) >> 2] = 0;
- RB(m, k, s);
- IB(i, m);
- s = (e + 4) | 0;
- n = c[s >> 2] | 0;
- if (n >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(n, i);
- c[s >> 2] = (c[s >> 2] | 0) + 24;
- } else LB(e, i);
- QA(i);
- iB(m);
- u = (b + 9) | 0;
- } else u = b;
- v = u;
- break a;
- }
- } while (0);
- v = b;
- } else v = b;
- } while (0);
- l = f;
- return v | 0;
- }
- function eD(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- f = l;
- l = (l + 80) | 0;
- g = (f + 40) | 0;
- i = (f + 32) | 0;
- j = f;
- k = (f + 64) | 0;
- a: do {
- if (((d - b) | 0) >>> 0 > 16) {
- m = 0;
- n = i;
- while (1) {
- o = a[(b + m) >> 0] | 0;
- p = (o << 24) >> 24;
- if ((m | 0) == 16) {
- q = 6;
- break;
- }
- if (!(Qz(p) | 0)) break;
- r = a[(b + (m | 1)) >> 0] | 0;
- a[n >> 0] =
- (((((p + -48) | 0) >>> 0 < 10 ? 0 : 9) + p) << 4) +
- r +
- (((r + -48) | 0) >>> 0 < 10 ? 208 : 169);
- m = (m + 2) | 0;
- n = (n + 1) | 0;
- }
- do {
- if ((q | 0) == 6) {
- if ((o << 24) >> 24 == 69) {
- b: do {
- if ((n | 0) != (i | 0)) {
- m = n;
- r = i;
- while (1) {
- p = (m + -1) | 0;
- if (r >>> 0 >= p >>> 0) break b;
- s = a[r >> 0] | 0;
- a[r >> 0] = a[p >> 0] | 0;
- a[p >> 0] = s;
- m = p;
- r = (r + 1) | 0;
- }
- }
- } while (0);
- c[j >> 2] = 0;
- c[(j + 4) >> 2] = 0;
- c[(j + 8) >> 2] = 0;
- c[(j + 12) >> 2] = 0;
- c[(j + 16) >> 2] = 0;
- c[(j + 20) >> 2] = 0;
- c[(j + 24) >> 2] = 0;
- c[(j + 28) >> 2] = 0;
- h[g >> 3] = +h[i >> 3];
- r = bz(j, 32, 19984, g) | 0;
- if (r >>> 0 > 31) break;
- c[k >> 2] = 0;
- c[(k + 4) >> 2] = 0;
- c[(k + 8) >> 2] = 0;
- RB(k, j, r);
- IB(g, k);
- r = (e + 4) | 0;
- m = c[r >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[r >> 2] = (c[r >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(k);
- t = (b + 17) | 0;
- } else t = b;
- u = t;
- break a;
- }
- } while (0);
- u = b;
- } else u = b;
- } while (0);
- l = f;
- return u | 0;
- }
- function fD(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0;
- f = l;
- l = (l + 96) | 0;
- g = (f + 48) | 0;
- i = (f + 40) | 0;
- j = f;
- k = (f + 72) | 0;
- a: do {
- if (((d - b) | 0) >>> 0 > 20) {
- m = 0;
- n = i;
- while (1) {
- o = a[(b + m) >> 0] | 0;
- p = (o << 24) >> 24;
- if ((m | 0) == 20) {
- q = 6;
- break;
- }
- if (!(Qz(p) | 0)) break;
- r = a[(b + (m | 1)) >> 0] | 0;
- a[n >> 0] =
- (((((p + -48) | 0) >>> 0 < 10 ? 0 : 9) + p) << 4) +
- r +
- (((r + -48) | 0) >>> 0 < 10 ? 208 : 169);
- m = (m + 2) | 0;
- n = (n + 1) | 0;
- }
- do {
- if ((q | 0) == 6) {
- if ((o << 24) >> 24 == 69) {
- b: do {
- if ((n | 0) != (i | 0)) {
- m = n;
- r = i;
- while (1) {
- p = (m + -1) | 0;
- if (r >>> 0 >= p >>> 0) break b;
- s = a[r >> 0] | 0;
- a[r >> 0] = a[p >> 0] | 0;
- a[p >> 0] = s;
- m = p;
- r = (r + 1) | 0;
- }
- }
- } while (0);
- r = j;
- m = (r + 40) | 0;
- do {
- c[r >> 2] = 0;
- r = (r + 4) | 0;
- } while ((r | 0) < (m | 0));
- h[g >> 3] = +h[i >> 3];
- r = bz(j, 40, 19979, g) | 0;
- if (r >>> 0 > 39) break;
- c[k >> 2] = 0;
- c[(k + 4) >> 2] = 0;
- c[(k + 8) >> 2] = 0;
- RB(k, j, r);
- IB(g, k);
- r = (e + 4) | 0;
- m = c[r >> 2] | 0;
- if (m >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- KB(m, g);
- c[r >> 2] = (c[r >> 2] | 0) + 24;
- } else LB(e, g);
- QA(g);
- iB(k);
- t = (b + 21) | 0;
- } else t = b;
- u = t;
- break a;
- }
- } while (0);
- u = b;
- } else u = b;
- } while (0);
- l = f;
- return u | 0;
- }
- function gD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 13);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function hD(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0,
- I = 0,
- J = 0,
- K = 0,
- L = 0,
- M = 0,
- N = 0,
- O = 0,
- P = 0,
- Q = 0,
- R = 0,
- S = 0,
- T = 0,
- U = 0,
- V = 0,
- W = 0,
- X = 0,
- Y = 0,
- Z = 0,
- _ = 0,
- $ = 0,
- aa = 0,
- ba = 0,
- ca = 0,
- da = 0,
- ea = 0,
- fa = 0,
- ga = 0,
- ha = 0,
- ia = 0,
- ja = 0;
- f = l;
- l = (l + 48) | 0;
- g = (f + 36) | 0;
- h = (f + 24) | 0;
- i = (f + 8) | 0;
- j = f;
- a: do {
- if ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 78 : 0) {
- k = nB((b + 1) | 0, d, g) | 0;
- b: do {
- if ((k | 0) != (d | 0)) {
- m = (e + 52) | 0;
- c[m >> 2] = 0;
- switch (a[k >> 0] | 0) {
- case 82: {
- n = 1;
- o = 6;
- break;
- }
- case 79: {
- n = 2;
- o = 6;
- break;
- }
- default:
- p = k;
- }
- if ((o | 0) == 6) {
- c[m >> 2] = n;
- p = (k + 1) | 0;
- }
- m = (e + 4) | 0;
- q = c[m >> 2] | 0;
- if (q >>> 0 < (c[(e + 8) >> 2] | 0) >>> 0) {
- c[q >> 2] = 0;
- c[(q + 4) >> 2] = 0;
- c[(q + 8) >> 2] = 0;
- c[(q + 12) >> 2] = 0;
- c[(q + 16) >> 2] = 0;
- c[(q + 20) >> 2] = 0;
- VC(q);
- c[m >> 2] = (c[m >> 2] | 0) + 24;
- } else WC(e);
- if (
- (((d - p) | 0) > 1 ? (a[p >> 0] | 0) == 83 : 0)
- ? (a[(p + 1) >> 0] | 0) == 116
- : 0
- ) {
- uC(((c[m >> 2] | 0) + -24) | 0, 20051);
- r = (p + 2) | 0;
- } else r = p;
- if ((r | 0) == (d | 0)) {
- q = c[m >> 2] | 0;
- s = 0;
- while (1) {
- if ((s | 0) == -1) break;
- t = (s + -1) | 0;
- QA((q + ((t * 24) | 0)) | 0);
- s = t;
- }
- c[m >> 2] = q + -24;
- break;
- }
- s = (h + 11) | 0;
- t = (h + 4) | 0;
- u = (e + 12) | 0;
- v = (e + 20) | 0;
- w = (e + 24) | 0;
- x = (i + 11) | 0;
- y = (i + 4) | 0;
- z = (i + 11) | 0;
- A = (i + 4) | 0;
- B = (i + 12) | 0;
- C = (i + 4) | 0;
- D = (i + 8) | 0;
- E = (e + 16) | 0;
- F = (i + 12) | 0;
- G = (i + 4) | 0;
- H = (i + 8) | 0;
- I = (i + 11) | 0;
- J = (i + 4) | 0;
- K = (i + 12) | 0;
- L = (i + 4) | 0;
- M = (i + 8) | 0;
- N = (i + 11) | 0;
- O = (i + 4) | 0;
- P = (i + 12) | 0;
- Q = (i + 4) | 0;
- R = (i + 8) | 0;
- S = (i + 12) | 0;
- T = (i + 4) | 0;
- U = (i + 8) | 0;
- V = 0;
- W = r;
- c: while (1) {
- X = W;
- d: while (1) {
- Y = a[X >> 0] | 0;
- if ((Y << 24) >> 24 == 69) break c;
- switch (((Y << 24) >> 24) | 0) {
- case 83: {
- o = 23;
- break d;
- break;
- }
- case 84: {
- o = 39;
- break d;
- break;
- }
- case 68: {
- o = 53;
- break d;
- break;
- }
- case 73: {
- Y = EB(X, d, e) | 0;
- if (
- ((Y | 0) == (X | 0)) |
- ((Y | 0) == (d | 0))
- )
- break b;
- FB(h, ((c[m >> 2] | 0) + -24) | 0);
- Z = c[m >> 2] | 0;
- _ = 0;
- while (1) {
- if ((_ | 0) == -1) break;
- $ = (_ + -1) | 0;
- QA((Z + (($ * 24) | 0)) | 0);
- _ = $;
- }
- c[m >> 2] = Z + -24;
- _ = a[s >> 0] | 0;
- $ = (_ << 24) >> 24 < 0;
- TA(
- (Z + -48) | 0,
- $ ? c[h >> 2] | 0 : h,
- $ ? c[t >> 2] | 0 : _ & 255
- ) | 0;
- _ = ((c[m >> 2] | 0) + -24) | 0;
- c[j >> 2] = c[u >> 2];
- vB(i, _, j);
- _ = c[v >> 2] | 0;
- if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
- c[_ >> 2] = 0;
- $ = (_ + 4) | 0;
- c[$ >> 2] = 0;
- aa = (_ + 8) | 0;
- c[aa >> 2] = 0;
- c[(_ + 12) >> 2] = c[B >> 2];
- c[_ >> 2] = c[i >> 2];
- c[$ >> 2] = c[C >> 2];
- c[aa >> 2] = c[D >> 2];
- c[D >> 2] = 0;
- c[C >> 2] = 0;
- c[i >> 2] = 0;
- c[v >> 2] = (c[v >> 2] | 0) + 16;
- } else wB(E, i);
- RA(i);
- iB(h);
- ba = Y;
- break;
- }
- case 76: {
- aa = (X + 1) | 0;
- if ((aa | 0) == (d | 0)) break b;
- else ba = aa;
- break;
- }
- default: {
- o = 79;
- break d;
- }
- }
- X = ba;
- }
- e: do {
- if ((o | 0) == 23) {
- o = 0;
- aa = (X + 1) | 0;
- if (
- (aa | 0) != (d | 0)
- ? (a[aa >> 0] | 0) == 116
- : 0
- ) {
- o = 79;
- break;
- }
- aa = NB(X, d, e) | 0;
- if (
- ((aa | 0) == (X | 0)) |
- ((aa | 0) == (d | 0))
- )
- break b;
- FB(h, ((c[m >> 2] | 0) + -24) | 0);
- $ = c[m >> 2] | 0;
- _ = 0;
- while (1) {
- if ((_ | 0) == -1) break;
- ca = (_ + -1) | 0;
- QA(($ + ((ca * 24) | 0)) | 0);
- _ = ca;
- }
- c[m >> 2] = $ + -24;
- _ = ($ + -48) | 0;
- Y = a[(_ + 11) >> 0] | 0;
- if ((Y << 24) >> 24 < 0)
- da = c[($ + -44) >> 2] | 0;
- else da = Y & 255;
- if (!da) lD(_, h);
- else {
- UB(i, 18747, h);
- _ = a[I >> 0] | 0;
- Y = (_ << 24) >> 24 < 0;
- TA(
- ((c[m >> 2] | 0) + -24) | 0,
- Y ? c[i >> 2] | 0 : i,
- Y ? c[J >> 2] | 0 : _ & 255
- ) | 0;
- iB(i);
- _ = ((c[m >> 2] | 0) + -24) | 0;
- c[j >> 2] = c[u >> 2];
- vB(i, _, j);
- _ = c[v >> 2] | 0;
- if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
- c[_ >> 2] = 0;
- Y = (_ + 4) | 0;
- c[Y >> 2] = 0;
- Z = (_ + 8) | 0;
- c[Z >> 2] = 0;
- c[(_ + 12) >> 2] = c[S >> 2];
- c[_ >> 2] = c[i >> 2];
- c[Y >> 2] = c[T >> 2];
- c[Z >> 2] = c[U >> 2];
- c[U >> 2] = 0;
- c[T >> 2] = 0;
- c[i >> 2] = 0;
- c[v >> 2] = (c[v >> 2] | 0) + 16;
- } else wB(E, i);
- RA(i);
- }
- iB(h);
- ea = aa;
- } else if ((o | 0) == 39) {
- o = 0;
- Z = DB(X, d, e) | 0;
- if (((Z | 0) == (X | 0)) | ((Z | 0) == (d | 0)))
- break b;
- FB(h, ((c[m >> 2] | 0) + -24) | 0);
- Y = c[m >> 2] | 0;
- _ = 0;
- while (1) {
- if ((_ | 0) == -1) break;
- ca = (_ + -1) | 0;
- QA((Y + ((ca * 24) | 0)) | 0);
- _ = ca;
- }
- c[m >> 2] = Y + -24;
- _ = (Y + -48) | 0;
- aa = a[(_ + 11) >> 0] | 0;
- if ((aa << 24) >> 24 < 0)
- fa = c[(Y + -44) >> 2] | 0;
- else fa = aa & 255;
- if (!fa) lD(_, h);
- else {
- UB(i, 18747, h);
- _ = a[z >> 0] | 0;
- aa = (_ << 24) >> 24 < 0;
- TA(
- ((c[m >> 2] | 0) + -24) | 0,
- aa ? c[i >> 2] | 0 : i,
- aa ? c[A >> 2] | 0 : _ & 255
- ) | 0;
- iB(i);
- }
- _ = ((c[m >> 2] | 0) + -24) | 0;
- c[j >> 2] = c[u >> 2];
- vB(i, _, j);
- _ = c[v >> 2] | 0;
- if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
- c[_ >> 2] = 0;
- aa = (_ + 4) | 0;
- c[aa >> 2] = 0;
- $ = (_ + 8) | 0;
- c[$ >> 2] = 0;
- c[(_ + 12) >> 2] = c[K >> 2];
- c[_ >> 2] = c[i >> 2];
- c[aa >> 2] = c[L >> 2];
- c[$ >> 2] = c[M >> 2];
- c[M >> 2] = 0;
- c[L >> 2] = 0;
- c[i >> 2] = 0;
- c[v >> 2] = (c[v >> 2] | 0) + 16;
- } else wB(E, i);
- RA(i);
- iB(h);
- ea = Z;
- } else if ((o | 0) == 53) {
- o = 0;
- $ = (X + 1) | 0;
- if (($ | 0) != (d | 0))
- switch (a[$ >> 0] | 0) {
- case 84:
- case 116:
- break;
- default: {
- o = 79;
- break e;
- }
- }
- $ = OB(X, d, e) | 0;
- if ((($ | 0) == (X | 0)) | (($ | 0) == (d | 0)))
- break b;
- FB(h, ((c[m >> 2] | 0) + -24) | 0);
- aa = c[m >> 2] | 0;
- _ = 0;
- while (1) {
- if ((_ | 0) == -1) break;
- ca = (_ + -1) | 0;
- QA((aa + ((ca * 24) | 0)) | 0);
- _ = ca;
- }
- c[m >> 2] = aa + -24;
- _ = (aa + -48) | 0;
- Z = a[(_ + 11) >> 0] | 0;
- if ((Z << 24) >> 24 < 0)
- ga = c[(aa + -44) >> 2] | 0;
- else ga = Z & 255;
- if (!ga) lD(_, h);
- else {
- UB(i, 18747, h);
- _ = a[N >> 0] | 0;
- Z = (_ << 24) >> 24 < 0;
- TA(
- ((c[m >> 2] | 0) + -24) | 0,
- Z ? c[i >> 2] | 0 : i,
- Z ? c[O >> 2] | 0 : _ & 255
- ) | 0;
- iB(i);
- }
- _ = ((c[m >> 2] | 0) + -24) | 0;
- c[j >> 2] = c[u >> 2];
- vB(i, _, j);
- _ = c[v >> 2] | 0;
- if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
- c[_ >> 2] = 0;
- Z = (_ + 4) | 0;
- c[Z >> 2] = 0;
- Y = (_ + 8) | 0;
- c[Y >> 2] = 0;
- c[(_ + 12) >> 2] = c[P >> 2];
- c[_ >> 2] = c[i >> 2];
- c[Z >> 2] = c[Q >> 2];
- c[Y >> 2] = c[R >> 2];
- c[R >> 2] = 0;
- c[Q >> 2] = 0;
- c[i >> 2] = 0;
- c[v >> 2] = (c[v >> 2] | 0) + 16;
- } else wB(E, i);
- RA(i);
- iB(h);
- ea = $;
- }
- } while (0);
- if ((o | 0) == 79) {
- o = 0;
- Y = BC(X, d, e) | 0;
- if (((Y | 0) == (X | 0)) | ((Y | 0) == (d | 0)))
- break b;
- FB(h, ((c[m >> 2] | 0) + -24) | 0);
- Z = c[m >> 2] | 0;
- _ = 0;
- while (1) {
- if ((_ | 0) == -1) break;
- ca = (_ + -1) | 0;
- QA((Z + ((ca * 24) | 0)) | 0);
- _ = ca;
- }
- c[m >> 2] = Z + -24;
- _ = (Z + -48) | 0;
- ca = a[(_ + 11) >> 0] | 0;
- if ((ca << 24) >> 24 < 0)
- ha = c[(Z + -44) >> 2] | 0;
- else ha = ca & 255;
- if (!ha) lD(_, h);
- else {
- UB(i, 18747, h);
- _ = a[x >> 0] | 0;
- ca = (_ << 24) >> 24 < 0;
- TA(
- ((c[m >> 2] | 0) + -24) | 0,
- ca ? c[i >> 2] | 0 : i,
- ca ? c[y >> 2] | 0 : _ & 255
- ) | 0;
- iB(i);
- }
- _ = ((c[m >> 2] | 0) + -24) | 0;
- c[j >> 2] = c[u >> 2];
- vB(i, _, j);
- _ = c[v >> 2] | 0;
- if (_ >>> 0 < (c[w >> 2] | 0) >>> 0) {
- c[_ >> 2] = 0;
- ca = (_ + 4) | 0;
- c[ca >> 2] = 0;
- ia = (_ + 8) | 0;
- c[ia >> 2] = 0;
- c[(_ + 12) >> 2] = c[F >> 2];
- c[_ >> 2] = c[i >> 2];
- c[ca >> 2] = c[G >> 2];
- c[ia >> 2] = c[H >> 2];
- c[H >> 2] = 0;
- c[G >> 2] = 0;
- c[i >> 2] = 0;
- c[v >> 2] = (c[v >> 2] | 0) + 16;
- } else wB(E, i);
- RA(i);
- iB(h);
- ea = Y;
- }
- V = 1;
- W = ea;
- }
- W = (X + 1) | 0;
- c[(e + 48) >> 2] = c[g >> 2];
- if (
- V
- ? ((E = c[v >> 2] | 0),
- (c[(e + 16) >> 2] | 0) != (E | 0))
- : 0
- ) {
- G = 0;
- while (1) {
- if ((G | 0) == -1) break;
- H = (G + -1) | 0;
- RA((E + (H << 4)) | 0);
- G = H;
- }
- c[v >> 2] = E + -16;
- }
- ja = W;
- break a;
- }
- } while (0);
- ja = b;
- } else ja = b;
- } while (0);
- l = f;
- return ja | 0;
- }
- function iD(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0;
- f = l;
- l = (l + 16) | 0;
- g = f;
- a: do {
- if (
- (
- (
- ((b | 0) != (d | 0) ? (a[b >> 0] | 0) == 90 : 0)
- ? ((h = (b + 1) | 0),
- (i = jB(h, d, e) | 0),
- !(((i | 0) == (h | 0)) | ((i | 0) == (d | 0))))
- : 0
- )
- ? (a[i >> 0] | 0) == 69
- : 0
- )
- ? ((h = (i + 1) | 0), (h | 0) != (d | 0))
- : 0
- )
- switch (a[h >> 0] | 0) {
- case 115: {
- j = kD((i + 2) | 0, d) | 0;
- k = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (k | 0)) {
- m = j;
- break a;
- }
- qB((k + -24) | 0, 20034) | 0;
- m = j;
- break a;
- break;
- }
- case 100: {
- j = (i + 2) | 0;
- if ((j | 0) == (d | 0)) {
- m = b;
- break a;
- }
- i = QB(j, d) | 0;
- if ((i | 0) == (d | 0)) {
- m = b;
- break a;
- }
- if ((a[i >> 0] | 0) != 95) {
- m = b;
- break a;
- }
- j = (i + 1) | 0;
- i = MB(j, d, e) | 0;
- k = (e + 4) | 0;
- if ((i | 0) == (j | 0)) {
- j = c[k >> 2] | 0;
- n = 0;
- while (1) {
- if ((n | 0) == -1) break;
- o = (n + -1) | 0;
- QA((j + ((o * 24) | 0)) | 0);
- n = o;
- }
- c[k >> 2] = j + -24;
- m = b;
- break a;
- }
- n = c[k >> 2] | 0;
- if (
- ((((n - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- m = b;
- break a;
- }
- FB(g, (n + -24) | 0);
- n = c[k >> 2] | 0;
- o = 0;
- while (1) {
- if ((o | 0) == -1) break;
- p = (o + -1) | 0;
- QA((n + ((p * 24) | 0)) | 0);
- o = p;
- }
- c[k >> 2] = n + -24;
- qB((n + -48) | 0, 18747) | 0;
- o = a[(g + 11) >> 0] | 0;
- j = (o << 24) >> 24 < 0;
- TA(
- ((c[k >> 2] | 0) + -24) | 0,
- j ? c[g >> 2] | 0 : g,
- j ? c[(g + 4) >> 2] | 0 : o & 255
- ) | 0;
- iB(g);
- m = i;
- break a;
- break;
- }
- default: {
- o = MB(h, d, e) | 0;
- if ((o | 0) == (h | 0)) {
- j = (e + 4) | 0;
- p = c[j >> 2] | 0;
- q = 0;
- while (1) {
- if ((q | 0) == -1) break;
- r = (q + -1) | 0;
- QA((p + ((r * 24) | 0)) | 0);
- q = r;
- }
- c[j >> 2] = p + -24;
- m = b;
- break a;
- }
- q = kD(o, d) | 0;
- h = (e + 4) | 0;
- i = c[h >> 2] | 0;
- if (
- ((((i - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- m = q;
- break a;
- }
- FB(g, (i + -24) | 0);
- i = c[h >> 2] | 0;
- k = 0;
- while (1) {
- if ((k | 0) == -1) break;
- n = (k + -1) | 0;
- QA((i + ((n * 24) | 0)) | 0);
- k = n;
- }
- c[h >> 2] = i + -24;
- qB((i + -48) | 0, 18747) | 0;
- k = a[(g + 11) >> 0] | 0;
- o = (k << 24) >> 24 < 0;
- TA(
- ((c[h >> 2] | 0) + -24) | 0,
- o ? c[g >> 2] | 0 : g,
- o ? c[(g + 4) >> 2] | 0 : k & 255
- ) | 0;
- iB(g);
- m = q;
- break a;
- }
- }
- else m = b;
- } while (0);
- l = f;
- return m | 0;
- }
- function jD(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0;
- if (((d - b) | 0) > 1) {
- if (
- (a[b >> 0] | 0) == 83 ? (a[(b + 1) >> 0] | 0) == 116 : 0
- ) {
- f = (b + 2) | 0;
- if ((f | 0) == (d | 0)) {
- g = 0;
- h = d;
- } else {
- g = 0;
- h = (a[f >> 0] | 0) == 76 ? (b + 3) | 0 : f;
- }
- } else {
- g = 1;
- h = b;
- }
- f = BC(h, d, e) | 0;
- d = (f | 0) == (h | 0);
- if (!(g | d)) {
- g = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (g | 0)) i = b;
- else {
- pB((g + -24) | 0, 0, 18969) | 0;
- i = f;
- }
- } else i = d ? b : f;
- } else i = b;
- return i | 0;
- }
- function kD(b, c) {
- b = b | 0;
- c = c | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0;
- a: do {
- if ((b | 0) != (c | 0)) {
- d = a[b >> 0] | 0;
- if ((d << 24) >> 24 != 95) {
- if (((((d << 24) >> 24) + -48) | 0) >>> 0 >= 10) {
- e = b;
- break;
- }
- d = b;
- while (1) {
- f = (d + 1) | 0;
- if ((f | 0) == (c | 0)) {
- e = c;
- break a;
- }
- if ((((a[f >> 0] | 0) + -48) | 0) >>> 0 < 10) d = f;
- else {
- e = f;
- break a;
- }
- }
- }
- d = (b + 1) | 0;
- if ((d | 0) != (c | 0)) {
- f = a[d >> 0] | 0;
- if (((((f << 24) >> 24) + -48) | 0) >>> 0 < 10) {
- e = (b + 2) | 0;
- break;
- }
- if ((f << 24) >> 24 == 95) {
- f = (b + 2) | 0;
- while (1) {
- if ((f | 0) == (c | 0)) {
- e = b;
- break a;
- }
- g = a[f >> 0] | 0;
- if (((((g << 24) >> 24) + -48) | 0) >>> 0 >= 10)
- break;
- f = (f + 1) | 0;
- }
- return ((g << 24) >> 24 == 95 ? (f + 1) | 0 : b) | 0;
- } else e = b;
- } else e = b;
- } else e = b;
- } while (0);
- return e | 0;
- }
- function lD(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0;
- if ((b | 0) != (d | 0)) {
- e = a[(d + 11) >> 0] | 0;
- f = (e << 24) >> 24 < 0;
- vC(
- b,
- f ? c[d >> 2] | 0 : d,
- f ? c[(d + 4) >> 2] | 0 : e & 255
- );
- }
- return;
- }
- function mD(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, 20066, 21);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function nD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = c[b >> 2];
- return;
- }
- function oD(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- d = l;
- l = (l + 32) | 0;
- e = (d + 20) | 0;
- f = d;
- g = (a + 4) | 0;
- h = ((((c[g >> 2] | 0) - (c[a >> 2] | 0)) >> 4) + 1) | 0;
- i = qD(a) | 0;
- if (i >>> 0 < h >>> 0) Wz(a);
- else {
- j = c[a >> 2] | 0;
- k = ((c[(a + 8) >> 2] | 0) - j) | 0;
- m = k >> 3;
- rD(
- f,
- (k >> 4) >>> 0 < (i >>> 1) >>> 0
- ? m >>> 0 < h >>> 0
- ? h
- : m
- : i,
- ((c[g >> 2] | 0) - j) >> 4,
- (a + 12) | 0
- );
- j = (f + 8) | 0;
- g = c[j >> 2] | 0;
- nD(e, b);
- c[g >> 2] = 0;
- c[(g + 4) >> 2] = 0;
- c[(g + 8) >> 2] = 0;
- c[(g + 12) >> 2] = c[e >> 2];
- c[j >> 2] = g + 16;
- sD(a, f);
- tD(f);
- l = d;
- return;
- }
- }
- function pD(b, c, d) {
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0;
- a: do {
- if ((b | 0) == (c | 0)) e = b;
- else
- switch (a[b >> 0] | 0) {
- case 88: {
- f = (b + 1) | 0;
- g = SB(f, c, d) | 0;
- if (((g | 0) == (f | 0)) | ((g | 0) == (c | 0))) {
- e = b;
- break a;
- }
- e = (a[g >> 0] | 0) == 69 ? (g + 1) | 0 : b;
- break a;
- break;
- }
- case 74: {
- g = (b + 1) | 0;
- if ((g | 0) == (c | 0)) {
- e = b;
- break a;
- }
- f = g;
- while (1) {
- if ((a[f >> 0] | 0) == 69) break;
- g = pD(f, c, d) | 0;
- if ((g | 0) == (f | 0)) {
- e = b;
- break a;
- } else f = g;
- }
- e = (f + 1) | 0;
- break a;
- break;
- }
- case 76: {
- g = (b + 1) | 0;
- if ((g | 0) != (c | 0) ? (a[g >> 0] | 0) == 90 : 0) {
- g = (b + 2) | 0;
- h = jB(g, c, d) | 0;
- if (((h | 0) == (g | 0)) | ((h | 0) == (c | 0))) {
- e = b;
- break a;
- }
- e = (a[h >> 0] | 0) == 69 ? (h + 1) | 0 : b;
- break a;
- }
- e = WB(b, c, d) | 0;
- break a;
- break;
- }
- default: {
- e = mB(b, c, d) | 0;
- break a;
- }
- }
- } while (0);
- return e | 0;
- }
- function qD(a) {
- a = a | 0;
- return 268435455;
- }
- function rD(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0;
- f = (a + 12) | 0;
- c[f >> 2] = 0;
- c[(a + 16) >> 2] = e;
- if (!b) g = 0;
- else g = uD(e, b) | 0;
- c[a >> 2] = g;
- e = (g + (d << 4)) | 0;
- c[(a + 8) >> 2] = e;
- c[(a + 4) >> 2] = e;
- c[f >> 2] = g + (b << 4);
- return;
- }
- function sD(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0;
- d = c[a >> 2] | 0;
- e = (a + 4) | 0;
- f = (b + 4) | 0;
- g = c[e >> 2] | 0;
- while (1) {
- if ((g | 0) == (d | 0)) break;
- h = c[f >> 2] | 0;
- i = (h + -16) | 0;
- j = (g + -16) | 0;
- c[i >> 2] = 0;
- k = (h + -12) | 0;
- c[k >> 2] = 0;
- l = (h + -8) | 0;
- c[l >> 2] = 0;
- c[(h + -4) >> 2] = c[(g + -4) >> 2];
- c[i >> 2] = c[j >> 2];
- i = (g + -12) | 0;
- c[k >> 2] = c[i >> 2];
- k = (g + -8) | 0;
- c[l >> 2] = c[k >> 2];
- c[k >> 2] = 0;
- c[i >> 2] = 0;
- c[j >> 2] = 0;
- c[f >> 2] = (c[f >> 2] | 0) + -16;
- g = j;
- }
- g = c[a >> 2] | 0;
- c[a >> 2] = c[f >> 2];
- c[f >> 2] = g;
- g = (b + 8) | 0;
- d = c[e >> 2] | 0;
- c[e >> 2] = c[g >> 2];
- c[g >> 2] = d;
- d = (a + 8) | 0;
- a = (b + 12) | 0;
- g = c[d >> 2] | 0;
- c[d >> 2] = c[a >> 2];
- c[a >> 2] = g;
- c[b >> 2] = c[f >> 2];
- return;
- }
- function tD(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = c[(a + 4) >> 2] | 0;
- d = (a + 8) | 0;
- while (1) {
- e = c[d >> 2] | 0;
- if ((e | 0) == (b | 0)) break;
- f = (e + -16) | 0;
- c[d >> 2] = f;
- XA(f);
- }
- d = c[a >> 2] | 0;
- if (d | 0)
- aB(
- c[(a + 16) >> 2] | 0,
- d,
- ((c[(a + 12) >> 2] | 0) - d) >> 4
- );
- return;
- }
- function uD(a, b) {
- a = a | 0;
- b = b | 0;
- return aD(c[a >> 2] | 0, b << 4) | 0;
- }
- function vD(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, 20091, 2);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function wD(b, d) {
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0,
- z = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- g = (b + 11) | 0;
- h = a[g >> 0] | 0;
- i = (h << 24) >> 24 < 0;
- if (i) {
- j = c[(b + 4) >> 2] | 0;
- k = j >>> 0 < 11 ? j : 11;
- m = j;
- n = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
- } else {
- j = h & 255;
- k = j >>> 0 < 11 ? j : 11;
- m = j;
- n = 10;
- }
- if (((k - m + n) | 0) >>> 0 < d >>> 0)
- dB(b, n, (d - k + m - n) | 0, m, 0, k, d, 20094);
- else {
- if (i) o = c[b >> 2] | 0;
- else o = b;
- do {
- if ((k | 0) != (d | 0)) {
- i = (m - k) | 0;
- if (!i) {
- p = k;
- q = 0;
- r = 20094;
- s = d;
- t = 17;
- } else {
- if (k >>> 0 > d >>> 0) {
- wC(o, 20094, d) | 0;
- wC((o + d) | 0, (o + k) | 0, i) | 0;
- u = k;
- v = d;
- break;
- }
- do {
- if (
- (o >>> 0 < 20094 >>> 0) &
- (((o + m) | 0) >>> 0 > 20094 >>> 0)
- ) {
- if (((o + k) | 0) >>> 0 > 20094 >>> 0) {
- wC(o, 20094, k) | 0;
- w = 0;
- x = k;
- y = (20094 + d) | 0;
- z = (d - k) | 0;
- break;
- } else {
- w = k;
- x = 0;
- y = (20094 + (d - k)) | 0;
- z = d;
- break;
- }
- } else {
- w = k;
- x = 0;
- y = 20094;
- z = d;
- }
- } while (0);
- n = (o + x) | 0;
- wC((n + z) | 0, (n + w) | 0, i) | 0;
- p = w;
- q = x;
- r = y;
- s = z;
- t = 17;
- }
- } else {
- p = d;
- q = 0;
- r = 20094;
- s = d;
- t = 17;
- }
- } while (0);
- if ((t | 0) == 17) {
- wC((o + q) | 0, r, s) | 0;
- u = p;
- v = s;
- }
- s = (v - u + m) | 0;
- if ((a[g >> 0] | 0) < 0) c[(b + 4) >> 2] = s;
- else a[g >> 0] = s;
- a[f >> 0] = 0;
- cB((o + s) | 0, f);
- }
- l = e;
- return;
- }
- function xD(a) {
- a = a | 0;
- lb();
- }
- function yD(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- var d = 0;
- if (!c) d = 0;
- else d = Qy(a, b, c) | 0;
- return d | 0;
- }
- function zD(b, d, e, f) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0;
- g = l;
- l = (l + 16) | 0;
- h = g;
- i = (b + 11) | 0;
- j = a[i >> 0] | 0;
- k = (j << 24) >> 24 < 0;
- if (k) m = c[(b + 4) >> 2] | 0;
- else m = j & 255;
- if (m >>> 0 < d >>> 0) xD(b);
- if (k) n = ((c[(b + 8) >> 2] & 2147483647) + -1) | 0;
- else n = 10;
- if (((n - m) | 0) >>> 0 >= f >>> 0) {
- if (f | 0) {
- if (k) o = c[b >> 2] | 0;
- else o = b;
- k = (m - d) | 0;
- j = (o + d) | 0;
- if (!k) p = e;
- else {
- wC((j + f) | 0, j, k) | 0;
- p =
- (j >>> 0 <= e >>> 0) & (((o + m) | 0) >>> 0 > e >>> 0)
- ? (e + f) | 0
- : e;
- }
- wC(j, p, f) | 0;
- p = (m + f) | 0;
- if ((a[i >> 0] | 0) < 0) c[(b + 4) >> 2] = p;
- else a[i >> 0] = p;
- a[h >> 0] = 0;
- cB((o + p) | 0, h);
- }
- } else dB(b, n, (m + f - n) | 0, m, d, 0, f, e);
- l = g;
- return b | 0;
- }
- function AD(a) {
- a = a | 0;
- return 268435455;
- }
- function BD(a, b, d, e) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0;
- f = (a + 12) | 0;
- c[f >> 2] = 0;
- c[(a + 16) >> 2] = e;
- if (!b) g = 0;
- else g = ED(e, b) | 0;
- c[a >> 2] = g;
- e = (g + (d << 4)) | 0;
- c[(a + 8) >> 2] = e;
- c[(a + 4) >> 2] = e;
- c[f >> 2] = g + (b << 4);
- return;
- }
- function CD(a, b) {
- a = a | 0;
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0;
- d = c[a >> 2] | 0;
- e = (a + 4) | 0;
- f = (b + 4) | 0;
- g = c[e >> 2] | 0;
- while (1) {
- if ((g | 0) == (d | 0)) break;
- h = c[f >> 2] | 0;
- i = (h + -16) | 0;
- j = (g + -16) | 0;
- c[i >> 2] = 0;
- k = (h + -12) | 0;
- c[k >> 2] = 0;
- l = (h + -8) | 0;
- c[l >> 2] = 0;
- c[(h + -4) >> 2] = c[(g + -4) >> 2];
- c[i >> 2] = c[j >> 2];
- i = (g + -12) | 0;
- c[k >> 2] = c[i >> 2];
- k = (g + -8) | 0;
- c[l >> 2] = c[k >> 2];
- c[k >> 2] = 0;
- c[i >> 2] = 0;
- c[j >> 2] = 0;
- c[f >> 2] = (c[f >> 2] | 0) + -16;
- g = j;
- }
- g = c[a >> 2] | 0;
- c[a >> 2] = c[f >> 2];
- c[f >> 2] = g;
- g = (b + 8) | 0;
- d = c[e >> 2] | 0;
- c[e >> 2] = c[g >> 2];
- c[g >> 2] = d;
- d = (a + 8) | 0;
- a = (b + 12) | 0;
- g = c[d >> 2] | 0;
- c[d >> 2] = c[a >> 2];
- c[a >> 2] = g;
- c[b >> 2] = c[f >> 2];
- return;
- }
- function DD(a) {
- a = a | 0;
- var b = 0,
- d = 0,
- e = 0,
- f = 0;
- b = c[(a + 4) >> 2] | 0;
- d = (a + 8) | 0;
- while (1) {
- e = c[d >> 2] | 0;
- if ((e | 0) == (b | 0)) break;
- f = (e + -16) | 0;
- c[d >> 2] = f;
- RA(f);
- }
- d = c[a >> 2] | 0;
- if (d | 0)
- YA(
- c[(a + 16) >> 2] | 0,
- d,
- ((c[(a + 12) >> 2] | 0) - d) >> 4
- );
- return;
- }
- function ED(a, b) {
- a = a | 0;
- b = b | 0;
- return aD(c[a >> 2] | 0, b << 4) | 0;
- }
- function FD(a) {
- a = a | 0;
- var b = 0;
- if (!(XC(a) | 0)) Wz(a);
- else {
- b = $C((a + 12) | 0, 1) | 0;
- c[(a + 4) >> 2] = b;
- c[a >> 2] = b;
- c[(a + 8) >> 2] = b + 24;
- return;
- }
- }
- function GD(b) {
- b = b | 0;
- var d = 0,
- e = 0,
- f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0;
- d = l;
- l = (l + 16) | 0;
- e = d;
- f = (b + 11) | 0;
- g = a[f >> 0] | 0;
- if ((g << 24) >> 24 < 0) {
- h = c[b >> 2] | 0;
- i = c[(b + 4) >> 2] | 0;
- } else {
- h = b;
- i = g & 255;
- }
- j = ((i | 0) != 0) & 1;
- k = (i - j) | 0;
- if (!k) m = g;
- else {
- wC(h, (h + j) | 0, k) | 0;
- m = a[f >> 0] | 0;
- }
- if ((m << 24) >> 24 < 0) c[(b + 4) >> 2] = k;
- else a[f >> 0] = k;
- a[e >> 0] = 0;
- cB((h + k) | 0, e);
- l = d;
- return;
- }
- function HD(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, 19867, 7);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function ID(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 3);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function JD(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, 20287, 18);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function KD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, b, 8);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function LD(a) {
- a = a | 0;
- var b = 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- RB(a, 20280, 6);
- b = (a + 12) | 0;
- c[b >> 2] = 0;
- c[(b + 4) >> 2] = 0;
- c[(b + 8) >> 2] = 0;
- a = 0;
- while (1) {
- if ((a | 0) == 3) break;
- c[(b + (a << 2)) >> 2] = 0;
- a = (a + 1) | 0;
- }
- return;
- }
- function MD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = b;
- c[(a + 4) >> 2] = c[b >> 2];
- return;
- }
- function ND(b, d) {
- b = b | 0;
- d = d | 0;
- c[b >> 2] = d;
- a[(b + 4) >> 0] = a[d >> 0] | 0;
- return;
- }
- function OD(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- y = 0;
- f = l;
- l = (l + 64) | 0;
- g = (f + 60) | 0;
- h = (f + 48) | 0;
- i = (f + 36) | 0;
- j = (f + 24) | 0;
- k = (f + 12) | 0;
- m = f;
- a: do {
- if (((d - b) | 0) > 2) {
- switch (a[b >> 0] | 0) {
- case 84:
- break;
- case 71: {
- switch (a[(b + 1) >> 0] | 0) {
- case 86: {
- n = (b + 2) | 0;
- o = MB(n, d, e) | 0;
- if ((o | 0) == (n | 0)) {
- p = b;
- q = 60;
- break a;
- }
- n = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (n | 0)) {
- r = b;
- break a;
- }
- pB((n + -24) | 0, 0, 20505) | 0;
- p = o;
- q = 60;
- break a;
- break;
- }
- case 82: {
- o = (b + 2) | 0;
- n = MB(o, d, e) | 0;
- if ((n | 0) == (o | 0)) {
- p = b;
- q = 60;
- break a;
- }
- o = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (o | 0)) {
- r = b;
- break a;
- }
- pB((o + -24) | 0, 0, 20525) | 0;
- p = n;
- q = 60;
- break a;
- break;
- }
- default: {
- p = b;
- q = 60;
- break a;
- }
- }
- break;
- }
- default: {
- p = b;
- q = 60;
- break a;
- }
- }
- n = (b + 1) | 0;
- switch (a[n >> 0] | 0) {
- case 86: {
- o = (b + 2) | 0;
- s = mB(o, d, e) | 0;
- if ((s | 0) == (o | 0)) {
- p = b;
- q = 60;
- break a;
- }
- o = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (o | 0)) {
- r = b;
- break a;
- }
- pB((o + -24) | 0, 0, 20354) | 0;
- p = s;
- q = 60;
- break a;
- break;
- }
- case 84: {
- s = (b + 2) | 0;
- o = mB(s, d, e) | 0;
- if ((o | 0) == (s | 0)) {
- p = b;
- q = 60;
- break a;
- }
- s = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (s | 0)) {
- r = b;
- break a;
- }
- pB((s + -24) | 0, 0, 20366) | 0;
- p = o;
- q = 60;
- break a;
- break;
- }
- case 73: {
- o = (b + 2) | 0;
- s = mB(o, d, e) | 0;
- if ((s | 0) == (o | 0)) {
- p = b;
- q = 60;
- break a;
- }
- o = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (o | 0)) {
- r = b;
- break a;
- }
- pB((o + -24) | 0, 0, 20375) | 0;
- p = s;
- q = 60;
- break a;
- break;
- }
- case 83: {
- s = (b + 2) | 0;
- o = mB(s, d, e) | 0;
- if ((o | 0) == (s | 0)) {
- p = b;
- q = 60;
- break a;
- }
- s = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (s | 0)) {
- r = b;
- break a;
- }
- pB((s + -24) | 0, 0, 20389) | 0;
- p = o;
- q = 60;
- break a;
- break;
- }
- case 99: {
- o = (b + 2) | 0;
- s = RD(o, d) | 0;
- if ((s | 0) == (o | 0)) {
- p = b;
- q = 60;
- break a;
- }
- o = RD(s, d) | 0;
- if ((o | 0) == (s | 0)) {
- p = b;
- q = 60;
- break a;
- }
- s = jB(o, d, e) | 0;
- if ((s | 0) == (o | 0)) {
- p = b;
- q = 60;
- break a;
- }
- o = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) == (o | 0)) {
- r = b;
- break a;
- }
- pB((o + -24) | 0, 0, 20408) | 0;
- p = s;
- q = 60;
- break a;
- break;
- }
- case 67: {
- s = (b + 2) | 0;
- o = mB(s, d, e) | 0;
- if ((o | 0) == (s | 0)) {
- p = b;
- q = 60;
- break a;
- }
- s = QB(o, d) | 0;
- if (((s | 0) == (o | 0)) | ((s | 0) == (d | 0))) {
- p = b;
- q = 60;
- break a;
- }
- if ((a[s >> 0] | 0) != 95) {
- p = b;
- q = 60;
- break a;
- }
- o = (s + 1) | 0;
- s = mB(o, d, e) | 0;
- if ((s | 0) == (o | 0)) {
- p = b;
- q = 60;
- break a;
- }
- o = (e + 4) | 0;
- t = c[o >> 2] | 0;
- if (
- ((((t - (c[e >> 2] | 0)) | 0) / 24) | 0) >>> 0 <
- 2
- ) {
- r = b;
- break a;
- }
- FB(h, (t + -24) | 0);
- t = c[o >> 2] | 0;
- u = 0;
- while (1) {
- if ((u | 0) == -1) break;
- v = (u + -1) | 0;
- QA((t + ((v * 24) | 0)) | 0);
- u = v;
- }
- c[o >> 2] = t + -24;
- pB(h, 0, 20435) | 0;
- c[k >> 2] = c[h >> 2];
- c[(k + 4) >> 2] = c[(h + 4) >> 2];
- c[(k + 8) >> 2] = c[(h + 8) >> 2];
- u = 0;
- while (1) {
- if ((u | 0) == 3) break;
- c[(h + (u << 2)) >> 2] = 0;
- u = (u + 1) | 0;
- }
- qB(k, 20460) | 0;
- c[j >> 2] = c[k >> 2];
- c[(j + 4) >> 2] = c[(k + 4) >> 2];
- c[(j + 8) >> 2] = c[(k + 8) >> 2];
- u = 0;
- while (1) {
- if ((u | 0) == 3) break;
- c[(k + (u << 2)) >> 2] = 0;
- u = (u + 1) | 0;
- }
- FB(m, ((c[o >> 2] | 0) + -24) | 0);
- u = a[(m + 11) >> 0] | 0;
- t = (u << 24) >> 24 < 0;
- TA(
- j,
- t ? c[m >> 2] | 0 : m,
- t ? c[(m + 4) >> 2] | 0 : u & 255
- ) | 0;
- c[i >> 2] = c[j >> 2];
- c[(i + 4) >> 2] = c[(j + 4) >> 2];
- c[(i + 8) >> 2] = c[(j + 8) >> 2];
- u = 0;
- while (1) {
- if ((u | 0) == 3) break;
- c[(j + (u << 2)) >> 2] = 0;
- u = (u + 1) | 0;
- }
- u = c[o >> 2] | 0;
- t = (u + -24) | 0;
- v = (t + 11) | 0;
- if ((a[v >> 0] | 0) < 0) {
- w = c[t >> 2] | 0;
- a[g >> 0] = 0;
- cB(w, g);
- c[(u + -20) >> 2] = 0;
- } else {
- a[g >> 0] = 0;
- cB(t, g);
- a[v >> 0] = 0;
- }
- TB(t);
- c[t >> 2] = c[i >> 2];
- c[(t + 4) >> 2] = c[(i + 4) >> 2];
- c[(t + 8) >> 2] = c[(i + 8) >> 2];
- t = 0;
- while (1) {
- if ((t | 0) == 3) break;
- c[(i + (t << 2)) >> 2] = 0;
- t = (t + 1) | 0;
- }
- iB(i);
- iB(m);
- iB(j);
- iB(k);
- iB(h);
- p = s;
- q = 60;
- break a;
- break;
- }
- default: {
- t = RD(n, d) | 0;
- do {
- if ((t | 0) != (n | 0)) {
- o = jB(t, d, e) | 0;
- if ((o | 0) != (t | 0)) {
- v = c[(e + 4) >> 2] | 0;
- if ((c[e >> 2] | 0) != (v | 0)) {
- u = (v + -24) | 0;
- if ((a[(b + 2) >> 0] | 0) == 118) {
- pB(u, 0, 20465) | 0;
- x = 0;
- y = o;
- break;
- } else {
- pB(u, 0, 20483) | 0;
- x = 0;
- y = o;
- break;
- }
- } else {
- x = 1;
- y = b;
- }
- } else {
- x = 0;
- y = b;
- }
- } else {
- x = 3;
- y = b;
- }
- } while (0);
- switch (x & 3) {
- case 3:
- case 0: {
- p = y;
- q = 60;
- break a;
- break;
- }
- default: {
- }
- }
- if (!x) {
- p = y;
- q = 60;
- break a;
- } else {
- r = b;
- break a;
- }
- }
- }
- } else {
- p = b;
- q = 60;
- }
- } while (0);
- if ((q | 0) == 60) r = p;
- l = f;
- return r | 0;
- }
- function PD(b) {
- b = b | 0;
- a[c[b >> 2] >> 0] = a[(b + 4) >> 0] | 0;
- return;
- }
- function QD(a) {
- a = a | 0;
- c[c[a >> 2] >> 2] = c[(a + 4) >> 2];
- return;
- }
- function RD(b, c) {
- b = b | 0;
- c = c | 0;
- var d = 0,
- e = 0,
- f = 0;
- a: do {
- if ((b | 0) != (c | 0)) {
- switch (a[b >> 0] | 0) {
- case 104: {
- d = (b + 1) | 0;
- e = QB(d, c) | 0;
- if (((e | 0) == (d | 0)) | ((e | 0) == (c | 0))) {
- f = b;
- break a;
- }
- return ((a[e >> 0] | 0) == 95 ? (e + 1) | 0 : b) | 0;
- }
- case 118:
- break;
- default: {
- f = b;
- break a;
- }
- }
- e = (b + 1) | 0;
- d = QB(e, c) | 0;
- if (
- (
- !(((d | 0) == (e | 0)) | ((d | 0) == (c | 0)))
- ? (a[d >> 0] | 0) == 95
- : 0
- )
- ? ((e = (d + 1) | 0),
- (d = QB(e, c) | 0),
- !(((d | 0) == (e | 0)) | ((d | 0) == (c | 0))))
- : 0
- )
- f = (a[d >> 0] | 0) == 95 ? (d + 1) | 0 : b;
- else f = b;
- } else f = b;
- } while (0);
- return f | 0;
- }
- function SD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = b;
- return;
- }
- function TD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- c[(a + 12) >> 2] = c[b >> 2];
- return;
- }
- function UD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = b;
- return;
- }
- function VD(a, b) {
- a = a | 0;
- b = b | 0;
- c[a >> 2] = 0;
- c[(a + 4) >> 2] = 0;
- c[(a + 8) >> 2] = 0;
- c[(a + 12) >> 2] = c[b >> 2];
- return;
- }
- function WD(b) {
- b = b | 0;
- var c = 0;
- if ((a[b >> 0] | 0) == 1) c = 0;
- else {
- a[b >> 0] = 1;
- c = 1;
- }
- return c | 0;
- }
- function XD(a) {
- a = a | 0;
- return;
- }
- function YD(a) {
- a = a | 0;
- return;
- }
- function ZD() {
- var a = 0;
- a = c[5564] | 0;
- c[5564] = a + 0;
- return a | 0;
- }
- function _D(a, b, d) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- var e = 0,
- f = 0,
- g = 0;
- e = l;
- l = (l + 16) | 0;
- f = e;
- c[f >> 2] = c[d >> 2];
- g = rc[c[((c[a >> 2] | 0) + 16) >> 2] & 31](a, b, f) | 0;
- if (g) c[d >> 2] = c[f >> 2];
- l = e;
- return (g & 1) | 0;
- }
- function $D(a) {
- a = a | 0;
- var b = 0;
- if (!a) b = 0;
- else b = ((kA(a, 10840, 10896, 0) | 0) != 0) & 1;
- return b | 0;
- }
- function aE() {}
- function bE(a, b) {
- a = a | 0;
- b = b | 0;
- var c = 0,
- d = 0,
- e = 0,
- f = 0;
- c = a & 65535;
- d = b & 65535;
- e = N(d, c) | 0;
- f = a >>> 16;
- a = ((e >>> 16) + (N(d, f) | 0)) | 0;
- d = b >>> 16;
- b = N(d, c) | 0;
- return (
- ((y =
- ((a >>> 16) +
- (N(d, f) | 0) +
- ((((a & 65535) + b) | 0) >>> 16)) |
- 0),
- ((a + b) << 16) | (e & 65535) | 0) | 0
- );
- }
- function cE(a, b, c, d) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0,
- f = 0;
- e = a;
- a = c;
- c = bE(e, a) | 0;
- f = y;
- return (
- ((y = ((N(b, a) | 0) + (N(d, e) | 0) + f) | (f & 0)),
- c | 0 | 0) | 0
- );
- }
- function dE(a, b, c, d) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0;
- e = (a + c) >>> 0;
- return (
- ((y = (b + d + ((e >>> 0 < a >>> 0) | 0)) >>> 0), e | 0) | 0
- );
- }
- function eE(a, b, c, d) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0;
- e = (b - d) >>> 0;
- e = (b - d - ((c >>> 0 > a >>> 0) | 0)) >>> 0;
- return ((y = e), ((a - c) >>> 0) | 0) | 0;
- }
- function fE(a) {
- a = a | 0;
- return (a ? (31 - (Q(a ^ (a - 1)) | 0)) | 0 : 32) | 0;
- }
- function gE(a, b, d, e, f) {
- a = a | 0;
- b = b | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- var g = 0,
- h = 0,
- i = 0,
- j = 0,
- k = 0,
- l = 0,
- m = 0,
- n = 0,
- o = 0,
- p = 0,
- q = 0,
- r = 0,
- s = 0,
- t = 0,
- u = 0,
- v = 0,
- w = 0,
- x = 0,
- z = 0,
- A = 0,
- B = 0,
- C = 0,
- D = 0,
- E = 0,
- F = 0,
- G = 0,
- H = 0;
- g = a;
- h = b;
- i = h;
- j = d;
- k = e;
- l = k;
- if (!i) {
- m = (f | 0) != 0;
- if (!l) {
- if (m) {
- c[f >> 2] = (g >>> 0) % (j >>> 0);
- c[(f + 4) >> 2] = 0;
- }
- n = 0;
- o = ((g >>> 0) / (j >>> 0)) >>> 0;
- return ((y = n), o) | 0;
- } else {
- if (!m) {
- n = 0;
- o = 0;
- return ((y = n), o) | 0;
- }
- c[f >> 2] = a | 0;
- c[(f + 4) >> 2] = b & 0;
- n = 0;
- o = 0;
- return ((y = n), o) | 0;
- }
- }
- m = (l | 0) == 0;
- do {
- if (j) {
- if (!m) {
- p = ((Q(l | 0) | 0) - (Q(i | 0) | 0)) | 0;
- if (p >>> 0 <= 31) {
- q = (p + 1) | 0;
- r = (31 - p) | 0;
- s = (p - 31) >> 31;
- t = q;
- u = ((g >>> (q >>> 0)) & s) | (i << r);
- v = (i >>> (q >>> 0)) & s;
- w = 0;
- x = g << r;
- break;
- }
- if (!f) {
- n = 0;
- o = 0;
- return ((y = n), o) | 0;
- }
- c[f >> 2] = a | 0;
- c[(f + 4) >> 2] = h | (b & 0);
- n = 0;
- o = 0;
- return ((y = n), o) | 0;
- }
- r = (j - 1) | 0;
- if ((r & j) | 0) {
- s = ((Q(j | 0) | 0) + 33 - (Q(i | 0) | 0)) | 0;
- q = (64 - s) | 0;
- p = (32 - s) | 0;
- z = p >> 31;
- A = (s - 32) | 0;
- B = A >> 31;
- t = s;
- u =
- (((p - 1) >> 31) & (i >>> (A >>> 0))) |
- (((i << p) | (g >>> (s >>> 0))) & B);
- v = B & (i >>> (s >>> 0));
- w = (g << q) & z;
- x =
- (((i << q) | (g >>> (A >>> 0))) & z) |
- ((g << p) & ((s - 33) >> 31));
- break;
- }
- if (f | 0) {
- c[f >> 2] = r & g;
- c[(f + 4) >> 2] = 0;
- }
- if ((j | 0) == 1) {
- n = h | (b & 0);
- o = a | 0 | 0;
- return ((y = n), o) | 0;
- } else {
- r = fE(j | 0) | 0;
- n = (i >>> (r >>> 0)) | 0;
- o = (i << (32 - r)) | (g >>> (r >>> 0)) | 0;
- return ((y = n), o) | 0;
- }
- } else {
- if (m) {
- if (f | 0) {
- c[f >> 2] = (i >>> 0) % (j >>> 0);
- c[(f + 4) >> 2] = 0;
- }
- n = 0;
- o = ((i >>> 0) / (j >>> 0)) >>> 0;
- return ((y = n), o) | 0;
- }
- if (!g) {
- if (f | 0) {
- c[f >> 2] = 0;
- c[(f + 4) >> 2] = (i >>> 0) % (l >>> 0);
- }
- n = 0;
- o = ((i >>> 0) / (l >>> 0)) >>> 0;
- return ((y = n), o) | 0;
- }
- r = (l - 1) | 0;
- if (!(r & l)) {
- if (f | 0) {
- c[f >> 2] = a | 0;
- c[(f + 4) >> 2] = (r & i) | (b & 0);
- }
- n = 0;
- o = i >>> ((fE(l | 0) | 0) >>> 0);
- return ((y = n), o) | 0;
- }
- r = ((Q(l | 0) | 0) - (Q(i | 0) | 0)) | 0;
- if (r >>> 0 <= 30) {
- s = (r + 1) | 0;
- p = (31 - r) | 0;
- t = s;
- u = (i << p) | (g >>> (s >>> 0));
- v = i >>> (s >>> 0);
- w = 0;
- x = g << p;
- break;
- }
- if (!f) {
- n = 0;
- o = 0;
- return ((y = n), o) | 0;
- }
- c[f >> 2] = a | 0;
- c[(f + 4) >> 2] = h | (b & 0);
- n = 0;
- o = 0;
- return ((y = n), o) | 0;
- }
- } while (0);
- if (!t) {
- C = x;
- D = w;
- E = v;
- F = u;
- G = 0;
- H = 0;
- } else {
- b = d | 0 | 0;
- d = k | (e & 0);
- e = dE(b | 0, d | 0, -1, -1) | 0;
- k = y;
- h = x;
- x = w;
- w = v;
- v = u;
- u = t;
- t = 0;
- do {
- a = h;
- h = (x >>> 31) | (h << 1);
- x = t | (x << 1);
- g = (v << 1) | (a >>> 31) | 0;
- a = (v >>> 31) | (w << 1) | 0;
- eE(e | 0, k | 0, g | 0, a | 0) | 0;
- i = y;
- l = (i >> 31) | (((i | 0) < 0 ? -1 : 0) << 1);
- t = l & 1;
- v =
- eE(
- g | 0,
- a | 0,
- (l & b) | 0,
- (((((i | 0) < 0 ? -1 : 0) >> 31) |
- (((i | 0) < 0 ? -1 : 0) << 1)) &
- d) |
- 0
- ) | 0;
- w = y;
- u = (u - 1) | 0;
- } while ((u | 0) != 0);
- C = h;
- D = x;
- E = w;
- F = v;
- G = 0;
- H = t;
- }
- t = D;
- D = 0;
- if (f | 0) {
- c[f >> 2] = F;
- c[(f + 4) >> 2] = E;
- }
- n =
- ((t | 0) >>> 31) |
- ((C | D) << 1) |
- (((D << 1) | (t >>> 31)) & 0) |
- G;
- o = (((t << 1) | (0 >>> 31)) & -2) | H;
- return ((y = n), o) | 0;
- }
- function hE(a, b, c, d) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- return gE(a, b, c, d, 0) | 0;
- }
- function iE(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- if ((c | 0) < 32) {
- y = b >>> c;
- return (a >>> c) | ((b & ((1 << c) - 1)) << (32 - c));
- }
- y = 0;
- return (b >>> (c - 32)) | 0;
- }
- function jE(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- if ((c | 0) < 32) {
- y =
- (b << c) |
- ((a & (((1 << c) - 1) << (32 - c))) >>> (32 - c));
- return a << c;
- }
- y = a << (c - 32);
- return 0;
- }
- function kE(a) {
- a = a | 0;
- return (
- ((a & 255) << 24) |
- (((a >> 8) & 255) << 16) |
- (((a >> 16) & 255) << 8) |
- (a >>> 24) |
- 0
- );
- }
- function lE(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- c = Q(b) | 0;
- if ((c | 0) == 32) c = (c + (Q(a) | 0)) | 0;
- y = 0;
- return c | 0;
- }
- function mE(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0;
- if ((e | 0) >= 8192) return nb(b | 0, d | 0, e | 0) | 0;
- f = b | 0;
- g = (b + e) | 0;
- if ((b & 3) == (d & 3)) {
- while (b & 3) {
- if (!e) return f | 0;
- a[b >> 0] = a[d >> 0] | 0;
- b = (b + 1) | 0;
- d = (d + 1) | 0;
- e = (e - 1) | 0;
- }
- h = (g & -4) | 0;
- e = (h - 64) | 0;
- while ((b | 0) <= (e | 0)) {
- c[b >> 2] = c[d >> 2];
- c[(b + 4) >> 2] = c[(d + 4) >> 2];
- c[(b + 8) >> 2] = c[(d + 8) >> 2];
- c[(b + 12) >> 2] = c[(d + 12) >> 2];
- c[(b + 16) >> 2] = c[(d + 16) >> 2];
- c[(b + 20) >> 2] = c[(d + 20) >> 2];
- c[(b + 24) >> 2] = c[(d + 24) >> 2];
- c[(b + 28) >> 2] = c[(d + 28) >> 2];
- c[(b + 32) >> 2] = c[(d + 32) >> 2];
- c[(b + 36) >> 2] = c[(d + 36) >> 2];
- c[(b + 40) >> 2] = c[(d + 40) >> 2];
- c[(b + 44) >> 2] = c[(d + 44) >> 2];
- c[(b + 48) >> 2] = c[(d + 48) >> 2];
- c[(b + 52) >> 2] = c[(d + 52) >> 2];
- c[(b + 56) >> 2] = c[(d + 56) >> 2];
- c[(b + 60) >> 2] = c[(d + 60) >> 2];
- b = (b + 64) | 0;
- d = (d + 64) | 0;
- }
- while ((b | 0) < (h | 0)) {
- c[b >> 2] = c[d >> 2];
- b = (b + 4) | 0;
- d = (d + 4) | 0;
- }
- } else {
- h = (g - 4) | 0;
- while ((b | 0) < (h | 0)) {
- a[b >> 0] = a[d >> 0] | 0;
- a[(b + 1) >> 0] = a[(d + 1) >> 0] | 0;
- a[(b + 2) >> 0] = a[(d + 2) >> 0] | 0;
- a[(b + 3) >> 0] = a[(d + 3) >> 0] | 0;
- b = (b + 4) | 0;
- d = (d + 4) | 0;
- }
- }
- while ((b | 0) < (g | 0)) {
- a[b >> 0] = a[d >> 0] | 0;
- b = (b + 1) | 0;
- d = (d + 1) | 0;
- }
- return f | 0;
- }
- function nE(b, c, d) {
- b = b | 0;
- c = c | 0;
- d = d | 0;
- var e = 0;
- if (((c | 0) < (b | 0)) & ((b | 0) < ((c + d) | 0))) {
- e = b;
- c = (c + d) | 0;
- b = (b + d) | 0;
- while ((d | 0) > 0) {
- b = (b - 1) | 0;
- c = (c - 1) | 0;
- d = (d - 1) | 0;
- a[b >> 0] = a[c >> 0] | 0;
- }
- b = e;
- } else mE(b, c, d) | 0;
- return b | 0;
- }
- function oE(b, d, e) {
- b = b | 0;
- d = d | 0;
- e = e | 0;
- var f = 0,
- g = 0,
- h = 0,
- i = 0;
- f = (b + e) | 0;
- d = d & 255;
- if ((e | 0) >= 67) {
- while (b & 3) {
- a[b >> 0] = d;
- b = (b + 1) | 0;
- }
- g = (f & -4) | 0;
- h = (g - 64) | 0;
- i = d | (d << 8) | (d << 16) | (d << 24);
- while ((b | 0) <= (h | 0)) {
- c[b >> 2] = i;
- c[(b + 4) >> 2] = i;
- c[(b + 8) >> 2] = i;
- c[(b + 12) >> 2] = i;
- c[(b + 16) >> 2] = i;
- c[(b + 20) >> 2] = i;
- c[(b + 24) >> 2] = i;
- c[(b + 28) >> 2] = i;
- c[(b + 32) >> 2] = i;
- c[(b + 36) >> 2] = i;
- c[(b + 40) >> 2] = i;
- c[(b + 44) >> 2] = i;
- c[(b + 48) >> 2] = i;
- c[(b + 52) >> 2] = i;
- c[(b + 56) >> 2] = i;
- c[(b + 60) >> 2] = i;
- b = (b + 64) | 0;
- }
- while ((b | 0) < (g | 0)) {
- c[b >> 2] = i;
- b = (b + 4) | 0;
- }
- }
- while ((b | 0) < (f | 0)) {
- a[b >> 0] = d;
- b = (b + 1) | 0;
- }
- return (f - e) | 0;
- }
- function pE(a) {
- a = a | 0;
- var b = 0,
- d = 0;
- b = c[i >> 2] | 0;
- d = (b + a) | 0;
- if ((((a | 0) > 0) & ((d | 0) < (b | 0))) | ((d | 0) < 0)) {
- V() | 0;
- Ca(12);
- return -1;
- }
- c[i >> 2] = d;
- if ((d | 0) > (U() | 0) ? (T() | 0) == 0 : 0) {
- c[i >> 2] = b;
- Ca(12);
- return -1;
- }
- return b | 0;
- }
- function qE(a) {
- a = a | 0;
- return oc[a & 7]() | 0;
- }
- function rE(a, b) {
- a = a | 0;
- b = b | 0;
- return pc[a & 63](b | 0) | 0;
- }
- function sE(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- return qc[a & 63](b | 0, c | 0) | 0;
- }
- function tE(a, b, c, d) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- return rc[a & 31](b | 0, c | 0, d | 0) | 0;
- }
- function uE(a, b, c, d, e) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- return sc[a & 15](b | 0, c | 0, d | 0, e | 0) | 0;
- }
- function vE(a, b, c, d, e, f) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- return tc[a & 7](b | 0, c | 0, d | 0, e | 0, f | 0) | 0;
- }
- function wE(a, b, c, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- return (
- uc[a & 31](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0) | 0
- );
- }
- function xE(a) {
- a = a | 0;
- vc[a & 3]();
- }
- function yE(a, b) {
- a = a | 0;
- b = b | 0;
- wc[a & 127](b | 0);
- }
- function zE(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- xc[a & 31](b | 0, c | 0);
- }
- function AE(a, b, c, d) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- yc[a & 7](b | 0, c | 0, d | 0);
- }
- function BE(a, b, c, d, e) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- zc[a & 7](b | 0, c | 0, d | 0, e | 0);
- }
- function CE(a, b, c, d, e, f) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- Ac[a & 3](b | 0, c | 0, d | 0, e | 0, f | 0);
- }
- function DE(a, b, c, d, e, f, g) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- g = g | 0;
- Bc[a & 3](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0);
- }
- function EE() {
- R(0);
- return 0;
- }
- function FE(a) {
- a = a | 0;
- R(1);
- return 0;
- }
- function GE(a, b) {
- a = a | 0;
- b = b | 0;
- R(2);
- return 0;
- }
- function HE(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- R(3);
- return 0;
- }
- function IE(a, b, c, d) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- R(4);
- return 0;
- }
- function JE(a, b, c, d, e) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- R(5);
- return 0;
- }
- function KE(a, b, c, d, e, f) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- R(6);
- return 0;
- }
- function LE() {
- R(7);
- }
- function ME(a) {
- a = a | 0;
- R(8);
- }
- function NE(a, b) {
- a = a | 0;
- b = b | 0;
- R(9);
- }
- function OE(a, b, c) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- R(10);
- }
- function PE(a, b, c, d) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- R(11);
- }
- function QE(a, b, c, d, e) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- R(12);
- }
- function RE(a, b, c, d, e, f) {
- a = a | 0;
- b = b | 0;
- c = c | 0;
- d = d | 0;
- e = e | 0;
- f = f | 0;
- R(13);
- } // EMSCRIPTEN_END_FUNCS
- var oc = [EE, Ce, Me, Ue, ge, EE, EE, EE];
- var pc = [
- FE,
- fd,
- ld,
- nd,
- td,
- vd,
- Bd,
- Ed,
- Kd,
- Md,
- Sd,
- Ud,
- _d,
- kf,
- qf,
- xf,
- Df,
- If,
- Of,
- Tf,
- Zf,
- fg,
- lg,
- og,
- ug,
- Fg,
- Lg,
- Og,
- Ug,
- Iy,
- Tz,
- qe,
- ve,
- Qc,
- Ae,
- De,
- Ke,
- Ne,
- Se,
- Ve,
- Wc,
- ee,
- he,
- Mc,
- Oo,
- Gx,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- FE,
- ];
- var qc = [
- GE,
- kd,
- sd,
- Ad,
- Jd,
- Rd,
- Zd,
- pf,
- Cf,
- Nf,
- Yf,
- jg,
- kg,
- sg,
- tg,
- Jg,
- Kg,
- Sg,
- Tg,
- Ht,
- pe,
- Oc,
- ze,
- $e,
- af,
- Rc,
- Sc,
- Uc,
- Vc,
- We,
- Xc,
- Zc,
- _c,
- ke,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- GE,
- ];
- var rc = [
- HE,
- Jy,
- Ky,
- Ny,
- zz,
- cA,
- xA,
- zA,
- CA,
- ue,
- Ee,
- Fe,
- cf,
- Oe,
- Pe,
- Tc,
- Re,
- Xe,
- Yc,
- Ze,
- le,
- ce,
- Py,
- HE,
- HE,
- HE,
- HE,
- HE,
- HE,
- HE,
- HE,
- HE,
- ];
- var sc = [
- IE,
- vu,
- wu,
- Kv,
- Lv,
- Xw,
- Yw,
- bf,
- He,
- df,
- rf,
- Qe,
- Ye,
- me,
- IE,
- IE,
- ];
- var tc = [JE, Ge, Ie, Je, tn, sn, Km, Jm];
- var uc = [
- KE,
- Xl,
- Yl,
- Zl,
- _l,
- $l,
- am,
- bm,
- cm,
- dm,
- em,
- fm,
- gm,
- hm,
- im,
- jm,
- km,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- KE,
- ];
- var vc = [LE, Xz, Jc, qA];
- var wc = [
- ME,
- Cd,
- ed,
- hd,
- id,
- md,
- pd,
- qd,
- ud,
- xd,
- yd,
- Dd,
- Gd,
- Hd,
- Ld,
- Od,
- Pd,
- Td,
- Wd,
- Xd,
- hf,
- jf,
- mf,
- nf,
- vf,
- wf,
- zf,
- Af,
- Gf,
- Hf,
- Kf,
- Lf,
- Rf,
- Sf,
- Vf,
- Wf,
- dg,
- eg,
- hg,
- ig,
- ng,
- qg,
- rg,
- Dg,
- Eg,
- Hg,
- Ig,
- Ng,
- Qg,
- Rg,
- Rz,
- Sz,
- _z,
- $z,
- aA,
- bA,
- lA,
- wA,
- yA,
- BA,
- DA,
- ne,
- re,
- we,
- Be,
- Le,
- Te,
- fe,
- ef,
- sf,
- Ff,
- Qf,
- rA,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ME,
- ];
- var xc = [
- NE,
- gd,
- jd,
- od,
- rd,
- wd,
- zd,
- Fd,
- Id,
- Nd,
- Qd,
- Vd,
- Yd,
- lf,
- of,
- yf,
- Bf,
- Jf,
- Mf,
- Uf,
- Xf,
- gg,
- pg,
- Gg,
- Pg,
- It,
- Kc,
- Lc,
- Nc,
- $d,
- NE,
- NE,
- ];
- var yc = [OE, oe, ie, ae, be, OE, OE, OE];
- var zc = [PE, fA, oA, GA, je, PE, PE, PE];
- var Ac = [QE, eA, nA, FA];
- var Bc = [RE, dA, mA, EA];
- return {
- __GLOBAL__sub_I_bind_cpp: zy,
- __GLOBAL__sub_I_zstd_binding_cc: _e,
- ___cxa_can_catch: _D,
- ___cxa_demangle: KA,
- ___cxa_is_pointer_type: $D,
- ___errno_location: My,
- ___getTypeName: By,
- ___muldi3: cE,
- ___udivdi3: hE,
- _bitshift64Lshr: iE,
- _bitshift64Shl: jE,
- _free: Dy,
- _i64Add: dE,
- _i64Subtract: eE,
- _llvm_bswap_i32: kE,
- _llvm_ctlz_i64: lE,
- _llvm_cttz_i32: fE,
- _malloc: Cy,
- _memcpy: mE,
- _memmove: nE,
- _memset: oE,
- _sbrk: pE,
- dynCall_i: qE,
- dynCall_ii: rE,
- dynCall_iii: sE,
- dynCall_iiii: tE,
- dynCall_iiiii: uE,
- dynCall_iiiiii: vE,
- dynCall_iiiiiii: wE,
- dynCall_v: xE,
- dynCall_vi: yE,
- dynCall_vii: zE,
- dynCall_viii: AE,
- dynCall_viiii: BE,
- dynCall_viiiii: CE,
- dynCall_viiiiii: DE,
- establishStackSpace: Fc,
- getTempRet0: Ic,
- runPostSets: aE,
- setTempRet0: Hc,
- setThrew: Gc,
- stackAlloc: Cc,
- stackRestore: Ec,
- stackSave: Dc,
- };
- })(
- // EMSCRIPTEN_END_ASM
- Module.asmGlobalArg,
- Module.asmLibraryArg,
- buffer
- );
- var __GLOBAL__sub_I_bind_cpp = (Module[
- "__GLOBAL__sub_I_bind_cpp"
- ] = asm["__GLOBAL__sub_I_bind_cpp"]);
- var __GLOBAL__sub_I_zstd_binding_cc = (Module[
- "__GLOBAL__sub_I_zstd_binding_cc"
- ] = asm["__GLOBAL__sub_I_zstd_binding_cc"]);
- var ___cxa_can_catch = (Module["___cxa_can_catch"] =
- asm["___cxa_can_catch"]);
- var ___cxa_demangle = (Module["___cxa_demangle"] =
- asm["___cxa_demangle"]);
- var ___cxa_is_pointer_type = (Module["___cxa_is_pointer_type"] =
- asm["___cxa_is_pointer_type"]);
- var ___errno_location = (Module["___errno_location"] =
- asm["___errno_location"]);
- var ___getTypeName = (Module["___getTypeName"] =
- asm["___getTypeName"]);
- var ___muldi3 = (Module["___muldi3"] = asm["___muldi3"]);
- var ___udivdi3 = (Module["___udivdi3"] = asm["___udivdi3"]);
- var _bitshift64Lshr = (Module["_bitshift64Lshr"] =
- asm["_bitshift64Lshr"]);
- var _bitshift64Shl = (Module["_bitshift64Shl"] =
- asm["_bitshift64Shl"]);
- var _free = (Module["_free"] = asm["_free"]);
- var _i64Add = (Module["_i64Add"] = asm["_i64Add"]);
- var _i64Subtract = (Module["_i64Subtract"] = asm["_i64Subtract"]);
- var _llvm_bswap_i32 = (Module["_llvm_bswap_i32"] =
- asm["_llvm_bswap_i32"]);
- var _llvm_ctlz_i64 = (Module["_llvm_ctlz_i64"] =
- asm["_llvm_ctlz_i64"]);
- var _llvm_cttz_i32 = (Module["_llvm_cttz_i32"] =
- asm["_llvm_cttz_i32"]);
- var _malloc = (Module["_malloc"] = asm["_malloc"]);
- var _memcpy = (Module["_memcpy"] = asm["_memcpy"]);
- var _memmove = (Module["_memmove"] = asm["_memmove"]);
- var _memset = (Module["_memset"] = asm["_memset"]);
- var _sbrk = (Module["_sbrk"] = asm["_sbrk"]);
- var establishStackSpace = (Module["establishStackSpace"] =
- asm["establishStackSpace"]);
- var getTempRet0 = (Module["getTempRet0"] = asm["getTempRet0"]);
- var runPostSets = (Module["runPostSets"] = asm["runPostSets"]);
- var setTempRet0 = (Module["setTempRet0"] = asm["setTempRet0"]);
- var setThrew = (Module["setThrew"] = asm["setThrew"]);
- var stackAlloc = (Module["stackAlloc"] = asm["stackAlloc"]);
- var _stackRestore = (Module["stackRestore"] =
- asm["stackRestore"]);
- var _stackSave = (Module["stackSave"] = asm["stackSave"]);
- var dynCall_i = (Module["dynCall_i"] = asm["dynCall_i"]);
- var dynCall_ii = (Module["dynCall_ii"] = asm["dynCall_ii"]);
- var dynCall_iii = (Module["dynCall_iii"] = asm["dynCall_iii"]);
- var dynCall_iiii = (Module["dynCall_iiii"] = asm["dynCall_iiii"]);
- var dynCall_iiiii = (Module["dynCall_iiiii"] =
- asm["dynCall_iiiii"]);
- var dynCall_iiiiii = (Module["dynCall_iiiiii"] =
- asm["dynCall_iiiiii"]);
- var dynCall_iiiiiii = (Module["dynCall_iiiiiii"] =
- asm["dynCall_iiiiiii"]);
- var dynCall_v = (Module["dynCall_v"] = asm["dynCall_v"]);
- var dynCall_vi = (Module["dynCall_vi"] = asm["dynCall_vi"]);
- var dynCall_vii = (Module["dynCall_vii"] = asm["dynCall_vii"]);
- var dynCall_viii = (Module["dynCall_viii"] = asm["dynCall_viii"]);
- var dynCall_viiii = (Module["dynCall_viiii"] =
- asm["dynCall_viiii"]);
- var dynCall_viiiii = (Module["dynCall_viiiii"] =
- asm["dynCall_viiiii"]);
- var dynCall_viiiiii = (Module["dynCall_viiiiii"] =
- asm["dynCall_viiiiii"]);
- Module["asm"] = asm;
- Module["FS"] = FS;
- if (memoryInitializer) {
- if (!isDataURI(memoryInitializer)) {
- memoryInitializer = locateFile(memoryInitializer);
- }
- if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
- var data = Module["readBinary"](memoryInitializer);
- HEAPU8.set(data, GLOBAL_BASE);
- } else {
- var doBrowserLoad = function doBrowserLoad() {
- Module["readAsync"](
- memoryInitializer,
- applyMemoryInitializer,
- function () {
- throw (
- "could not load memory initializer " +
- memoryInitializer
- );
- }
- );
- };
- addRunDependency("memory initializer");
- var applyMemoryInitializer = function applyMemoryInitializer(
- data
- ) {
- if (data.byteLength) data = new Uint8Array(data);
- HEAPU8.set(data, GLOBAL_BASE);
- if (Module["memoryInitializerRequest"])
- delete Module["memoryInitializerRequest"].response;
- removeRunDependency("memory initializer");
- };
- var memoryInitializerBytes =
- tryParseAsDataURI(memoryInitializer);
- if (memoryInitializerBytes) {
- applyMemoryInitializer(memoryInitializerBytes.buffer);
- } else if (Module["memoryInitializerRequest"]) {
- var useRequest = function useRequest() {
- var request = Module["memoryInitializerRequest"];
- var response = request.response;
- if (request.status !== 200 && request.status !== 0) {
- var data = tryParseAsDataURI(
- Module["memoryInitializerRequestURL"]
- );
- if (data) {
- response = data.buffer;
- } else {
- console.warn(
- "a problem seems to have happened with Module.memoryInitializerRequest, status: " +
- request.status +
- ", retrying " +
- memoryInitializer
- );
- doBrowserLoad();
- return;
- }
- }
- applyMemoryInitializer(response);
- };
- if (Module["memoryInitializerRequest"].response) {
- setTimeout(useRequest, 0);
- } else {
- Module["memoryInitializerRequest"].addEventListener(
- "load",
- useRequest
- );
- }
- } else {
- doBrowserLoad();
- }
- }
- }
- Module["then"] = function (func) {
- if (Module["calledRun"]) {
- func(Module);
- } else {
- var old = Module["onRuntimeInitialized"];
- Module["onRuntimeInitialized"] = function () {
- if (old) old();
- func(Module);
- };
- }
- return Module;
- };
- function ExitStatus(status) {
- this.name = "ExitStatus";
- this.message = "Program terminated with exit(" + status + ")";
- this.status = status;
- }
- ExitStatus.prototype = new Error();
- ExitStatus.prototype.constructor = ExitStatus;
- var initialStackTop;
- dependenciesFulfilled = function runCaller() {
- if (!Module["calledRun"]) run();
- if (!Module["calledRun"]) dependenciesFulfilled = runCaller;
- };
- function run(args) {
- args = args || Module["arguments"];
- if (runDependencies > 0) {
- return;
- }
- preRun();
- if (runDependencies > 0) return;
- if (Module["calledRun"]) return;
- function doRun() {
- if (Module["calledRun"]) return;
- Module["calledRun"] = true;
- if (ABORT) return;
- ensureInitRuntime();
- preMain();
- if (Module["onRuntimeInitialized"])
- Module["onRuntimeInitialized"]();
- postRun();
- }
- if (Module["setStatus"]) {
- Module["setStatus"]("Running...");
- setTimeout(function () {
- setTimeout(function () {
- Module["setStatus"]("");
- }, 1);
- doRun();
- }, 1);
- } else {
- doRun();
- }
- }
- Module["run"] = run;
- function abort(what) {
- if (Module["onAbort"]) {
- Module["onAbort"](what);
- }
- if (what !== undefined) {
- out(what);
- err(what);
- what = JSON.stringify(what);
- } else {
- what = "";
- }
- ABORT = true;
- EXITSTATUS = 1;
- throw (
- "abort(" +
- what +
- "). Build with -s ASSERTIONS=1 for more info."
- );
- }
- Module["abort"] = abort;
- if (Module["preInit"]) {
- if (typeof Module["preInit"] == "function")
- Module["preInit"] = [Module["preInit"]];
- while (Module["preInit"].length > 0) {
- Module["preInit"].pop()();
- }
- }
- Module["noExitRuntime"] = true;
- run();
- return Module;
- };
- })();
- if (
- (typeof exports === "undefined"
- ? "undefined"
- : _typeof(exports)) === "object" &&
- (typeof module === "undefined" ? "undefined" : _typeof(module)) ===
- "object"
- )
- module.exports = Module;
- else if (typeof define === "function" && define["amd"])
- define([], function () {
- return Module;
- });
- else if (
- (typeof exports === "undefined"
- ? "undefined"
- : _typeof(exports)) === "object"
- )
- exports["Module"] = Module;
- }).call(this, require("_process"), require("buffer").Buffer, "/lib");
- },
- { _process: 126, buffer: 54, crypto: 63, fs: 9, path: 119 },
- ],
- 7: [
- function (require, module, exports) {
- "use strict";
- var _createClass = (function () {
- function defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
- return function (Constructor, protoProps, staticProps) {
- if (protoProps) defineProperties(Constructor.prototype, protoProps);
- if (staticProps) defineProperties(Constructor, staticProps);
- return Constructor;
- };
- })();
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- var ArrayBufferHelper = require("./helpers.js").ArrayBufferHelper;
- var constants = require("./constants.js");
- var onReady = function onReady(binding) {
- var codec = new binding.ZstdCodec();
- var withBindingInstance = function withBindingInstance(
- instance,
- callback
- ) {
- try {
- return callback(instance);
- } finally {
- instance.delete();
- }
- };
- var withCppVector = function withCppVector(callback) {
- var vector = new binding.VectorU8();
- return withBindingInstance(vector, callback);
- };
- var correctCompressionLevel = function correctCompressionLevel(
- compression_level
- ) {
- return compression_level || constants.DEFAULT_COMPRESSION_LEVEL;
- };
- var compressBoundImpl = function compressBoundImpl(content_size) {
- var rc = codec.compressBound(content_size);
- return rc >= 0 ? rc : null;
- };
- var contentSizeImpl = function contentSizeImpl(src_vec) {
- var rc = codec.contentSize(src_vec);
- return rc >= 0 ? rc : null;
- };
- var ArrayBufferSink = (function () {
- function ArrayBufferSink(initial_size) {
- _classCallCheck(this, ArrayBufferSink);
- this._buffer = new ArrayBuffer(initial_size);
- this._array = new Uint8Array(this._buffer);
- this._offset = 0;
- }
- _createClass(ArrayBufferSink, [
- {
- key: "concat",
- value: function concat(array) {
- if (array.length + this._offset > this._array.length) {
- this._grow(Math.max(this._array.length, array.length) * 2);
- }
- this._array.set(array, this._offset);
- this._offset += array.length;
- },
- },
- {
- key: "array",
- value: function array() {
- // NOTE: clone buffer to shrink to fit
- var buffer = ArrayBufferHelper.transfer(
- this._buffer,
- this._offset
- );
- return new Uint8Array(buffer);
- },
- },
- {
- key: "_grow",
- value: function _grow(new_size) {
- this._buffer = ArrayBufferHelper.transfer(
- this._buffer,
- new_size
- );
- this._array = new Uint8Array(this._buffer);
- },
- },
- ]);
- return ArrayBufferSink;
- })();
- var Generic = (function () {
- function Generic() {
- _classCallCheck(this, Generic);
- }
- _createClass(Generic, [
- {
- key: "compressBound",
- value: function compressBound(content_bytes) {
- return compressBoundImpl(content_bytes.length);
- },
- },
- {
- key: "contentSize",
- value: function contentSize(compressed_bytes) {
- return withCppVector(function (src) {
- binding.cloneToVector(src, compressed_bytes);
- return contentSizeImpl(src);
- });
- },
- },
- ]);
- return Generic;
- })();
- var Simple = (function () {
- function Simple() {
- _classCallCheck(this, Simple);
- }
- _createClass(Simple, [
- {
- key: "compress",
- value: function compress(content_bytes, compression_level) {
- // use basic-api `compress`, to embed `frameContentSize`.
- var compressBound = compressBoundImpl(content_bytes.length);
- if (!compressBound) return null;
- compression_level =
- correctCompressionLevel(compression_level);
- return withCppVector(function (src) {
- return withCppVector(function (dest) {
- binding.cloneToVector(src, content_bytes);
- dest.resize(compressBound, 0);
- var rc = codec.compress(dest, src, compression_level);
- if (rc < 0) return null; // `rc` is compressed size
- dest.resize(rc, 0);
- return binding.cloneAsTypedArray(dest);
- });
- });
- },
- },
- {
- key: "decompress",
- value: function decompress(compressed_bytes) {
- // use streaming-api, to support data without `frameContentSize`.
- return withCppVector(function (src) {
- return withCppVector(function (dest) {
- binding.cloneToVector(src, compressed_bytes);
- var contentSize = contentSizeImpl(src);
- if (!contentSize) return null;
- dest.resize(contentSize, 0);
- var rc = codec.decompress(dest, src);
- if (rc < 0 || rc != contentSize) return null; // `rc` is compressed size
- return binding.cloneAsTypedArray(dest);
- });
- });
- },
- },
- {
- key: "compressUsingDict",
- value: function compressUsingDict(content_bytes, cdict) {
- // use basic-api `compress`, to embed `frameContentSize`.
- var compressBound = compressBoundImpl(content_bytes.length);
- if (!compressBound) return null;
- return withCppVector(function (src) {
- return withCppVector(function (dest) {
- binding.cloneToVector(src, content_bytes);
- dest.resize(compressBound, 0);
- var rc = codec.compressUsingDict(dest, src, cdict.get());
- if (rc < 0) return null; // `rc` is original content size
- dest.resize(rc, 0);
- return binding.cloneAsTypedArray(dest);
- });
- });
- },
- },
- {
- key: "decompressUsingDict",
- value: function decompressUsingDict(compressed_bytes, ddict) {
- // use streaming-api, to support data without `frameContentSize`.
- return withCppVector(function (src) {
- return withCppVector(function (dest) {
- binding.cloneToVector(src, compressed_bytes);
- var contentSize = contentSizeImpl(src);
- if (!contentSize) return null;
- dest.resize(contentSize, 0);
- var rc = codec.decompressUsingDict(
- dest,
- src,
- ddict.get()
- );
- if (rc < 0 || rc != contentSize) return null; // `rc` is compressed size
- return binding.cloneAsTypedArray(dest);
- });
- });
- },
- },
- ]);
- return Simple;
- })();
- var Streaming = (function () {
- function Streaming() {
- _classCallCheck(this, Streaming);
- }
- _createClass(Streaming, [
- {
- key: "compress",
- value: function compress(content_bytes, compression_level) {
- return withBindingInstance(
- new binding.ZstdCompressStreamBinding(),
- function (stream) {
- var initial_size = compressBoundImpl(
- content_bytes.length
- );
- var sink = new ArrayBufferSink(initial_size);
- var callback = function callback(compressed) {
- sink.concat(compressed);
- };
- var level = correctCompressionLevel(compression_level);
- if (!stream.begin(level)) return null;
- if (!stream.transform(content_bytes, callback))
- return null;
- if (!stream.end(callback)) return null;
- return sink.array();
- }
- );
- },
- },
- {
- key: "compressChunks",
- value: function compressChunks(
- chunks,
- size_hint,
- compression_level
- ) {
- return withBindingInstance(
- new binding.ZstdCompressStreamBinding(),
- function (stream) {
- var initial_size =
- size_hint || constants.STREAMING_DEFAULT_BUFFER_SIZE;
- var sink = new ArrayBufferSink(initial_size);
- var callback = function callback(compressed) {
- sink.concat(compressed);
- };
- var level = correctCompressionLevel(compression_level);
- if (!stream.begin(level)) return null;
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
- try {
- for (
- var _iterator = chunks[Symbol.iterator](), _step;
- !(_iteratorNormalCompletion = (_step =
- _iterator.next()).done);
- _iteratorNormalCompletion = true
- ) {
- var chunk = _step.value;
- if (!stream.transform(chunk, callback)) return null;
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator.return) {
- _iterator.return();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
- }
- if (!stream.end(callback)) return null;
- return sink.array();
- }
- );
- },
- },
- {
- key: "compressUsingDict",
- value: function compressUsingDict(content_bytes, cdict) {
- return withBindingInstance(
- new binding.ZstdCompressStreamBinding(),
- function (stream) {
- var initial_size = compressBoundImpl(
- content_bytes.length
- );
- var sink = new ArrayBufferSink(initial_size);
- var callback = function callback(compressed) {
- sink.concat(compressed);
- };
- if (!stream.beginUsingDict(cdict.get())) return null;
- if (!stream.transform(content_bytes, callback))
- return null;
- if (!stream.end(callback)) return null;
- return sink.array();
- }
- );
- },
- },
- {
- key: "compressChunksUsingDict",
- value: function compressChunksUsingDict(
- chunks,
- size_hint,
- cdict
- ) {
- return withBindingInstance(
- new binding.ZstdCompressStreamBinding(),
- function (stream) {
- var initial_size =
- size_hint || constants.STREAMING_DEFAULT_BUFFER_SIZE;
- var sink = new ArrayBufferSink(initial_size);
- var callback = function callback(compressed) {
- sink.concat(compressed);
- };
- if (!stream.beginUsingDict(cdict.get())) return null;
- var _iteratorNormalCompletion2 = true;
- var _didIteratorError2 = false;
- var _iteratorError2 = undefined;
- try {
- for (
- var _iterator2 = chunks[Symbol.iterator](), _step2;
- !(_iteratorNormalCompletion2 = (_step2 =
- _iterator2.next()).done);
- _iteratorNormalCompletion2 = true
- ) {
- var chunk = _step2.value;
- if (!stream.transform(chunk, callback)) return null;
- }
- } catch (err) {
- _didIteratorError2 = true;
- _iteratorError2 = err;
- } finally {
- try {
- if (
- !_iteratorNormalCompletion2 &&
- _iterator2.return
- ) {
- _iterator2.return();
- }
- } finally {
- if (_didIteratorError2) {
- throw _iteratorError2;
- }
- }
- }
- if (!stream.end(callback)) return null;
- return sink.array();
- }
- );
- },
- },
- {
- key: "decompress",
- value: function decompress(compressed_bytes, size_hint) {
- var _this = this;
- return withBindingInstance(
- new binding.ZstdDecompressStreamBinding(),
- function (stream) {
- var initial_size =
- size_hint ||
- _this._estimateContentSize(compressed_bytes);
- var sink = new ArrayBufferSink(initial_size);
- var callback = function callback(decompressed) {
- sink.concat(decompressed);
- };
- if (!stream.begin()) return null;
- if (!stream.transform(compressed_bytes, callback))
- return null;
- if (!stream.end(callback)) return null;
- return sink.array();
- }
- );
- },
- },
- {
- key: "decompressChunks",
- value: function decompressChunks(chunks, size_hint) {
- return withBindingInstance(
- new binding.ZstdDecompressStreamBinding(),
- function (stream) {
- var initial_size =
- size_hint || constants.STREAMING_DEFAULT_BUFFER_SIZE;
- var sink = new ArrayBufferSink(initial_size);
- var callback = function callback(decompressed) {
- sink.concat(decompressed);
- };
- if (!stream.begin()) return null;
- var _iteratorNormalCompletion3 = true;
- var _didIteratorError3 = false;
- var _iteratorError3 = undefined;
- try {
- for (
- var _iterator3 = chunks[Symbol.iterator](), _step3;
- !(_iteratorNormalCompletion3 = (_step3 =
- _iterator3.next()).done);
- _iteratorNormalCompletion3 = true
- ) {
- var chunk = _step3.value;
- if (!stream.transform(chunk, callback)) return null;
- }
- } catch (err) {
- _didIteratorError3 = true;
- _iteratorError3 = err;
- } finally {
- try {
- if (
- !_iteratorNormalCompletion3 &&
- _iterator3.return
- ) {
- _iterator3.return();
- }
- } finally {
- if (_didIteratorError3) {
- throw _iteratorError3;
- }
- }
- }
- if (!stream.end(callback)) return null;
- return sink.array();
- }
- );
- },
- },
- {
- key: "decompressUsingDict",
- value: function decompressUsingDict(
- compressed_bytes,
- size_hint,
- ddict
- ) {
- var _this2 = this;
- return withBindingInstance(
- new binding.ZstdDecompressStreamBinding(),
- function (stream) {
- var initial_size =
- size_hint ||
- _this2._estimateContentSize(compressed_bytes);
- var sink = new ArrayBufferSink(initial_size);
- var callback = function callback(decompressed) {
- sink.concat(decompressed);
- };
- if (!stream.beginUsingDict(ddict.get())) return null;
- if (!stream.transform(compressed_bytes, callback))
- return null;
- if (!stream.end(callback)) return null;
- return sink.array();
- }
- );
- },
- },
- {
- key: "decompressChunksUsingDict",
- value: function decompressChunksUsingDict(
- chunks,
- size_hint,
- ddict
- ) {
- return withBindingInstance(
- new binding.ZstdDecompressStreamBinding(),
- function (stream) {
- var initial_size =
- size_hint || constants.STREAMING_DEFAULT_BUFFER_SIZE;
- var sink = new ArrayBufferSink(initial_size);
- var callback = function callback(decompressed) {
- sink.concat(decompressed);
- };
- if (!stream.beginUsingDict(ddict.get())) return null;
- var _iteratorNormalCompletion4 = true;
- var _didIteratorError4 = false;
- var _iteratorError4 = undefined;
- try {
- for (
- var _iterator4 = chunks[Symbol.iterator](), _step4;
- !(_iteratorNormalCompletion4 = (_step4 =
- _iterator4.next()).done);
- _iteratorNormalCompletion4 = true
- ) {
- var chunk = _step4.value;
- if (!stream.transform(chunk, callback)) return null;
- }
- } catch (err) {
- _didIteratorError4 = true;
- _iteratorError4 = err;
- } finally {
- try {
- if (
- !_iteratorNormalCompletion4 &&
- _iterator4.return
- ) {
- _iterator4.return();
- }
- } finally {
- if (_didIteratorError4) {
- throw _iteratorError4;
- }
- }
- }
- if (!stream.end(callback)) return null;
- return sink.array();
- }
- );
- },
- },
- {
- key: "_estimateContentSize",
- value: function _estimateContentSize(compressed_bytes) {
- // REF: https://code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compression-with-zstandard/
- // with lzbench, ratio=3.11 .. 3.14. round up to integer
- return compressed_bytes.length * 4;
- },
- },
- ]);
- return Streaming;
- })();
- var ZstdCompressionDict = (function () {
- function ZstdCompressionDict(dict_bytes, compression_level) {
- _classCallCheck(this, ZstdCompressionDict);
- this.binding = binding.createCompressionDict(
- dict_bytes,
- compression_level
- );
- }
- _createClass(ZstdCompressionDict, [
- {
- key: "get",
- value: function get() {
- return this.binding;
- },
- },
- {
- key: "close",
- value: function close() {
- if (this.binding) {
- this.binding.delete();
- }
- },
- },
- {
- key: "delete",
- value: function _delete() {
- this.close();
- },
- },
- ]);
- return ZstdCompressionDict;
- })();
- var ZstdDecompressionDict = (function () {
- function ZstdDecompressionDict(dict_bytes) {
- _classCallCheck(this, ZstdDecompressionDict);
- this.binding = new binding.createDecompressionDict(dict_bytes);
- }
- _createClass(ZstdDecompressionDict, [
- {
- key: "get",
- value: function get() {
- return this.binding;
- },
- },
- {
- key: "close",
- value: function close() {
- if (this.binding) {
- this.binding.delete();
- }
- },
- },
- {
- key: "delete",
- value: function _delete() {
- this.close();
- },
- },
- ]);
- return ZstdDecompressionDict;
- })();
- var zstd = {};
- zstd.Generic = Generic;
- zstd.Simple = Simple;
- zstd.Streaming = Streaming;
- zstd.Dict = {};
- zstd.Dict.Compress = ZstdCompressionDict;
- zstd.Dict.Decompress = ZstdDecompressionDict;
- return zstd;
- };
- exports.run = function (f) {
- return require("./module.js").run(function (binding) {
- var zstd = onReady(binding);
- f(zstd);
- });
- };
- },
- { "./constants.js": 2, "./helpers.js": 3, "./module.js": 4 },
- ],
- 8: [
- function (require, module, exports) {
- "use strict";
- var _typeof =
- typeof Symbol === "function" && typeof Symbol.iterator === "symbol"
- ? function (obj) {
- return typeof obj;
- }
- : function (obj) {
- return obj &&
- typeof Symbol === "function" &&
- obj.constructor === Symbol &&
- obj !== Symbol.prototype
- ? "symbol"
- : typeof obj;
- };
- var _createClass = (function () {
- function defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
- return function (Constructor, protoProps, staticProps) {
- if (protoProps) defineProperties(Constructor.prototype, protoProps);
- if (staticProps) defineProperties(Constructor, staticProps);
- return Constructor;
- };
- })();
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- function _possibleConstructorReturn(self, call) {
- if (!self) {
- throw new ReferenceError(
- "this hasn't been initialised - super() hasn't been called"
- );
- }
- return call &&
- (typeof call === "object" || typeof call === "function")
- ? call
- : self;
- }
- function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError(
- "Super expression must either be null or a function, not " +
- typeof superClass
- );
- }
- subClass.prototype = Object.create(
- superClass && superClass.prototype,
- {
- constructor: {
- value: subClass,
- enumerable: false,
- writable: true,
- configurable: true,
- },
- }
- );
- if (superClass)
- Object.setPrototypeOf
- ? Object.setPrototypeOf(subClass, superClass)
- : (subClass.__proto__ = superClass);
- }
- var stream = require("stream");
- var binding = require("./module.js").Binding;
- var constants = require("./constants.js");
- var helpers = require("./helpers.js");
- var getClassName = helpers.getClassName;
- var toTypedArray = helpers.toTypedArray;
- var fromTypedArrayToBuffer = helpers.fromTypedArrayToBuffer;
- var onReady = function onReady(binding) {
- var ZstdCompressTransform = (function (_stream$Transform) {
- _inherits(ZstdCompressTransform, _stream$Transform);
- function ZstdCompressTransform(
- compression_level,
- string_decoder,
- option
- ) {
- _classCallCheck(this, ZstdCompressTransform);
- var _this = _possibleConstructorReturn(
- this,
- (
- ZstdCompressTransform.__proto__ ||
- Object.getPrototypeOf(ZstdCompressTransform)
- ).call(this, option || {})
- );
- _this.string_decoder = string_decoder;
- _this.binding = new binding.ZstdCompressStreamBinding();
- _this.binding.begin(
- compression_level || constants.DEFAULT_COMPRESSION_LEVEL
- );
- _this.callback = function (compressed) {
- _this.push(fromTypedArrayToBuffer(compressed), "buffer");
- };
- return _this;
- }
- _createClass(ZstdCompressTransform, [
- {
- key: "_transform",
- value: function _transform(chunk, encoding, callback) {
- var chunkBytes = toTypedArray(
- chunk,
- encoding,
- this.string_decoder
- );
- if (!chunkBytes) {
- var type_name =
- getClassName(chunk) ||
- (typeof chunk === "undefined"
- ? "undefined"
- : _typeof(chunk));
- callback(new Error("unsupported chunk type: " + type_name));
- return;
- }
- if (this.binding.transform(chunkBytes, this.callback)) {
- callback();
- } else {
- callback(
- new Error("ZstdDecompressTransform: Error on _transform")
- );
- }
- },
- },
- {
- key: "_flush",
- value: function _flush(callback) {
- if (this.binding.flush(this.callback)) {
- callback();
- } else {
- callback(
- new Error("ZstdDecompressTransform: Error on _flush")
- );
- }
- },
- },
- {
- key: "_final",
- value: function _final(callback) {
- if (this.binding.end(this.callback)) {
- callback();
- } else {
- callback(
- new Error("ZstdDecompressTransform: Error on _final")
- );
- }
- },
- },
- ]);
- return ZstdCompressTransform;
- })(stream.Transform);
- var ZstdDecompressTransform = (function (_stream$Transform2) {
- _inherits(ZstdDecompressTransform, _stream$Transform2);
- function ZstdDecompressTransform(option) {
- _classCallCheck(this, ZstdDecompressTransform);
- var _this2 = _possibleConstructorReturn(
- this,
- (
- ZstdDecompressTransform.__proto__ ||
- Object.getPrototypeOf(ZstdDecompressTransform)
- ).call(this, option || {})
- );
- _this2.binding = new binding.ZstdDecompressStreamBinding();
- _this2.binding.begin();
- _this2.callback = function (decompressed) {
- _this2.push(fromTypedArrayToBuffer(decompressed), "buffer");
- };
- return _this2;
- }
- _createClass(ZstdDecompressTransform, [
- {
- key: "_transform",
- value: function _transform(chunk, encoding, callback) {
- var chunkBytes = toTypedArray(
- chunk,
- encoding,
- this.string_decoder
- );
- if (!chunkBytes) {
- var type_name =
- getClassName(chunk) ||
- (typeof chunk === "undefined"
- ? "undefined"
- : _typeof(chunk));
- callback(new Error("unsupported chunk type: " + type_name));
- return;
- }
- if (this.binding.transform(chunk, this.callback)) {
- callback();
- } else {
- callback(
- new Error("ZstdDecompressTransform: Error on _transform")
- );
- }
- },
- },
- {
- key: "_flush",
- value: function _flush(callback) {
- if (this.binding.flush(this.callback)) {
- callback();
- } else {
- callback(
- new Error("ZstdDecompressTransform: Error on _flush")
- );
- }
- },
- },
- {
- key: "_final",
- value: function _final(callback) {
- if (this.binding.end(this.callback)) {
- callback();
- } else {
- callback(
- new Error("ZstdDecompressTransform: Error on _final")
- );
- }
- },
- },
- ]);
- return ZstdDecompressTransform;
- })(stream.Transform);
- var streams = {};
- streams.ZstdCompressTransform = ZstdCompressTransform;
- streams.ZstdDecompressTransform = ZstdDecompressTransform;
- return streams;
- };
- exports = function exports(f) {
- return require("./module.js").then(function (binding) {
- var streams = onReady(binding);
- f(streams);
- });
- };
- },
- { "./constants.js": 2, "./helpers.js": 3, "./module.js": 4, stream: 157 },
- ],
- 9: [function (require, module, exports) {}, {}],
- 10: [
- function (require, module, exports) {
- var asn1 = exports;
- asn1.bignum = require("bn.js");
- asn1.define = require("./asn1/api.js").define;
- asn1.base = require("./asn1/base.js");
- asn1.constants = require("./asn1/constants.js");
- asn1.decoders = require("./asn1/decoders.js");
- asn1.encoders = require("./asn1/encoders.js");
- },
- {
- "./asn1/api": 11,
- "./asn1/base": 13,
- "./asn1/constants": 17,
- "./asn1/decoders": 19,
- "./asn1/encoders": 22,
- "bn.js": 25,
- },
- ],
- 11: [
- function (require, module, exports) {
- var asn1 = require("../asn1.js");
- var inherits = require("inherits");
- var api = exports;
- api.define = function define(name, body) {
- return new Entity(name, body);
- };
- function Entity(name, body) {
- this.name = name;
- this.body = body;
- this.decoders = {};
- this.encoders = {};
- }
- Entity.prototype._createNamed = function createNamed(base) {
- var named;
- try {
- named = require("vm").runInThisContext(
- "(function " +
- this.name +
- "(entity) {\n" +
- " this._initNamed(entity);\n" +
- "})"
- );
- } catch (e) {
- named = function (entity) {
- this._initNamed(entity);
- };
- }
- inherits(named, base);
- named.prototype._initNamed = function initnamed(entity) {
- base.call(this, entity);
- };
- return new named(this);
- };
- Entity.prototype._getDecoder = function _getDecoder(enc) {
- enc = enc || "der";
- // Lazily create decoder
- if (!this.decoders.hasOwnProperty(enc))
- this.decoders[enc] = this._createNamed(asn1.decoders[enc]);
- return this.decoders[enc];
- };
- Entity.prototype.decode = function decode(data, enc, options) {
- return this._getDecoder(enc).decode(data, options);
- };
- Entity.prototype._getEncoder = function _getEncoder(enc) {
- enc = enc || "der";
- // Lazily create encoder
- if (!this.encoders.hasOwnProperty(enc))
- this.encoders[enc] = this._createNamed(asn1.encoders[enc]);
- return this.encoders[enc];
- };
- Entity.prototype.encode = function encode(
- data,
- enc,
- /* internal */ reporter
- ) {
- return this._getEncoder(enc).encode(data, reporter);
- };
- },
- { "../asn1": 10, inherits: 108, vm: 160 },
- ],
- 12: [
- function (require, module, exports) {
- var inherits = require("inherits");
- var Reporter = require("../base.js").Reporter;
- var Buffer = require("buffer").Buffer;
- function DecoderBuffer(base, options) {
- Reporter.call(this, options);
- if (!Buffer.isBuffer(base)) {
- this.error("Input not Buffer");
- return;
- }
- this.base = base;
- this.offset = 0;
- this.length = base.length;
- }
- inherits(DecoderBuffer, Reporter);
- exports.DecoderBuffer = DecoderBuffer;
- DecoderBuffer.prototype.save = function save() {
- return {
- offset: this.offset,
- reporter: Reporter.prototype.save.call(this),
- };
- };
- DecoderBuffer.prototype.restore = function restore(save) {
- // Return skipped data
- var res = new DecoderBuffer(this.base);
- res.offset = save.offset;
- res.length = this.offset;
- this.offset = save.offset;
- Reporter.prototype.restore.call(this, save.reporter);
- return res;
- };
- DecoderBuffer.prototype.isEmpty = function isEmpty() {
- return this.offset === this.length;
- };
- DecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {
- if (this.offset + 1 <= this.length)
- return this.base.readUInt8(this.offset++, true);
- else return this.error(fail || "DecoderBuffer overrun");
- };
- DecoderBuffer.prototype.skip = function skip(bytes, fail) {
- if (!(this.offset + bytes <= this.length))
- return this.error(fail || "DecoderBuffer overrun");
- var res = new DecoderBuffer(this.base);
- // Share reporter state
- res._reporterState = this._reporterState;
- res.offset = this.offset;
- res.length = this.offset + bytes;
- this.offset += bytes;
- return res;
- };
- DecoderBuffer.prototype.raw = function raw(save) {
- return this.base.slice(save ? save.offset : this.offset, this.length);
- };
- function EncoderBuffer(value, reporter) {
- if (Array.isArray(value)) {
- this.length = 0;
- this.value = value.map(function (item) {
- if (!(item instanceof EncoderBuffer))
- item = new EncoderBuffer(item, reporter);
- this.length += item.length;
- return item;
- }, this);
- } else if (typeof value === "number") {
- if (!(0 <= value && value <= 0xff))
- return reporter.error("non-byte EncoderBuffer value");
- this.value = value;
- this.length = 1;
- } else if (typeof value === "string") {
- this.value = value;
- this.length = Buffer.byteLength(value);
- } else if (Buffer.isBuffer(value)) {
- this.value = value;
- this.length = value.length;
- } else {
- return reporter.error("Unsupported type: " + typeof value);
- }
- }
- exports.EncoderBuffer = EncoderBuffer;
- EncoderBuffer.prototype.join = function join(out, offset) {
- if (!out) out = new Buffer(this.length);
- if (!offset) offset = 0;
- if (this.length === 0) return out;
- if (Array.isArray(this.value)) {
- this.value.forEach(function (item) {
- item.join(out, offset);
- offset += item.length;
- });
- } else {
- if (typeof this.value === "number") out[offset] = this.value;
- else if (typeof this.value === "string")
- out.write(this.value, offset);
- else if (Buffer.isBuffer(this.value)) this.value.copy(out, offset);
- offset += this.length;
- }
- return out;
- };
- },
- { "../base": 13, buffer: 54, inherits: 108 },
- ],
- 13: [
- function (require, module, exports) {
- var base = exports;
- base.Reporter = require("./reporter.js").Reporter;
- base.DecoderBuffer = require("./buffer.js").DecoderBuffer;
- base.EncoderBuffer = require("./buffer.js").EncoderBuffer;
- base.Node = require("./node.js");
- },
- { "./buffer": 12, "./node": 14, "./reporter": 15 },
- ],
- 14: [
- function (require, module, exports) {
- var Reporter = require("../base.js").Reporter;
- var EncoderBuffer = require("../base.js").EncoderBuffer;
- var DecoderBuffer = require("../base.js").DecoderBuffer;
- var assert = require("minimalistic-assert");
- // Supported tags
- var tags = [
- "seq",
- "seqof",
- "set",
- "setof",
- "objid",
- "bool",
- "gentime",
- "utctime",
- "null_",
- "enum",
- "int",
- "objDesc",
- "bitstr",
- "bmpstr",
- "charstr",
- "genstr",
- "graphstr",
- "ia5str",
- "iso646str",
- "numstr",
- "octstr",
- "printstr",
- "t61str",
- "unistr",
- "utf8str",
- "videostr",
- ];
- // Public methods list
- var methods = [
- "key",
- "obj",
- "use",
- "optional",
- "explicit",
- "implicit",
- "def",
- "choice",
- "any",
- "contains",
- ].concat(tags);
- // Overrided methods list
- var overrided = [
- "_peekTag",
- "_decodeTag",
- "_use",
- "_decodeStr",
- "_decodeObjid",
- "_decodeTime",
- "_decodeNull",
- "_decodeInt",
- "_decodeBool",
- "_decodeList",
- "_encodeComposite",
- "_encodeStr",
- "_encodeObjid",
- "_encodeTime",
- "_encodeNull",
- "_encodeInt",
- "_encodeBool",
- ];
- function Node(enc, parent) {
- var state = {};
- this._baseState = state;
- state.enc = enc;
- state.parent = parent || null;
- state.children = null;
- // State
- state.tag = null;
- state.args = null;
- state.reverseArgs = null;
- state.choice = null;
- state.optional = false;
- state.any = false;
- state.obj = false;
- state.use = null;
- state.useDecoder = null;
- state.key = null;
- state["default"] = null;
- state.explicit = null;
- state.implicit = null;
- state.contains = null;
- // Should create new instance on each method
- if (!state.parent) {
- state.children = [];
- this._wrap();
- }
- }
- module.exports = Node;
- var stateProps = [
- "enc",
- "parent",
- "children",
- "tag",
- "args",
- "reverseArgs",
- "choice",
- "optional",
- "any",
- "obj",
- "use",
- "alteredUse",
- "key",
- "default",
- "explicit",
- "implicit",
- "contains",
- ];
- Node.prototype.clone = function clone() {
- var state = this._baseState;
- var cstate = {};
- stateProps.forEach(function (prop) {
- cstate[prop] = state[prop];
- });
- var res = new this.constructor(cstate.parent);
- res._baseState = cstate;
- return res;
- };
- Node.prototype._wrap = function wrap() {
- var state = this._baseState;
- methods.forEach(function (method) {
- this[method] = function _wrappedMethod() {
- var clone = new this.constructor(this);
- state.children.push(clone);
- return clone[method].apply(clone, arguments);
- };
- }, this);
- };
- Node.prototype._init = function init(body) {
- var state = this._baseState;
- assert(state.parent === null);
- body.call(this);
- // Filter children
- state.children = state.children.filter(function (child) {
- return child._baseState.parent === this;
- }, this);
- assert.equal(
- state.children.length,
- 1,
- "Root node can have only one child"
- );
- };
- Node.prototype._useArgs = function useArgs(args) {
- var state = this._baseState;
- // Filter children and args
- var children = args.filter(function (arg) {
- return arg instanceof this.constructor;
- }, this);
- args = args.filter(function (arg) {
- return !(arg instanceof this.constructor);
- }, this);
- if (children.length !== 0) {
- assert(state.children === null);
- state.children = children;
- // Replace parent to maintain backward link
- children.forEach(function (child) {
- child._baseState.parent = this;
- }, this);
- }
- if (args.length !== 0) {
- assert(state.args === null);
- state.args = args;
- state.reverseArgs = args.map(function (arg) {
- if (typeof arg !== "object" || arg.constructor !== Object)
- return arg;
- var res = {};
- Object.keys(arg).forEach(function (key) {
- if (key == (key | 0)) key |= 0;
- var value = arg[key];
- res[value] = key;
- });
- return res;
- });
- }
- };
- //
- // Overrided methods
- //
- overrided.forEach(function (method) {
- Node.prototype[method] = function _overrided() {
- var state = this._baseState;
- throw new Error(
- method + " not implemented for encoding: " + state.enc
- );
- };
- });
- //
- // Public methods
- //
- tags.forEach(function (tag) {
- Node.prototype[tag] = function _tagMethod() {
- var state = this._baseState;
- var args = Array.prototype.slice.call(arguments);
- assert(state.tag === null);
- state.tag = tag;
- this._useArgs(args);
- return this;
- };
- });
- Node.prototype.use = function use(item) {
- assert(item);
- var state = this._baseState;
- assert(state.use === null);
- state.use = item;
- return this;
- };
- Node.prototype.optional = function optional() {
- var state = this._baseState;
- state.optional = true;
- return this;
- };
- Node.prototype.def = function def(val) {
- var state = this._baseState;
- assert(state["default"] === null);
- state["default"] = val;
- state.optional = true;
- return this;
- };
- Node.prototype.explicit = function explicit(num) {
- var state = this._baseState;
- assert(state.explicit === null && state.implicit === null);
- state.explicit = num;
- return this;
- };
- Node.prototype.implicit = function implicit(num) {
- var state = this._baseState;
- assert(state.explicit === null && state.implicit === null);
- state.implicit = num;
- return this;
- };
- Node.prototype.obj = function obj() {
- var state = this._baseState;
- var args = Array.prototype.slice.call(arguments);
- state.obj = true;
- if (args.length !== 0) this._useArgs(args);
- return this;
- };
- Node.prototype.key = function key(newKey) {
- var state = this._baseState;
- assert(state.key === null);
- state.key = newKey;
- return this;
- };
- Node.prototype.any = function any() {
- var state = this._baseState;
- state.any = true;
- return this;
- };
- Node.prototype.choice = function choice(obj) {
- var state = this._baseState;
- assert(state.choice === null);
- state.choice = obj;
- this._useArgs(
- Object.keys(obj).map(function (key) {
- return obj[key];
- })
- );
- return this;
- };
- Node.prototype.contains = function contains(item) {
- var state = this._baseState;
- assert(state.use === null);
- state.contains = item;
- return this;
- };
- //
- // Decoding
- //
- Node.prototype._decode = function decode(input, options) {
- var state = this._baseState;
- // Decode root node
- if (state.parent === null)
- return input.wrapResult(state.children[0]._decode(input, options));
- var result = state["default"];
- var present = true;
- var prevKey = null;
- if (state.key !== null) prevKey = input.enterKey(state.key);
- // Check if tag is there
- if (state.optional) {
- var tag = null;
- if (state.explicit !== null) tag = state.explicit;
- else if (state.implicit !== null) tag = state.implicit;
- else if (state.tag !== null) tag = state.tag;
- if (tag === null && !state.any) {
- // Trial and Error
- var save = input.save();
- try {
- if (state.choice === null)
- this._decodeGeneric(state.tag, input, options);
- else this._decodeChoice(input, options);
- present = true;
- } catch (e) {
- present = false;
- }
- input.restore(save);
- } else {
- present = this._peekTag(input, tag, state.any);
- if (input.isError(present)) return present;
- }
- }
- // Push object on stack
- var prevObj;
- if (state.obj && present) prevObj = input.enterObject();
- if (present) {
- // Unwrap explicit values
- if (state.explicit !== null) {
- var explicit = this._decodeTag(input, state.explicit);
- if (input.isError(explicit)) return explicit;
- input = explicit;
- }
- var start = input.offset;
- // Unwrap implicit and normal values
- if (state.use === null && state.choice === null) {
- if (state.any) var save = input.save();
- var body = this._decodeTag(
- input,
- state.implicit !== null ? state.implicit : state.tag,
- state.any
- );
- if (input.isError(body)) return body;
- if (state.any) result = input.raw(save);
- else input = body;
- }
- if (options && options.track && state.tag !== null)
- options.track(input.path(), start, input.length, "tagged");
- if (options && options.track && state.tag !== null)
- options.track(
- input.path(),
- input.offset,
- input.length,
- "content"
- );
- // Select proper method for tag
- if (state.any) result = result;
- else if (state.choice === null)
- result = this._decodeGeneric(state.tag, input, options);
- else result = this._decodeChoice(input, options);
- if (input.isError(result)) return result;
- // Decode children
- if (
- !state.any &&
- state.choice === null &&
- state.children !== null
- ) {
- state.children.forEach(function decodeChildren(child) {
- // NOTE: We are ignoring errors here, to let parser continue with other
- // parts of encoded data
- child._decode(input, options);
- });
- }
- // Decode contained/encoded by schema, only in bit or octet strings
- if (
- state.contains &&
- (state.tag === "octstr" || state.tag === "bitstr")
- ) {
- var data = new DecoderBuffer(result);
- result = this._getUse(
- state.contains,
- input._reporterState.obj
- )._decode(data, options);
- }
- }
- // Pop object
- if (state.obj && present) result = input.leaveObject(prevObj);
- // Set key
- if (state.key !== null && (result !== null || present === true))
- input.leaveKey(prevKey, state.key, result);
- else if (prevKey !== null) input.exitKey(prevKey);
- return result;
- };
- Node.prototype._decodeGeneric = function decodeGeneric(
- tag,
- input,
- options
- ) {
- var state = this._baseState;
- if (tag === "seq" || tag === "set") return null;
- if (tag === "seqof" || tag === "setof")
- return this._decodeList(input, tag, state.args[0], options);
- else if (/str$/.test(tag))
- return this._decodeStr(input, tag, options);
- else if (tag === "objid" && state.args)
- return this._decodeObjid(
- input,
- state.args[0],
- state.args[1],
- options
- );
- else if (tag === "objid")
- return this._decodeObjid(input, null, null, options);
- else if (tag === "gentime" || tag === "utctime")
- return this._decodeTime(input, tag, options);
- else if (tag === "null_") return this._decodeNull(input, options);
- else if (tag === "bool") return this._decodeBool(input, options);
- else if (tag === "objDesc")
- return this._decodeStr(input, tag, options);
- else if (tag === "int" || tag === "enum")
- return this._decodeInt(input, state.args && state.args[0], options);
- if (state.use !== null) {
- return this._getUse(state.use, input._reporterState.obj)._decode(
- input,
- options
- );
- } else {
- return input.error("unknown tag: " + tag);
- }
- };
- Node.prototype._getUse = function _getUse(entity, obj) {
- var state = this._baseState;
- // Create altered use decoder if implicit is set
- state.useDecoder = this._use(entity, obj);
- assert(state.useDecoder._baseState.parent === null);
- state.useDecoder = state.useDecoder._baseState.children[0];
- if (state.implicit !== state.useDecoder._baseState.implicit) {
- state.useDecoder = state.useDecoder.clone();
- state.useDecoder._baseState.implicit = state.implicit;
- }
- return state.useDecoder;
- };
- Node.prototype._decodeChoice = function decodeChoice(input, options) {
- var state = this._baseState;
- var result = null;
- var match = false;
- Object.keys(state.choice).some(function (key) {
- var save = input.save();
- var node = state.choice[key];
- try {
- var value = node._decode(input, options);
- if (input.isError(value)) return false;
- result = { type: key, value: value };
- match = true;
- } catch (e) {
- input.restore(save);
- return false;
- }
- return true;
- }, this);
- if (!match) return input.error("Choice not matched");
- return result;
- };
- //
- // Encoding
- //
- Node.prototype._createEncoderBuffer = function createEncoderBuffer(
- data
- ) {
- return new EncoderBuffer(data, this.reporter);
- };
- Node.prototype._encode = function encode(data, reporter, parent) {
- var state = this._baseState;
- if (state["default"] !== null && state["default"] === data) return;
- var result = this._encodeValue(data, reporter, parent);
- if (result === undefined) return;
- if (this._skipDefault(result, reporter, parent)) return;
- return result;
- };
- Node.prototype._encodeValue = function encode(data, reporter, parent) {
- var state = this._baseState;
- // Decode root node
- if (state.parent === null)
- return state.children[0]._encode(data, reporter || new Reporter());
- var result = null;
- // Set reporter to share it with a child class
- this.reporter = reporter;
- // Check if data is there
- if (state.optional && data === undefined) {
- if (state["default"] !== null) data = state["default"];
- else return;
- }
- // Encode children first
- var content = null;
- var primitive = false;
- if (state.any) {
- // Anything that was given is translated to buffer
- result = this._createEncoderBuffer(data);
- } else if (state.choice) {
- result = this._encodeChoice(data, reporter);
- } else if (state.contains) {
- content = this._getUse(state.contains, parent)._encode(
- data,
- reporter
- );
- primitive = true;
- } else if (state.children) {
- content = state.children
- .map(function (child) {
- if (child._baseState.tag === "null_")
- return child._encode(null, reporter, data);
- if (child._baseState.key === null)
- return reporter.error("Child should have a key");
- var prevKey = reporter.enterKey(child._baseState.key);
- if (typeof data !== "object")
- return reporter.error(
- "Child expected, but input is not object"
- );
- var res = child._encode(
- data[child._baseState.key],
- reporter,
- data
- );
- reporter.leaveKey(prevKey);
- return res;
- }, this)
- .filter(function (child) {
- return child;
- });
- content = this._createEncoderBuffer(content);
- } else {
- if (state.tag === "seqof" || state.tag === "setof") {
- // TODO(indutny): this should be thrown on DSL level
- if (!(state.args && state.args.length === 1))
- return reporter.error("Too many args for : " + state.tag);
- if (!Array.isArray(data))
- return reporter.error("seqof/setof, but data is not Array");
- var child = this.clone();
- child._baseState.implicit = null;
- content = this._createEncoderBuffer(
- data.map(function (item) {
- var state = this._baseState;
- return this._getUse(state.args[0], data)._encode(
- item,
- reporter
- );
- }, child)
- );
- } else if (state.use !== null) {
- result = this._getUse(state.use, parent)._encode(data, reporter);
- } else {
- content = this._encodePrimitive(state.tag, data);
- primitive = true;
- }
- }
- // Encode data itself
- var result;
- if (!state.any && state.choice === null) {
- var tag = state.implicit !== null ? state.implicit : state.tag;
- var cls = state.implicit === null ? "universal" : "context";
- if (tag === null) {
- if (state.use === null)
- reporter.error("Tag could be ommited only for .use()");
- } else {
- if (state.use === null)
- result = this._encodeComposite(tag, primitive, cls, content);
- }
- }
- // Wrap in explicit
- if (state.explicit !== null)
- result = this._encodeComposite(
- state.explicit,
- false,
- "context",
- result
- );
- return result;
- };
- Node.prototype._encodeChoice = function encodeChoice(data, reporter) {
- var state = this._baseState;
- var node = state.choice[data.type];
- if (!node) {
- assert(
- false,
- data.type +
- " not found in " +
- JSON.stringify(Object.keys(state.choice))
- );
- }
- return node._encode(data.value, reporter);
- };
- Node.prototype._encodePrimitive = function encodePrimitive(tag, data) {
- var state = this._baseState;
- if (/str$/.test(tag)) return this._encodeStr(data, tag);
- else if (tag === "objid" && state.args)
- return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);
- else if (tag === "objid") return this._encodeObjid(data, null, null);
- else if (tag === "gentime" || tag === "utctime")
- return this._encodeTime(data, tag);
- else if (tag === "null_") return this._encodeNull();
- else if (tag === "int" || tag === "enum")
- return this._encodeInt(data, state.args && state.reverseArgs[0]);
- else if (tag === "bool") return this._encodeBool(data);
- else if (tag === "objDesc") return this._encodeStr(data, tag);
- else throw new Error("Unsupported tag: " + tag);
- };
- Node.prototype._isNumstr = function isNumstr(str) {
- return /^[0-9 ]*$/.test(str);
- };
- Node.prototype._isPrintstr = function isPrintstr(str) {
- return /^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(str);
- };
- },
- { "../base": 13, "minimalistic-assert": 112 },
- ],
- 15: [
- function (require, module, exports) {
- var inherits = require("inherits");
- function Reporter(options) {
- this._reporterState = {
- obj: null,
- path: [],
- options: options || {},
- errors: [],
- };
- }
- exports.Reporter = Reporter;
- Reporter.prototype.isError = function isError(obj) {
- return obj instanceof ReporterError;
- };
- Reporter.prototype.save = function save() {
- var state = this._reporterState;
- return { obj: state.obj, pathLen: state.path.length };
- };
- Reporter.prototype.restore = function restore(data) {
- var state = this._reporterState;
- state.obj = data.obj;
- state.path = state.path.slice(0, data.pathLen);
- };
- Reporter.prototype.enterKey = function enterKey(key) {
- return this._reporterState.path.push(key);
- };
- Reporter.prototype.exitKey = function exitKey(index) {
- var state = this._reporterState;
- state.path = state.path.slice(0, index - 1);
- };
- Reporter.prototype.leaveKey = function leaveKey(index, key, value) {
- var state = this._reporterState;
- this.exitKey(index);
- if (state.obj !== null) state.obj[key] = value;
- };
- Reporter.prototype.path = function path() {
- return this._reporterState.path.join("/");
- };
- Reporter.prototype.enterObject = function enterObject() {
- var state = this._reporterState;
- var prev = state.obj;
- state.obj = {};
- return prev;
- };
- Reporter.prototype.leaveObject = function leaveObject(prev) {
- var state = this._reporterState;
- var now = state.obj;
- state.obj = prev;
- return now;
- };
- Reporter.prototype.error = function error(msg) {
- var err;
- var state = this._reporterState;
- var inherited = msg instanceof ReporterError;
- if (inherited) {
- err = msg;
- } else {
- err = new ReporterError(
- state.path
- .map(function (elem) {
- return "[" + JSON.stringify(elem) + "]";
- })
- .join(""),
- msg.message || msg,
- msg.stack
- );
- }
- if (!state.options.partial) throw err;
- if (!inherited) state.errors.push(err);
- return err;
- };
- Reporter.prototype.wrapResult = function wrapResult(result) {
- var state = this._reporterState;
- if (!state.options.partial) return result;
- return {
- result: this.isError(result) ? null : result,
- errors: state.errors,
- };
- };
- function ReporterError(path, msg) {
- this.path = path;
- this.rethrow(msg);
- }
- inherits(ReporterError, Error);
- ReporterError.prototype.rethrow = function rethrow(msg) {
- this.message = msg + " at: " + (this.path || "(shallow)");
- if (Error.captureStackTrace)
- Error.captureStackTrace(this, ReporterError);
- if (!this.stack) {
- try {
- // IE only adds stack when thrown
- throw new Error(this.message);
- } catch (e) {
- this.stack = e.stack;
- }
- }
- return this;
- };
- },
- { inherits: 108 },
- ],
- 16: [
- function (require, module, exports) {
- var constants = require("../constants.js");
- exports.tagClass = {
- 0: "universal",
- 1: "application",
- 2: "context",
- 3: "private",
- };
- exports.tagClassByName = constants._reverse(exports.tagClass);
- exports.tag = {
- 0x00: "end",
- 0x01: "bool",
- 0x02: "int",
- 0x03: "bitstr",
- 0x04: "octstr",
- 0x05: "null_",
- 0x06: "objid",
- 0x07: "objDesc",
- 0x08: "external",
- 0x09: "real",
- 0x0a: "enum",
- 0x0b: "embed",
- 0x0c: "utf8str",
- 0x0d: "relativeOid",
- 0x10: "seq",
- 0x11: "set",
- 0x12: "numstr",
- 0x13: "printstr",
- 0x14: "t61str",
- 0x15: "videostr",
- 0x16: "ia5str",
- 0x17: "utctime",
- 0x18: "gentime",
- 0x19: "graphstr",
- 0x1a: "iso646str",
- 0x1b: "genstr",
- 0x1c: "unistr",
- 0x1d: "charstr",
- 0x1e: "bmpstr",
- };
- exports.tagByName = constants._reverse(exports.tag);
- },
- { "../constants": 17 },
- ],
- 17: [
- function (require, module, exports) {
- var constants = exports;
- // Helper
- constants._reverse = function reverse(map) {
- var res = {};
- Object.keys(map).forEach(function (key) {
- // Convert key to integer if it is stringified
- if ((key | 0) == key) key = key | 0;
- var value = map[key];
- res[value] = key;
- });
- return res;
- };
- constants.der = require("./der.js");
- },
- { "./der": 16 },
- ],
- 18: [
- function (require, module, exports) {
- var inherits = require("inherits");
- var asn1 = require("../../asn1.js");
- var base = asn1.base;
- var bignum = asn1.bignum;
- // Import DER constants
- var der = asn1.constants.der;
- function DERDecoder(entity) {
- this.enc = "der";
- this.name = entity.name;
- this.entity = entity;
- // Construct base tree
- this.tree = new DERNode();
- this.tree._init(entity.body);
- }
- module.exports = DERDecoder;
- DERDecoder.prototype.decode = function decode(data, options) {
- if (!(data instanceof base.DecoderBuffer))
- data = new base.DecoderBuffer(data, options);
- return this.tree._decode(data, options);
- };
- // Tree methods
- function DERNode(parent) {
- base.Node.call(this, "der", parent);
- }
- inherits(DERNode, base.Node);
- DERNode.prototype._peekTag = function peekTag(buffer, tag, any) {
- if (buffer.isEmpty()) return false;
- var state = buffer.save();
- var decodedTag = derDecodeTag(
- buffer,
- 'Failed to peek tag: "' + tag + '"'
- );
- if (buffer.isError(decodedTag)) return decodedTag;
- buffer.restore(state);
- return (
- decodedTag.tag === tag ||
- decodedTag.tagStr === tag ||
- decodedTag.tagStr + "of" === tag ||
- any
- );
- };
- DERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {
- var decodedTag = derDecodeTag(
- buffer,
- 'Failed to decode tag of "' + tag + '"'
- );
- if (buffer.isError(decodedTag)) return decodedTag;
- var len = derDecodeLen(
- buffer,
- decodedTag.primitive,
- 'Failed to get length of "' + tag + '"'
- );
- // Failure
- if (buffer.isError(len)) return len;
- if (
- !any &&
- decodedTag.tag !== tag &&
- decodedTag.tagStr !== tag &&
- decodedTag.tagStr + "of" !== tag
- ) {
- return buffer.error('Failed to match tag: "' + tag + '"');
- }
- if (decodedTag.primitive || len !== null)
- return buffer.skip(len, 'Failed to match body of: "' + tag + '"');
- // Indefinite length... find END tag
- var state = buffer.save();
- var res = this._skipUntilEnd(
- buffer,
- 'Failed to skip indefinite length body: "' + this.tag + '"'
- );
- if (buffer.isError(res)) return res;
- len = buffer.offset - state.offset;
- buffer.restore(state);
- return buffer.skip(len, 'Failed to match body of: "' + tag + '"');
- };
- DERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {
- while (true) {
- var tag = derDecodeTag(buffer, fail);
- if (buffer.isError(tag)) return tag;
- var len = derDecodeLen(buffer, tag.primitive, fail);
- if (buffer.isError(len)) return len;
- var res;
- if (tag.primitive || len !== null) res = buffer.skip(len);
- else res = this._skipUntilEnd(buffer, fail);
- // Failure
- if (buffer.isError(res)) return res;
- if (tag.tagStr === "end") break;
- }
- };
- DERNode.prototype._decodeList = function decodeList(
- buffer,
- tag,
- decoder,
- options
- ) {
- var result = [];
- while (!buffer.isEmpty()) {
- var possibleEnd = this._peekTag(buffer, "end");
- if (buffer.isError(possibleEnd)) return possibleEnd;
- var res = decoder.decode(buffer, "der", options);
- if (buffer.isError(res) && possibleEnd) break;
- result.push(res);
- }
- return result;
- };
- DERNode.prototype._decodeStr = function decodeStr(buffer, tag) {
- if (tag === "bitstr") {
- var unused = buffer.readUInt8();
- if (buffer.isError(unused)) return unused;
- return { unused: unused, data: buffer.raw() };
- } else if (tag === "bmpstr") {
- var raw = buffer.raw();
- if (raw.length % 2 === 1)
- return buffer.error(
- "Decoding of string type: bmpstr length mismatch"
- );
- var str = "";
- for (var i = 0; i < raw.length / 2; i++) {
- str += String.fromCharCode(raw.readUInt16BE(i * 2));
- }
- return str;
- } else if (tag === "numstr") {
- var numstr = buffer.raw().toString("ascii");
- if (!this._isNumstr(numstr)) {
- return buffer.error(
- "Decoding of string type: " + "numstr unsupported characters"
- );
- }
- return numstr;
- } else if (tag === "octstr") {
- return buffer.raw();
- } else if (tag === "objDesc") {
- return buffer.raw();
- } else if (tag === "printstr") {
- var printstr = buffer.raw().toString("ascii");
- if (!this._isPrintstr(printstr)) {
- return buffer.error(
- "Decoding of string type: " + "printstr unsupported characters"
- );
- }
- return printstr;
- } else if (/str$/.test(tag)) {
- return buffer.raw().toString();
- } else {
- return buffer.error(
- "Decoding of string type: " + tag + " unsupported"
- );
- }
- };
- DERNode.prototype._decodeObjid = function decodeObjid(
- buffer,
- values,
- relative
- ) {
- var result;
- var identifiers = [];
- var ident = 0;
- while (!buffer.isEmpty()) {
- var subident = buffer.readUInt8();
- ident <<= 7;
- ident |= subident & 0x7f;
- if ((subident & 0x80) === 0) {
- identifiers.push(ident);
- ident = 0;
- }
- }
- if (subident & 0x80) identifiers.push(ident);
- var first = (identifiers[0] / 40) | 0;
- var second = identifiers[0] % 40;
- if (relative) result = identifiers;
- else result = [first, second].concat(identifiers.slice(1));
- if (values) {
- var tmp = values[result.join(" ")];
- if (tmp === undefined) tmp = values[result.join(".")];
- if (tmp !== undefined) result = tmp;
- }
- return result;
- };
- DERNode.prototype._decodeTime = function decodeTime(buffer, tag) {
- var str = buffer.raw().toString();
- if (tag === "gentime") {
- var year = str.slice(0, 4) | 0;
- var mon = str.slice(4, 6) | 0;
- var day = str.slice(6, 8) | 0;
- var hour = str.slice(8, 10) | 0;
- var min = str.slice(10, 12) | 0;
- var sec = str.slice(12, 14) | 0;
- } else if (tag === "utctime") {
- var year = str.slice(0, 2) | 0;
- var mon = str.slice(2, 4) | 0;
- var day = str.slice(4, 6) | 0;
- var hour = str.slice(6, 8) | 0;
- var min = str.slice(8, 10) | 0;
- var sec = str.slice(10, 12) | 0;
- if (year < 70) year = 2000 + year;
- else year = 1900 + year;
- } else {
- return buffer.error(
- "Decoding " + tag + " time is not supported yet"
- );
- }
- return Date.UTC(year, mon - 1, day, hour, min, sec, 0);
- };
- DERNode.prototype._decodeNull = function decodeNull(buffer) {
- return null;
- };
- DERNode.prototype._decodeBool = function decodeBool(buffer) {
- var res = buffer.readUInt8();
- if (buffer.isError(res)) return res;
- else return res !== 0;
- };
- DERNode.prototype._decodeInt = function decodeInt(buffer, values) {
- // Bigint, return as it is (assume big endian)
- var raw = buffer.raw();
- var res = new bignum(raw);
- if (values) res = values[res.toString(10)] || res;
- return res;
- };
- DERNode.prototype._use = function use(entity, obj) {
- if (typeof entity === "function") entity = entity(obj);
- return entity._getDecoder("der").tree;
- };
- // Utility methods
- function derDecodeTag(buf, fail) {
- var tag = buf.readUInt8(fail);
- if (buf.isError(tag)) return tag;
- var cls = der.tagClass[tag >> 6];
- var primitive = (tag & 0x20) === 0;
- // Multi-octet tag - load
- if ((tag & 0x1f) === 0x1f) {
- var oct = tag;
- tag = 0;
- while ((oct & 0x80) === 0x80) {
- oct = buf.readUInt8(fail);
- if (buf.isError(oct)) return oct;
- tag <<= 7;
- tag |= oct & 0x7f;
- }
- } else {
- tag &= 0x1f;
- }
- var tagStr = der.tag[tag];
- return {
- cls: cls,
- primitive: primitive,
- tag: tag,
- tagStr: tagStr,
- };
- }
- function derDecodeLen(buf, primitive, fail) {
- var len = buf.readUInt8(fail);
- if (buf.isError(len)) return len;
- // Indefinite form
- if (!primitive && len === 0x80) return null;
- // Definite form
- if ((len & 0x80) === 0) {
- // Short form
- return len;
- }
- // Long form
- var num = len & 0x7f;
- if (num > 4) return buf.error("length octect is too long");
- len = 0;
- for (var i = 0; i < num; i++) {
- len <<= 8;
- var j = buf.readUInt8(fail);
- if (buf.isError(j)) return j;
- len |= j;
- }
- return len;
- }
- },
- { "../../asn1": 10, inherits: 108 },
- ],
- 19: [
- function (require, module, exports) {
- var decoders = exports;
- decoders.der = require("./der.js");
- decoders.pem = require("./pem.js");
- },
- { "./der": 18, "./pem": 20 },
- ],
- 20: [
- function (require, module, exports) {
- var inherits = require("inherits");
- var Buffer = require("buffer").Buffer;
- var DERDecoder = require("./der.js");
- function PEMDecoder(entity) {
- DERDecoder.call(this, entity);
- this.enc = "pem";
- }
- inherits(PEMDecoder, DERDecoder);
- module.exports = PEMDecoder;
- PEMDecoder.prototype.decode = function decode(data, options) {
- var lines = data.toString().split(/[\r\n]+/g);
- var label = options.label.toUpperCase();
- var re = /^-----(BEGIN|END) ([^-]+)-----$/;
- var start = -1;
- var end = -1;
- for (var i = 0; i < lines.length; i++) {
- var match = lines[i].match(re);
- if (match === null) continue;
- if (match[2] !== label) continue;
- if (start === -1) {
- if (match[1] !== "BEGIN") break;
- start = i;
- } else {
- if (match[1] !== "END") break;
- end = i;
- break;
- }
- }
- if (start === -1 || end === -1)
- throw new Error("PEM section not found for: " + label);
- var base64 = lines.slice(start + 1, end).join("");
- // Remove excessive symbols
- base64.replace(/[^a-z0-9\+\/=]+/gi, "");
- var input = new Buffer(base64, "base64");
- return DERDecoder.prototype.decode.call(this, input, options);
- };
- },
- { "./der": 18, buffer: 54, inherits: 108 },
- ],
- 21: [
- function (require, module, exports) {
- var inherits = require("inherits");
- var Buffer = require("buffer").Buffer;
- var asn1 = require("../../asn1.js");
- var base = asn1.base;
- // Import DER constants
- var der = asn1.constants.der;
- function DEREncoder(entity) {
- this.enc = "der";
- this.name = entity.name;
- this.entity = entity;
- // Construct base tree
- this.tree = new DERNode();
- this.tree._init(entity.body);
- }
- module.exports = DEREncoder;
- DEREncoder.prototype.encode = function encode(data, reporter) {
- return this.tree._encode(data, reporter).join();
- };
- // Tree methods
- function DERNode(parent) {
- base.Node.call(this, "der", parent);
- }
- inherits(DERNode, base.Node);
- DERNode.prototype._encodeComposite = function encodeComposite(
- tag,
- primitive,
- cls,
- content
- ) {
- var encodedTag = encodeTag(tag, primitive, cls, this.reporter);
- // Short form
- if (content.length < 0x80) {
- var header = new Buffer(2);
- header[0] = encodedTag;
- header[1] = content.length;
- return this._createEncoderBuffer([header, content]);
- }
- // Long form
- // Count octets required to store length
- var lenOctets = 1;
- for (var i = content.length; i >= 0x100; i >>= 8) lenOctets++;
- var header = new Buffer(1 + 1 + lenOctets);
- header[0] = encodedTag;
- header[1] = 0x80 | lenOctets;
- for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)
- header[i] = j & 0xff;
- return this._createEncoderBuffer([header, content]);
- };
- DERNode.prototype._encodeStr = function encodeStr(str, tag) {
- if (tag === "bitstr") {
- return this._createEncoderBuffer([str.unused | 0, str.data]);
- } else if (tag === "bmpstr") {
- var buf = new Buffer(str.length * 2);
- for (var i = 0; i < str.length; i++) {
- buf.writeUInt16BE(str.charCodeAt(i), i * 2);
- }
- return this._createEncoderBuffer(buf);
- } else if (tag === "numstr") {
- if (!this._isNumstr(str)) {
- return this.reporter.error(
- "Encoding of string type: numstr supports " +
- "only digits and space"
- );
- }
- return this._createEncoderBuffer(str);
- } else if (tag === "printstr") {
- if (!this._isPrintstr(str)) {
- return this.reporter.error(
- "Encoding of string type: printstr supports " +
- "only latin upper and lower case letters, " +
- "digits, space, apostrophe, left and rigth " +
- "parenthesis, plus sign, comma, hyphen, " +
- "dot, slash, colon, equal sign, " +
- "question mark"
- );
- }
- return this._createEncoderBuffer(str);
- } else if (/str$/.test(tag)) {
- return this._createEncoderBuffer(str);
- } else if (tag === "objDesc") {
- return this._createEncoderBuffer(str);
- } else {
- return this.reporter.error(
- "Encoding of string type: " + tag + " unsupported"
- );
- }
- };
- DERNode.prototype._encodeObjid = function encodeObjid(
- id,
- values,
- relative
- ) {
- if (typeof id === "string") {
- if (!values)
- return this.reporter.error(
- "string objid given, but no values map found"
- );
- if (!values.hasOwnProperty(id))
- return this.reporter.error("objid not found in values map");
- id = values[id].split(/[\s\.]+/g);
- for (var i = 0; i < id.length; i++) id[i] |= 0;
- } else if (Array.isArray(id)) {
- id = id.slice();
- for (var i = 0; i < id.length; i++) id[i] |= 0;
- }
- if (!Array.isArray(id)) {
- return this.reporter.error(
- "objid() should be either array or string, " +
- "got: " +
- JSON.stringify(id)
- );
- }
- if (!relative) {
- if (id[1] >= 40)
- return this.reporter.error("Second objid identifier OOB");
- id.splice(0, 2, id[0] * 40 + id[1]);
- }
- // Count number of octets
- var size = 0;
- for (var i = 0; i < id.length; i++) {
- var ident = id[i];
- for (size++; ident >= 0x80; ident >>= 7) size++;
- }
- var objid = new Buffer(size);
- var offset = objid.length - 1;
- for (var i = id.length - 1; i >= 0; i--) {
- var ident = id[i];
- objid[offset--] = ident & 0x7f;
- while ((ident >>= 7) > 0) objid[offset--] = 0x80 | (ident & 0x7f);
- }
- return this._createEncoderBuffer(objid);
- };
- function two(num) {
- if (num < 10) return "0" + num;
- else return num;
- }
- DERNode.prototype._encodeTime = function encodeTime(time, tag) {
- var str;
- var date = new Date(time);
- if (tag === "gentime") {
- str = [
- two(date.getFullYear()),
- two(date.getUTCMonth() + 1),
- two(date.getUTCDate()),
- two(date.getUTCHours()),
- two(date.getUTCMinutes()),
- two(date.getUTCSeconds()),
- "Z",
- ].join("");
- } else if (tag === "utctime") {
- str = [
- two(date.getFullYear() % 100),
- two(date.getUTCMonth() + 1),
- two(date.getUTCDate()),
- two(date.getUTCHours()),
- two(date.getUTCMinutes()),
- two(date.getUTCSeconds()),
- "Z",
- ].join("");
- } else {
- this.reporter.error(
- "Encoding " + tag + " time is not supported yet"
- );
- }
- return this._encodeStr(str, "octstr");
- };
- DERNode.prototype._encodeNull = function encodeNull() {
- return this._createEncoderBuffer("");
- };
- DERNode.prototype._encodeInt = function encodeInt(num, values) {
- if (typeof num === "string") {
- if (!values)
- return this.reporter.error(
- "String int or enum given, but no values map"
- );
- if (!values.hasOwnProperty(num)) {
- return this.reporter.error(
- "Values map doesn't contain: " + JSON.stringify(num)
- );
- }
- num = values[num];
- }
- // Bignum, assume big endian
- if (typeof num !== "number" && !Buffer.isBuffer(num)) {
- var numArray = num.toArray();
- if (!num.sign && numArray[0] & 0x80) {
- numArray.unshift(0);
- }
- num = new Buffer(numArray);
- }
- if (Buffer.isBuffer(num)) {
- var size = num.length;
- if (num.length === 0) size++;
- var out = new Buffer(size);
- num.copy(out);
- if (num.length === 0) out[0] = 0;
- return this._createEncoderBuffer(out);
- }
- if (num < 0x80) return this._createEncoderBuffer(num);
- if (num < 0x100) return this._createEncoderBuffer([0, num]);
- var size = 1;
- for (var i = num; i >= 0x100; i >>= 8) size++;
- var out = new Array(size);
- for (var i = out.length - 1; i >= 0; i--) {
- out[i] = num & 0xff;
- num >>= 8;
- }
- if (out[0] & 0x80) {
- out.unshift(0);
- }
- return this._createEncoderBuffer(new Buffer(out));
- };
- DERNode.prototype._encodeBool = function encodeBool(value) {
- return this._createEncoderBuffer(value ? 0xff : 0);
- };
- DERNode.prototype._use = function use(entity, obj) {
- if (typeof entity === "function") entity = entity(obj);
- return entity._getEncoder("der").tree;
- };
- DERNode.prototype._skipDefault = function skipDefault(
- dataBuffer,
- reporter,
- parent
- ) {
- var state = this._baseState;
- var i;
- if (state["default"] === null) return false;
- var data = dataBuffer.join();
- if (state.defaultBuffer === undefined)
- state.defaultBuffer = this._encodeValue(
- state["default"],
- reporter,
- parent
- ).join();
- if (data.length !== state.defaultBuffer.length) return false;
- for (i = 0; i < data.length; i++)
- if (data[i] !== state.defaultBuffer[i]) return false;
- return true;
- };
- // Utility methods
- function encodeTag(tag, primitive, cls, reporter) {
- var res;
- if (tag === "seqof") tag = "seq";
- else if (tag === "setof") tag = "set";
- if (der.tagByName.hasOwnProperty(tag)) res = der.tagByName[tag];
- else if (typeof tag === "number" && (tag | 0) === tag) res = tag;
- else return reporter.error("Unknown tag: " + tag);
- if (res >= 0x1f)
- return reporter.error("Multi-octet tag encoding unsupported");
- if (!primitive) res |= 0x20;
- res |= der.tagClassByName[cls || "universal"] << 6;
- return res;
- }
- },
- { "../../asn1": 10, buffer: 54, inherits: 108 },
- ],
- 22: [
- function (require, module, exports) {
- var encoders = exports;
- encoders.der = require("./der.js");
- encoders.pem = require("./pem.js");
- },
- { "./der": 21, "./pem": 23 },
- ],
- 23: [
- function (require, module, exports) {
- var inherits = require("inherits");
- var DEREncoder = require("./der.js");
- function PEMEncoder(entity) {
- DEREncoder.call(this, entity);
- this.enc = "pem";
- }
- inherits(PEMEncoder, DEREncoder);
- module.exports = PEMEncoder;
- PEMEncoder.prototype.encode = function encode(data, options) {
- var buf = DEREncoder.prototype.encode.call(this, data);
- var p = buf.toString("base64");
- var out = ["-----BEGIN " + options.label + "-----"];
- for (var i = 0; i < p.length; i += 64) out.push(p.slice(i, i + 64));
- out.push("-----END " + options.label + "-----");
- return out.join("\n");
- };
- },
- { "./der": 21, inherits: 108 },
- ],
- 24: [
- function (require, module, exports) {
- "use strict";
- exports.byteLength = byteLength;
- exports.toByteArray = toByteArray;
- exports.fromByteArray = fromByteArray;
- var lookup = [];
- var revLookup = [];
- var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
- var code =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- for (var i = 0, len = code.length; i < len; ++i) {
- lookup[i] = code[i];
- revLookup[code.charCodeAt(i)] = i;
- }
- revLookup["-".charCodeAt(0)] = 62;
- revLookup["_".charCodeAt(0)] = 63;
- function placeHoldersCount(b64) {
- var len = b64.length;
- if (len % 4 > 0) {
- throw new Error("Invalid string. Length must be a multiple of 4");
- }
- // the number of equal signs (place holders)
- // if there are two placeholders, than the two characters before it
- // represent one byte
- // if there is only one, then the three characters before it represent 2 bytes
- // this is just a cheap hack to not do indexOf twice
- return b64[len - 2] === "=" ? 2 : b64[len - 1] === "=" ? 1 : 0;
- }
- function byteLength(b64) {
- // base64 is 4/3 + up to two characters of the original data
- return (b64.length * 3) / 4 - placeHoldersCount(b64);
- }
- function toByteArray(b64) {
- var i, l, tmp, placeHolders, arr;
- var len = b64.length;
- placeHolders = placeHoldersCount(b64);
- arr = new Arr((len * 3) / 4 - placeHolders);
- // if there are placeholders, only get up to the last complete 4 chars
- l = placeHolders > 0 ? len - 4 : len;
- var L = 0;
- for (i = 0; i < l; i += 4) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 18) |
- (revLookup[b64.charCodeAt(i + 1)] << 12) |
- (revLookup[b64.charCodeAt(i + 2)] << 6) |
- revLookup[b64.charCodeAt(i + 3)];
- arr[L++] = (tmp >> 16) & 0xff;
- arr[L++] = (tmp >> 8) & 0xff;
- arr[L++] = tmp & 0xff;
- }
- if (placeHolders === 2) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 2) |
- (revLookup[b64.charCodeAt(i + 1)] >> 4);
- arr[L++] = tmp & 0xff;
- } else if (placeHolders === 1) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 10) |
- (revLookup[b64.charCodeAt(i + 1)] << 4) |
- (revLookup[b64.charCodeAt(i + 2)] >> 2);
- arr[L++] = (tmp >> 8) & 0xff;
- arr[L++] = tmp & 0xff;
- }
- return arr;
- }
- function tripletToBase64(num) {
- return (
- lookup[(num >> 18) & 0x3f] +
- lookup[(num >> 12) & 0x3f] +
- lookup[(num >> 6) & 0x3f] +
- lookup[num & 0x3f]
- );
- }
- function encodeChunk(uint8, start, end) {
- var tmp;
- var output = [];
- for (var i = start; i < end; i += 3) {
- tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + uint8[i + 2];
- output.push(tripletToBase64(tmp));
- }
- return output.join("");
- }
- function fromByteArray(uint8) {
- var tmp;
- var len = uint8.length;
- var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes
- var output = "";
- var parts = [];
- var maxChunkLength = 16383; // must be multiple of 3
- // go through the array every three bytes, we'll deal with trailing stuff later
- for (
- var i = 0, len2 = len - extraBytes;
- i < len2;
- i += maxChunkLength
- ) {
- parts.push(
- encodeChunk(
- uint8,
- i,
- i + maxChunkLength > len2 ? len2 : i + maxChunkLength
- )
- );
- }
- // pad the end with zeros, but make sure to not forget the extra bytes
- if (extraBytes === 1) {
- tmp = uint8[len - 1];
- output += lookup[tmp >> 2];
- output += lookup[(tmp << 4) & 0x3f];
- output += "==";
- } else if (extraBytes === 2) {
- tmp = (uint8[len - 2] << 8) + uint8[len - 1];
- output += lookup[tmp >> 10];
- output += lookup[(tmp >> 4) & 0x3f];
- output += lookup[(tmp << 2) & 0x3f];
- output += "=";
- }
- parts.push(output);
- return parts.join("");
- }
- },
- {},
- ],
- 25: [
- function (require, module, exports) {
- (function (module, exports) {
- "use strict";
- // Utils
- function assert(val, msg) {
- if (!val) throw new Error(msg || "Assertion failed");
- }
- // Could use `inherits` module, but don't want to move from single file
- // architecture yet.
- function inherits(ctor, superCtor) {
- ctor.super_ = superCtor;
- var TempCtor = function () {};
- TempCtor.prototype = superCtor.prototype;
- ctor.prototype = new TempCtor();
- ctor.prototype.constructor = ctor;
- }
- // BN
- function BN(number, base, endian) {
- if (BN.isBN(number)) {
- return number;
- }
- this.negative = 0;
- this.words = null;
- this.length = 0;
- // Reduction context
- this.red = null;
- if (number !== null) {
- if (base === "le" || base === "be") {
- endian = base;
- base = 10;
- }
- this._init(number || 0, base || 10, endian || "be");
- }
- }
- if (typeof module === "object") {
- module.exports = BN;
- } else {
- exports.BN = BN;
- }
- BN.BN = BN;
- BN.wordSize = 26;
- var Buffer;
- try {
- Buffer = require("buffer").Buffer;
- } catch (e) {}
- BN.isBN = function isBN(num) {
- if (num instanceof BN) {
- return true;
- }
- return (
- num !== null &&
- typeof num === "object" &&
- num.constructor.wordSize === BN.wordSize &&
- Array.isArray(num.words)
- );
- };
- BN.max = function max(left, right) {
- if (left.cmp(right) > 0) return left;
- return right;
- };
- BN.min = function min(left, right) {
- if (left.cmp(right) < 0) return left;
- return right;
- };
- BN.prototype._init = function init(number, base, endian) {
- if (typeof number === "number") {
- return this._initNumber(number, base, endian);
- }
- if (typeof number === "object") {
- return this._initArray(number, base, endian);
- }
- if (base === "hex") {
- base = 16;
- }
- assert(base === (base | 0) && base >= 2 && base <= 36);
- number = number.toString().replace(/\s+/g, "");
- var start = 0;
- if (number[0] === "-") {
- start++;
- }
- if (base === 16) {
- this._parseHex(number, start);
- } else {
- this._parseBase(number, base, start);
- }
- if (number[0] === "-") {
- this.negative = 1;
- }
- this.strip();
- if (endian !== "le") return;
- this._initArray(this.toArray(), base, endian);
- };
- BN.prototype._initNumber = function _initNumber(
- number,
- base,
- endian
- ) {
- if (number < 0) {
- this.negative = 1;
- number = -number;
- }
- if (number < 0x4000000) {
- this.words = [number & 0x3ffffff];
- this.length = 1;
- } else if (number < 0x10000000000000) {
- this.words = [
- number & 0x3ffffff,
- (number / 0x4000000) & 0x3ffffff,
- ];
- this.length = 2;
- } else {
- assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)
- this.words = [
- number & 0x3ffffff,
- (number / 0x4000000) & 0x3ffffff,
- 1,
- ];
- this.length = 3;
- }
- if (endian !== "le") return;
- // Reverse the bytes
- this._initArray(this.toArray(), base, endian);
- };
- BN.prototype._initArray = function _initArray(number, base, endian) {
- // Perhaps a Uint8Array
- assert(typeof number.length === "number");
- if (number.length <= 0) {
- this.words = [0];
- this.length = 1;
- return this;
- }
- this.length = Math.ceil(number.length / 3);
- this.words = new Array(this.length);
- for (var i = 0; i < this.length; i++) {
- this.words[i] = 0;
- }
- var j, w;
- var off = 0;
- if (endian === "be") {
- for (i = number.length - 1, j = 0; i >= 0; i -= 3) {
- w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);
- this.words[j] |= (w << off) & 0x3ffffff;
- this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;
- off += 24;
- if (off >= 26) {
- off -= 26;
- j++;
- }
- }
- } else if (endian === "le") {
- for (i = 0, j = 0; i < number.length; i += 3) {
- w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);
- this.words[j] |= (w << off) & 0x3ffffff;
- this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;
- off += 24;
- if (off >= 26) {
- off -= 26;
- j++;
- }
- }
- }
- return this.strip();
- };
- function parseHex(str, start, end) {
- var r = 0;
- var len = Math.min(str.length, end);
- for (var i = start; i < len; i++) {
- var c = str.charCodeAt(i) - 48;
- r <<= 4;
- // 'a' - 'f'
- if (c >= 49 && c <= 54) {
- r |= c - 49 + 0xa;
- // 'A' - 'F'
- } else if (c >= 17 && c <= 22) {
- r |= c - 17 + 0xa;
- // '0' - '9'
- } else {
- r |= c & 0xf;
- }
- }
- return r;
- }
- BN.prototype._parseHex = function _parseHex(number, start) {
- // Create possibly bigger array to ensure that it fits the number
- this.length = Math.ceil((number.length - start) / 6);
- this.words = new Array(this.length);
- for (var i = 0; i < this.length; i++) {
- this.words[i] = 0;
- }
- var j, w;
- // Scan 24-bit chunks and add them to the number
- var off = 0;
- for (i = number.length - 6, j = 0; i >= start; i -= 6) {
- w = parseHex(number, i, i + 6);
- this.words[j] |= (w << off) & 0x3ffffff;
- // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb
- this.words[j + 1] |= (w >>> (26 - off)) & 0x3fffff;
- off += 24;
- if (off >= 26) {
- off -= 26;
- j++;
- }
- }
- if (i + 6 !== start) {
- w = parseHex(number, start, i + 6);
- this.words[j] |= (w << off) & 0x3ffffff;
- this.words[j + 1] |= (w >>> (26 - off)) & 0x3fffff;
- }
- this.strip();
- };
- function parseBase(str, start, end, mul) {
- var r = 0;
- var len = Math.min(str.length, end);
- for (var i = start; i < len; i++) {
- var c = str.charCodeAt(i) - 48;
- r *= mul;
- // 'a'
- if (c >= 49) {
- r += c - 49 + 0xa;
- // 'A'
- } else if (c >= 17) {
- r += c - 17 + 0xa;
- // '0' - '9'
- } else {
- r += c;
- }
- }
- return r;
- }
- BN.prototype._parseBase = function _parseBase(number, base, start) {
- // Initialize as zero
- this.words = [0];
- this.length = 1;
- // Find length of limb in base
- for (
- var limbLen = 0, limbPow = 1;
- limbPow <= 0x3ffffff;
- limbPow *= base
- ) {
- limbLen++;
- }
- limbLen--;
- limbPow = (limbPow / base) | 0;
- var total = number.length - start;
- var mod = total % limbLen;
- var end = Math.min(total, total - mod) + start;
- var word = 0;
- for (var i = start; i < end; i += limbLen) {
- word = parseBase(number, i, i + limbLen, base);
- this.imuln(limbPow);
- if (this.words[0] + word < 0x4000000) {
- this.words[0] += word;
- } else {
- this._iaddn(word);
- }
- }
- if (mod !== 0) {
- var pow = 1;
- word = parseBase(number, i, number.length, base);
- for (i = 0; i < mod; i++) {
- pow *= base;
- }
- this.imuln(pow);
- if (this.words[0] + word < 0x4000000) {
- this.words[0] += word;
- } else {
- this._iaddn(word);
- }
- }
- };
- BN.prototype.copy = function copy(dest) {
- dest.words = new Array(this.length);
- for (var i = 0; i < this.length; i++) {
- dest.words[i] = this.words[i];
- }
- dest.length = this.length;
- dest.negative = this.negative;
- dest.red = this.red;
- };
- BN.prototype.clone = function clone() {
- var r = new BN(null);
- this.copy(r);
- return r;
- };
- BN.prototype._expand = function _expand(size) {
- while (this.length < size) {
- this.words[this.length++] = 0;
- }
- return this;
- };
- // Remove leading `0` from `this`
- BN.prototype.strip = function strip() {
- while (this.length > 1 && this.words[this.length - 1] === 0) {
- this.length--;
- }
- return this._normSign();
- };
- BN.prototype._normSign = function _normSign() {
- // -0 = 0
- if (this.length === 1 && this.words[0] === 0) {
- this.negative = 0;
- }
- return this;
- };
- BN.prototype.inspect = function inspect() {
- return (this.red ? "<BN-R: " : "<BN: ") + this.toString(16) + ">";
- };
- /*
- var zeros = [];
- var groupSizes = [];
- var groupBases = [];
- var s = '';
- var i = -1;
- while (++i < BN.wordSize) {
- zeros[i] = s;
- s += '0';
- }
- groupSizes[0] = 0;
- groupSizes[1] = 0;
- groupBases[0] = 0;
- groupBases[1] = 0;
- var base = 2 - 1;
- while (++base < 36 + 1) {
- var groupSize = 0;
- var groupBase = 1;
- while (groupBase < (1 << BN.wordSize) / base) {
- groupBase *= base;
- groupSize += 1;
- }
- groupSizes[base] = groupSize;
- groupBases[base] = groupBase;
- }
- */
- var zeros = [
- "",
- "0",
- "00",
- "000",
- "0000",
- "00000",
- "000000",
- "0000000",
- "00000000",
- "000000000",
- "0000000000",
- "00000000000",
- "000000000000",
- "0000000000000",
- "00000000000000",
- "000000000000000",
- "0000000000000000",
- "00000000000000000",
- "000000000000000000",
- "0000000000000000000",
- "00000000000000000000",
- "000000000000000000000",
- "0000000000000000000000",
- "00000000000000000000000",
- "000000000000000000000000",
- "0000000000000000000000000",
- ];
- var groupSizes = [
- 0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- ];
- var groupBases = [
- 0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607,
- 16777216, 43046721, 10000000, 19487171, 35831808, 62748517, 7529536,
- 11390625, 16777216, 24137569, 34012224, 47045881, 64000000, 4084101,
- 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368,
- 20511149, 24300000, 28629151, 33554432, 39135393, 45435424,
- 52521875, 60466176,
- ];
- BN.prototype.toString = function toString(base, padding) {
- base = base || 10;
- padding = padding | 0 || 1;
- var out;
- if (base === 16 || base === "hex") {
- out = "";
- var off = 0;
- var carry = 0;
- for (var i = 0; i < this.length; i++) {
- var w = this.words[i];
- var word = (((w << off) | carry) & 0xffffff).toString(16);
- carry = (w >>> (24 - off)) & 0xffffff;
- if (carry !== 0 || i !== this.length - 1) {
- out = zeros[6 - word.length] + word + out;
- } else {
- out = word + out;
- }
- off += 2;
- if (off >= 26) {
- off -= 26;
- i--;
- }
- }
- if (carry !== 0) {
- out = carry.toString(16) + out;
- }
- while (out.length % padding !== 0) {
- out = "0" + out;
- }
- if (this.negative !== 0) {
- out = "-" + out;
- }
- return out;
- }
- if (base === (base | 0) && base >= 2 && base <= 36) {
- // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));
- var groupSize = groupSizes[base];
- // var groupBase = Math.pow(base, groupSize);
- var groupBase = groupBases[base];
- out = "";
- var c = this.clone();
- c.negative = 0;
- while (!c.isZero()) {
- var r = c.modn(groupBase).toString(base);
- c = c.idivn(groupBase);
- if (!c.isZero()) {
- out = zeros[groupSize - r.length] + r + out;
- } else {
- out = r + out;
- }
- }
- if (this.isZero()) {
- out = "0" + out;
- }
- while (out.length % padding !== 0) {
- out = "0" + out;
- }
- if (this.negative !== 0) {
- out = "-" + out;
- }
- return out;
- }
- assert(false, "Base should be between 2 and 36");
- };
- BN.prototype.toNumber = function toNumber() {
- var ret = this.words[0];
- if (this.length === 2) {
- ret += this.words[1] * 0x4000000;
- } else if (this.length === 3 && this.words[2] === 0x01) {
- // NOTE: at this stage it is known that the top bit is set
- ret += 0x10000000000000 + this.words[1] * 0x4000000;
- } else if (this.length > 2) {
- assert(false, "Number can only safely store up to 53 bits");
- }
- return this.negative !== 0 ? -ret : ret;
- };
- BN.prototype.toJSON = function toJSON() {
- return this.toString(16);
- };
- BN.prototype.toBuffer = function toBuffer(endian, length) {
- assert(typeof Buffer !== "undefined");
- return this.toArrayLike(Buffer, endian, length);
- };
- BN.prototype.toArray = function toArray(endian, length) {
- return this.toArrayLike(Array, endian, length);
- };
- BN.prototype.toArrayLike = function toArrayLike(
- ArrayType,
- endian,
- length
- ) {
- var byteLength = this.byteLength();
- var reqLength = length || Math.max(1, byteLength);
- assert(
- byteLength <= reqLength,
- "byte array longer than desired length"
- );
- assert(reqLength > 0, "Requested array length <= 0");
- this.strip();
- var littleEndian = endian === "le";
- var res = new ArrayType(reqLength);
- var b, i;
- var q = this.clone();
- if (!littleEndian) {
- // Assume big-endian
- for (i = 0; i < reqLength - byteLength; i++) {
- res[i] = 0;
- }
- for (i = 0; !q.isZero(); i++) {
- b = q.andln(0xff);
- q.iushrn(8);
- res[reqLength - i - 1] = b;
- }
- } else {
- for (i = 0; !q.isZero(); i++) {
- b = q.andln(0xff);
- q.iushrn(8);
- res[i] = b;
- }
- for (; i < reqLength; i++) {
- res[i] = 0;
- }
- }
- return res;
- };
- if (Math.clz32) {
- BN.prototype._countBits = function _countBits(w) {
- return 32 - Math.clz32(w);
- };
- } else {
- BN.prototype._countBits = function _countBits(w) {
- var t = w;
- var r = 0;
- if (t >= 0x1000) {
- r += 13;
- t >>>= 13;
- }
- if (t >= 0x40) {
- r += 7;
- t >>>= 7;
- }
- if (t >= 0x8) {
- r += 4;
- t >>>= 4;
- }
- if (t >= 0x02) {
- r += 2;
- t >>>= 2;
- }
- return r + t;
- };
- }
- BN.prototype._zeroBits = function _zeroBits(w) {
- // Short-cut
- if (w === 0) return 26;
- var t = w;
- var r = 0;
- if ((t & 0x1fff) === 0) {
- r += 13;
- t >>>= 13;
- }
- if ((t & 0x7f) === 0) {
- r += 7;
- t >>>= 7;
- }
- if ((t & 0xf) === 0) {
- r += 4;
- t >>>= 4;
- }
- if ((t & 0x3) === 0) {
- r += 2;
- t >>>= 2;
- }
- if ((t & 0x1) === 0) {
- r++;
- }
- return r;
- };
- // Return number of used bits in a BN
- BN.prototype.bitLength = function bitLength() {
- var w = this.words[this.length - 1];
- var hi = this._countBits(w);
- return (this.length - 1) * 26 + hi;
- };
- function toBitArray(num) {
- var w = new Array(num.bitLength());
- for (var bit = 0; bit < w.length; bit++) {
- var off = (bit / 26) | 0;
- var wbit = bit % 26;
- w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;
- }
- return w;
- }
- // Number of trailing zero bits
- BN.prototype.zeroBits = function zeroBits() {
- if (this.isZero()) return 0;
- var r = 0;
- for (var i = 0; i < this.length; i++) {
- var b = this._zeroBits(this.words[i]);
- r += b;
- if (b !== 26) break;
- }
- return r;
- };
- BN.prototype.byteLength = function byteLength() {
- return Math.ceil(this.bitLength() / 8);
- };
- BN.prototype.toTwos = function toTwos(width) {
- if (this.negative !== 0) {
- return this.abs().inotn(width).iaddn(1);
- }
- return this.clone();
- };
- BN.prototype.fromTwos = function fromTwos(width) {
- if (this.testn(width - 1)) {
- return this.notn(width).iaddn(1).ineg();
- }
- return this.clone();
- };
- BN.prototype.isNeg = function isNeg() {
- return this.negative !== 0;
- };
- // Return negative clone of `this`
- BN.prototype.neg = function neg() {
- return this.clone().ineg();
- };
- BN.prototype.ineg = function ineg() {
- if (!this.isZero()) {
- this.negative ^= 1;
- }
- return this;
- };
- // Or `num` with `this` in-place
- BN.prototype.iuor = function iuor(num) {
- while (this.length < num.length) {
- this.words[this.length++] = 0;
- }
- for (var i = 0; i < num.length; i++) {
- this.words[i] = this.words[i] | num.words[i];
- }
- return this.strip();
- };
- BN.prototype.ior = function ior(num) {
- assert((this.negative | num.negative) === 0);
- return this.iuor(num);
- };
- // Or `num` with `this`
- BN.prototype.or = function or(num) {
- if (this.length > num.length) return this.clone().ior(num);
- return num.clone().ior(this);
- };
- BN.prototype.uor = function uor(num) {
- if (this.length > num.length) return this.clone().iuor(num);
- return num.clone().iuor(this);
- };
- // And `num` with `this` in-place
- BN.prototype.iuand = function iuand(num) {
- // b = min-length(num, this)
- var b;
- if (this.length > num.length) {
- b = num;
- } else {
- b = this;
- }
- for (var i = 0; i < b.length; i++) {
- this.words[i] = this.words[i] & num.words[i];
- }
- this.length = b.length;
- return this.strip();
- };
- BN.prototype.iand = function iand(num) {
- assert((this.negative | num.negative) === 0);
- return this.iuand(num);
- };
- // And `num` with `this`
- BN.prototype.and = function and(num) {
- if (this.length > num.length) return this.clone().iand(num);
- return num.clone().iand(this);
- };
- BN.prototype.uand = function uand(num) {
- if (this.length > num.length) return this.clone().iuand(num);
- return num.clone().iuand(this);
- };
- // Xor `num` with `this` in-place
- BN.prototype.iuxor = function iuxor(num) {
- // a.length > b.length
- var a;
- var b;
- if (this.length > num.length) {
- a = this;
- b = num;
- } else {
- a = num;
- b = this;
- }
- for (var i = 0; i < b.length; i++) {
- this.words[i] = a.words[i] ^ b.words[i];
- }
- if (this !== a) {
- for (; i < a.length; i++) {
- this.words[i] = a.words[i];
- }
- }
- this.length = a.length;
- return this.strip();
- };
- BN.prototype.ixor = function ixor(num) {
- assert((this.negative | num.negative) === 0);
- return this.iuxor(num);
- };
- // Xor `num` with `this`
- BN.prototype.xor = function xor(num) {
- if (this.length > num.length) return this.clone().ixor(num);
- return num.clone().ixor(this);
- };
- BN.prototype.uxor = function uxor(num) {
- if (this.length > num.length) return this.clone().iuxor(num);
- return num.clone().iuxor(this);
- };
- // Not ``this`` with ``width`` bitwidth
- BN.prototype.inotn = function inotn(width) {
- assert(typeof width === "number" && width >= 0);
- var bytesNeeded = Math.ceil(width / 26) | 0;
- var bitsLeft = width % 26;
- // Extend the buffer with leading zeroes
- this._expand(bytesNeeded);
- if (bitsLeft > 0) {
- bytesNeeded--;
- }
- // Handle complete words
- for (var i = 0; i < bytesNeeded; i++) {
- this.words[i] = ~this.words[i] & 0x3ffffff;
- }
- // Handle the residue
- if (bitsLeft > 0) {
- this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));
- }
- // And remove leading zeroes
- return this.strip();
- };
- BN.prototype.notn = function notn(width) {
- return this.clone().inotn(width);
- };
- // Set `bit` of `this`
- BN.prototype.setn = function setn(bit, val) {
- assert(typeof bit === "number" && bit >= 0);
- var off = (bit / 26) | 0;
- var wbit = bit % 26;
- this._expand(off + 1);
- if (val) {
- this.words[off] = this.words[off] | (1 << wbit);
- } else {
- this.words[off] = this.words[off] & ~(1 << wbit);
- }
- return this.strip();
- };
- // Add `num` to `this` in-place
- BN.prototype.iadd = function iadd(num) {
- var r;
- // negative + positive
- if (this.negative !== 0 && num.negative === 0) {
- this.negative = 0;
- r = this.isub(num);
- this.negative ^= 1;
- return this._normSign();
- // positive + negative
- } else if (this.negative === 0 && num.negative !== 0) {
- num.negative = 0;
- r = this.isub(num);
- num.negative = 1;
- return r._normSign();
- }
- // a.length > b.length
- var a, b;
- if (this.length > num.length) {
- a = this;
- b = num;
- } else {
- a = num;
- b = this;
- }
- var carry = 0;
- for (var i = 0; i < b.length; i++) {
- r = (a.words[i] | 0) + (b.words[i] | 0) + carry;
- this.words[i] = r & 0x3ffffff;
- carry = r >>> 26;
- }
- for (; carry !== 0 && i < a.length; i++) {
- r = (a.words[i] | 0) + carry;
- this.words[i] = r & 0x3ffffff;
- carry = r >>> 26;
- }
- this.length = a.length;
- if (carry !== 0) {
- this.words[this.length] = carry;
- this.length++;
- // Copy the rest of the words
- } else if (a !== this) {
- for (; i < a.length; i++) {
- this.words[i] = a.words[i];
- }
- }
- return this;
- };
- // Add `num` to `this`
- BN.prototype.add = function add(num) {
- var res;
- if (num.negative !== 0 && this.negative === 0) {
- num.negative = 0;
- res = this.sub(num);
- num.negative ^= 1;
- return res;
- } else if (num.negative === 0 && this.negative !== 0) {
- this.negative = 0;
- res = num.sub(this);
- this.negative = 1;
- return res;
- }
- if (this.length > num.length) return this.clone().iadd(num);
- return num.clone().iadd(this);
- };
- // Subtract `num` from `this` in-place
- BN.prototype.isub = function isub(num) {
- // this - (-num) = this + num
- if (num.negative !== 0) {
- num.negative = 0;
- var r = this.iadd(num);
- num.negative = 1;
- return r._normSign();
- // -this - num = -(this + num)
- } else if (this.negative !== 0) {
- this.negative = 0;
- this.iadd(num);
- this.negative = 1;
- return this._normSign();
- }
- // At this point both numbers are positive
- var cmp = this.cmp(num);
- // Optimization - zeroify
- if (cmp === 0) {
- this.negative = 0;
- this.length = 1;
- this.words[0] = 0;
- return this;
- }
- // a > b
- var a, b;
- if (cmp > 0) {
- a = this;
- b = num;
- } else {
- a = num;
- b = this;
- }
- var carry = 0;
- for (var i = 0; i < b.length; i++) {
- r = (a.words[i] | 0) - (b.words[i] | 0) + carry;
- carry = r >> 26;
- this.words[i] = r & 0x3ffffff;
- }
- for (; carry !== 0 && i < a.length; i++) {
- r = (a.words[i] | 0) + carry;
- carry = r >> 26;
- this.words[i] = r & 0x3ffffff;
- }
- // Copy rest of the words
- if (carry === 0 && i < a.length && a !== this) {
- for (; i < a.length; i++) {
- this.words[i] = a.words[i];
- }
- }
- this.length = Math.max(this.length, i);
- if (a !== this) {
- this.negative = 1;
- }
- return this.strip();
- };
- // Subtract `num` from `this`
- BN.prototype.sub = function sub(num) {
- return this.clone().isub(num);
- };
- function smallMulTo(self, num, out) {
- out.negative = num.negative ^ self.negative;
- var len = (self.length + num.length) | 0;
- out.length = len;
- len = (len - 1) | 0;
- // Peel one iteration (compiler can't do it, because of code complexity)
- var a = self.words[0] | 0;
- var b = num.words[0] | 0;
- var r = a * b;
- var lo = r & 0x3ffffff;
- var carry = (r / 0x4000000) | 0;
- out.words[0] = lo;
- for (var k = 1; k < len; k++) {
- // Sum all words with the same `i + j = k` and accumulate `ncarry`,
- // note that ncarry could be >= 0x3ffffff
- var ncarry = carry >>> 26;
- var rword = carry & 0x3ffffff;
- var maxJ = Math.min(k, num.length - 1);
- for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {
- var i = (k - j) | 0;
- a = self.words[i] | 0;
- b = num.words[j] | 0;
- r = a * b + rword;
- ncarry += (r / 0x4000000) | 0;
- rword = r & 0x3ffffff;
- }
- out.words[k] = rword | 0;
- carry = ncarry | 0;
- }
- if (carry !== 0) {
- out.words[k] = carry | 0;
- } else {
- out.length--;
- }
- return out.strip();
- }
- // TODO(indutny): it may be reasonable to omit it for users who don't need
- // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit
- // multiplication (like elliptic secp256k1).
- var comb10MulTo = function comb10MulTo(self, num, out) {
- var a = self.words;
- var b = num.words;
- var o = out.words;
- var c = 0;
- var lo;
- var mid;
- var hi;
- var a0 = a[0] | 0;
- var al0 = a0 & 0x1fff;
- var ah0 = a0 >>> 13;
- var a1 = a[1] | 0;
- var al1 = a1 & 0x1fff;
- var ah1 = a1 >>> 13;
- var a2 = a[2] | 0;
- var al2 = a2 & 0x1fff;
- var ah2 = a2 >>> 13;
- var a3 = a[3] | 0;
- var al3 = a3 & 0x1fff;
- var ah3 = a3 >>> 13;
- var a4 = a[4] | 0;
- var al4 = a4 & 0x1fff;
- var ah4 = a4 >>> 13;
- var a5 = a[5] | 0;
- var al5 = a5 & 0x1fff;
- var ah5 = a5 >>> 13;
- var a6 = a[6] | 0;
- var al6 = a6 & 0x1fff;
- var ah6 = a6 >>> 13;
- var a7 = a[7] | 0;
- var al7 = a7 & 0x1fff;
- var ah7 = a7 >>> 13;
- var a8 = a[8] | 0;
- var al8 = a8 & 0x1fff;
- var ah8 = a8 >>> 13;
- var a9 = a[9] | 0;
- var al9 = a9 & 0x1fff;
- var ah9 = a9 >>> 13;
- var b0 = b[0] | 0;
- var bl0 = b0 & 0x1fff;
- var bh0 = b0 >>> 13;
- var b1 = b[1] | 0;
- var bl1 = b1 & 0x1fff;
- var bh1 = b1 >>> 13;
- var b2 = b[2] | 0;
- var bl2 = b2 & 0x1fff;
- var bh2 = b2 >>> 13;
- var b3 = b[3] | 0;
- var bl3 = b3 & 0x1fff;
- var bh3 = b3 >>> 13;
- var b4 = b[4] | 0;
- var bl4 = b4 & 0x1fff;
- var bh4 = b4 >>> 13;
- var b5 = b[5] | 0;
- var bl5 = b5 & 0x1fff;
- var bh5 = b5 >>> 13;
- var b6 = b[6] | 0;
- var bl6 = b6 & 0x1fff;
- var bh6 = b6 >>> 13;
- var b7 = b[7] | 0;
- var bl7 = b7 & 0x1fff;
- var bh7 = b7 >>> 13;
- var b8 = b[8] | 0;
- var bl8 = b8 & 0x1fff;
- var bh8 = b8 >>> 13;
- var b9 = b[9] | 0;
- var bl9 = b9 & 0x1fff;
- var bh9 = b9 >>> 13;
- out.negative = self.negative ^ num.negative;
- out.length = 19;
- /* k = 0 */
- lo = Math.imul(al0, bl0);
- mid = Math.imul(al0, bh0);
- mid = (mid + Math.imul(ah0, bl0)) | 0;
- hi = Math.imul(ah0, bh0);
- var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;
- w0 &= 0x3ffffff;
- /* k = 1 */
- lo = Math.imul(al1, bl0);
- mid = Math.imul(al1, bh0);
- mid = (mid + Math.imul(ah1, bl0)) | 0;
- hi = Math.imul(ah1, bh0);
- lo = (lo + Math.imul(al0, bl1)) | 0;
- mid = (mid + Math.imul(al0, bh1)) | 0;
- mid = (mid + Math.imul(ah0, bl1)) | 0;
- hi = (hi + Math.imul(ah0, bh1)) | 0;
- var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;
- w1 &= 0x3ffffff;
- /* k = 2 */
- lo = Math.imul(al2, bl0);
- mid = Math.imul(al2, bh0);
- mid = (mid + Math.imul(ah2, bl0)) | 0;
- hi = Math.imul(ah2, bh0);
- lo = (lo + Math.imul(al1, bl1)) | 0;
- mid = (mid + Math.imul(al1, bh1)) | 0;
- mid = (mid + Math.imul(ah1, bl1)) | 0;
- hi = (hi + Math.imul(ah1, bh1)) | 0;
- lo = (lo + Math.imul(al0, bl2)) | 0;
- mid = (mid + Math.imul(al0, bh2)) | 0;
- mid = (mid + Math.imul(ah0, bl2)) | 0;
- hi = (hi + Math.imul(ah0, bh2)) | 0;
- var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;
- w2 &= 0x3ffffff;
- /* k = 3 */
- lo = Math.imul(al3, bl0);
- mid = Math.imul(al3, bh0);
- mid = (mid + Math.imul(ah3, bl0)) | 0;
- hi = Math.imul(ah3, bh0);
- lo = (lo + Math.imul(al2, bl1)) | 0;
- mid = (mid + Math.imul(al2, bh1)) | 0;
- mid = (mid + Math.imul(ah2, bl1)) | 0;
- hi = (hi + Math.imul(ah2, bh1)) | 0;
- lo = (lo + Math.imul(al1, bl2)) | 0;
- mid = (mid + Math.imul(al1, bh2)) | 0;
- mid = (mid + Math.imul(ah1, bl2)) | 0;
- hi = (hi + Math.imul(ah1, bh2)) | 0;
- lo = (lo + Math.imul(al0, bl3)) | 0;
- mid = (mid + Math.imul(al0, bh3)) | 0;
- mid = (mid + Math.imul(ah0, bl3)) | 0;
- hi = (hi + Math.imul(ah0, bh3)) | 0;
- var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;
- w3 &= 0x3ffffff;
- /* k = 4 */
- lo = Math.imul(al4, bl0);
- mid = Math.imul(al4, bh0);
- mid = (mid + Math.imul(ah4, bl0)) | 0;
- hi = Math.imul(ah4, bh0);
- lo = (lo + Math.imul(al3, bl1)) | 0;
- mid = (mid + Math.imul(al3, bh1)) | 0;
- mid = (mid + Math.imul(ah3, bl1)) | 0;
- hi = (hi + Math.imul(ah3, bh1)) | 0;
- lo = (lo + Math.imul(al2, bl2)) | 0;
- mid = (mid + Math.imul(al2, bh2)) | 0;
- mid = (mid + Math.imul(ah2, bl2)) | 0;
- hi = (hi + Math.imul(ah2, bh2)) | 0;
- lo = (lo + Math.imul(al1, bl3)) | 0;
- mid = (mid + Math.imul(al1, bh3)) | 0;
- mid = (mid + Math.imul(ah1, bl3)) | 0;
- hi = (hi + Math.imul(ah1, bh3)) | 0;
- lo = (lo + Math.imul(al0, bl4)) | 0;
- mid = (mid + Math.imul(al0, bh4)) | 0;
- mid = (mid + Math.imul(ah0, bl4)) | 0;
- hi = (hi + Math.imul(ah0, bh4)) | 0;
- var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;
- w4 &= 0x3ffffff;
- /* k = 5 */
- lo = Math.imul(al5, bl0);
- mid = Math.imul(al5, bh0);
- mid = (mid + Math.imul(ah5, bl0)) | 0;
- hi = Math.imul(ah5, bh0);
- lo = (lo + Math.imul(al4, bl1)) | 0;
- mid = (mid + Math.imul(al4, bh1)) | 0;
- mid = (mid + Math.imul(ah4, bl1)) | 0;
- hi = (hi + Math.imul(ah4, bh1)) | 0;
- lo = (lo + Math.imul(al3, bl2)) | 0;
- mid = (mid + Math.imul(al3, bh2)) | 0;
- mid = (mid + Math.imul(ah3, bl2)) | 0;
- hi = (hi + Math.imul(ah3, bh2)) | 0;
- lo = (lo + Math.imul(al2, bl3)) | 0;
- mid = (mid + Math.imul(al2, bh3)) | 0;
- mid = (mid + Math.imul(ah2, bl3)) | 0;
- hi = (hi + Math.imul(ah2, bh3)) | 0;
- lo = (lo + Math.imul(al1, bl4)) | 0;
- mid = (mid + Math.imul(al1, bh4)) | 0;
- mid = (mid + Math.imul(ah1, bl4)) | 0;
- hi = (hi + Math.imul(ah1, bh4)) | 0;
- lo = (lo + Math.imul(al0, bl5)) | 0;
- mid = (mid + Math.imul(al0, bh5)) | 0;
- mid = (mid + Math.imul(ah0, bl5)) | 0;
- hi = (hi + Math.imul(ah0, bh5)) | 0;
- var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;
- w5 &= 0x3ffffff;
- /* k = 6 */
- lo = Math.imul(al6, bl0);
- mid = Math.imul(al6, bh0);
- mid = (mid + Math.imul(ah6, bl0)) | 0;
- hi = Math.imul(ah6, bh0);
- lo = (lo + Math.imul(al5, bl1)) | 0;
- mid = (mid + Math.imul(al5, bh1)) | 0;
- mid = (mid + Math.imul(ah5, bl1)) | 0;
- hi = (hi + Math.imul(ah5, bh1)) | 0;
- lo = (lo + Math.imul(al4, bl2)) | 0;
- mid = (mid + Math.imul(al4, bh2)) | 0;
- mid = (mid + Math.imul(ah4, bl2)) | 0;
- hi = (hi + Math.imul(ah4, bh2)) | 0;
- lo = (lo + Math.imul(al3, bl3)) | 0;
- mid = (mid + Math.imul(al3, bh3)) | 0;
- mid = (mid + Math.imul(ah3, bl3)) | 0;
- hi = (hi + Math.imul(ah3, bh3)) | 0;
- lo = (lo + Math.imul(al2, bl4)) | 0;
- mid = (mid + Math.imul(al2, bh4)) | 0;
- mid = (mid + Math.imul(ah2, bl4)) | 0;
- hi = (hi + Math.imul(ah2, bh4)) | 0;
- lo = (lo + Math.imul(al1, bl5)) | 0;
- mid = (mid + Math.imul(al1, bh5)) | 0;
- mid = (mid + Math.imul(ah1, bl5)) | 0;
- hi = (hi + Math.imul(ah1, bh5)) | 0;
- lo = (lo + Math.imul(al0, bl6)) | 0;
- mid = (mid + Math.imul(al0, bh6)) | 0;
- mid = (mid + Math.imul(ah0, bl6)) | 0;
- hi = (hi + Math.imul(ah0, bh6)) | 0;
- var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;
- w6 &= 0x3ffffff;
- /* k = 7 */
- lo = Math.imul(al7, bl0);
- mid = Math.imul(al7, bh0);
- mid = (mid + Math.imul(ah7, bl0)) | 0;
- hi = Math.imul(ah7, bh0);
- lo = (lo + Math.imul(al6, bl1)) | 0;
- mid = (mid + Math.imul(al6, bh1)) | 0;
- mid = (mid + Math.imul(ah6, bl1)) | 0;
- hi = (hi + Math.imul(ah6, bh1)) | 0;
- lo = (lo + Math.imul(al5, bl2)) | 0;
- mid = (mid + Math.imul(al5, bh2)) | 0;
- mid = (mid + Math.imul(ah5, bl2)) | 0;
- hi = (hi + Math.imul(ah5, bh2)) | 0;
- lo = (lo + Math.imul(al4, bl3)) | 0;
- mid = (mid + Math.imul(al4, bh3)) | 0;
- mid = (mid + Math.imul(ah4, bl3)) | 0;
- hi = (hi + Math.imul(ah4, bh3)) | 0;
- lo = (lo + Math.imul(al3, bl4)) | 0;
- mid = (mid + Math.imul(al3, bh4)) | 0;
- mid = (mid + Math.imul(ah3, bl4)) | 0;
- hi = (hi + Math.imul(ah3, bh4)) | 0;
- lo = (lo + Math.imul(al2, bl5)) | 0;
- mid = (mid + Math.imul(al2, bh5)) | 0;
- mid = (mid + Math.imul(ah2, bl5)) | 0;
- hi = (hi + Math.imul(ah2, bh5)) | 0;
- lo = (lo + Math.imul(al1, bl6)) | 0;
- mid = (mid + Math.imul(al1, bh6)) | 0;
- mid = (mid + Math.imul(ah1, bl6)) | 0;
- hi = (hi + Math.imul(ah1, bh6)) | 0;
- lo = (lo + Math.imul(al0, bl7)) | 0;
- mid = (mid + Math.imul(al0, bh7)) | 0;
- mid = (mid + Math.imul(ah0, bl7)) | 0;
- hi = (hi + Math.imul(ah0, bh7)) | 0;
- var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;
- w7 &= 0x3ffffff;
- /* k = 8 */
- lo = Math.imul(al8, bl0);
- mid = Math.imul(al8, bh0);
- mid = (mid + Math.imul(ah8, bl0)) | 0;
- hi = Math.imul(ah8, bh0);
- lo = (lo + Math.imul(al7, bl1)) | 0;
- mid = (mid + Math.imul(al7, bh1)) | 0;
- mid = (mid + Math.imul(ah7, bl1)) | 0;
- hi = (hi + Math.imul(ah7, bh1)) | 0;
- lo = (lo + Math.imul(al6, bl2)) | 0;
- mid = (mid + Math.imul(al6, bh2)) | 0;
- mid = (mid + Math.imul(ah6, bl2)) | 0;
- hi = (hi + Math.imul(ah6, bh2)) | 0;
- lo = (lo + Math.imul(al5, bl3)) | 0;
- mid = (mid + Math.imul(al5, bh3)) | 0;
- mid = (mid + Math.imul(ah5, bl3)) | 0;
- hi = (hi + Math.imul(ah5, bh3)) | 0;
- lo = (lo + Math.imul(al4, bl4)) | 0;
- mid = (mid + Math.imul(al4, bh4)) | 0;
- mid = (mid + Math.imul(ah4, bl4)) | 0;
- hi = (hi + Math.imul(ah4, bh4)) | 0;
- lo = (lo + Math.imul(al3, bl5)) | 0;
- mid = (mid + Math.imul(al3, bh5)) | 0;
- mid = (mid + Math.imul(ah3, bl5)) | 0;
- hi = (hi + Math.imul(ah3, bh5)) | 0;
- lo = (lo + Math.imul(al2, bl6)) | 0;
- mid = (mid + Math.imul(al2, bh6)) | 0;
- mid = (mid + Math.imul(ah2, bl6)) | 0;
- hi = (hi + Math.imul(ah2, bh6)) | 0;
- lo = (lo + Math.imul(al1, bl7)) | 0;
- mid = (mid + Math.imul(al1, bh7)) | 0;
- mid = (mid + Math.imul(ah1, bl7)) | 0;
- hi = (hi + Math.imul(ah1, bh7)) | 0;
- lo = (lo + Math.imul(al0, bl8)) | 0;
- mid = (mid + Math.imul(al0, bh8)) | 0;
- mid = (mid + Math.imul(ah0, bl8)) | 0;
- hi = (hi + Math.imul(ah0, bh8)) | 0;
- var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;
- w8 &= 0x3ffffff;
- /* k = 9 */
- lo = Math.imul(al9, bl0);
- mid = Math.imul(al9, bh0);
- mid = (mid + Math.imul(ah9, bl0)) | 0;
- hi = Math.imul(ah9, bh0);
- lo = (lo + Math.imul(al8, bl1)) | 0;
- mid = (mid + Math.imul(al8, bh1)) | 0;
- mid = (mid + Math.imul(ah8, bl1)) | 0;
- hi = (hi + Math.imul(ah8, bh1)) | 0;
- lo = (lo + Math.imul(al7, bl2)) | 0;
- mid = (mid + Math.imul(al7, bh2)) | 0;
- mid = (mid + Math.imul(ah7, bl2)) | 0;
- hi = (hi + Math.imul(ah7, bh2)) | 0;
- lo = (lo + Math.imul(al6, bl3)) | 0;
- mid = (mid + Math.imul(al6, bh3)) | 0;
- mid = (mid + Math.imul(ah6, bl3)) | 0;
- hi = (hi + Math.imul(ah6, bh3)) | 0;
- lo = (lo + Math.imul(al5, bl4)) | 0;
- mid = (mid + Math.imul(al5, bh4)) | 0;
- mid = (mid + Math.imul(ah5, bl4)) | 0;
- hi = (hi + Math.imul(ah5, bh4)) | 0;
- lo = (lo + Math.imul(al4, bl5)) | 0;
- mid = (mid + Math.imul(al4, bh5)) | 0;
- mid = (mid + Math.imul(ah4, bl5)) | 0;
- hi = (hi + Math.imul(ah4, bh5)) | 0;
- lo = (lo + Math.imul(al3, bl6)) | 0;
- mid = (mid + Math.imul(al3, bh6)) | 0;
- mid = (mid + Math.imul(ah3, bl6)) | 0;
- hi = (hi + Math.imul(ah3, bh6)) | 0;
- lo = (lo + Math.imul(al2, bl7)) | 0;
- mid = (mid + Math.imul(al2, bh7)) | 0;
- mid = (mid + Math.imul(ah2, bl7)) | 0;
- hi = (hi + Math.imul(ah2, bh7)) | 0;
- lo = (lo + Math.imul(al1, bl8)) | 0;
- mid = (mid + Math.imul(al1, bh8)) | 0;
- mid = (mid + Math.imul(ah1, bl8)) | 0;
- hi = (hi + Math.imul(ah1, bh8)) | 0;
- lo = (lo + Math.imul(al0, bl9)) | 0;
- mid = (mid + Math.imul(al0, bh9)) | 0;
- mid = (mid + Math.imul(ah0, bl9)) | 0;
- hi = (hi + Math.imul(ah0, bh9)) | 0;
- var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;
- w9 &= 0x3ffffff;
- /* k = 10 */
- lo = Math.imul(al9, bl1);
- mid = Math.imul(al9, bh1);
- mid = (mid + Math.imul(ah9, bl1)) | 0;
- hi = Math.imul(ah9, bh1);
- lo = (lo + Math.imul(al8, bl2)) | 0;
- mid = (mid + Math.imul(al8, bh2)) | 0;
- mid = (mid + Math.imul(ah8, bl2)) | 0;
- hi = (hi + Math.imul(ah8, bh2)) | 0;
- lo = (lo + Math.imul(al7, bl3)) | 0;
- mid = (mid + Math.imul(al7, bh3)) | 0;
- mid = (mid + Math.imul(ah7, bl3)) | 0;
- hi = (hi + Math.imul(ah7, bh3)) | 0;
- lo = (lo + Math.imul(al6, bl4)) | 0;
- mid = (mid + Math.imul(al6, bh4)) | 0;
- mid = (mid + Math.imul(ah6, bl4)) | 0;
- hi = (hi + Math.imul(ah6, bh4)) | 0;
- lo = (lo + Math.imul(al5, bl5)) | 0;
- mid = (mid + Math.imul(al5, bh5)) | 0;
- mid = (mid + Math.imul(ah5, bl5)) | 0;
- hi = (hi + Math.imul(ah5, bh5)) | 0;
- lo = (lo + Math.imul(al4, bl6)) | 0;
- mid = (mid + Math.imul(al4, bh6)) | 0;
- mid = (mid + Math.imul(ah4, bl6)) | 0;
- hi = (hi + Math.imul(ah4, bh6)) | 0;
- lo = (lo + Math.imul(al3, bl7)) | 0;
- mid = (mid + Math.imul(al3, bh7)) | 0;
- mid = (mid + Math.imul(ah3, bl7)) | 0;
- hi = (hi + Math.imul(ah3, bh7)) | 0;
- lo = (lo + Math.imul(al2, bl8)) | 0;
- mid = (mid + Math.imul(al2, bh8)) | 0;
- mid = (mid + Math.imul(ah2, bl8)) | 0;
- hi = (hi + Math.imul(ah2, bh8)) | 0;
- lo = (lo + Math.imul(al1, bl9)) | 0;
- mid = (mid + Math.imul(al1, bh9)) | 0;
- mid = (mid + Math.imul(ah1, bl9)) | 0;
- hi = (hi + Math.imul(ah1, bh9)) | 0;
- var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;
- w10 &= 0x3ffffff;
- /* k = 11 */
- lo = Math.imul(al9, bl2);
- mid = Math.imul(al9, bh2);
- mid = (mid + Math.imul(ah9, bl2)) | 0;
- hi = Math.imul(ah9, bh2);
- lo = (lo + Math.imul(al8, bl3)) | 0;
- mid = (mid + Math.imul(al8, bh3)) | 0;
- mid = (mid + Math.imul(ah8, bl3)) | 0;
- hi = (hi + Math.imul(ah8, bh3)) | 0;
- lo = (lo + Math.imul(al7, bl4)) | 0;
- mid = (mid + Math.imul(al7, bh4)) | 0;
- mid = (mid + Math.imul(ah7, bl4)) | 0;
- hi = (hi + Math.imul(ah7, bh4)) | 0;
- lo = (lo + Math.imul(al6, bl5)) | 0;
- mid = (mid + Math.imul(al6, bh5)) | 0;
- mid = (mid + Math.imul(ah6, bl5)) | 0;
- hi = (hi + Math.imul(ah6, bh5)) | 0;
- lo = (lo + Math.imul(al5, bl6)) | 0;
- mid = (mid + Math.imul(al5, bh6)) | 0;
- mid = (mid + Math.imul(ah5, bl6)) | 0;
- hi = (hi + Math.imul(ah5, bh6)) | 0;
- lo = (lo + Math.imul(al4, bl7)) | 0;
- mid = (mid + Math.imul(al4, bh7)) | 0;
- mid = (mid + Math.imul(ah4, bl7)) | 0;
- hi = (hi + Math.imul(ah4, bh7)) | 0;
- lo = (lo + Math.imul(al3, bl8)) | 0;
- mid = (mid + Math.imul(al3, bh8)) | 0;
- mid = (mid + Math.imul(ah3, bl8)) | 0;
- hi = (hi + Math.imul(ah3, bh8)) | 0;
- lo = (lo + Math.imul(al2, bl9)) | 0;
- mid = (mid + Math.imul(al2, bh9)) | 0;
- mid = (mid + Math.imul(ah2, bl9)) | 0;
- hi = (hi + Math.imul(ah2, bh9)) | 0;
- var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;
- w11 &= 0x3ffffff;
- /* k = 12 */
- lo = Math.imul(al9, bl3);
- mid = Math.imul(al9, bh3);
- mid = (mid + Math.imul(ah9, bl3)) | 0;
- hi = Math.imul(ah9, bh3);
- lo = (lo + Math.imul(al8, bl4)) | 0;
- mid = (mid + Math.imul(al8, bh4)) | 0;
- mid = (mid + Math.imul(ah8, bl4)) | 0;
- hi = (hi + Math.imul(ah8, bh4)) | 0;
- lo = (lo + Math.imul(al7, bl5)) | 0;
- mid = (mid + Math.imul(al7, bh5)) | 0;
- mid = (mid + Math.imul(ah7, bl5)) | 0;
- hi = (hi + Math.imul(ah7, bh5)) | 0;
- lo = (lo + Math.imul(al6, bl6)) | 0;
- mid = (mid + Math.imul(al6, bh6)) | 0;
- mid = (mid + Math.imul(ah6, bl6)) | 0;
- hi = (hi + Math.imul(ah6, bh6)) | 0;
- lo = (lo + Math.imul(al5, bl7)) | 0;
- mid = (mid + Math.imul(al5, bh7)) | 0;
- mid = (mid + Math.imul(ah5, bl7)) | 0;
- hi = (hi + Math.imul(ah5, bh7)) | 0;
- lo = (lo + Math.imul(al4, bl8)) | 0;
- mid = (mid + Math.imul(al4, bh8)) | 0;
- mid = (mid + Math.imul(ah4, bl8)) | 0;
- hi = (hi + Math.imul(ah4, bh8)) | 0;
- lo = (lo + Math.imul(al3, bl9)) | 0;
- mid = (mid + Math.imul(al3, bh9)) | 0;
- mid = (mid + Math.imul(ah3, bl9)) | 0;
- hi = (hi + Math.imul(ah3, bh9)) | 0;
- var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;
- w12 &= 0x3ffffff;
- /* k = 13 */
- lo = Math.imul(al9, bl4);
- mid = Math.imul(al9, bh4);
- mid = (mid + Math.imul(ah9, bl4)) | 0;
- hi = Math.imul(ah9, bh4);
- lo = (lo + Math.imul(al8, bl5)) | 0;
- mid = (mid + Math.imul(al8, bh5)) | 0;
- mid = (mid + Math.imul(ah8, bl5)) | 0;
- hi = (hi + Math.imul(ah8, bh5)) | 0;
- lo = (lo + Math.imul(al7, bl6)) | 0;
- mid = (mid + Math.imul(al7, bh6)) | 0;
- mid = (mid + Math.imul(ah7, bl6)) | 0;
- hi = (hi + Math.imul(ah7, bh6)) | 0;
- lo = (lo + Math.imul(al6, bl7)) | 0;
- mid = (mid + Math.imul(al6, bh7)) | 0;
- mid = (mid + Math.imul(ah6, bl7)) | 0;
- hi = (hi + Math.imul(ah6, bh7)) | 0;
- lo = (lo + Math.imul(al5, bl8)) | 0;
- mid = (mid + Math.imul(al5, bh8)) | 0;
- mid = (mid + Math.imul(ah5, bl8)) | 0;
- hi = (hi + Math.imul(ah5, bh8)) | 0;
- lo = (lo + Math.imul(al4, bl9)) | 0;
- mid = (mid + Math.imul(al4, bh9)) | 0;
- mid = (mid + Math.imul(ah4, bl9)) | 0;
- hi = (hi + Math.imul(ah4, bh9)) | 0;
- var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;
- w13 &= 0x3ffffff;
- /* k = 14 */
- lo = Math.imul(al9, bl5);
- mid = Math.imul(al9, bh5);
- mid = (mid + Math.imul(ah9, bl5)) | 0;
- hi = Math.imul(ah9, bh5);
- lo = (lo + Math.imul(al8, bl6)) | 0;
- mid = (mid + Math.imul(al8, bh6)) | 0;
- mid = (mid + Math.imul(ah8, bl6)) | 0;
- hi = (hi + Math.imul(ah8, bh6)) | 0;
- lo = (lo + Math.imul(al7, bl7)) | 0;
- mid = (mid + Math.imul(al7, bh7)) | 0;
- mid = (mid + Math.imul(ah7, bl7)) | 0;
- hi = (hi + Math.imul(ah7, bh7)) | 0;
- lo = (lo + Math.imul(al6, bl8)) | 0;
- mid = (mid + Math.imul(al6, bh8)) | 0;
- mid = (mid + Math.imul(ah6, bl8)) | 0;
- hi = (hi + Math.imul(ah6, bh8)) | 0;
- lo = (lo + Math.imul(al5, bl9)) | 0;
- mid = (mid + Math.imul(al5, bh9)) | 0;
- mid = (mid + Math.imul(ah5, bl9)) | 0;
- hi = (hi + Math.imul(ah5, bh9)) | 0;
- var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;
- w14 &= 0x3ffffff;
- /* k = 15 */
- lo = Math.imul(al9, bl6);
- mid = Math.imul(al9, bh6);
- mid = (mid + Math.imul(ah9, bl6)) | 0;
- hi = Math.imul(ah9, bh6);
- lo = (lo + Math.imul(al8, bl7)) | 0;
- mid = (mid + Math.imul(al8, bh7)) | 0;
- mid = (mid + Math.imul(ah8, bl7)) | 0;
- hi = (hi + Math.imul(ah8, bh7)) | 0;
- lo = (lo + Math.imul(al7, bl8)) | 0;
- mid = (mid + Math.imul(al7, bh8)) | 0;
- mid = (mid + Math.imul(ah7, bl8)) | 0;
- hi = (hi + Math.imul(ah7, bh8)) | 0;
- lo = (lo + Math.imul(al6, bl9)) | 0;
- mid = (mid + Math.imul(al6, bh9)) | 0;
- mid = (mid + Math.imul(ah6, bl9)) | 0;
- hi = (hi + Math.imul(ah6, bh9)) | 0;
- var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;
- w15 &= 0x3ffffff;
- /* k = 16 */
- lo = Math.imul(al9, bl7);
- mid = Math.imul(al9, bh7);
- mid = (mid + Math.imul(ah9, bl7)) | 0;
- hi = Math.imul(ah9, bh7);
- lo = (lo + Math.imul(al8, bl8)) | 0;
- mid = (mid + Math.imul(al8, bh8)) | 0;
- mid = (mid + Math.imul(ah8, bl8)) | 0;
- hi = (hi + Math.imul(ah8, bh8)) | 0;
- lo = (lo + Math.imul(al7, bl9)) | 0;
- mid = (mid + Math.imul(al7, bh9)) | 0;
- mid = (mid + Math.imul(ah7, bl9)) | 0;
- hi = (hi + Math.imul(ah7, bh9)) | 0;
- var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;
- w16 &= 0x3ffffff;
- /* k = 17 */
- lo = Math.imul(al9, bl8);
- mid = Math.imul(al9, bh8);
- mid = (mid + Math.imul(ah9, bl8)) | 0;
- hi = Math.imul(ah9, bh8);
- lo = (lo + Math.imul(al8, bl9)) | 0;
- mid = (mid + Math.imul(al8, bh9)) | 0;
- mid = (mid + Math.imul(ah8, bl9)) | 0;
- hi = (hi + Math.imul(ah8, bh9)) | 0;
- var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;
- w17 &= 0x3ffffff;
- /* k = 18 */
- lo = Math.imul(al9, bl9);
- mid = Math.imul(al9, bh9);
- mid = (mid + Math.imul(ah9, bl9)) | 0;
- hi = Math.imul(ah9, bh9);
- var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
- c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;
- w18 &= 0x3ffffff;
- o[0] = w0;
- o[1] = w1;
- o[2] = w2;
- o[3] = w3;
- o[4] = w4;
- o[5] = w5;
- o[6] = w6;
- o[7] = w7;
- o[8] = w8;
- o[9] = w9;
- o[10] = w10;
- o[11] = w11;
- o[12] = w12;
- o[13] = w13;
- o[14] = w14;
- o[15] = w15;
- o[16] = w16;
- o[17] = w17;
- o[18] = w18;
- if (c !== 0) {
- o[19] = c;
- out.length++;
- }
- return out;
- };
- // Polyfill comb
- if (!Math.imul) {
- comb10MulTo = smallMulTo;
- }
- function bigMulTo(self, num, out) {
- out.negative = num.negative ^ self.negative;
- out.length = self.length + num.length;
- var carry = 0;
- var hncarry = 0;
- for (var k = 0; k < out.length - 1; k++) {
- // Sum all words with the same `i + j = k` and accumulate `ncarry`,
- // note that ncarry could be >= 0x3ffffff
- var ncarry = hncarry;
- hncarry = 0;
- var rword = carry & 0x3ffffff;
- var maxJ = Math.min(k, num.length - 1);
- for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {
- var i = k - j;
- var a = self.words[i] | 0;
- var b = num.words[j] | 0;
- var r = a * b;
- var lo = r & 0x3ffffff;
- ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;
- lo = (lo + rword) | 0;
- rword = lo & 0x3ffffff;
- ncarry = (ncarry + (lo >>> 26)) | 0;
- hncarry += ncarry >>> 26;
- ncarry &= 0x3ffffff;
- }
- out.words[k] = rword;
- carry = ncarry;
- ncarry = hncarry;
- }
- if (carry !== 0) {
- out.words[k] = carry;
- } else {
- out.length--;
- }
- return out.strip();
- }
- function jumboMulTo(self, num, out) {
- var fftm = new FFTM();
- return fftm.mulp(self, num, out);
- }
- BN.prototype.mulTo = function mulTo(num, out) {
- var res;
- var len = this.length + num.length;
- if (this.length === 10 && num.length === 10) {
- res = comb10MulTo(this, num, out);
- } else if (len < 63) {
- res = smallMulTo(this, num, out);
- } else if (len < 1024) {
- res = bigMulTo(this, num, out);
- } else {
- res = jumboMulTo(this, num, out);
- }
- return res;
- };
- // Cooley-Tukey algorithm for FFT
- // slightly revisited to rely on looping instead of recursion
- function FFTM(x, y) {
- this.x = x;
- this.y = y;
- }
- FFTM.prototype.makeRBT = function makeRBT(N) {
- var t = new Array(N);
- var l = BN.prototype._countBits(N) - 1;
- for (var i = 0; i < N; i++) {
- t[i] = this.revBin(i, l, N);
- }
- return t;
- };
- // Returns binary-reversed representation of `x`
- FFTM.prototype.revBin = function revBin(x, l, N) {
- if (x === 0 || x === N - 1) return x;
- var rb = 0;
- for (var i = 0; i < l; i++) {
- rb |= (x & 1) << (l - i - 1);
- x >>= 1;
- }
- return rb;
- };
- // Performs "tweedling" phase, therefore 'emulating'
- // behaviour of the recursive algorithm
- FFTM.prototype.permute = function permute(
- rbt,
- rws,
- iws,
- rtws,
- itws,
- N
- ) {
- for (var i = 0; i < N; i++) {
- rtws[i] = rws[rbt[i]];
- itws[i] = iws[rbt[i]];
- }
- };
- FFTM.prototype.transform = function transform(
- rws,
- iws,
- rtws,
- itws,
- N,
- rbt
- ) {
- this.permute(rbt, rws, iws, rtws, itws, N);
- for (var s = 1; s < N; s <<= 1) {
- var l = s << 1;
- var rtwdf = Math.cos((2 * Math.PI) / l);
- var itwdf = Math.sin((2 * Math.PI) / l);
- for (var p = 0; p < N; p += l) {
- var rtwdf_ = rtwdf;
- var itwdf_ = itwdf;
- for (var j = 0; j < s; j++) {
- var re = rtws[p + j];
- var ie = itws[p + j];
- var ro = rtws[p + j + s];
- var io = itws[p + j + s];
- var rx = rtwdf_ * ro - itwdf_ * io;
- io = rtwdf_ * io + itwdf_ * ro;
- ro = rx;
- rtws[p + j] = re + ro;
- itws[p + j] = ie + io;
- rtws[p + j + s] = re - ro;
- itws[p + j + s] = ie - io;
- /* jshint maxdepth : false */
- if (j !== l) {
- rx = rtwdf * rtwdf_ - itwdf * itwdf_;
- itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;
- rtwdf_ = rx;
- }
- }
- }
- }
- };
- FFTM.prototype.guessLen13b = function guessLen13b(n, m) {
- var N = Math.max(m, n) | 1;
- var odd = N & 1;
- var i = 0;
- for (N = (N / 2) | 0; N; N = N >>> 1) {
- i++;
- }
- return 1 << (i + 1 + odd);
- };
- FFTM.prototype.conjugate = function conjugate(rws, iws, N) {
- if (N <= 1) return;
- for (var i = 0; i < N / 2; i++) {
- var t = rws[i];
- rws[i] = rws[N - i - 1];
- rws[N - i - 1] = t;
- t = iws[i];
- iws[i] = -iws[N - i - 1];
- iws[N - i - 1] = -t;
- }
- };
- FFTM.prototype.normalize13b = function normalize13b(ws, N) {
- var carry = 0;
- for (var i = 0; i < N / 2; i++) {
- var w =
- Math.round(ws[2 * i + 1] / N) * 0x2000 +
- Math.round(ws[2 * i] / N) +
- carry;
- ws[i] = w & 0x3ffffff;
- if (w < 0x4000000) {
- carry = 0;
- } else {
- carry = (w / 0x4000000) | 0;
- }
- }
- return ws;
- };
- FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) {
- var carry = 0;
- for (var i = 0; i < len; i++) {
- carry = carry + (ws[i] | 0);
- rws[2 * i] = carry & 0x1fff;
- carry = carry >>> 13;
- rws[2 * i + 1] = carry & 0x1fff;
- carry = carry >>> 13;
- }
- // Pad with zeroes
- for (i = 2 * len; i < N; ++i) {
- rws[i] = 0;
- }
- assert(carry === 0);
- assert((carry & ~0x1fff) === 0);
- };
- FFTM.prototype.stub = function stub(N) {
- var ph = new Array(N);
- for (var i = 0; i < N; i++) {
- ph[i] = 0;
- }
- return ph;
- };
- FFTM.prototype.mulp = function mulp(x, y, out) {
- var N = 2 * this.guessLen13b(x.length, y.length);
- var rbt = this.makeRBT(N);
- var _ = this.stub(N);
- var rws = new Array(N);
- var rwst = new Array(N);
- var iwst = new Array(N);
- var nrws = new Array(N);
- var nrwst = new Array(N);
- var niwst = new Array(N);
- var rmws = out.words;
- rmws.length = N;
- this.convert13b(x.words, x.length, rws, N);
- this.convert13b(y.words, y.length, nrws, N);
- this.transform(rws, _, rwst, iwst, N, rbt);
- this.transform(nrws, _, nrwst, niwst, N, rbt);
- for (var i = 0; i < N; i++) {
- var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];
- iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];
- rwst[i] = rx;
- }
- this.conjugate(rwst, iwst, N);
- this.transform(rwst, iwst, rmws, _, N, rbt);
- this.conjugate(rmws, _, N);
- this.normalize13b(rmws, N);
- out.negative = x.negative ^ y.negative;
- out.length = x.length + y.length;
- return out.strip();
- };
- // Multiply `this` by `num`
- BN.prototype.mul = function mul(num) {
- var out = new BN(null);
- out.words = new Array(this.length + num.length);
- return this.mulTo(num, out);
- };
- // Multiply employing FFT
- BN.prototype.mulf = function mulf(num) {
- var out = new BN(null);
- out.words = new Array(this.length + num.length);
- return jumboMulTo(this, num, out);
- };
- // In-place Multiplication
- BN.prototype.imul = function imul(num) {
- return this.clone().mulTo(num, this);
- };
- BN.prototype.imuln = function imuln(num) {
- assert(typeof num === "number");
- assert(num < 0x4000000);
- // Carry
- var carry = 0;
- for (var i = 0; i < this.length; i++) {
- var w = (this.words[i] | 0) * num;
- var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);
- carry >>= 26;
- carry += (w / 0x4000000) | 0;
- // NOTE: lo is 27bit maximum
- carry += lo >>> 26;
- this.words[i] = lo & 0x3ffffff;
- }
- if (carry !== 0) {
- this.words[i] = carry;
- this.length++;
- }
- return this;
- };
- BN.prototype.muln = function muln(num) {
- return this.clone().imuln(num);
- };
- // `this` * `this`
- BN.prototype.sqr = function sqr() {
- return this.mul(this);
- };
- // `this` * `this` in-place
- BN.prototype.isqr = function isqr() {
- return this.imul(this.clone());
- };
- // Math.pow(`this`, `num`)
- BN.prototype.pow = function pow(num) {
- var w = toBitArray(num);
- if (w.length === 0) return new BN(1);
- // Skip leading zeroes
- var res = this;
- for (var i = 0; i < w.length; i++, res = res.sqr()) {
- if (w[i] !== 0) break;
- }
- if (++i < w.length) {
- for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {
- if (w[i] === 0) continue;
- res = res.mul(q);
- }
- }
- return res;
- };
- // Shift-left in-place
- BN.prototype.iushln = function iushln(bits) {
- assert(typeof bits === "number" && bits >= 0);
- var r = bits % 26;
- var s = (bits - r) / 26;
- var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);
- var i;
- if (r !== 0) {
- var carry = 0;
- for (i = 0; i < this.length; i++) {
- var newCarry = this.words[i] & carryMask;
- var c = ((this.words[i] | 0) - newCarry) << r;
- this.words[i] = c | carry;
- carry = newCarry >>> (26 - r);
- }
- if (carry) {
- this.words[i] = carry;
- this.length++;
- }
- }
- if (s !== 0) {
- for (i = this.length - 1; i >= 0; i--) {
- this.words[i + s] = this.words[i];
- }
- for (i = 0; i < s; i++) {
- this.words[i] = 0;
- }
- this.length += s;
- }
- return this.strip();
- };
- BN.prototype.ishln = function ishln(bits) {
- // TODO(indutny): implement me
- assert(this.negative === 0);
- return this.iushln(bits);
- };
- // Shift-right in-place
- // NOTE: `hint` is a lowest bit before trailing zeroes
- // NOTE: if `extended` is present - it will be filled with destroyed bits
- BN.prototype.iushrn = function iushrn(bits, hint, extended) {
- assert(typeof bits === "number" && bits >= 0);
- var h;
- if (hint) {
- h = (hint - (hint % 26)) / 26;
- } else {
- h = 0;
- }
- var r = bits % 26;
- var s = Math.min((bits - r) / 26, this.length);
- var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);
- var maskedWords = extended;
- h -= s;
- h = Math.max(0, h);
- // Extended mode, copy masked part
- if (maskedWords) {
- for (var i = 0; i < s; i++) {
- maskedWords.words[i] = this.words[i];
- }
- maskedWords.length = s;
- }
- if (s === 0) {
- // No-op, we should not move anything at all
- } else if (this.length > s) {
- this.length -= s;
- for (i = 0; i < this.length; i++) {
- this.words[i] = this.words[i + s];
- }
- } else {
- this.words[0] = 0;
- this.length = 1;
- }
- var carry = 0;
- for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {
- var word = this.words[i] | 0;
- this.words[i] = (carry << (26 - r)) | (word >>> r);
- carry = word & mask;
- }
- // Push carried bits as a mask
- if (maskedWords && carry !== 0) {
- maskedWords.words[maskedWords.length++] = carry;
- }
- if (this.length === 0) {
- this.words[0] = 0;
- this.length = 1;
- }
- return this.strip();
- };
- BN.prototype.ishrn = function ishrn(bits, hint, extended) {
- // TODO(indutny): implement me
- assert(this.negative === 0);
- return this.iushrn(bits, hint, extended);
- };
- // Shift-left
- BN.prototype.shln = function shln(bits) {
- return this.clone().ishln(bits);
- };
- BN.prototype.ushln = function ushln(bits) {
- return this.clone().iushln(bits);
- };
- // Shift-right
- BN.prototype.shrn = function shrn(bits) {
- return this.clone().ishrn(bits);
- };
- BN.prototype.ushrn = function ushrn(bits) {
- return this.clone().iushrn(bits);
- };
- // Test if n bit is set
- BN.prototype.testn = function testn(bit) {
- assert(typeof bit === "number" && bit >= 0);
- var r = bit % 26;
- var s = (bit - r) / 26;
- var q = 1 << r;
- // Fast case: bit is much higher than all existing words
- if (this.length <= s) return false;
- // Check bit and return
- var w = this.words[s];
- return !!(w & q);
- };
- // Return only lowers bits of number (in-place)
- BN.prototype.imaskn = function imaskn(bits) {
- assert(typeof bits === "number" && bits >= 0);
- var r = bits % 26;
- var s = (bits - r) / 26;
- assert(
- this.negative === 0,
- "imaskn works only with positive numbers"
- );
- if (this.length <= s) {
- return this;
- }
- if (r !== 0) {
- s++;
- }
- this.length = Math.min(s, this.length);
- if (r !== 0) {
- var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);
- this.words[this.length - 1] &= mask;
- }
- return this.strip();
- };
- // Return only lowers bits of number
- BN.prototype.maskn = function maskn(bits) {
- return this.clone().imaskn(bits);
- };
- // Add plain number `num` to `this`
- BN.prototype.iaddn = function iaddn(num) {
- assert(typeof num === "number");
- assert(num < 0x4000000);
- if (num < 0) return this.isubn(-num);
- // Possible sign change
- if (this.negative !== 0) {
- if (this.length === 1 && (this.words[0] | 0) < num) {
- this.words[0] = num - (this.words[0] | 0);
- this.negative = 0;
- return this;
- }
- this.negative = 0;
- this.isubn(num);
- this.negative = 1;
- return this;
- }
- // Add without checks
- return this._iaddn(num);
- };
- BN.prototype._iaddn = function _iaddn(num) {
- this.words[0] += num;
- // Carry
- for (
- var i = 0;
- i < this.length && this.words[i] >= 0x4000000;
- i++
- ) {
- this.words[i] -= 0x4000000;
- if (i === this.length - 1) {
- this.words[i + 1] = 1;
- } else {
- this.words[i + 1]++;
- }
- }
- this.length = Math.max(this.length, i + 1);
- return this;
- };
- // Subtract plain number `num` from `this`
- BN.prototype.isubn = function isubn(num) {
- assert(typeof num === "number");
- assert(num < 0x4000000);
- if (num < 0) return this.iaddn(-num);
- if (this.negative !== 0) {
- this.negative = 0;
- this.iaddn(num);
- this.negative = 1;
- return this;
- }
- this.words[0] -= num;
- if (this.length === 1 && this.words[0] < 0) {
- this.words[0] = -this.words[0];
- this.negative = 1;
- } else {
- // Carry
- for (var i = 0; i < this.length && this.words[i] < 0; i++) {
- this.words[i] += 0x4000000;
- this.words[i + 1] -= 1;
- }
- }
- return this.strip();
- };
- BN.prototype.addn = function addn(num) {
- return this.clone().iaddn(num);
- };
- BN.prototype.subn = function subn(num) {
- return this.clone().isubn(num);
- };
- BN.prototype.iabs = function iabs() {
- this.negative = 0;
- return this;
- };
- BN.prototype.abs = function abs() {
- return this.clone().iabs();
- };
- BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) {
- var len = num.length + shift;
- var i;
- this._expand(len);
- var w;
- var carry = 0;
- for (i = 0; i < num.length; i++) {
- w = (this.words[i + shift] | 0) + carry;
- var right = (num.words[i] | 0) * mul;
- w -= right & 0x3ffffff;
- carry = (w >> 26) - ((right / 0x4000000) | 0);
- this.words[i + shift] = w & 0x3ffffff;
- }
- for (; i < this.length - shift; i++) {
- w = (this.words[i + shift] | 0) + carry;
- carry = w >> 26;
- this.words[i + shift] = w & 0x3ffffff;
- }
- if (carry === 0) return this.strip();
- // Subtraction overflow
- assert(carry === -1);
- carry = 0;
- for (i = 0; i < this.length; i++) {
- w = -(this.words[i] | 0) + carry;
- carry = w >> 26;
- this.words[i] = w & 0x3ffffff;
- }
- this.negative = 1;
- return this.strip();
- };
- BN.prototype._wordDiv = function _wordDiv(num, mode) {
- var shift = this.length - num.length;
- var a = this.clone();
- var b = num;
- // Normalize
- var bhi = b.words[b.length - 1] | 0;
- var bhiBits = this._countBits(bhi);
- shift = 26 - bhiBits;
- if (shift !== 0) {
- b = b.ushln(shift);
- a.iushln(shift);
- bhi = b.words[b.length - 1] | 0;
- }
- // Initialize quotient
- var m = a.length - b.length;
- var q;
- if (mode !== "mod") {
- q = new BN(null);
- q.length = m + 1;
- q.words = new Array(q.length);
- for (var i = 0; i < q.length; i++) {
- q.words[i] = 0;
- }
- }
- var diff = a.clone()._ishlnsubmul(b, 1, m);
- if (diff.negative === 0) {
- a = diff;
- if (q) {
- q.words[m] = 1;
- }
- }
- for (var j = m - 1; j >= 0; j--) {
- var qj =
- (a.words[b.length + j] | 0) * 0x4000000 +
- (a.words[b.length + j - 1] | 0);
- // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max
- // (0x7ffffff)
- qj = Math.min((qj / bhi) | 0, 0x3ffffff);
- a._ishlnsubmul(b, qj, j);
- while (a.negative !== 0) {
- qj--;
- a.negative = 0;
- a._ishlnsubmul(b, 1, j);
- if (!a.isZero()) {
- a.negative ^= 1;
- }
- }
- if (q) {
- q.words[j] = qj;
- }
- }
- if (q) {
- q.strip();
- }
- a.strip();
- // Denormalize
- if (mode !== "div" && shift !== 0) {
- a.iushrn(shift);
- }
- return {
- div: q || null,
- mod: a,
- };
- };
- // NOTE: 1) `mode` can be set to `mod` to request mod only,
- // to `div` to request div only, or be absent to
- // request both div & mod
- // 2) `positive` is true if unsigned mod is requested
- BN.prototype.divmod = function divmod(num, mode, positive) {
- assert(!num.isZero());
- if (this.isZero()) {
- return {
- div: new BN(0),
- mod: new BN(0),
- };
- }
- var div, mod, res;
- if (this.negative !== 0 && num.negative === 0) {
- res = this.neg().divmod(num, mode);
- if (mode !== "mod") {
- div = res.div.neg();
- }
- if (mode !== "div") {
- mod = res.mod.neg();
- if (positive && mod.negative !== 0) {
- mod.iadd(num);
- }
- }
- return {
- div: div,
- mod: mod,
- };
- }
- if (this.negative === 0 && num.negative !== 0) {
- res = this.divmod(num.neg(), mode);
- if (mode !== "mod") {
- div = res.div.neg();
- }
- return {
- div: div,
- mod: res.mod,
- };
- }
- if ((this.negative & num.negative) !== 0) {
- res = this.neg().divmod(num.neg(), mode);
- if (mode !== "div") {
- mod = res.mod.neg();
- if (positive && mod.negative !== 0) {
- mod.isub(num);
- }
- }
- return {
- div: res.div,
- mod: mod,
- };
- }
- // Both numbers are positive at this point
- // Strip both numbers to approximate shift value
- if (num.length > this.length || this.cmp(num) < 0) {
- return {
- div: new BN(0),
- mod: this,
- };
- }
- // Very short reduction
- if (num.length === 1) {
- if (mode === "div") {
- return {
- div: this.divn(num.words[0]),
- mod: null,
- };
- }
- if (mode === "mod") {
- return {
- div: null,
- mod: new BN(this.modn(num.words[0])),
- };
- }
- return {
- div: this.divn(num.words[0]),
- mod: new BN(this.modn(num.words[0])),
- };
- }
- return this._wordDiv(num, mode);
- };
- // Find `this` / `num`
- BN.prototype.div = function div(num) {
- return this.divmod(num, "div", false).div;
- };
- // Find `this` % `num`
- BN.prototype.mod = function mod(num) {
- return this.divmod(num, "mod", false).mod;
- };
- BN.prototype.umod = function umod(num) {
- return this.divmod(num, "mod", true).mod;
- };
- // Find Round(`this` / `num`)
- BN.prototype.divRound = function divRound(num) {
- var dm = this.divmod(num);
- // Fast case - exact division
- if (dm.mod.isZero()) return dm.div;
- var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;
- var half = num.ushrn(1);
- var r2 = num.andln(1);
- var cmp = mod.cmp(half);
- // Round down
- if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;
- // Round up
- return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);
- };
- BN.prototype.modn = function modn(num) {
- assert(num <= 0x3ffffff);
- var p = (1 << 26) % num;
- var acc = 0;
- for (var i = this.length - 1; i >= 0; i--) {
- acc = (p * acc + (this.words[i] | 0)) % num;
- }
- return acc;
- };
- // In-place division by number
- BN.prototype.idivn = function idivn(num) {
- assert(num <= 0x3ffffff);
- var carry = 0;
- for (var i = this.length - 1; i >= 0; i--) {
- var w = (this.words[i] | 0) + carry * 0x4000000;
- this.words[i] = (w / num) | 0;
- carry = w % num;
- }
- return this.strip();
- };
- BN.prototype.divn = function divn(num) {
- return this.clone().idivn(num);
- };
- BN.prototype.egcd = function egcd(p) {
- assert(p.negative === 0);
- assert(!p.isZero());
- var x = this;
- var y = p.clone();
- if (x.negative !== 0) {
- x = x.umod(p);
- } else {
- x = x.clone();
- }
- // A * x + B * y = x
- var A = new BN(1);
- var B = new BN(0);
- // C * x + D * y = y
- var C = new BN(0);
- var D = new BN(1);
- var g = 0;
- while (x.isEven() && y.isEven()) {
- x.iushrn(1);
- y.iushrn(1);
- ++g;
- }
- var yp = y.clone();
- var xp = x.clone();
- while (!x.isZero()) {
- for (
- var i = 0, im = 1;
- (x.words[0] & im) === 0 && i < 26;
- ++i, im <<= 1
- );
- if (i > 0) {
- x.iushrn(i);
- while (i-- > 0) {
- if (A.isOdd() || B.isOdd()) {
- A.iadd(yp);
- B.isub(xp);
- }
- A.iushrn(1);
- B.iushrn(1);
- }
- }
- for (
- var j = 0, jm = 1;
- (y.words[0] & jm) === 0 && j < 26;
- ++j, jm <<= 1
- );
- if (j > 0) {
- y.iushrn(j);
- while (j-- > 0) {
- if (C.isOdd() || D.isOdd()) {
- C.iadd(yp);
- D.isub(xp);
- }
- C.iushrn(1);
- D.iushrn(1);
- }
- }
- if (x.cmp(y) >= 0) {
- x.isub(y);
- A.isub(C);
- B.isub(D);
- } else {
- y.isub(x);
- C.isub(A);
- D.isub(B);
- }
- }
- return {
- a: C,
- b: D,
- gcd: y.iushln(g),
- };
- };
- // This is reduced incarnation of the binary EEA
- // above, designated to invert members of the
- // _prime_ fields F(p) at a maximal speed
- BN.prototype._invmp = function _invmp(p) {
- assert(p.negative === 0);
- assert(!p.isZero());
- var a = this;
- var b = p.clone();
- if (a.negative !== 0) {
- a = a.umod(p);
- } else {
- a = a.clone();
- }
- var x1 = new BN(1);
- var x2 = new BN(0);
- var delta = b.clone();
- while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {
- for (
- var i = 0, im = 1;
- (a.words[0] & im) === 0 && i < 26;
- ++i, im <<= 1
- );
- if (i > 0) {
- a.iushrn(i);
- while (i-- > 0) {
- if (x1.isOdd()) {
- x1.iadd(delta);
- }
- x1.iushrn(1);
- }
- }
- for (
- var j = 0, jm = 1;
- (b.words[0] & jm) === 0 && j < 26;
- ++j, jm <<= 1
- );
- if (j > 0) {
- b.iushrn(j);
- while (j-- > 0) {
- if (x2.isOdd()) {
- x2.iadd(delta);
- }
- x2.iushrn(1);
- }
- }
- if (a.cmp(b) >= 0) {
- a.isub(b);
- x1.isub(x2);
- } else {
- b.isub(a);
- x2.isub(x1);
- }
- }
- var res;
- if (a.cmpn(1) === 0) {
- res = x1;
- } else {
- res = x2;
- }
- if (res.cmpn(0) < 0) {
- res.iadd(p);
- }
- return res;
- };
- BN.prototype.gcd = function gcd(num) {
- if (this.isZero()) return num.abs();
- if (num.isZero()) return this.abs();
- var a = this.clone();
- var b = num.clone();
- a.negative = 0;
- b.negative = 0;
- // Remove common factor of two
- for (var shift = 0; a.isEven() && b.isEven(); shift++) {
- a.iushrn(1);
- b.iushrn(1);
- }
- do {
- while (a.isEven()) {
- a.iushrn(1);
- }
- while (b.isEven()) {
- b.iushrn(1);
- }
- var r = a.cmp(b);
- if (r < 0) {
- // Swap `a` and `b` to make `a` always bigger than `b`
- var t = a;
- a = b;
- b = t;
- } else if (r === 0 || b.cmpn(1) === 0) {
- break;
- }
- a.isub(b);
- } while (true);
- return b.iushln(shift);
- };
- // Invert number in the field F(num)
- BN.prototype.invm = function invm(num) {
- return this.egcd(num).a.umod(num);
- };
- BN.prototype.isEven = function isEven() {
- return (this.words[0] & 1) === 0;
- };
- BN.prototype.isOdd = function isOdd() {
- return (this.words[0] & 1) === 1;
- };
- // And first word and num
- BN.prototype.andln = function andln(num) {
- return this.words[0] & num;
- };
- // Increment at the bit position in-line
- BN.prototype.bincn = function bincn(bit) {
- assert(typeof bit === "number");
- var r = bit % 26;
- var s = (bit - r) / 26;
- var q = 1 << r;
- // Fast case: bit is much higher than all existing words
- if (this.length <= s) {
- this._expand(s + 1);
- this.words[s] |= q;
- return this;
- }
- // Add bit and propagate, if needed
- var carry = q;
- for (var i = s; carry !== 0 && i < this.length; i++) {
- var w = this.words[i] | 0;
- w += carry;
- carry = w >>> 26;
- w &= 0x3ffffff;
- this.words[i] = w;
- }
- if (carry !== 0) {
- this.words[i] = carry;
- this.length++;
- }
- return this;
- };
- BN.prototype.isZero = function isZero() {
- return this.length === 1 && this.words[0] === 0;
- };
- BN.prototype.cmpn = function cmpn(num) {
- var negative = num < 0;
- if (this.negative !== 0 && !negative) return -1;
- if (this.negative === 0 && negative) return 1;
- this.strip();
- var res;
- if (this.length > 1) {
- res = 1;
- } else {
- if (negative) {
- num = -num;
- }
- assert(num <= 0x3ffffff, "Number is too big");
- var w = this.words[0] | 0;
- res = w === num ? 0 : w < num ? -1 : 1;
- }
- if (this.negative !== 0) return -res | 0;
- return res;
- };
- // Compare two numbers and return:
- // 1 - if `this` > `num`
- // 0 - if `this` == `num`
- // -1 - if `this` < `num`
- BN.prototype.cmp = function cmp(num) {
- if (this.negative !== 0 && num.negative === 0) return -1;
- if (this.negative === 0 && num.negative !== 0) return 1;
- var res = this.ucmp(num);
- if (this.negative !== 0) return -res | 0;
- return res;
- };
- // Unsigned comparison
- BN.prototype.ucmp = function ucmp(num) {
- // At this point both numbers have the same sign
- if (this.length > num.length) return 1;
- if (this.length < num.length) return -1;
- var res = 0;
- for (var i = this.length - 1; i >= 0; i--) {
- var a = this.words[i] | 0;
- var b = num.words[i] | 0;
- if (a === b) continue;
- if (a < b) {
- res = -1;
- } else if (a > b) {
- res = 1;
- }
- break;
- }
- return res;
- };
- BN.prototype.gtn = function gtn(num) {
- return this.cmpn(num) === 1;
- };
- BN.prototype.gt = function gt(num) {
- return this.cmp(num) === 1;
- };
- BN.prototype.gten = function gten(num) {
- return this.cmpn(num) >= 0;
- };
- BN.prototype.gte = function gte(num) {
- return this.cmp(num) >= 0;
- };
- BN.prototype.ltn = function ltn(num) {
- return this.cmpn(num) === -1;
- };
- BN.prototype.lt = function lt(num) {
- return this.cmp(num) === -1;
- };
- BN.prototype.lten = function lten(num) {
- return this.cmpn(num) <= 0;
- };
- BN.prototype.lte = function lte(num) {
- return this.cmp(num) <= 0;
- };
- BN.prototype.eqn = function eqn(num) {
- return this.cmpn(num) === 0;
- };
- BN.prototype.eq = function eq(num) {
- return this.cmp(num) === 0;
- };
- //
- // A reduce context, could be using montgomery or something better, depending
- // on the `m` itself.
- //
- BN.red = function red(num) {
- return new Red(num);
- };
- BN.prototype.toRed = function toRed(ctx) {
- assert(!this.red, "Already a number in reduction context");
- assert(this.negative === 0, "red works only with positives");
- return ctx.convertTo(this)._forceRed(ctx);
- };
- BN.prototype.fromRed = function fromRed() {
- assert(
- this.red,
- "fromRed works only with numbers in reduction context"
- );
- return this.red.convertFrom(this);
- };
- BN.prototype._forceRed = function _forceRed(ctx) {
- this.red = ctx;
- return this;
- };
- BN.prototype.forceRed = function forceRed(ctx) {
- assert(!this.red, "Already a number in reduction context");
- return this._forceRed(ctx);
- };
- BN.prototype.redAdd = function redAdd(num) {
- assert(this.red, "redAdd works only with red numbers");
- return this.red.add(this, num);
- };
- BN.prototype.redIAdd = function redIAdd(num) {
- assert(this.red, "redIAdd works only with red numbers");
- return this.red.iadd(this, num);
- };
- BN.prototype.redSub = function redSub(num) {
- assert(this.red, "redSub works only with red numbers");
- return this.red.sub(this, num);
- };
- BN.prototype.redISub = function redISub(num) {
- assert(this.red, "redISub works only with red numbers");
- return this.red.isub(this, num);
- };
- BN.prototype.redShl = function redShl(num) {
- assert(this.red, "redShl works only with red numbers");
- return this.red.shl(this, num);
- };
- BN.prototype.redMul = function redMul(num) {
- assert(this.red, "redMul works only with red numbers");
- this.red._verify2(this, num);
- return this.red.mul(this, num);
- };
- BN.prototype.redIMul = function redIMul(num) {
- assert(this.red, "redMul works only with red numbers");
- this.red._verify2(this, num);
- return this.red.imul(this, num);
- };
- BN.prototype.redSqr = function redSqr() {
- assert(this.red, "redSqr works only with red numbers");
- this.red._verify1(this);
- return this.red.sqr(this);
- };
- BN.prototype.redISqr = function redISqr() {
- assert(this.red, "redISqr works only with red numbers");
- this.red._verify1(this);
- return this.red.isqr(this);
- };
- // Square root over p
- BN.prototype.redSqrt = function redSqrt() {
- assert(this.red, "redSqrt works only with red numbers");
- this.red._verify1(this);
- return this.red.sqrt(this);
- };
- BN.prototype.redInvm = function redInvm() {
- assert(this.red, "redInvm works only with red numbers");
- this.red._verify1(this);
- return this.red.invm(this);
- };
- // Return negative clone of `this` % `red modulo`
- BN.prototype.redNeg = function redNeg() {
- assert(this.red, "redNeg works only with red numbers");
- this.red._verify1(this);
- return this.red.neg(this);
- };
- BN.prototype.redPow = function redPow(num) {
- assert(this.red && !num.red, "redPow(normalNum)");
- this.red._verify1(this);
- return this.red.pow(this, num);
- };
- // Prime numbers with efficient reduction
- var primes = {
- k256: null,
- p224: null,
- p192: null,
- p25519: null,
- };
- // Pseudo-Mersenne prime
- function MPrime(name, p) {
- // P = 2 ^ N - K
- this.name = name;
- this.p = new BN(p, 16);
- this.n = this.p.bitLength();
- this.k = new BN(1).iushln(this.n).isub(this.p);
- this.tmp = this._tmp();
- }
- MPrime.prototype._tmp = function _tmp() {
- var tmp = new BN(null);
- tmp.words = new Array(Math.ceil(this.n / 13));
- return tmp;
- };
- MPrime.prototype.ireduce = function ireduce(num) {
- // Assumes that `num` is less than `P^2`
- // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)
- var r = num;
- var rlen;
- do {
- this.split(r, this.tmp);
- r = this.imulK(r);
- r = r.iadd(this.tmp);
- rlen = r.bitLength();
- } while (rlen > this.n);
- var cmp = rlen < this.n ? -1 : r.ucmp(this.p);
- if (cmp === 0) {
- r.words[0] = 0;
- r.length = 1;
- } else if (cmp > 0) {
- r.isub(this.p);
- } else {
- r.strip();
- }
- return r;
- };
- MPrime.prototype.split = function split(input, out) {
- input.iushrn(this.n, 0, out);
- };
- MPrime.prototype.imulK = function imulK(num) {
- return num.imul(this.k);
- };
- function K256() {
- MPrime.call(
- this,
- "k256",
- "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f"
- );
- }
- inherits(K256, MPrime);
- K256.prototype.split = function split(input, output) {
- // 256 = 9 * 26 + 22
- var mask = 0x3fffff;
- var outLen = Math.min(input.length, 9);
- for (var i = 0; i < outLen; i++) {
- output.words[i] = input.words[i];
- }
- output.length = outLen;
- if (input.length <= 9) {
- input.words[0] = 0;
- input.length = 1;
- return;
- }
- // Shift by 9 limbs
- var prev = input.words[9];
- output.words[output.length++] = prev & mask;
- for (i = 10; i < input.length; i++) {
- var next = input.words[i] | 0;
- input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);
- prev = next;
- }
- prev >>>= 22;
- input.words[i - 10] = prev;
- if (prev === 0 && input.length > 10) {
- input.length -= 10;
- } else {
- input.length -= 9;
- }
- };
- K256.prototype.imulK = function imulK(num) {
- // K = 0x1000003d1 = [ 0x40, 0x3d1 ]
- num.words[num.length] = 0;
- num.words[num.length + 1] = 0;
- num.length += 2;
- // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390
- var lo = 0;
- for (var i = 0; i < num.length; i++) {
- var w = num.words[i] | 0;
- lo += w * 0x3d1;
- num.words[i] = lo & 0x3ffffff;
- lo = w * 0x40 + ((lo / 0x4000000) | 0);
- }
- // Fast length reduction
- if (num.words[num.length - 1] === 0) {
- num.length--;
- if (num.words[num.length - 1] === 0) {
- num.length--;
- }
- }
- return num;
- };
- function P224() {
- MPrime.call(
- this,
- "p224",
- "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001"
- );
- }
- inherits(P224, MPrime);
- function P192() {
- MPrime.call(
- this,
- "p192",
- "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff"
- );
- }
- inherits(P192, MPrime);
- function P25519() {
- // 2 ^ 255 - 19
- MPrime.call(
- this,
- "25519",
- "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed"
- );
- }
- inherits(P25519, MPrime);
- P25519.prototype.imulK = function imulK(num) {
- // K = 0x13
- var carry = 0;
- for (var i = 0; i < num.length; i++) {
- var hi = (num.words[i] | 0) * 0x13 + carry;
- var lo = hi & 0x3ffffff;
- hi >>>= 26;
- num.words[i] = lo;
- carry = hi;
- }
- if (carry !== 0) {
- num.words[num.length++] = carry;
- }
- return num;
- };
- // Exported mostly for testing purposes, use plain name instead
- BN._prime = function prime(name) {
- // Cached version of prime
- if (primes[name]) return primes[name];
- var prime;
- if (name === "k256") {
- prime = new K256();
- } else if (name === "p224") {
- prime = new P224();
- } else if (name === "p192") {
- prime = new P192();
- } else if (name === "p25519") {
- prime = new P25519();
- } else {
- throw new Error("Unknown prime " + name);
- }
- primes[name] = prime;
- return prime;
- };
- //
- // Base reduction engine
- //
- function Red(m) {
- if (typeof m === "string") {
- var prime = BN._prime(m);
- this.m = prime.p;
- this.prime = prime;
- } else {
- assert(m.gtn(1), "modulus must be greater than 1");
- this.m = m;
- this.prime = null;
- }
- }
- Red.prototype._verify1 = function _verify1(a) {
- assert(a.negative === 0, "red works only with positives");
- assert(a.red, "red works only with red numbers");
- };
- Red.prototype._verify2 = function _verify2(a, b) {
- assert(
- (a.negative | b.negative) === 0,
- "red works only with positives"
- );
- assert(a.red && a.red === b.red, "red works only with red numbers");
- };
- Red.prototype.imod = function imod(a) {
- if (this.prime) return this.prime.ireduce(a)._forceRed(this);
- return a.umod(this.m)._forceRed(this);
- };
- Red.prototype.neg = function neg(a) {
- if (a.isZero()) {
- return a.clone();
- }
- return this.m.sub(a)._forceRed(this);
- };
- Red.prototype.add = function add(a, b) {
- this._verify2(a, b);
- var res = a.add(b);
- if (res.cmp(this.m) >= 0) {
- res.isub(this.m);
- }
- return res._forceRed(this);
- };
- Red.prototype.iadd = function iadd(a, b) {
- this._verify2(a, b);
- var res = a.iadd(b);
- if (res.cmp(this.m) >= 0) {
- res.isub(this.m);
- }
- return res;
- };
- Red.prototype.sub = function sub(a, b) {
- this._verify2(a, b);
- var res = a.sub(b);
- if (res.cmpn(0) < 0) {
- res.iadd(this.m);
- }
- return res._forceRed(this);
- };
- Red.prototype.isub = function isub(a, b) {
- this._verify2(a, b);
- var res = a.isub(b);
- if (res.cmpn(0) < 0) {
- res.iadd(this.m);
- }
- return res;
- };
- Red.prototype.shl = function shl(a, num) {
- this._verify1(a);
- return this.imod(a.ushln(num));
- };
- Red.prototype.imul = function imul(a, b) {
- this._verify2(a, b);
- return this.imod(a.imul(b));
- };
- Red.prototype.mul = function mul(a, b) {
- this._verify2(a, b);
- return this.imod(a.mul(b));
- };
- Red.prototype.isqr = function isqr(a) {
- return this.imul(a, a.clone());
- };
- Red.prototype.sqr = function sqr(a) {
- return this.mul(a, a);
- };
- Red.prototype.sqrt = function sqrt(a) {
- if (a.isZero()) return a.clone();
- var mod3 = this.m.andln(3);
- assert(mod3 % 2 === 1);
- // Fast case
- if (mod3 === 3) {
- var pow = this.m.add(new BN(1)).iushrn(2);
- return this.pow(a, pow);
- }
- // Tonelli-Shanks algorithm (Totally unoptimized and slow)
- //
- // Find Q and S, that Q * 2 ^ S = (P - 1)
- var q = this.m.subn(1);
- var s = 0;
- while (!q.isZero() && q.andln(1) === 0) {
- s++;
- q.iushrn(1);
- }
- assert(!q.isZero());
- var one = new BN(1).toRed(this);
- var nOne = one.redNeg();
- // Find quadratic non-residue
- // NOTE: Max is such because of generalized Riemann hypothesis.
- var lpow = this.m.subn(1).iushrn(1);
- var z = this.m.bitLength();
- z = new BN(2 * z * z).toRed(this);
- while (this.pow(z, lpow).cmp(nOne) !== 0) {
- z.redIAdd(nOne);
- }
- var c = this.pow(z, q);
- var r = this.pow(a, q.addn(1).iushrn(1));
- var t = this.pow(a, q);
- var m = s;
- while (t.cmp(one) !== 0) {
- var tmp = t;
- for (var i = 0; tmp.cmp(one) !== 0; i++) {
- tmp = tmp.redSqr();
- }
- assert(i < m);
- var b = this.pow(c, new BN(1).iushln(m - i - 1));
- r = r.redMul(b);
- c = b.redSqr();
- t = t.redMul(c);
- m = i;
- }
- return r;
- };
- Red.prototype.invm = function invm(a) {
- var inv = a._invmp(this.m);
- if (inv.negative !== 0) {
- inv.negative = 0;
- return this.imod(inv).redNeg();
- } else {
- return this.imod(inv);
- }
- };
- Red.prototype.pow = function pow(a, num) {
- if (num.isZero()) return new BN(1).toRed(this);
- if (num.cmpn(1) === 0) return a.clone();
- var windowSize = 4;
- var wnd = new Array(1 << windowSize);
- wnd[0] = new BN(1).toRed(this);
- wnd[1] = a;
- for (var i = 2; i < wnd.length; i++) {
- wnd[i] = this.mul(wnd[i - 1], a);
- }
- var res = wnd[0];
- var current = 0;
- var currentLen = 0;
- var start = num.bitLength() % 26;
- if (start === 0) {
- start = 26;
- }
- for (i = num.length - 1; i >= 0; i--) {
- var word = num.words[i];
- for (var j = start - 1; j >= 0; j--) {
- var bit = (word >> j) & 1;
- if (res !== wnd[0]) {
- res = this.sqr(res);
- }
- if (bit === 0 && current === 0) {
- currentLen = 0;
- continue;
- }
- current <<= 1;
- current |= bit;
- currentLen++;
- if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;
- res = this.mul(res, wnd[current]);
- currentLen = 0;
- current = 0;
- }
- start = 26;
- }
- return res;
- };
- Red.prototype.convertTo = function convertTo(num) {
- var r = num.umod(this.m);
- return r === num ? r.clone() : r;
- };
- Red.prototype.convertFrom = function convertFrom(num) {
- var res = num.clone();
- res.red = null;
- return res;
- };
- //
- // Montgomery method engine
- //
- BN.mont = function mont(num) {
- return new Mont(num);
- };
- function Mont(m) {
- Red.call(this, m);
- this.shift = this.m.bitLength();
- if (this.shift % 26 !== 0) {
- this.shift += 26 - (this.shift % 26);
- }
- this.r = new BN(1).iushln(this.shift);
- this.r2 = this.imod(this.r.sqr());
- this.rinv = this.r._invmp(this.m);
- this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);
- this.minv = this.minv.umod(this.r);
- this.minv = this.r.sub(this.minv);
- }
- inherits(Mont, Red);
- Mont.prototype.convertTo = function convertTo(num) {
- return this.imod(num.ushln(this.shift));
- };
- Mont.prototype.convertFrom = function convertFrom(num) {
- var r = this.imod(num.mul(this.rinv));
- r.red = null;
- return r;
- };
- Mont.prototype.imul = function imul(a, b) {
- if (a.isZero() || b.isZero()) {
- a.words[0] = 0;
- a.length = 1;
- return a;
- }
- var t = a.imul(b);
- var c = t
- .maskn(this.shift)
- .mul(this.minv)
- .imaskn(this.shift)
- .mul(this.m);
- var u = t.isub(c).iushrn(this.shift);
- var res = u;
- if (u.cmp(this.m) >= 0) {
- res = u.isub(this.m);
- } else if (u.cmpn(0) < 0) {
- res = u.iadd(this.m);
- }
- return res._forceRed(this);
- };
- Mont.prototype.mul = function mul(a, b) {
- if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);
- var t = a.mul(b);
- var c = t
- .maskn(this.shift)
- .mul(this.minv)
- .imaskn(this.shift)
- .mul(this.m);
- var u = t.isub(c).iushrn(this.shift);
- var res = u;
- if (u.cmp(this.m) >= 0) {
- res = u.isub(this.m);
- } else if (u.cmpn(0) < 0) {
- res = u.iadd(this.m);
- }
- return res._forceRed(this);
- };
- Mont.prototype.invm = function invm(a) {
- // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R
- var res = this.imod(a._invmp(this.m).mul(this.r2));
- return res._forceRed(this);
- };
- })(typeof module === "undefined" || module, this);
- },
- { buffer: 27 },
- ],
- 26: [
- function (require, module, exports) {
- var r;
- module.exports = function rand(len) {
- if (!r) r = new Rand(null);
- return r.generate(len);
- };
- function Rand(rand) {
- this.rand = rand;
- }
- module.exports.Rand = Rand;
- Rand.prototype.generate = function generate(len) {
- return this._rand(len);
- };
- // Emulate crypto API using randy
- Rand.prototype._rand = function _rand(n) {
- if (this.rand.getBytes) return this.rand.getBytes(n);
- var res = new Uint8Array(n);
- for (var i = 0; i < res.length; i++) res[i] = this.rand.getByte();
- return res;
- };
- if (typeof self === "object") {
- if (self.crypto && self.crypto.getRandomValues) {
- // Modern browsers
- Rand.prototype._rand = function _rand(n) {
- var arr = new Uint8Array(n);
- self.crypto.getRandomValues(arr);
- return arr;
- };
- } else if (self.msCrypto && self.msCrypto.getRandomValues) {
- // IE
- Rand.prototype._rand = function _rand(n) {
- var arr = new Uint8Array(n);
- self.msCrypto.getRandomValues(arr);
- return arr;
- };
- // Safari's WebWorkers do not have `crypto`
- } else if (typeof window === "object") {
- // Old junk
- Rand.prototype._rand = function () {
- throw new Error("Not implemented yet");
- };
- }
- } else {
- // Node.js or Web worker with no crypto support
- try {
- var crypto = require("crypto");
- if (typeof crypto.randomBytes !== "function")
- throw new Error("Not supported");
- Rand.prototype._rand = function _rand(n) {
- return crypto.randomBytes(n);
- };
- } catch (e) {}
- }
- },
- { crypto: 27 },
- ],
- 27: [
- function (require, module, exports) {
- arguments[4][9][0].apply(exports, arguments);
- },
- { dup: 9 },
- ],
- 28: [
- function (require, module, exports) {
- (function (Buffer) {
- // based on the aes implimentation in triple sec
- // https://github.com/keybase/triplesec
- // which is in turn based on the one from crypto-js
- // https://code.google.com/p/crypto-js/
- var uint_max = Math.pow(2, 32);
- function fixup_uint32(x) {
- var ret, x_pos;
- ret =
- x > uint_max || x < 0
- ? ((x_pos = Math.abs(x) % uint_max),
- x < 0 ? uint_max - x_pos : x_pos)
- : x;
- return ret;
- }
- function scrub_vec(v) {
- for (var i = 0; i < v.length; v++) {
- v[i] = 0;
- }
- return false;
- }
- function Global() {
- this.SBOX = [];
- this.INV_SBOX = [];
- this.SUB_MIX = [[], [], [], []];
- this.INV_SUB_MIX = [[], [], [], []];
- this.init();
- this.RCON = [
- 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36,
- ];
- }
- Global.prototype.init = function () {
- var d, i, sx, t, x, x2, x4, x8, xi, _i;
- d = (function () {
- var _i, _results;
- _results = [];
- for (i = _i = 0; _i < 256; i = ++_i) {
- if (i < 128) {
- _results.push(i << 1);
- } else {
- _results.push((i << 1) ^ 0x11b);
- }
- }
- return _results;
- })();
- x = 0;
- xi = 0;
- for (i = _i = 0; _i < 256; i = ++_i) {
- sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);
- sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;
- this.SBOX[x] = sx;
- this.INV_SBOX[sx] = x;
- x2 = d[x];
- x4 = d[x2];
- x8 = d[x4];
- t = (d[sx] * 0x101) ^ (sx * 0x1010100);
- this.SUB_MIX[0][x] = (t << 24) | (t >>> 8);
- this.SUB_MIX[1][x] = (t << 16) | (t >>> 16);
- this.SUB_MIX[2][x] = (t << 8) | (t >>> 24);
- this.SUB_MIX[3][x] = t;
- t =
- (x8 * 0x1010101) ^
- (x4 * 0x10001) ^
- (x2 * 0x101) ^
- (x * 0x1010100);
- this.INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8);
- this.INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16);
- this.INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24);
- this.INV_SUB_MIX[3][sx] = t;
- if (x === 0) {
- x = xi = 1;
- } else {
- x = x2 ^ d[d[d[x8 ^ x2]]];
- xi ^= d[d[xi]];
- }
- }
- return true;
- };
- var G = new Global();
- AES.blockSize = 4 * 4;
- AES.prototype.blockSize = AES.blockSize;
- AES.keySize = 256 / 8;
- AES.prototype.keySize = AES.keySize;
- function bufferToArray(buf) {
- var len = buf.length / 4;
- var out = new Array(len);
- var i = -1;
- while (++i < len) {
- out[i] = buf.readUInt32BE(i * 4);
- }
- return out;
- }
- function AES(key) {
- this._key = bufferToArray(key);
- this._doReset();
- }
- AES.prototype._doReset = function () {
- var invKsRow, keySize, keyWords, ksRow, ksRows, t;
- keyWords = this._key;
- keySize = keyWords.length;
- this._nRounds = keySize + 6;
- ksRows = (this._nRounds + 1) * 4;
- this._keySchedule = [];
- for (ksRow = 0; ksRow < ksRows; ksRow++) {
- this._keySchedule[ksRow] =
- ksRow < keySize
- ? keyWords[ksRow]
- : ((t = this._keySchedule[ksRow - 1]),
- ksRow % keySize === 0
- ? ((t = (t << 8) | (t >>> 24)),
- (t =
- (G.SBOX[t >>> 24] << 24) |
- (G.SBOX[(t >>> 16) & 0xff] << 16) |
- (G.SBOX[(t >>> 8) & 0xff] << 8) |
- G.SBOX[t & 0xff]),
- (t ^= G.RCON[(ksRow / keySize) | 0] << 24))
- : keySize > 6 && ksRow % keySize === 4
- ? (t =
- (G.SBOX[t >>> 24] << 24) |
- (G.SBOX[(t >>> 16) & 0xff] << 16) |
- (G.SBOX[(t >>> 8) & 0xff] << 8) |
- G.SBOX[t & 0xff])
- : void 0,
- this._keySchedule[ksRow - keySize] ^ t);
- }
- this._invKeySchedule = [];
- for (invKsRow = 0; invKsRow < ksRows; invKsRow++) {
- ksRow = ksRows - invKsRow;
- t = this._keySchedule[ksRow - (invKsRow % 4 ? 0 : 4)];
- this._invKeySchedule[invKsRow] =
- invKsRow < 4 || ksRow <= 4
- ? t
- : G.INV_SUB_MIX[0][G.SBOX[t >>> 24]] ^
- G.INV_SUB_MIX[1][G.SBOX[(t >>> 16) & 0xff]] ^
- G.INV_SUB_MIX[2][G.SBOX[(t >>> 8) & 0xff]] ^
- G.INV_SUB_MIX[3][G.SBOX[t & 0xff]];
- }
- return true;
- };
- AES.prototype.encryptBlock = function (M) {
- M = bufferToArray(new Buffer(M));
- var out = this._doCryptBlock(
- M,
- this._keySchedule,
- G.SUB_MIX,
- G.SBOX
- );
- var buf = new Buffer(16);
- buf.writeUInt32BE(out[0], 0);
- buf.writeUInt32BE(out[1], 4);
- buf.writeUInt32BE(out[2], 8);
- buf.writeUInt32BE(out[3], 12);
- return buf;
- };
- AES.prototype.decryptBlock = function (M) {
- M = bufferToArray(new Buffer(M));
- var temp = [M[3], M[1]];
- M[1] = temp[0];
- M[3] = temp[1];
- var out = this._doCryptBlock(
- M,
- this._invKeySchedule,
- G.INV_SUB_MIX,
- G.INV_SBOX
- );
- var buf = new Buffer(16);
- buf.writeUInt32BE(out[0], 0);
- buf.writeUInt32BE(out[3], 4);
- buf.writeUInt32BE(out[2], 8);
- buf.writeUInt32BE(out[1], 12);
- return buf;
- };
- AES.prototype.scrub = function () {
- scrub_vec(this._keySchedule);
- scrub_vec(this._invKeySchedule);
- scrub_vec(this._key);
- };
- AES.prototype._doCryptBlock = function (
- M,
- keySchedule,
- SUB_MIX,
- SBOX
- ) {
- var ksRow, s0, s1, s2, s3, t0, t1, t2, t3;
- s0 = M[0] ^ keySchedule[0];
- s1 = M[1] ^ keySchedule[1];
- s2 = M[2] ^ keySchedule[2];
- s3 = M[3] ^ keySchedule[3];
- ksRow = 4;
- for (var round = 1; round < this._nRounds; round++) {
- t0 =
- SUB_MIX[0][s0 >>> 24] ^
- SUB_MIX[1][(s1 >>> 16) & 0xff] ^
- SUB_MIX[2][(s2 >>> 8) & 0xff] ^
- SUB_MIX[3][s3 & 0xff] ^
- keySchedule[ksRow++];
- t1 =
- SUB_MIX[0][s1 >>> 24] ^
- SUB_MIX[1][(s2 >>> 16) & 0xff] ^
- SUB_MIX[2][(s3 >>> 8) & 0xff] ^
- SUB_MIX[3][s0 & 0xff] ^
- keySchedule[ksRow++];
- t2 =
- SUB_MIX[0][s2 >>> 24] ^
- SUB_MIX[1][(s3 >>> 16) & 0xff] ^
- SUB_MIX[2][(s0 >>> 8) & 0xff] ^
- SUB_MIX[3][s1 & 0xff] ^
- keySchedule[ksRow++];
- t3 =
- SUB_MIX[0][s3 >>> 24] ^
- SUB_MIX[1][(s0 >>> 16) & 0xff] ^
- SUB_MIX[2][(s1 >>> 8) & 0xff] ^
- SUB_MIX[3][s2 & 0xff] ^
- keySchedule[ksRow++];
- s0 = t0;
- s1 = t1;
- s2 = t2;
- s3 = t3;
- }
- t0 =
- ((SBOX[s0 >>> 24] << 24) |
- (SBOX[(s1 >>> 16) & 0xff] << 16) |
- (SBOX[(s2 >>> 8) & 0xff] << 8) |
- SBOX[s3 & 0xff]) ^
- keySchedule[ksRow++];
- t1 =
- ((SBOX[s1 >>> 24] << 24) |
- (SBOX[(s2 >>> 16) & 0xff] << 16) |
- (SBOX[(s3 >>> 8) & 0xff] << 8) |
- SBOX[s0 & 0xff]) ^
- keySchedule[ksRow++];
- t2 =
- ((SBOX[s2 >>> 24] << 24) |
- (SBOX[(s3 >>> 16) & 0xff] << 16) |
- (SBOX[(s0 >>> 8) & 0xff] << 8) |
- SBOX[s1 & 0xff]) ^
- keySchedule[ksRow++];
- t3 =
- ((SBOX[s3 >>> 24] << 24) |
- (SBOX[(s0 >>> 16) & 0xff] << 16) |
- (SBOX[(s1 >>> 8) & 0xff] << 8) |
- SBOX[s2 & 0xff]) ^
- keySchedule[ksRow++];
- return [
- fixup_uint32(t0),
- fixup_uint32(t1),
- fixup_uint32(t2),
- fixup_uint32(t3),
- ];
- };
- exports.AES = AES;
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54 },
- ],
- 29: [
- function (require, module, exports) {
- (function (Buffer) {
- var aes = require("./aes.js");
- var Transform = require("cipher-base");
- var inherits = require("inherits");
- var GHASH = require("./ghash.js");
- var xor = require("buffer-xor");
- inherits(StreamCipher, Transform);
- module.exports = StreamCipher;
- function StreamCipher(mode, key, iv, decrypt) {
- if (!(this instanceof StreamCipher)) {
- return new StreamCipher(mode, key, iv);
- }
- Transform.call(this);
- this._finID = Buffer.concat([iv, new Buffer([0, 0, 0, 1])]);
- iv = Buffer.concat([iv, new Buffer([0, 0, 0, 2])]);
- this._cipher = new aes.AES(key);
- this._prev = new Buffer(iv.length);
- this._cache = new Buffer("");
- this._secCache = new Buffer("");
- this._decrypt = decrypt;
- this._alen = 0;
- this._len = 0;
- iv.copy(this._prev);
- this._mode = mode;
- var h = new Buffer(4);
- h.fill(0);
- this._ghash = new GHASH(this._cipher.encryptBlock(h));
- this._authTag = null;
- this._called = false;
- }
- StreamCipher.prototype._update = function (chunk) {
- if (!this._called && this._alen) {
- var rump = 16 - (this._alen % 16);
- if (rump < 16) {
- rump = new Buffer(rump);
- rump.fill(0);
- this._ghash.update(rump);
- }
- }
- this._called = true;
- var out = this._mode.encrypt(this, chunk);
- if (this._decrypt) {
- this._ghash.update(chunk);
- } else {
- this._ghash.update(out);
- }
- this._len += chunk.length;
- return out;
- };
- StreamCipher.prototype._final = function () {
- if (this._decrypt && !this._authTag) {
- throw new Error(
- "Unsupported state or unable to authenticate data"
- );
- }
- var tag = xor(
- this._ghash.final(this._alen * 8, this._len * 8),
- this._cipher.encryptBlock(this._finID)
- );
- if (this._decrypt) {
- if (xorTest(tag, this._authTag)) {
- throw new Error(
- "Unsupported state or unable to authenticate data"
- );
- }
- } else {
- this._authTag = tag;
- }
- this._cipher.scrub();
- };
- StreamCipher.prototype.getAuthTag = function getAuthTag() {
- if (!this._decrypt && Buffer.isBuffer(this._authTag)) {
- return this._authTag;
- } else {
- throw new Error(
- "Attempting to get auth tag in unsupported state"
- );
- }
- };
- StreamCipher.prototype.setAuthTag = function setAuthTag(tag) {
- if (this._decrypt) {
- this._authTag = tag;
- } else {
- throw new Error(
- "Attempting to set auth tag in unsupported state"
- );
- }
- };
- StreamCipher.prototype.setAAD = function setAAD(buf) {
- if (!this._called) {
- this._ghash.update(buf);
- this._alen += buf.length;
- } else {
- throw new Error("Attempting to set AAD in unsupported state");
- }
- };
- function xorTest(a, b) {
- var out = 0;
- if (a.length !== b.length) {
- out++;
- }
- var len = Math.min(a.length, b.length);
- var i = -1;
- while (++i < len) {
- out += a[i] ^ b[i];
- }
- return out;
- }
- }).call(this, require("buffer").Buffer);
- },
- {
- "./aes": 28,
- "./ghash": 33,
- buffer: 54,
- "buffer-xor": 53,
- "cipher-base": 55,
- inherits: 108,
- },
- ],
- 30: [
- function (require, module, exports) {
- var ciphers = require("./encrypter.js");
- exports.createCipher = exports.Cipher = ciphers.createCipher;
- exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv;
- var deciphers = require("./decrypter.js");
- exports.createDecipher = exports.Decipher = deciphers.createDecipher;
- exports.createDecipheriv = exports.Decipheriv =
- deciphers.createDecipheriv;
- var modes = require("./modes.js");
- function getCiphers() {
- return Object.keys(modes);
- }
- exports.listCiphers = exports.getCiphers = getCiphers;
- },
- { "./decrypter": 31, "./encrypter": 32, "./modes": 34 },
- ],
- 31: [
- function (require, module, exports) {
- (function (Buffer) {
- var aes = require("./aes.js");
- var Transform = require("cipher-base");
- var inherits = require("inherits");
- var modes = require("./modes.js");
- var StreamCipher = require("./streamCipher.js");
- var AuthCipher = require("./authCipher.js");
- var ebtk = require("evp_bytestokey");
- inherits(Decipher, Transform);
- function Decipher(mode, key, iv) {
- if (!(this instanceof Decipher)) {
- return new Decipher(mode, key, iv);
- }
- Transform.call(this);
- this._cache = new Splitter();
- this._last = void 0;
- this._cipher = new aes.AES(key);
- this._prev = new Buffer(iv.length);
- iv.copy(this._prev);
- this._mode = mode;
- this._autopadding = true;
- }
- Decipher.prototype._update = function (data) {
- this._cache.add(data);
- var chunk;
- var thing;
- var out = [];
- while ((chunk = this._cache.get(this._autopadding))) {
- thing = this._mode.decrypt(this, chunk);
- out.push(thing);
- }
- return Buffer.concat(out);
- };
- Decipher.prototype._final = function () {
- var chunk = this._cache.flush();
- if (this._autopadding) {
- return unpad(this._mode.decrypt(this, chunk));
- } else if (chunk) {
- throw new Error("data not multiple of block length");
- }
- };
- Decipher.prototype.setAutoPadding = function (setTo) {
- this._autopadding = !!setTo;
- return this;
- };
- function Splitter() {
- if (!(this instanceof Splitter)) {
- return new Splitter();
- }
- this.cache = new Buffer("");
- }
- Splitter.prototype.add = function (data) {
- this.cache = Buffer.concat([this.cache, data]);
- };
- Splitter.prototype.get = function (autoPadding) {
- var out;
- if (autoPadding) {
- if (this.cache.length > 16) {
- out = this.cache.slice(0, 16);
- this.cache = this.cache.slice(16);
- return out;
- }
- } else {
- if (this.cache.length >= 16) {
- out = this.cache.slice(0, 16);
- this.cache = this.cache.slice(16);
- return out;
- }
- }
- return null;
- };
- Splitter.prototype.flush = function () {
- if (this.cache.length) {
- return this.cache;
- }
- };
- function unpad(last) {
- var padded = last[15];
- var i = -1;
- while (++i < padded) {
- if (last[i + (16 - padded)] !== padded) {
- throw new Error("unable to decrypt data");
- }
- }
- if (padded === 16) {
- return;
- }
- return last.slice(0, 16 - padded);
- }
- var modelist = {
- ECB: require("./modes/ecb.js"),
- CBC: require("./modes/cbc.js"),
- CFB: require("./modes/cfb.js"),
- CFB8: require("./modes/cfb8.js"),
- CFB1: require("./modes/cfb1.js"),
- OFB: require("./modes/ofb.js"),
- CTR: require("./modes/ctr.js"),
- GCM: require("./modes/ctr.js"),
- };
- function createDecipheriv(suite, password, iv) {
- var config = modes[suite.toLowerCase()];
- if (!config) {
- throw new TypeError("invalid suite type");
- }
- if (typeof iv === "string") {
- iv = new Buffer(iv);
- }
- if (typeof password === "string") {
- password = new Buffer(password);
- }
- if (password.length !== config.key / 8) {
- throw new TypeError("invalid key length " + password.length);
- }
- if (iv.length !== config.iv) {
- throw new TypeError("invalid iv length " + iv.length);
- }
- if (config.type === "stream") {
- return new StreamCipher(
- modelist[config.mode],
- password,
- iv,
- true
- );
- } else if (config.type === "auth") {
- return new AuthCipher(modelist[config.mode], password, iv, true);
- }
- return new Decipher(modelist[config.mode], password, iv);
- }
- function createDecipher(suite, password) {
- var config = modes[suite.toLowerCase()];
- if (!config) {
- throw new TypeError("invalid suite type");
- }
- var keys = ebtk(password, false, config.key, config.iv);
- return createDecipheriv(suite, keys.key, keys.iv);
- }
- exports.createDecipher = createDecipher;
- exports.createDecipheriv = createDecipheriv;
- }).call(this, require("buffer").Buffer);
- },
- {
- "./aes": 28,
- "./authCipher": 29,
- "./modes": 34,
- "./modes/cbc": 35,
- "./modes/cfb": 36,
- "./modes/cfb1": 37,
- "./modes/cfb8": 38,
- "./modes/ctr": 39,
- "./modes/ecb": 40,
- "./modes/ofb": 41,
- "./streamCipher": 42,
- buffer: 54,
- "cipher-base": 55,
- evp_bytestokey: 91,
- inherits: 108,
- },
- ],
- 32: [
- function (require, module, exports) {
- (function (Buffer) {
- var aes = require("./aes.js");
- var Transform = require("cipher-base");
- var inherits = require("inherits");
- var modes = require("./modes.js");
- var ebtk = require("evp_bytestokey");
- var StreamCipher = require("./streamCipher.js");
- var AuthCipher = require("./authCipher.js");
- inherits(Cipher, Transform);
- function Cipher(mode, key, iv) {
- if (!(this instanceof Cipher)) {
- return new Cipher(mode, key, iv);
- }
- Transform.call(this);
- this._cache = new Splitter();
- this._cipher = new aes.AES(key);
- this._prev = new Buffer(iv.length);
- iv.copy(this._prev);
- this._mode = mode;
- this._autopadding = true;
- }
- Cipher.prototype._update = function (data) {
- this._cache.add(data);
- var chunk;
- var thing;
- var out = [];
- while ((chunk = this._cache.get())) {
- thing = this._mode.encrypt(this, chunk);
- out.push(thing);
- }
- return Buffer.concat(out);
- };
- Cipher.prototype._final = function () {
- var chunk = this._cache.flush();
- if (this._autopadding) {
- chunk = this._mode.encrypt(this, chunk);
- this._cipher.scrub();
- return chunk;
- } else if (
- chunk.toString("hex") !== "10101010101010101010101010101010"
- ) {
- this._cipher.scrub();
- throw new Error("data not multiple of block length");
- }
- };
- Cipher.prototype.setAutoPadding = function (setTo) {
- this._autopadding = !!setTo;
- return this;
- };
- function Splitter() {
- if (!(this instanceof Splitter)) {
- return new Splitter();
- }
- this.cache = new Buffer("");
- }
- Splitter.prototype.add = function (data) {
- this.cache = Buffer.concat([this.cache, data]);
- };
- Splitter.prototype.get = function () {
- if (this.cache.length > 15) {
- var out = this.cache.slice(0, 16);
- this.cache = this.cache.slice(16);
- return out;
- }
- return null;
- };
- Splitter.prototype.flush = function () {
- var len = 16 - this.cache.length;
- var padBuff = new Buffer(len);
- var i = -1;
- while (++i < len) {
- padBuff.writeUInt8(len, i);
- }
- var out = Buffer.concat([this.cache, padBuff]);
- return out;
- };
- var modelist = {
- ECB: require("./modes/ecb.js"),
- CBC: require("./modes/cbc.js"),
- CFB: require("./modes/cfb.js"),
- CFB8: require("./modes/cfb8.js"),
- CFB1: require("./modes/cfb1.js"),
- OFB: require("./modes/ofb.js"),
- CTR: require("./modes/ctr.js"),
- GCM: require("./modes/ctr.js"),
- };
- function createCipheriv(suite, password, iv) {
- var config = modes[suite.toLowerCase()];
- if (!config) {
- throw new TypeError("invalid suite type");
- }
- if (typeof iv === "string") {
- iv = new Buffer(iv);
- }
- if (typeof password === "string") {
- password = new Buffer(password);
- }
- if (password.length !== config.key / 8) {
- throw new TypeError("invalid key length " + password.length);
- }
- if (iv.length !== config.iv) {
- throw new TypeError("invalid iv length " + iv.length);
- }
- if (config.type === "stream") {
- return new StreamCipher(modelist[config.mode], password, iv);
- } else if (config.type === "auth") {
- return new AuthCipher(modelist[config.mode], password, iv);
- }
- return new Cipher(modelist[config.mode], password, iv);
- }
- function createCipher(suite, password) {
- var config = modes[suite.toLowerCase()];
- if (!config) {
- throw new TypeError("invalid suite type");
- }
- var keys = ebtk(password, false, config.key, config.iv);
- return createCipheriv(suite, keys.key, keys.iv);
- }
- exports.createCipheriv = createCipheriv;
- exports.createCipher = createCipher;
- }).call(this, require("buffer").Buffer);
- },
- {
- "./aes": 28,
- "./authCipher": 29,
- "./modes": 34,
- "./modes/cbc": 35,
- "./modes/cfb": 36,
- "./modes/cfb1": 37,
- "./modes/cfb8": 38,
- "./modes/ctr": 39,
- "./modes/ecb": 40,
- "./modes/ofb": 41,
- "./streamCipher": 42,
- buffer: 54,
- "cipher-base": 55,
- evp_bytestokey: 91,
- inherits: 108,
- },
- ],
- 33: [
- function (require, module, exports) {
- (function (Buffer) {
- var zeros = new Buffer(16);
- zeros.fill(0);
- module.exports = GHASH;
- function GHASH(key) {
- this.h = key;
- this.state = new Buffer(16);
- this.state.fill(0);
- this.cache = new Buffer("");
- }
- // from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html
- // by Juho Vähä-Herttua
- GHASH.prototype.ghash = function (block) {
- var i = -1;
- while (++i < block.length) {
- this.state[i] ^= block[i];
- }
- this._multiply();
- };
- GHASH.prototype._multiply = function () {
- var Vi = toArray(this.h);
- var Zi = [0, 0, 0, 0];
- var j, xi, lsb_Vi;
- var i = -1;
- while (++i < 128) {
- xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0;
- if (xi) {
- // Z_i+1 = Z_i ^ V_i
- Zi = xor(Zi, Vi);
- }
- // Store the value of LSB(V_i)
- lsb_Vi = (Vi[3] & 1) !== 0;
- // V_i+1 = V_i >> 1
- for (j = 3; j > 0; j--) {
- Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31);
- }
- Vi[0] = Vi[0] >>> 1;
- // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R
- if (lsb_Vi) {
- Vi[0] = Vi[0] ^ (0xe1 << 24);
- }
- }
- this.state = fromArray(Zi);
- };
- GHASH.prototype.update = function (buf) {
- this.cache = Buffer.concat([this.cache, buf]);
- var chunk;
- while (this.cache.length >= 16) {
- chunk = this.cache.slice(0, 16);
- this.cache = this.cache.slice(16);
- this.ghash(chunk);
- }
- };
- GHASH.prototype.final = function (abl, bl) {
- if (this.cache.length) {
- this.ghash(Buffer.concat([this.cache, zeros], 16));
- }
- this.ghash(fromArray([0, abl, 0, bl]));
- return this.state;
- };
- function toArray(buf) {
- return [
- buf.readUInt32BE(0),
- buf.readUInt32BE(4),
- buf.readUInt32BE(8),
- buf.readUInt32BE(12),
- ];
- }
- function fromArray(out) {
- out = out.map(fixup_uint32);
- var buf = new Buffer(16);
- buf.writeUInt32BE(out[0], 0);
- buf.writeUInt32BE(out[1], 4);
- buf.writeUInt32BE(out[2], 8);
- buf.writeUInt32BE(out[3], 12);
- return buf;
- }
- var uint_max = Math.pow(2, 32);
- function fixup_uint32(x) {
- var ret, x_pos;
- ret =
- x > uint_max || x < 0
- ? ((x_pos = Math.abs(x) % uint_max),
- x < 0 ? uint_max - x_pos : x_pos)
- : x;
- return ret;
- }
- function xor(a, b) {
- return [a[0] ^ b[0], a[1] ^ b[1], a[2] ^ b[2], a[3] ^ b[3]];
- }
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54 },
- ],
- 34: [
- function (require, module, exports) {
- exports["aes-128-ecb"] = {
- cipher: "AES",
- key: 128,
- iv: 0,
- mode: "ECB",
- type: "block",
- };
- exports["aes-192-ecb"] = {
- cipher: "AES",
- key: 192,
- iv: 0,
- mode: "ECB",
- type: "block",
- };
- exports["aes-256-ecb"] = {
- cipher: "AES",
- key: 256,
- iv: 0,
- mode: "ECB",
- type: "block",
- };
- exports["aes-128-cbc"] = {
- cipher: "AES",
- key: 128,
- iv: 16,
- mode: "CBC",
- type: "block",
- };
- exports["aes-192-cbc"] = {
- cipher: "AES",
- key: 192,
- iv: 16,
- mode: "CBC",
- type: "block",
- };
- exports["aes-256-cbc"] = {
- cipher: "AES",
- key: 256,
- iv: 16,
- mode: "CBC",
- type: "block",
- };
- exports["aes128"] = exports["aes-128-cbc"];
- exports["aes192"] = exports["aes-192-cbc"];
- exports["aes256"] = exports["aes-256-cbc"];
- exports["aes-128-cfb"] = {
- cipher: "AES",
- key: 128,
- iv: 16,
- mode: "CFB",
- type: "stream",
- };
- exports["aes-192-cfb"] = {
- cipher: "AES",
- key: 192,
- iv: 16,
- mode: "CFB",
- type: "stream",
- };
- exports["aes-256-cfb"] = {
- cipher: "AES",
- key: 256,
- iv: 16,
- mode: "CFB",
- type: "stream",
- };
- exports["aes-128-cfb8"] = {
- cipher: "AES",
- key: 128,
- iv: 16,
- mode: "CFB8",
- type: "stream",
- };
- exports["aes-192-cfb8"] = {
- cipher: "AES",
- key: 192,
- iv: 16,
- mode: "CFB8",
- type: "stream",
- };
- exports["aes-256-cfb8"] = {
- cipher: "AES",
- key: 256,
- iv: 16,
- mode: "CFB8",
- type: "stream",
- };
- exports["aes-128-cfb1"] = {
- cipher: "AES",
- key: 128,
- iv: 16,
- mode: "CFB1",
- type: "stream",
- };
- exports["aes-192-cfb1"] = {
- cipher: "AES",
- key: 192,
- iv: 16,
- mode: "CFB1",
- type: "stream",
- };
- exports["aes-256-cfb1"] = {
- cipher: "AES",
- key: 256,
- iv: 16,
- mode: "CFB1",
- type: "stream",
- };
- exports["aes-128-ofb"] = {
- cipher: "AES",
- key: 128,
- iv: 16,
- mode: "OFB",
- type: "stream",
- };
- exports["aes-192-ofb"] = {
- cipher: "AES",
- key: 192,
- iv: 16,
- mode: "OFB",
- type: "stream",
- };
- exports["aes-256-ofb"] = {
- cipher: "AES",
- key: 256,
- iv: 16,
- mode: "OFB",
- type: "stream",
- };
- exports["aes-128-ctr"] = {
- cipher: "AES",
- key: 128,
- iv: 16,
- mode: "CTR",
- type: "stream",
- };
- exports["aes-192-ctr"] = {
- cipher: "AES",
- key: 192,
- iv: 16,
- mode: "CTR",
- type: "stream",
- };
- exports["aes-256-ctr"] = {
- cipher: "AES",
- key: 256,
- iv: 16,
- mode: "CTR",
- type: "stream",
- };
- exports["aes-128-gcm"] = {
- cipher: "AES",
- key: 128,
- iv: 12,
- mode: "GCM",
- type: "auth",
- };
- exports["aes-192-gcm"] = {
- cipher: "AES",
- key: 192,
- iv: 12,
- mode: "GCM",
- type: "auth",
- };
- exports["aes-256-gcm"] = {
- cipher: "AES",
- key: 256,
- iv: 12,
- mode: "GCM",
- type: "auth",
- };
- },
- {},
- ],
- 35: [
- function (require, module, exports) {
- var xor = require("buffer-xor");
- exports.encrypt = function (self, block) {
- var data = xor(block, self._prev);
- self._prev = self._cipher.encryptBlock(data);
- return self._prev;
- };
- exports.decrypt = function (self, block) {
- var pad = self._prev;
- self._prev = block;
- var out = self._cipher.decryptBlock(block);
- return xor(out, pad);
- };
- },
- { "buffer-xor": 53 },
- ],
- 36: [
- function (require, module, exports) {
- (function (Buffer) {
- var xor = require("buffer-xor");
- exports.encrypt = function (self, data, decrypt) {
- var out = new Buffer("");
- var len;
- while (data.length) {
- if (self._cache.length === 0) {
- self._cache = self._cipher.encryptBlock(self._prev);
- self._prev = new Buffer("");
- }
- if (self._cache.length <= data.length) {
- len = self._cache.length;
- out = Buffer.concat([
- out,
- encryptStart(self, data.slice(0, len), decrypt),
- ]);
- data = data.slice(len);
- } else {
- out = Buffer.concat([out, encryptStart(self, data, decrypt)]);
- break;
- }
- }
- return out;
- };
- function encryptStart(self, data, decrypt) {
- var len = data.length;
- var out = xor(data, self._cache);
- self._cache = self._cache.slice(len);
- self._prev = Buffer.concat([self._prev, decrypt ? data : out]);
- return out;
- }
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54, "buffer-xor": 53 },
- ],
- 37: [
- function (require, module, exports) {
- (function (Buffer) {
- function encryptByte(self, byteParam, decrypt) {
- var pad;
- var i = -1;
- var len = 8;
- var out = 0;
- var bit, value;
- while (++i < len) {
- pad = self._cipher.encryptBlock(self._prev);
- bit = byteParam & (1 << (7 - i)) ? 0x80 : 0;
- value = pad[0] ^ bit;
- out += (value & 0x80) >> i % 8;
- self._prev = shiftIn(self._prev, decrypt ? bit : value);
- }
- return out;
- }
- exports.encrypt = function (self, chunk, decrypt) {
- var len = chunk.length;
- var out = new Buffer(len);
- var i = -1;
- while (++i < len) {
- out[i] = encryptByte(self, chunk[i], decrypt);
- }
- return out;
- };
- function shiftIn(buffer, value) {
- var len = buffer.length;
- var i = -1;
- var out = new Buffer(buffer.length);
- buffer = Buffer.concat([buffer, new Buffer([value])]);
- while (++i < len) {
- out[i] = (buffer[i] << 1) | (buffer[i + 1] >> 7);
- }
- return out;
- }
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54 },
- ],
- 38: [
- function (require, module, exports) {
- (function (Buffer) {
- function encryptByte(self, byteParam, decrypt) {
- var pad = self._cipher.encryptBlock(self._prev);
- var out = pad[0] ^ byteParam;
- self._prev = Buffer.concat([
- self._prev.slice(1),
- new Buffer([decrypt ? byteParam : out]),
- ]);
- return out;
- }
- exports.encrypt = function (self, chunk, decrypt) {
- var len = chunk.length;
- var out = new Buffer(len);
- var i = -1;
- while (++i < len) {
- out[i] = encryptByte(self, chunk[i], decrypt);
- }
- return out;
- };
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54 },
- ],
- 39: [
- function (require, module, exports) {
- (function (Buffer) {
- var xor = require("buffer-xor");
- function incr32(iv) {
- var len = iv.length;
- var item;
- while (len--) {
- item = iv.readUInt8(len);
- if (item === 255) {
- iv.writeUInt8(0, len);
- } else {
- item++;
- iv.writeUInt8(item, len);
- break;
- }
- }
- }
- function getBlock(self) {
- var out = self._cipher.encryptBlock(self._prev);
- incr32(self._prev);
- return out;
- }
- exports.encrypt = function (self, chunk) {
- while (self._cache.length < chunk.length) {
- self._cache = Buffer.concat([self._cache, getBlock(self)]);
- }
- var pad = self._cache.slice(0, chunk.length);
- self._cache = self._cache.slice(chunk.length);
- return xor(chunk, pad);
- };
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54, "buffer-xor": 53 },
- ],
- 40: [
- function (require, module, exports) {
- exports.encrypt = function (self, block) {
- return self._cipher.encryptBlock(block);
- };
- exports.decrypt = function (self, block) {
- return self._cipher.decryptBlock(block);
- };
- },
- {},
- ],
- 41: [
- function (require, module, exports) {
- (function (Buffer) {
- var xor = require("buffer-xor");
- function getBlock(self) {
- self._prev = self._cipher.encryptBlock(self._prev);
- return self._prev;
- }
- exports.encrypt = function (self, chunk) {
- while (self._cache.length < chunk.length) {
- self._cache = Buffer.concat([self._cache, getBlock(self)]);
- }
- var pad = self._cache.slice(0, chunk.length);
- self._cache = self._cache.slice(chunk.length);
- return xor(chunk, pad);
- };
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54, "buffer-xor": 53 },
- ],
- 42: [
- function (require, module, exports) {
- (function (Buffer) {
- var aes = require("./aes.js");
- var Transform = require("cipher-base");
- var inherits = require("inherits");
- inherits(StreamCipher, Transform);
- module.exports = StreamCipher;
- function StreamCipher(mode, key, iv, decrypt) {
- if (!(this instanceof StreamCipher)) {
- return new StreamCipher(mode, key, iv);
- }
- Transform.call(this);
- this._cipher = new aes.AES(key);
- this._prev = new Buffer(iv.length);
- this._cache = new Buffer("");
- this._secCache = new Buffer("");
- this._decrypt = decrypt;
- iv.copy(this._prev);
- this._mode = mode;
- }
- StreamCipher.prototype._update = function (chunk) {
- return this._mode.encrypt(this, chunk, this._decrypt);
- };
- StreamCipher.prototype._final = function () {
- this._cipher.scrub();
- };
- }).call(this, require("buffer").Buffer);
- },
- { "./aes": 28, buffer: 54, "cipher-base": 55, inherits: 108 },
- ],
- 43: [
- function (require, module, exports) {
- var ebtk = require("evp_bytestokey");
- var aes = require("browserify-aes/browser");
- var DES = require("browserify-des");
- var desModes = require("browserify-des/modes");
- var aesModes = require("browserify-aes/modes");
- function createCipher(suite, password) {
- var keyLen, ivLen;
- suite = suite.toLowerCase();
- if (aesModes[suite]) {
- keyLen = aesModes[suite].key;
- ivLen = aesModes[suite].iv;
- } else if (desModes[suite]) {
- keyLen = desModes[suite].key * 8;
- ivLen = desModes[suite].iv;
- } else {
- throw new TypeError("invalid suite type");
- }
- var keys = ebtk(password, false, keyLen, ivLen);
- return createCipheriv(suite, keys.key, keys.iv);
- }
- function createDecipher(suite, password) {
- var keyLen, ivLen;
- suite = suite.toLowerCase();
- if (aesModes[suite]) {
- keyLen = aesModes[suite].key;
- ivLen = aesModes[suite].iv;
- } else if (desModes[suite]) {
- keyLen = desModes[suite].key * 8;
- ivLen = desModes[suite].iv;
- } else {
- throw new TypeError("invalid suite type");
- }
- var keys = ebtk(password, false, keyLen, ivLen);
- return createDecipheriv(suite, keys.key, keys.iv);
- }
- function createCipheriv(suite, key, iv) {
- suite = suite.toLowerCase();
- if (aesModes[suite]) {
- return aes.createCipheriv(suite, key, iv);
- } else if (desModes[suite]) {
- return new DES({
- key: key,
- iv: iv,
- mode: suite,
- });
- } else {
- throw new TypeError("invalid suite type");
- }
- }
- function createDecipheriv(suite, key, iv) {
- suite = suite.toLowerCase();
- if (aesModes[suite]) {
- return aes.createDecipheriv(suite, key, iv);
- } else if (desModes[suite]) {
- return new DES({
- key: key,
- iv: iv,
- mode: suite,
- decrypt: true,
- });
- } else {
- throw new TypeError("invalid suite type");
- }
- }
- exports.createCipher = exports.Cipher = createCipher;
- exports.createCipheriv = exports.Cipheriv = createCipheriv;
- exports.createDecipher = exports.Decipher = createDecipher;
- exports.createDecipheriv = exports.Decipheriv = createDecipheriv;
- function getCiphers() {
- return Object.keys(desModes).concat(aes.getCiphers());
- }
- exports.listCiphers = exports.getCiphers = getCiphers;
- },
- {
- "browserify-aes/browser": 30,
- "browserify-aes/modes": 34,
- "browserify-des": 44,
- "browserify-des/modes": 45,
- evp_bytestokey: 91,
- },
- ],
- 44: [
- function (require, module, exports) {
- (function (Buffer) {
- var CipherBase = require("cipher-base");
- var des = require("des.js");
- var inherits = require("inherits");
- var modes = {
- "des-ede3-cbc": des.CBC.instantiate(des.EDE),
- "des-ede3": des.EDE,
- "des-ede-cbc": des.CBC.instantiate(des.EDE),
- "des-ede": des.EDE,
- "des-cbc": des.CBC.instantiate(des.DES),
- "des-ecb": des.DES,
- };
- modes.des = modes["des-cbc"];
- modes.des3 = modes["des-ede3-cbc"];
- module.exports = DES;
- inherits(DES, CipherBase);
- function DES(opts) {
- CipherBase.call(this);
- var modeName = opts.mode.toLowerCase();
- var mode = modes[modeName];
- var type;
- if (opts.decrypt) {
- type = "decrypt";
- } else {
- type = "encrypt";
- }
- var key = opts.key;
- if (modeName === "des-ede" || modeName === "des-ede-cbc") {
- key = Buffer.concat([key, key.slice(0, 8)]);
- }
- var iv = opts.iv;
- this._des = mode.create({
- key: key,
- iv: iv,
- type: type,
- });
- }
- DES.prototype._update = function (data) {
- return new Buffer(this._des.update(data));
- };
- DES.prototype._final = function () {
- return new Buffer(this._des.final());
- };
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54, "cipher-base": 55, "des.js": 64, inherits: 108 },
- ],
- 45: [
- function (require, module, exports) {
- exports["des-ecb"] = {
- key: 8,
- iv: 0,
- };
- exports["des-cbc"] = exports.des = {
- key: 8,
- iv: 8,
- };
- exports["des-ede3-cbc"] = exports.des3 = {
- key: 24,
- iv: 8,
- };
- exports["des-ede3"] = {
- key: 24,
- iv: 0,
- };
- exports["des-ede-cbc"] = {
- key: 16,
- iv: 8,
- };
- exports["des-ede"] = {
- key: 16,
- iv: 0,
- };
- },
- {},
- ],
- 46: [
- function (require, module, exports) {
- (function (Buffer) {
- var bn = require("bn.js");
- var randomBytes = require("randombytes");
- module.exports = crt;
- function blind(priv) {
- var r = getr(priv);
- var blinder = r
- .toRed(bn.mont(priv.modulus))
- .redPow(new bn(priv.publicExponent))
- .fromRed();
- return {
- blinder: blinder,
- unblinder: r.invm(priv.modulus),
- };
- }
- function crt(msg, priv) {
- var blinds = blind(priv);
- var len = priv.modulus.byteLength();
- var mod = bn.mont(priv.modulus);
- var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus);
- var c1 = blinded.toRed(bn.mont(priv.prime1));
- var c2 = blinded.toRed(bn.mont(priv.prime2));
- var qinv = priv.coefficient;
- var p = priv.prime1;
- var q = priv.prime2;
- var m1 = c1.redPow(priv.exponent1);
- var m2 = c2.redPow(priv.exponent2);
- m1 = m1.fromRed();
- m2 = m2.fromRed();
- var h = m1.isub(m2).imul(qinv).umod(p);
- h.imul(q);
- m2.iadd(h);
- return new Buffer(
- m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len)
- );
- }
- crt.getr = getr;
- function getr(priv) {
- var len = priv.modulus.byteLength();
- var r = new bn(randomBytes(len));
- while (
- r.cmp(priv.modulus) >= 0 ||
- !r.umod(priv.prime1) ||
- !r.umod(priv.prime2)
- ) {
- r = new bn(randomBytes(len));
- }
- return r;
- }
- }).call(this, require("buffer").Buffer);
- },
- { "bn.js": 25, buffer: 54, randombytes: 133 },
- ],
- 47: [
- function (require, module, exports) {
- module.exports = require("./browser/algorithms.json");
- },
- { "./browser/algorithms.json": 48 },
- ],
- 48: [
- function (require, module, exports) {
- module.exports = {
- sha224WithRSAEncryption: {
- sign: "rsa",
- hash: "sha224",
- id: "302d300d06096086480165030402040500041c",
- },
- "RSA-SHA224": {
- sign: "ecdsa/rsa",
- hash: "sha224",
- id: "302d300d06096086480165030402040500041c",
- },
- sha256WithRSAEncryption: {
- sign: "rsa",
- hash: "sha256",
- id: "3031300d060960864801650304020105000420",
- },
- "RSA-SHA256": {
- sign: "ecdsa/rsa",
- hash: "sha256",
- id: "3031300d060960864801650304020105000420",
- },
- sha384WithRSAEncryption: {
- sign: "rsa",
- hash: "sha384",
- id: "3041300d060960864801650304020205000430",
- },
- "RSA-SHA384": {
- sign: "ecdsa/rsa",
- hash: "sha384",
- id: "3041300d060960864801650304020205000430",
- },
- sha512WithRSAEncryption: {
- sign: "rsa",
- hash: "sha512",
- id: "3051300d060960864801650304020305000440",
- },
- "RSA-SHA512": {
- sign: "ecdsa/rsa",
- hash: "sha512",
- id: "3051300d060960864801650304020305000440",
- },
- "RSA-SHA1": {
- sign: "rsa",
- hash: "sha1",
- id: "3021300906052b0e03021a05000414",
- },
- "ecdsa-with-SHA1": {
- sign: "ecdsa",
- hash: "sha1",
- id: "",
- },
- sha256: {
- sign: "ecdsa",
- hash: "sha256",
- id: "",
- },
- sha224: {
- sign: "ecdsa",
- hash: "sha224",
- id: "",
- },
- sha384: {
- sign: "ecdsa",
- hash: "sha384",
- id: "",
- },
- sha512: {
- sign: "ecdsa",
- hash: "sha512",
- id: "",
- },
- "DSA-SHA": {
- sign: "dsa",
- hash: "sha1",
- id: "",
- },
- "DSA-SHA1": {
- sign: "dsa",
- hash: "sha1",
- id: "",
- },
- DSA: {
- sign: "dsa",
- hash: "sha1",
- id: "",
- },
- "DSA-WITH-SHA224": {
- sign: "dsa",
- hash: "sha224",
- id: "",
- },
- "DSA-SHA224": {
- sign: "dsa",
- hash: "sha224",
- id: "",
- },
- "DSA-WITH-SHA256": {
- sign: "dsa",
- hash: "sha256",
- id: "",
- },
- "DSA-SHA256": {
- sign: "dsa",
- hash: "sha256",
- id: "",
- },
- "DSA-WITH-SHA384": {
- sign: "dsa",
- hash: "sha384",
- id: "",
- },
- "DSA-SHA384": {
- sign: "dsa",
- hash: "sha384",
- id: "",
- },
- "DSA-WITH-SHA512": {
- sign: "dsa",
- hash: "sha512",
- id: "",
- },
- "DSA-SHA512": {
- sign: "dsa",
- hash: "sha512",
- id: "",
- },
- "DSA-RIPEMD160": {
- sign: "dsa",
- hash: "rmd160",
- id: "",
- },
- ripemd160WithRSA: {
- sign: "rsa",
- hash: "rmd160",
- id: "3021300906052b2403020105000414",
- },
- "RSA-RIPEMD160": {
- sign: "rsa",
- hash: "rmd160",
- id: "3021300906052b2403020105000414",
- },
- md5WithRSAEncryption: {
- sign: "rsa",
- hash: "md5",
- id: "3020300c06082a864886f70d020505000410",
- },
- "RSA-MD5": {
- sign: "rsa",
- hash: "md5",
- id: "3020300c06082a864886f70d020505000410",
- },
- };
- },
- {},
- ],
- 49: [
- function (require, module, exports) {
- module.exports = {
- "1.3.132.0.10": "secp256k1",
- "1.3.132.0.33": "p224",
- "1.2.840.10045.3.1.1": "p192",
- "1.2.840.10045.3.1.7": "p256",
- "1.3.132.0.34": "p384",
- "1.3.132.0.35": "p521",
- };
- },
- {},
- ],
- 50: [
- function (require, module, exports) {
- (function (Buffer) {
- var createHash = require("create-hash");
- var stream = require("stream");
- var inherits = require("inherits");
- var sign = require("./sign.js");
- var verify = require("./verify.js");
- var algorithms = require("./algorithms.json");
- Object.keys(algorithms).forEach(function (key) {
- algorithms[key].id = new Buffer(algorithms[key].id, "hex");
- algorithms[key.toLowerCase()] = algorithms[key];
- });
- function Sign(algorithm) {
- stream.Writable.call(this);
- var data = algorithms[algorithm];
- if (!data) throw new Error("Unknown message digest");
- this._hashType = data.hash;
- this._hash = createHash(data.hash);
- this._tag = data.id;
- this._signType = data.sign;
- }
- inherits(Sign, stream.Writable);
- Sign.prototype._write = function _write(data, _, done) {
- this._hash.update(data);
- done();
- };
- Sign.prototype.update = function update(data, enc) {
- if (typeof data === "string") data = new Buffer(data, enc);
- this._hash.update(data);
- return this;
- };
- Sign.prototype.sign = function signMethod(key, enc) {
- this.end();
- var hash = this._hash.digest();
- var sig = sign(
- hash,
- key,
- this._hashType,
- this._signType,
- this._tag
- );
- return enc ? sig.toString(enc) : sig;
- };
- function Verify(algorithm) {
- stream.Writable.call(this);
- var data = algorithms[algorithm];
- if (!data) throw new Error("Unknown message digest");
- this._hash = createHash(data.hash);
- this._tag = data.id;
- this._signType = data.sign;
- }
- inherits(Verify, stream.Writable);
- Verify.prototype._write = function _write(data, _, done) {
- this._hash.update(data);
- done();
- };
- Verify.prototype.update = function update(data, enc) {
- if (typeof data === "string") data = new Buffer(data, enc);
- this._hash.update(data);
- return this;
- };
- Verify.prototype.verify = function verifyMethod(key, sig, enc) {
- if (typeof sig === "string") sig = new Buffer(sig, enc);
- this.end();
- var hash = this._hash.digest();
- return verify(sig, hash, key, this._signType, this._tag);
- };
- function createSign(algorithm) {
- return new Sign(algorithm);
- }
- function createVerify(algorithm) {
- return new Verify(algorithm);
- }
- module.exports = {
- Sign: createSign,
- Verify: createVerify,
- createSign: createSign,
- createVerify: createVerify,
- };
- }).call(this, require("buffer").Buffer);
- },
- {
- "./algorithms.json": 48,
- "./sign": 51,
- "./verify": 52,
- buffer: 54,
- "create-hash": 58,
- inherits: 108,
- stream: 157,
- },
- ],
- 51: [
- function (require, module, exports) {
- (function (Buffer) {
- // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
- var createHmac = require("create-hmac");
- var crt = require("browserify-rsa");
- var EC = require("elliptic").ec;
- var BN = require("bn.js");
- var parseKeys = require("parse-asn1");
- var curves = require("./curves.json");
- function sign(hash, key, hashType, signType, tag) {
- var priv = parseKeys(key);
- if (priv.curve) {
- // rsa keys can be interpreted as ecdsa ones in openssl
- if (signType !== "ecdsa" && signType !== "ecdsa/rsa")
- throw new Error("wrong private key type");
- return ecSign(hash, priv);
- } else if (priv.type === "dsa") {
- if (signType !== "dsa") throw new Error("wrong private key type");
- return dsaSign(hash, priv, hashType);
- } else {
- if (signType !== "rsa" && signType !== "ecdsa/rsa")
- throw new Error("wrong private key type");
- }
- hash = Buffer.concat([tag, hash]);
- var len = priv.modulus.byteLength();
- var pad = [0, 1];
- while (hash.length + pad.length + 1 < len) pad.push(0xff);
- pad.push(0x00);
- var i = -1;
- while (++i < hash.length) pad.push(hash[i]);
- var out = crt(pad, priv);
- return out;
- }
- function ecSign(hash, priv) {
- var curveId = curves[priv.curve.join(".")];
- if (!curveId)
- throw new Error("unknown curve " + priv.curve.join("."));
- var curve = new EC(curveId);
- var key = curve.keyFromPrivate(priv.privateKey);
- var out = key.sign(hash);
- return new Buffer(out.toDER());
- }
- function dsaSign(hash, priv, algo) {
- var x = priv.params.priv_key;
- var p = priv.params.p;
- var q = priv.params.q;
- var g = priv.params.g;
- var r = new BN(0);
- var k;
- var H = bits2int(hash, q).mod(q);
- var s = false;
- var kv = getKey(x, q, hash, algo);
- while (s === false) {
- k = makeKey(q, kv, algo);
- r = makeR(g, k, p, q);
- s = k
- .invm(q)
- .imul(H.add(x.mul(r)))
- .mod(q);
- if (s.cmpn(0) === 0) {
- s = false;
- r = new BN(0);
- }
- }
- return toDER(r, s);
- }
- function toDER(r, s) {
- r = r.toArray();
- s = s.toArray();
- // Pad values
- if (r[0] & 0x80) r = [0].concat(r);
- if (s[0] & 0x80) s = [0].concat(s);
- var total = r.length + s.length + 4;
- var res = [0x30, total, 0x02, r.length];
- res = res.concat(r, [0x02, s.length], s);
- return new Buffer(res);
- }
- function getKey(x, q, hash, algo) {
- x = new Buffer(x.toArray());
- if (x.length < q.byteLength()) {
- var zeros = new Buffer(q.byteLength() - x.length);
- zeros.fill(0);
- x = Buffer.concat([zeros, x]);
- }
- var hlen = hash.length;
- var hbits = bits2octets(hash, q);
- var v = new Buffer(hlen);
- v.fill(1);
- var k = new Buffer(hlen);
- k.fill(0);
- k = createHmac(algo, k)
- .update(v)
- .update(new Buffer([0]))
- .update(x)
- .update(hbits)
- .digest();
- v = createHmac(algo, k).update(v).digest();
- k = createHmac(algo, k)
- .update(v)
- .update(new Buffer([1]))
- .update(x)
- .update(hbits)
- .digest();
- v = createHmac(algo, k).update(v).digest();
- return { k: k, v: v };
- }
- function bits2int(obits, q) {
- var bits = new BN(obits);
- var shift = (obits.length << 3) - q.bitLength();
- if (shift > 0) bits.ishrn(shift);
- return bits;
- }
- function bits2octets(bits, q) {
- bits = bits2int(bits, q);
- bits = bits.mod(q);
- var out = new Buffer(bits.toArray());
- if (out.length < q.byteLength()) {
- var zeros = new Buffer(q.byteLength() - out.length);
- zeros.fill(0);
- out = Buffer.concat([zeros, out]);
- }
- return out;
- }
- function makeKey(q, kv, algo) {
- var t;
- var k;
- do {
- t = new Buffer(0);
- while (t.length * 8 < q.bitLength()) {
- kv.v = createHmac(algo, kv.k).update(kv.v).digest();
- t = Buffer.concat([t, kv.v]);
- }
- k = bits2int(t, q);
- kv.k = createHmac(algo, kv.k)
- .update(kv.v)
- .update(new Buffer([0]))
- .digest();
- kv.v = createHmac(algo, kv.k).update(kv.v).digest();
- } while (k.cmp(q) !== -1);
- return k;
- }
- function makeR(g, k, p, q) {
- return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q);
- }
- module.exports = sign;
- module.exports.getKey = getKey;
- module.exports.makeKey = makeKey;
- }).call(this, require("buffer").Buffer);
- },
- {
- "./curves.json": 49,
- "bn.js": 25,
- "browserify-rsa": 46,
- buffer: 54,
- "create-hmac": 61,
- elliptic: 74,
- "parse-asn1": 118,
- },
- ],
- 52: [
- function (require, module, exports) {
- (function (Buffer) {
- // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
- var BN = require("bn.js");
- var EC = require("elliptic").ec;
- var parseKeys = require("parse-asn1");
- var curves = require("./curves.json");
- function verify(sig, hash, key, signType, tag) {
- var pub = parseKeys(key);
- if (pub.type === "ec") {
- // rsa keys can be interpreted as ecdsa ones in openssl
- if (signType !== "ecdsa" && signType !== "ecdsa/rsa")
- throw new Error("wrong public key type");
- return ecVerify(sig, hash, pub);
- } else if (pub.type === "dsa") {
- if (signType !== "dsa") throw new Error("wrong public key type");
- return dsaVerify(sig, hash, pub);
- } else {
- if (signType !== "rsa" && signType !== "ecdsa/rsa")
- throw new Error("wrong public key type");
- }
- hash = Buffer.concat([tag, hash]);
- var len = pub.modulus.byteLength();
- var pad = [1];
- var padNum = 0;
- while (hash.length + pad.length + 2 < len) {
- pad.push(0xff);
- padNum++;
- }
- pad.push(0x00);
- var i = -1;
- while (++i < hash.length) {
- pad.push(hash[i]);
- }
- pad = new Buffer(pad);
- var red = BN.mont(pub.modulus);
- sig = new BN(sig).toRed(red);
- sig = sig.redPow(new BN(pub.publicExponent));
- sig = new Buffer(sig.fromRed().toArray());
- var out = padNum < 8 ? 1 : 0;
- len = Math.min(sig.length, pad.length);
- if (sig.length !== pad.length) out = 1;
- i = -1;
- while (++i < len) out |= sig[i] ^ pad[i];
- return out === 0;
- }
- function ecVerify(sig, hash, pub) {
- var curveId = curves[pub.data.algorithm.curve.join(".")];
- if (!curveId)
- throw new Error(
- "unknown curve " + pub.data.algorithm.curve.join(".")
- );
- var curve = new EC(curveId);
- var pubkey = pub.data.subjectPrivateKey.data;
- return curve.verify(hash, sig, pubkey);
- }
- function dsaVerify(sig, hash, pub) {
- var p = pub.data.p;
- var q = pub.data.q;
- var g = pub.data.g;
- var y = pub.data.pub_key;
- var unpacked = parseKeys.signature.decode(sig, "der");
- var s = unpacked.s;
- var r = unpacked.r;
- checkValue(s, q);
- checkValue(r, q);
- var montp = BN.mont(p);
- var w = s.invm(q);
- var v = g
- .toRed(montp)
- .redPow(new BN(hash).mul(w).mod(q))
- .fromRed()
- .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())
- .mod(p)
- .mod(q);
- return v.cmp(r) === 0;
- }
- function checkValue(b, q) {
- if (b.cmpn(0) <= 0) throw new Error("invalid sig");
- if (b.cmp(q) >= q) throw new Error("invalid sig");
- }
- module.exports = verify;
- }).call(this, require("buffer").Buffer);
- },
- {
- "./curves.json": 49,
- "bn.js": 25,
- buffer: 54,
- elliptic: 74,
- "parse-asn1": 118,
- },
- ],
- 53: [
- function (require, module, exports) {
- (function (Buffer) {
- module.exports = function xor(a, b) {
- var length = Math.min(a.length, b.length);
- var buffer = new Buffer(length);
- for (var i = 0; i < length; ++i) {
- buffer[i] = a[i] ^ b[i];
- }
- return buffer;
- };
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54 },
- ],
- 54: [
- function (require, module, exports) {
- /*!
- * The buffer module from node.js, for the browser.
- *
- * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
- * @license MIT
- */
- /* eslint-disable no-proto */
- "use strict";
- var base64 = require("base64-js");
- var ieee754 = require("ieee754");
- exports.Buffer = Buffer;
- exports.SlowBuffer = SlowBuffer;
- exports.INSPECT_MAX_BYTES = 50;
- var K_MAX_LENGTH = 0x7fffffff;
- exports.kMaxLength = K_MAX_LENGTH;
- /**
- * If `Buffer.TYPED_ARRAY_SUPPORT`:
- * === true Use Uint8Array implementation (fastest)
- * === false Print warning and recommend using `buffer` v4.x which has an Object
- * implementation (most compatible, even IE6)
- *
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
- * Opera 11.6+, iOS 4.2+.
- *
- * We report that the browser does not support typed arrays if the are not subclassable
- * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`
- * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support
- * for __proto__ and has a buggy typed array implementation.
- */
- Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();
- if (
- !Buffer.TYPED_ARRAY_SUPPORT &&
- typeof console !== "undefined" &&
- typeof console.error === "function"
- ) {
- console.error(
- "This browser lacks typed array (Uint8Array) support which is required by " +
- "`buffer` v5.x. Use `buffer` v4.x if you require old browser support."
- );
- }
- function typedArraySupport() {
- // Can typed array instances can be augmented?
- try {
- var arr = new Uint8Array(1);
- arr.__proto__ = {
- __proto__: Uint8Array.prototype,
- foo: function () {
- return 42;
- },
- };
- return arr.foo() === 42;
- } catch (e) {
- return false;
- }
- }
- function createBuffer(length) {
- if (length > K_MAX_LENGTH) {
- throw new RangeError("Invalid typed array length");
- }
- // Return an augmented `Uint8Array` instance
- var buf = new Uint8Array(length);
- buf.__proto__ = Buffer.prototype;
- return buf;
- }
- /**
- * The Buffer constructor returns instances of `Uint8Array` that have their
- * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
- * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
- * and the `Uint8Array` methods. Square bracket notation works as expected -- it
- * returns a single octet.
- *
- * The `Uint8Array` prototype remains unmodified.
- */
- function Buffer(arg, encodingOrOffset, length) {
- // Common case.
- if (typeof arg === "number") {
- if (typeof encodingOrOffset === "string") {
- throw new Error(
- "If encoding is specified then the first argument must be a string"
- );
- }
- return allocUnsafe(arg);
- }
- return from(arg, encodingOrOffset, length);
- }
- // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
- if (
- typeof Symbol !== "undefined" &&
- Symbol.species &&
- Buffer[Symbol.species] === Buffer
- ) {
- Object.defineProperty(Buffer, Symbol.species, {
- value: null,
- configurable: true,
- enumerable: false,
- writable: false,
- });
- }
- Buffer.poolSize = 8192; // not used by this implementation
- function from(value, encodingOrOffset, length) {
- if (typeof value === "number") {
- throw new TypeError('"value" argument must not be a number');
- }
- if (isArrayBuffer(value)) {
- return fromArrayBuffer(value, encodingOrOffset, length);
- }
- if (typeof value === "string") {
- return fromString(value, encodingOrOffset);
- }
- return fromObject(value);
- }
- /**
- * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
- * if value is a number.
- * Buffer.from(str[, encoding])
- * Buffer.from(array)
- * Buffer.from(buffer)
- * Buffer.from(arrayBuffer[, byteOffset[, length]])
- **/
- Buffer.from = function (value, encodingOrOffset, length) {
- return from(value, encodingOrOffset, length);
- };
- // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:
- // https://github.com/feross/buffer/pull/148
- Buffer.prototype.__proto__ = Uint8Array.prototype;
- Buffer.__proto__ = Uint8Array;
- function assertSize(size) {
- if (typeof size !== "number") {
- throw new TypeError('"size" argument must be a number');
- } else if (size < 0) {
- throw new RangeError('"size" argument must not be negative');
- }
- }
- function alloc(size, fill, encoding) {
- assertSize(size);
- if (size <= 0) {
- return createBuffer(size);
- }
- if (fill !== undefined) {
- // Only pay attention to encoding if it's a string. This
- // prevents accidentally sending in a number that would
- // be interpretted as a start offset.
- return typeof encoding === "string"
- ? createBuffer(size).fill(fill, encoding)
- : createBuffer(size).fill(fill);
- }
- return createBuffer(size);
- }
- /**
- * Creates a new filled Buffer instance.
- * alloc(size[, fill[, encoding]])
- **/
- Buffer.alloc = function (size, fill, encoding) {
- return alloc(size, fill, encoding);
- };
- function allocUnsafe(size) {
- assertSize(size);
- return createBuffer(size < 0 ? 0 : checked(size) | 0);
- }
- /**
- * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
- * */
- Buffer.allocUnsafe = function (size) {
- return allocUnsafe(size);
- };
- /**
- * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
- */
- Buffer.allocUnsafeSlow = function (size) {
- return allocUnsafe(size);
- };
- function fromString(string, encoding) {
- if (typeof encoding !== "string" || encoding === "") {
- encoding = "utf8";
- }
- if (!Buffer.isEncoding(encoding)) {
- throw new TypeError('"encoding" must be a valid string encoding');
- }
- var length = byteLength(string, encoding) | 0;
- var buf = createBuffer(length);
- var actual = buf.write(string, encoding);
- if (actual !== length) {
- // Writing a hex string, for example, that contains invalid characters will
- // cause everything after the first invalid character to be ignored. (e.g.
- // 'abxxcd' will be treated as 'ab')
- buf = buf.slice(0, actual);
- }
- return buf;
- }
- function fromArrayLike(array) {
- var length = array.length < 0 ? 0 : checked(array.length) | 0;
- var buf = createBuffer(length);
- for (var i = 0; i < length; i += 1) {
- buf[i] = array[i] & 255;
- }
- return buf;
- }
- function fromArrayBuffer(array, byteOffset, length) {
- if (byteOffset < 0 || array.byteLength < byteOffset) {
- throw new RangeError("'offset' is out of bounds");
- }
- if (array.byteLength < byteOffset + (length || 0)) {
- throw new RangeError("'length' is out of bounds");
- }
- var buf;
- if (byteOffset === undefined && length === undefined) {
- buf = new Uint8Array(array);
- } else if (length === undefined) {
- buf = new Uint8Array(array, byteOffset);
- } else {
- buf = new Uint8Array(array, byteOffset, length);
- }
- // Return an augmented `Uint8Array` instance
- buf.__proto__ = Buffer.prototype;
- return buf;
- }
- function fromObject(obj) {
- if (Buffer.isBuffer(obj)) {
- var len = checked(obj.length) | 0;
- var buf = createBuffer(len);
- if (buf.length === 0) {
- return buf;
- }
- obj.copy(buf, 0, 0, len);
- return buf;
- }
- if (obj) {
- if (isArrayBufferView(obj) || "length" in obj) {
- if (typeof obj.length !== "number" || numberIsNaN(obj.length)) {
- return createBuffer(0);
- }
- return fromArrayLike(obj);
- }
- if (obj.type === "Buffer" && Array.isArray(obj.data)) {
- return fromArrayLike(obj.data);
- }
- }
- throw new TypeError(
- "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object."
- );
- }
- function checked(length) {
- // Note: cannot use `length < K_MAX_LENGTH` here because that fails when
- // length is NaN (which is otherwise coerced to zero.)
- if (length >= K_MAX_LENGTH) {
- throw new RangeError(
- "Attempt to allocate Buffer larger than maximum " +
- "size: 0x" +
- K_MAX_LENGTH.toString(16) +
- " bytes"
- );
- }
- return length | 0;
- }
- function SlowBuffer(length) {
- if (+length != length) {
- // eslint-disable-line eqeqeq
- length = 0;
- }
- return Buffer.alloc(+length);
- }
- Buffer.isBuffer = function isBuffer(b) {
- return b != null && b._isBuffer === true;
- };
- Buffer.compare = function compare(a, b) {
- if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
- throw new TypeError("Arguments must be Buffers");
- }
- if (a === b) return 0;
- var x = a.length;
- var y = b.length;
- for (var i = 0, len = Math.min(x, y); i < len; ++i) {
- if (a[i] !== b[i]) {
- x = a[i];
- y = b[i];
- break;
- }
- }
- if (x < y) return -1;
- if (y < x) return 1;
- return 0;
- };
- Buffer.isEncoding = function isEncoding(encoding) {
- switch (String(encoding).toLowerCase()) {
- case "hex":
- case "utf8":
- case "utf-8":
- case "ascii":
- case "latin1":
- case "binary":
- case "base64":
- case "ucs2":
- case "ucs-2":
- case "utf16le":
- case "utf-16le":
- return true;
- default:
- return false;
- }
- };
- Buffer.concat = function concat(list, length) {
- if (!Array.isArray(list)) {
- throw new TypeError('"list" argument must be an Array of Buffers');
- }
- if (list.length === 0) {
- return Buffer.alloc(0);
- }
- var i;
- if (length === undefined) {
- length = 0;
- for (i = 0; i < list.length; ++i) {
- length += list[i].length;
- }
- }
- var buffer = Buffer.allocUnsafe(length);
- var pos = 0;
- for (i = 0; i < list.length; ++i) {
- var buf = list[i];
- if (!Buffer.isBuffer(buf)) {
- throw new TypeError(
- '"list" argument must be an Array of Buffers'
- );
- }
- buf.copy(buffer, pos);
- pos += buf.length;
- }
- return buffer;
- };
- function byteLength(string, encoding) {
- if (Buffer.isBuffer(string)) {
- return string.length;
- }
- if (isArrayBufferView(string) || isArrayBuffer(string)) {
- return string.byteLength;
- }
- if (typeof string !== "string") {
- string = "" + string;
- }
- var len = string.length;
- if (len === 0) return 0;
- // Use a for loop to avoid recursion
- var loweredCase = false;
- for (;;) {
- switch (encoding) {
- case "ascii":
- case "latin1":
- case "binary":
- return len;
- case "utf8":
- case "utf-8":
- case undefined:
- return utf8ToBytes(string).length;
- case "ucs2":
- case "ucs-2":
- case "utf16le":
- case "utf-16le":
- return len * 2;
- case "hex":
- return len >>> 1;
- case "base64":
- return base64ToBytes(string).length;
- default:
- if (loweredCase) return utf8ToBytes(string).length; // assume utf8
- encoding = ("" + encoding).toLowerCase();
- loweredCase = true;
- }
- }
- }
- Buffer.byteLength = byteLength;
- function slowToString(encoding, start, end) {
- var loweredCase = false;
- // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
- // property of a typed array.
- // This behaves neither like String nor Uint8Array in that we set start/end
- // to their upper/lower bounds if the value passed is out of range.
- // undefined is handled specially as per ECMA-262 6th Edition,
- // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
- if (start === undefined || start < 0) {
- start = 0;
- }
- // Return early if start > this.length. Done here to prevent potential uint32
- // coercion fail below.
- if (start > this.length) {
- return "";
- }
- if (end === undefined || end > this.length) {
- end = this.length;
- }
- if (end <= 0) {
- return "";
- }
- // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
- end >>>= 0;
- start >>>= 0;
- if (end <= start) {
- return "";
- }
- if (!encoding) encoding = "utf8";
- while (true) {
- switch (encoding) {
- case "hex":
- return hexSlice(this, start, end);
- case "utf8":
- case "utf-8":
- return utf8Slice(this, start, end);
- case "ascii":
- return asciiSlice(this, start, end);
- case "latin1":
- case "binary":
- return latin1Slice(this, start, end);
- case "base64":
- return base64Slice(this, start, end);
- case "ucs2":
- case "ucs-2":
- case "utf16le":
- case "utf-16le":
- return utf16leSlice(this, start, end);
- default:
- if (loweredCase)
- throw new TypeError("Unknown encoding: " + encoding);
- encoding = (encoding + "").toLowerCase();
- loweredCase = true;
- }
- }
- }
- // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)
- // to detect a Buffer instance. It's not possible to use `instanceof Buffer`
- // reliably in a browserify context because there could be multiple different
- // copies of the 'buffer' package in use. This method works even for Buffer
- // instances that were created from another copy of the `buffer` package.
- // See: https://github.com/feross/buffer/issues/154
- Buffer.prototype._isBuffer = true;
- function swap(b, n, m) {
- var i = b[n];
- b[n] = b[m];
- b[m] = i;
- }
- Buffer.prototype.swap16 = function swap16() {
- var len = this.length;
- if (len % 2 !== 0) {
- throw new RangeError("Buffer size must be a multiple of 16-bits");
- }
- for (var i = 0; i < len; i += 2) {
- swap(this, i, i + 1);
- }
- return this;
- };
- Buffer.prototype.swap32 = function swap32() {
- var len = this.length;
- if (len % 4 !== 0) {
- throw new RangeError("Buffer size must be a multiple of 32-bits");
- }
- for (var i = 0; i < len; i += 4) {
- swap(this, i, i + 3);
- swap(this, i + 1, i + 2);
- }
- return this;
- };
- Buffer.prototype.swap64 = function swap64() {
- var len = this.length;
- if (len % 8 !== 0) {
- throw new RangeError("Buffer size must be a multiple of 64-bits");
- }
- for (var i = 0; i < len; i += 8) {
- swap(this, i, i + 7);
- swap(this, i + 1, i + 6);
- swap(this, i + 2, i + 5);
- swap(this, i + 3, i + 4);
- }
- return this;
- };
- Buffer.prototype.toString = function toString() {
- var length = this.length;
- if (length === 0) return "";
- if (arguments.length === 0) return utf8Slice(this, 0, length);
- return slowToString.apply(this, arguments);
- };
- Buffer.prototype.equals = function equals(b) {
- if (!Buffer.isBuffer(b))
- throw new TypeError("Argument must be a Buffer");
- if (this === b) return true;
- return Buffer.compare(this, b) === 0;
- };
- Buffer.prototype.inspect = function inspect() {
- var str = "";
- var max = exports.INSPECT_MAX_BYTES;
- if (this.length > 0) {
- str = this.toString("hex", 0, max).match(/.{2}/g).join(" ");
- if (this.length > max) str += " ... ";
- }
- return "<Buffer " + str + ">";
- };
- Buffer.prototype.compare = function compare(
- target,
- start,
- end,
- thisStart,
- thisEnd
- ) {
- if (!Buffer.isBuffer(target)) {
- throw new TypeError("Argument must be a Buffer");
- }
- if (start === undefined) {
- start = 0;
- }
- if (end === undefined) {
- end = target ? target.length : 0;
- }
- if (thisStart === undefined) {
- thisStart = 0;
- }
- if (thisEnd === undefined) {
- thisEnd = this.length;
- }
- if (
- start < 0 ||
- end > target.length ||
- thisStart < 0 ||
- thisEnd > this.length
- ) {
- throw new RangeError("out of range index");
- }
- if (thisStart >= thisEnd && start >= end) {
- return 0;
- }
- if (thisStart >= thisEnd) {
- return -1;
- }
- if (start >= end) {
- return 1;
- }
- start >>>= 0;
- end >>>= 0;
- thisStart >>>= 0;
- thisEnd >>>= 0;
- if (this === target) return 0;
- var x = thisEnd - thisStart;
- var y = end - start;
- var len = Math.min(x, y);
- var thisCopy = this.slice(thisStart, thisEnd);
- var targetCopy = target.slice(start, end);
- for (var i = 0; i < len; ++i) {
- if (thisCopy[i] !== targetCopy[i]) {
- x = thisCopy[i];
- y = targetCopy[i];
- break;
- }
- }
- if (x < y) return -1;
- if (y < x) return 1;
- return 0;
- };
- // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
- // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
- //
- // Arguments:
- // - buffer - a Buffer to search
- // - val - a string, Buffer, or number
- // - byteOffset - an index into `buffer`; will be clamped to an int32
- // - encoding - an optional encoding, relevant is val is a string
- // - dir - true for indexOf, false for lastIndexOf
- function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
- // Empty buffer means no match
- if (buffer.length === 0) return -1;
- // Normalize byteOffset
- if (typeof byteOffset === "string") {
- encoding = byteOffset;
- byteOffset = 0;
- } else if (byteOffset > 0x7fffffff) {
- byteOffset = 0x7fffffff;
- } else if (byteOffset < -0x80000000) {
- byteOffset = -0x80000000;
- }
- byteOffset = +byteOffset; // Coerce to Number.
- if (numberIsNaN(byteOffset)) {
- // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
- byteOffset = dir ? 0 : buffer.length - 1;
- }
- // Normalize byteOffset: negative offsets start from the end of the buffer
- if (byteOffset < 0) byteOffset = buffer.length + byteOffset;
- if (byteOffset >= buffer.length) {
- if (dir) return -1;
- else byteOffset = buffer.length - 1;
- } else if (byteOffset < 0) {
- if (dir) byteOffset = 0;
- else return -1;
- }
- // Normalize val
- if (typeof val === "string") {
- val = Buffer.from(val, encoding);
- }
- // Finally, search either indexOf (if dir is true) or lastIndexOf
- if (Buffer.isBuffer(val)) {
- // Special case: looking for empty string/buffer always fails
- if (val.length === 0) {
- return -1;
- }
- return arrayIndexOf(buffer, val, byteOffset, encoding, dir);
- } else if (typeof val === "number") {
- val = val & 0xff; // Search for a byte value [0-255]
- if (typeof Uint8Array.prototype.indexOf === "function") {
- if (dir) {
- return Uint8Array.prototype.indexOf.call(
- buffer,
- val,
- byteOffset
- );
- } else {
- return Uint8Array.prototype.lastIndexOf.call(
- buffer,
- val,
- byteOffset
- );
- }
- }
- return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);
- }
- throw new TypeError("val must be string, number or Buffer");
- }
- function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
- var indexSize = 1;
- var arrLength = arr.length;
- var valLength = val.length;
- if (encoding !== undefined) {
- encoding = String(encoding).toLowerCase();
- if (
- encoding === "ucs2" ||
- encoding === "ucs-2" ||
- encoding === "utf16le" ||
- encoding === "utf-16le"
- ) {
- if (arr.length < 2 || val.length < 2) {
- return -1;
- }
- indexSize = 2;
- arrLength /= 2;
- valLength /= 2;
- byteOffset /= 2;
- }
- }
- function read(buf, i) {
- if (indexSize === 1) {
- return buf[i];
- } else {
- return buf.readUInt16BE(i * indexSize);
- }
- }
- var i;
- if (dir) {
- var foundIndex = -1;
- for (i = byteOffset; i < arrLength; i++) {
- if (
- read(arr, i) ===
- read(val, foundIndex === -1 ? 0 : i - foundIndex)
- ) {
- if (foundIndex === -1) foundIndex = i;
- if (i - foundIndex + 1 === valLength)
- return foundIndex * indexSize;
- } else {
- if (foundIndex !== -1) i -= i - foundIndex;
- foundIndex = -1;
- }
- }
- } else {
- if (byteOffset + valLength > arrLength)
- byteOffset = arrLength - valLength;
- for (i = byteOffset; i >= 0; i--) {
- var found = true;
- for (var j = 0; j < valLength; j++) {
- if (read(arr, i + j) !== read(val, j)) {
- found = false;
- break;
- }
- }
- if (found) return i;
- }
- }
- return -1;
- }
- Buffer.prototype.includes = function includes(
- val,
- byteOffset,
- encoding
- ) {
- return this.indexOf(val, byteOffset, encoding) !== -1;
- };
- Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
- return bidirectionalIndexOf(this, val, byteOffset, encoding, true);
- };
- Buffer.prototype.lastIndexOf = function lastIndexOf(
- val,
- byteOffset,
- encoding
- ) {
- return bidirectionalIndexOf(this, val, byteOffset, encoding, false);
- };
- function hexWrite(buf, string, offset, length) {
- offset = Number(offset) || 0;
- var remaining = buf.length - offset;
- if (!length) {
- length = remaining;
- } else {
- length = Number(length);
- if (length > remaining) {
- length = remaining;
- }
- }
- // must be an even number of digits
- var strLen = string.length;
- if (strLen % 2 !== 0) throw new TypeError("Invalid hex string");
- if (length > strLen / 2) {
- length = strLen / 2;
- }
- for (var i = 0; i < length; ++i) {
- var parsed = parseInt(string.substr(i * 2, 2), 16);
- if (numberIsNaN(parsed)) return i;
- buf[offset + i] = parsed;
- }
- return i;
- }
- function utf8Write(buf, string, offset, length) {
- return blitBuffer(
- utf8ToBytes(string, buf.length - offset),
- buf,
- offset,
- length
- );
- }
- function asciiWrite(buf, string, offset, length) {
- return blitBuffer(asciiToBytes(string), buf, offset, length);
- }
- function latin1Write(buf, string, offset, length) {
- return asciiWrite(buf, string, offset, length);
- }
- function base64Write(buf, string, offset, length) {
- return blitBuffer(base64ToBytes(string), buf, offset, length);
- }
- function ucs2Write(buf, string, offset, length) {
- return blitBuffer(
- utf16leToBytes(string, buf.length - offset),
- buf,
- offset,
- length
- );
- }
- Buffer.prototype.write = function write(
- string,
- offset,
- length,
- encoding
- ) {
- // Buffer#write(string)
- if (offset === undefined) {
- encoding = "utf8";
- length = this.length;
- offset = 0;
- // Buffer#write(string, encoding)
- } else if (length === undefined && typeof offset === "string") {
- encoding = offset;
- length = this.length;
- offset = 0;
- // Buffer#write(string, offset[, length][, encoding])
- } else if (isFinite(offset)) {
- offset = offset >>> 0;
- if (isFinite(length)) {
- length = length >>> 0;
- if (encoding === undefined) encoding = "utf8";
- } else {
- encoding = length;
- length = undefined;
- }
- } else {
- throw new Error(
- "Buffer.write(string, encoding, offset[, length]) is no longer supported"
- );
- }
- var remaining = this.length - offset;
- if (length === undefined || length > remaining) length = remaining;
- if (
- (string.length > 0 && (length < 0 || offset < 0)) ||
- offset > this.length
- ) {
- throw new RangeError("Attempt to write outside buffer bounds");
- }
- if (!encoding) encoding = "utf8";
- var loweredCase = false;
- for (;;) {
- switch (encoding) {
- case "hex":
- return hexWrite(this, string, offset, length);
- case "utf8":
- case "utf-8":
- return utf8Write(this, string, offset, length);
- case "ascii":
- return asciiWrite(this, string, offset, length);
- case "latin1":
- case "binary":
- return latin1Write(this, string, offset, length);
- case "base64":
- // Warning: maxLength not taken into account in base64Write
- return base64Write(this, string, offset, length);
- case "ucs2":
- case "ucs-2":
- case "utf16le":
- case "utf-16le":
- return ucs2Write(this, string, offset, length);
- default:
- if (loweredCase)
- throw new TypeError("Unknown encoding: " + encoding);
- encoding = ("" + encoding).toLowerCase();
- loweredCase = true;
- }
- }
- };
- Buffer.prototype.toJSON = function toJSON() {
- return {
- type: "Buffer",
- data: Array.prototype.slice.call(this._arr || this, 0),
- };
- };
- function base64Slice(buf, start, end) {
- if (start === 0 && end === buf.length) {
- return base64.fromByteArray(buf);
- } else {
- return base64.fromByteArray(buf.slice(start, end));
- }
- }
- function utf8Slice(buf, start, end) {
- end = Math.min(buf.length, end);
- var res = [];
- var i = start;
- while (i < end) {
- var firstByte = buf[i];
- var codePoint = null;
- var bytesPerSequence =
- firstByte > 0xef
- ? 4
- : firstByte > 0xdf
- ? 3
- : firstByte > 0xbf
- ? 2
- : 1;
- if (i + bytesPerSequence <= end) {
- var secondByte, thirdByte, fourthByte, tempCodePoint;
- switch (bytesPerSequence) {
- case 1:
- if (firstByte < 0x80) {
- codePoint = firstByte;
- }
- break;
- case 2:
- secondByte = buf[i + 1];
- if ((secondByte & 0xc0) === 0x80) {
- tempCodePoint =
- ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f);
- if (tempCodePoint > 0x7f) {
- codePoint = tempCodePoint;
- }
- }
- break;
- case 3:
- secondByte = buf[i + 1];
- thirdByte = buf[i + 2];
- if (
- (secondByte & 0xc0) === 0x80 &&
- (thirdByte & 0xc0) === 0x80
- ) {
- tempCodePoint =
- ((firstByte & 0xf) << 0xc) |
- ((secondByte & 0x3f) << 0x6) |
- (thirdByte & 0x3f);
- if (
- tempCodePoint > 0x7ff &&
- (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)
- ) {
- codePoint = tempCodePoint;
- }
- }
- break;
- case 4:
- secondByte = buf[i + 1];
- thirdByte = buf[i + 2];
- fourthByte = buf[i + 3];
- if (
- (secondByte & 0xc0) === 0x80 &&
- (thirdByte & 0xc0) === 0x80 &&
- (fourthByte & 0xc0) === 0x80
- ) {
- tempCodePoint =
- ((firstByte & 0xf) << 0x12) |
- ((secondByte & 0x3f) << 0xc) |
- ((thirdByte & 0x3f) << 0x6) |
- (fourthByte & 0x3f);
- if (tempCodePoint > 0xffff && tempCodePoint < 0x110000) {
- codePoint = tempCodePoint;
- }
- }
- }
- }
- if (codePoint === null) {
- // we did not generate a valid codePoint so insert a
- // replacement char (U+FFFD) and advance only 1 byte
- codePoint = 0xfffd;
- bytesPerSequence = 1;
- } else if (codePoint > 0xffff) {
- // encode to utf16 (surrogate pair dance)
- codePoint -= 0x10000;
- res.push(((codePoint >>> 10) & 0x3ff) | 0xd800);
- codePoint = 0xdc00 | (codePoint & 0x3ff);
- }
- res.push(codePoint);
- i += bytesPerSequence;
- }
- return decodeCodePointsArray(res);
- }
- // Based on http://stackoverflow.com/a/22747272/680742, the browser with
- // the lowest limit is Chrome, with 0x10000 args.
- // We go 1 magnitude less, for safety
- var MAX_ARGUMENTS_LENGTH = 0x1000;
- function decodeCodePointsArray(codePoints) {
- var len = codePoints.length;
- if (len <= MAX_ARGUMENTS_LENGTH) {
- return String.fromCharCode.apply(String, codePoints); // avoid extra slice()
- }
- // Decode in chunks to avoid "call stack size exceeded".
- var res = "";
- var i = 0;
- while (i < len) {
- res += String.fromCharCode.apply(
- String,
- codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH))
- );
- }
- return res;
- }
- function asciiSlice(buf, start, end) {
- var ret = "";
- end = Math.min(buf.length, end);
- for (var i = start; i < end; ++i) {
- ret += String.fromCharCode(buf[i] & 0x7f);
- }
- return ret;
- }
- function latin1Slice(buf, start, end) {
- var ret = "";
- end = Math.min(buf.length, end);
- for (var i = start; i < end; ++i) {
- ret += String.fromCharCode(buf[i]);
- }
- return ret;
- }
- function hexSlice(buf, start, end) {
- var len = buf.length;
- if (!start || start < 0) start = 0;
- if (!end || end < 0 || end > len) end = len;
- var out = "";
- for (var i = start; i < end; ++i) {
- out += toHex(buf[i]);
- }
- return out;
- }
- function utf16leSlice(buf, start, end) {
- var bytes = buf.slice(start, end);
- var res = "";
- for (var i = 0; i < bytes.length; i += 2) {
- res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);
- }
- return res;
- }
- Buffer.prototype.slice = function slice(start, end) {
- var len = this.length;
- start = ~~start;
- end = end === undefined ? len : ~~end;
- if (start < 0) {
- start += len;
- if (start < 0) start = 0;
- } else if (start > len) {
- start = len;
- }
- if (end < 0) {
- end += len;
- if (end < 0) end = 0;
- } else if (end > len) {
- end = len;
- }
- if (end < start) end = start;
- var newBuf = this.subarray(start, end);
- // Return an augmented `Uint8Array` instance
- newBuf.__proto__ = Buffer.prototype;
- return newBuf;
- };
- /*
- * Need to make sure that buffer isn't trying to write out of bounds.
- */
- function checkOffset(offset, ext, length) {
- if (offset % 1 !== 0 || offset < 0)
- throw new RangeError("offset is not uint");
- if (offset + ext > length)
- throw new RangeError("Trying to access beyond buffer length");
- }
- Buffer.prototype.readUIntLE = function readUIntLE(
- offset,
- byteLength,
- noAssert
- ) {
- offset = offset >>> 0;
- byteLength = byteLength >>> 0;
- if (!noAssert) checkOffset(offset, byteLength, this.length);
- var val = this[offset];
- var mul = 1;
- var i = 0;
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul;
- }
- return val;
- };
- Buffer.prototype.readUIntBE = function readUIntBE(
- offset,
- byteLength,
- noAssert
- ) {
- offset = offset >>> 0;
- byteLength = byteLength >>> 0;
- if (!noAssert) {
- checkOffset(offset, byteLength, this.length);
- }
- var val = this[offset + --byteLength];
- var mul = 1;
- while (byteLength > 0 && (mul *= 0x100)) {
- val += this[offset + --byteLength] * mul;
- }
- return val;
- };
- Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 1, this.length);
- return this[offset];
- };
- Buffer.prototype.readUInt16LE = function readUInt16LE(
- offset,
- noAssert
- ) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 2, this.length);
- return this[offset] | (this[offset + 1] << 8);
- };
- Buffer.prototype.readUInt16BE = function readUInt16BE(
- offset,
- noAssert
- ) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 2, this.length);
- return (this[offset] << 8) | this[offset + 1];
- };
- Buffer.prototype.readUInt32LE = function readUInt32LE(
- offset,
- noAssert
- ) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 4, this.length);
- return (
- (this[offset] |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16)) +
- this[offset + 3] * 0x1000000
- );
- };
- Buffer.prototype.readUInt32BE = function readUInt32BE(
- offset,
- noAssert
- ) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 4, this.length);
- return (
- this[offset] * 0x1000000 +
- ((this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- this[offset + 3])
- );
- };
- Buffer.prototype.readIntLE = function readIntLE(
- offset,
- byteLength,
- noAssert
- ) {
- offset = offset >>> 0;
- byteLength = byteLength >>> 0;
- if (!noAssert) checkOffset(offset, byteLength, this.length);
- var val = this[offset];
- var mul = 1;
- var i = 0;
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul;
- }
- mul *= 0x80;
- if (val >= mul) val -= Math.pow(2, 8 * byteLength);
- return val;
- };
- Buffer.prototype.readIntBE = function readIntBE(
- offset,
- byteLength,
- noAssert
- ) {
- offset = offset >>> 0;
- byteLength = byteLength >>> 0;
- if (!noAssert) checkOffset(offset, byteLength, this.length);
- var i = byteLength;
- var mul = 1;
- var val = this[offset + --i];
- while (i > 0 && (mul *= 0x100)) {
- val += this[offset + --i] * mul;
- }
- mul *= 0x80;
- if (val >= mul) val -= Math.pow(2, 8 * byteLength);
- return val;
- };
- Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 1, this.length);
- if (!(this[offset] & 0x80)) return this[offset];
- return (0xff - this[offset] + 1) * -1;
- };
- Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 2, this.length);
- var val = this[offset] | (this[offset + 1] << 8);
- return val & 0x8000 ? val | 0xffff0000 : val;
- };
- Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 2, this.length);
- var val = this[offset + 1] | (this[offset] << 8);
- return val & 0x8000 ? val | 0xffff0000 : val;
- };
- Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 4, this.length);
- return (
- this[offset] |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16) |
- (this[offset + 3] << 24)
- );
- };
- Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 4, this.length);
- return (
- (this[offset] << 24) |
- (this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- this[offset + 3]
- );
- };
- Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 4, this.length);
- return ieee754.read(this, offset, true, 23, 4);
- };
- Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 4, this.length);
- return ieee754.read(this, offset, false, 23, 4);
- };
- Buffer.prototype.readDoubleLE = function readDoubleLE(
- offset,
- noAssert
- ) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 8, this.length);
- return ieee754.read(this, offset, true, 52, 8);
- };
- Buffer.prototype.readDoubleBE = function readDoubleBE(
- offset,
- noAssert
- ) {
- offset = offset >>> 0;
- if (!noAssert) checkOffset(offset, 8, this.length);
- return ieee754.read(this, offset, false, 52, 8);
- };
- function checkInt(buf, value, offset, ext, max, min) {
- if (!Buffer.isBuffer(buf))
- throw new TypeError('"buffer" argument must be a Buffer instance');
- if (value > max || value < min)
- throw new RangeError('"value" argument is out of bounds');
- if (offset + ext > buf.length)
- throw new RangeError("Index out of range");
- }
- Buffer.prototype.writeUIntLE = function writeUIntLE(
- value,
- offset,
- byteLength,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- byteLength = byteLength >>> 0;
- if (!noAssert) {
- var maxBytes = Math.pow(2, 8 * byteLength) - 1;
- checkInt(this, value, offset, byteLength, maxBytes, 0);
- }
- var mul = 1;
- var i = 0;
- this[offset] = value & 0xff;
- while (++i < byteLength && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xff;
- }
- return offset + byteLength;
- };
- Buffer.prototype.writeUIntBE = function writeUIntBE(
- value,
- offset,
- byteLength,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- byteLength = byteLength >>> 0;
- if (!noAssert) {
- var maxBytes = Math.pow(2, 8 * byteLength) - 1;
- checkInt(this, value, offset, byteLength, maxBytes, 0);
- }
- var i = byteLength - 1;
- var mul = 1;
- this[offset + i] = value & 0xff;
- while (--i >= 0 && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xff;
- }
- return offset + byteLength;
- };
- Buffer.prototype.writeUInt8 = function writeUInt8(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);
- this[offset] = value & 0xff;
- return offset + 1;
- };
- Buffer.prototype.writeUInt16LE = function writeUInt16LE(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
- this[offset] = value & 0xff;
- this[offset + 1] = value >>> 8;
- return offset + 2;
- };
- Buffer.prototype.writeUInt16BE = function writeUInt16BE(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
- this[offset] = value >>> 8;
- this[offset + 1] = value & 0xff;
- return offset + 2;
- };
- Buffer.prototype.writeUInt32LE = function writeUInt32LE(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
- this[offset + 3] = value >>> 24;
- this[offset + 2] = value >>> 16;
- this[offset + 1] = value >>> 8;
- this[offset] = value & 0xff;
- return offset + 4;
- };
- Buffer.prototype.writeUInt32BE = function writeUInt32BE(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
- this[offset] = value >>> 24;
- this[offset + 1] = value >>> 16;
- this[offset + 2] = value >>> 8;
- this[offset + 3] = value & 0xff;
- return offset + 4;
- };
- Buffer.prototype.writeIntLE = function writeIntLE(
- value,
- offset,
- byteLength,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) {
- var limit = Math.pow(2, 8 * byteLength - 1);
- checkInt(this, value, offset, byteLength, limit - 1, -limit);
- }
- var i = 0;
- var mul = 1;
- var sub = 0;
- this[offset] = value & 0xff;
- while (++i < byteLength && (mul *= 0x100)) {
- if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
- sub = 1;
- }
- this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;
- }
- return offset + byteLength;
- };
- Buffer.prototype.writeIntBE = function writeIntBE(
- value,
- offset,
- byteLength,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) {
- var limit = Math.pow(2, 8 * byteLength - 1);
- checkInt(this, value, offset, byteLength, limit - 1, -limit);
- }
- var i = byteLength - 1;
- var mul = 1;
- var sub = 0;
- this[offset + i] = value & 0xff;
- while (--i >= 0 && (mul *= 0x100)) {
- if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
- sub = 1;
- }
- this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;
- }
- return offset + byteLength;
- };
- Buffer.prototype.writeInt8 = function writeInt8(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);
- if (value < 0) value = 0xff + value + 1;
- this[offset] = value & 0xff;
- return offset + 1;
- };
- Buffer.prototype.writeInt16LE = function writeInt16LE(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
- this[offset] = value & 0xff;
- this[offset + 1] = value >>> 8;
- return offset + 2;
- };
- Buffer.prototype.writeInt16BE = function writeInt16BE(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);
- this[offset] = value >>> 8;
- this[offset + 1] = value & 0xff;
- return offset + 2;
- };
- Buffer.prototype.writeInt32LE = function writeInt32LE(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert)
- checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
- this[offset] = value & 0xff;
- this[offset + 1] = value >>> 8;
- this[offset + 2] = value >>> 16;
- this[offset + 3] = value >>> 24;
- return offset + 4;
- };
- Buffer.prototype.writeInt32BE = function writeInt32BE(
- value,
- offset,
- noAssert
- ) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert)
- checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);
- if (value < 0) value = 0xffffffff + value + 1;
- this[offset] = value >>> 24;
- this[offset + 1] = value >>> 16;
- this[offset + 2] = value >>> 8;
- this[offset + 3] = value & 0xff;
- return offset + 4;
- };
- function checkIEEE754(buf, value, offset, ext, max, min) {
- if (offset + ext > buf.length)
- throw new RangeError("Index out of range");
- if (offset < 0) throw new RangeError("Index out of range");
- }
- function writeFloat(buf, value, offset, littleEndian, noAssert) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) {
- checkIEEE754(
- buf,
- value,
- offset,
- 4,
- 3.4028234663852886e38,
- -3.4028234663852886e38
- );
- }
- ieee754.write(buf, value, offset, littleEndian, 23, 4);
- return offset + 4;
- }
- Buffer.prototype.writeFloatLE = function writeFloatLE(
- value,
- offset,
- noAssert
- ) {
- return writeFloat(this, value, offset, true, noAssert);
- };
- Buffer.prototype.writeFloatBE = function writeFloatBE(
- value,
- offset,
- noAssert
- ) {
- return writeFloat(this, value, offset, false, noAssert);
- };
- function writeDouble(buf, value, offset, littleEndian, noAssert) {
- value = +value;
- offset = offset >>> 0;
- if (!noAssert) {
- checkIEEE754(
- buf,
- value,
- offset,
- 8,
- 1.7976931348623157e308,
- -1.7976931348623157e308
- );
- }
- ieee754.write(buf, value, offset, littleEndian, 52, 8);
- return offset + 8;
- }
- Buffer.prototype.writeDoubleLE = function writeDoubleLE(
- value,
- offset,
- noAssert
- ) {
- return writeDouble(this, value, offset, true, noAssert);
- };
- Buffer.prototype.writeDoubleBE = function writeDoubleBE(
- value,
- offset,
- noAssert
- ) {
- return writeDouble(this, value, offset, false, noAssert);
- };
- // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
- Buffer.prototype.copy = function copy(target, targetStart, start, end) {
- if (!start) start = 0;
- if (!end && end !== 0) end = this.length;
- if (targetStart >= target.length) targetStart = target.length;
- if (!targetStart) targetStart = 0;
- if (end > 0 && end < start) end = start;
- // Copy 0 bytes; we're done
- if (end === start) return 0;
- if (target.length === 0 || this.length === 0) return 0;
- // Fatal error conditions
- if (targetStart < 0) {
- throw new RangeError("targetStart out of bounds");
- }
- if (start < 0 || start >= this.length)
- throw new RangeError("sourceStart out of bounds");
- if (end < 0) throw new RangeError("sourceEnd out of bounds");
- // Are we oob?
- if (end > this.length) end = this.length;
- if (target.length - targetStart < end - start) {
- end = target.length - targetStart + start;
- }
- var len = end - start;
- var i;
- if (this === target && start < targetStart && targetStart < end) {
- // descending copy from end
- for (i = len - 1; i >= 0; --i) {
- target[i + targetStart] = this[i + start];
- }
- } else if (len < 1000) {
- // ascending copy from start
- for (i = 0; i < len; ++i) {
- target[i + targetStart] = this[i + start];
- }
- } else {
- Uint8Array.prototype.set.call(
- target,
- this.subarray(start, start + len),
- targetStart
- );
- }
- return len;
- };
- // Usage:
- // buffer.fill(number[, offset[, end]])
- // buffer.fill(buffer[, offset[, end]])
- // buffer.fill(string[, offset[, end]][, encoding])
- Buffer.prototype.fill = function fill(val, start, end, encoding) {
- // Handle string cases:
- if (typeof val === "string") {
- if (typeof start === "string") {
- encoding = start;
- start = 0;
- end = this.length;
- } else if (typeof end === "string") {
- encoding = end;
- end = this.length;
- }
- if (val.length === 1) {
- var code = val.charCodeAt(0);
- if (code < 256) {
- val = code;
- }
- }
- if (encoding !== undefined && typeof encoding !== "string") {
- throw new TypeError("encoding must be a string");
- }
- if (typeof encoding === "string" && !Buffer.isEncoding(encoding)) {
- throw new TypeError("Unknown encoding: " + encoding);
- }
- } else if (typeof val === "number") {
- val = val & 255;
- }
- // Invalid ranges are not set to a default, so can range check early.
- if (start < 0 || this.length < start || this.length < end) {
- throw new RangeError("Out of range index");
- }
- if (end <= start) {
- return this;
- }
- start = start >>> 0;
- end = end === undefined ? this.length : end >>> 0;
- if (!val) val = 0;
- var i;
- if (typeof val === "number") {
- for (i = start; i < end; ++i) {
- this[i] = val;
- }
- } else {
- var bytes = Buffer.isBuffer(val) ? val : new Buffer(val, encoding);
- var len = bytes.length;
- for (i = 0; i < end - start; ++i) {
- this[i + start] = bytes[i % len];
- }
- }
- return this;
- };
- // HELPER FUNCTIONS
- // ================
- var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;
- function base64clean(str) {
- // Node strips out invalid characters like \n and \t from the string, base64-js does not
- str = str.trim().replace(INVALID_BASE64_RE, "");
- // Node converts strings with length < 2 to ''
- if (str.length < 2) return "";
- // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
- while (str.length % 4 !== 0) {
- str = str + "=";
- }
- return str;
- }
- function toHex(n) {
- if (n < 16) return "0" + n.toString(16);
- return n.toString(16);
- }
- function utf8ToBytes(string, units) {
- units = units || Infinity;
- var codePoint;
- var length = string.length;
- var leadSurrogate = null;
- var bytes = [];
- for (var i = 0; i < length; ++i) {
- codePoint = string.charCodeAt(i);
- // is surrogate component
- if (codePoint > 0xd7ff && codePoint < 0xe000) {
- // last char was a lead
- if (!leadSurrogate) {
- // no lead yet
- if (codePoint > 0xdbff) {
- // unexpected trail
- if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);
- continue;
- } else if (i + 1 === length) {
- // unpaired lead
- if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);
- continue;
- }
- // valid lead
- leadSurrogate = codePoint;
- continue;
- }
- // 2 leads in a row
- if (codePoint < 0xdc00) {
- if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);
- leadSurrogate = codePoint;
- continue;
- }
- // valid surrogate pair
- codePoint =
- (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) +
- 0x10000;
- } else if (leadSurrogate) {
- // valid bmp char, but last char was a lead
- if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);
- }
- leadSurrogate = null;
- // encode utf8
- if (codePoint < 0x80) {
- if ((units -= 1) < 0) break;
- bytes.push(codePoint);
- } else if (codePoint < 0x800) {
- if ((units -= 2) < 0) break;
- bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80);
- } else if (codePoint < 0x10000) {
- if ((units -= 3) < 0) break;
- bytes.push(
- (codePoint >> 0xc) | 0xe0,
- ((codePoint >> 0x6) & 0x3f) | 0x80,
- (codePoint & 0x3f) | 0x80
- );
- } else if (codePoint < 0x110000) {
- if ((units -= 4) < 0) break;
- bytes.push(
- (codePoint >> 0x12) | 0xf0,
- ((codePoint >> 0xc) & 0x3f) | 0x80,
- ((codePoint >> 0x6) & 0x3f) | 0x80,
- (codePoint & 0x3f) | 0x80
- );
- } else {
- throw new Error("Invalid code point");
- }
- }
- return bytes;
- }
- function asciiToBytes(str) {
- var byteArray = [];
- for (var i = 0; i < str.length; ++i) {
- // Node's code seems to be doing this and not & 0x7F..
- byteArray.push(str.charCodeAt(i) & 0xff);
- }
- return byteArray;
- }
- function utf16leToBytes(str, units) {
- var c, hi, lo;
- var byteArray = [];
- for (var i = 0; i < str.length; ++i) {
- if ((units -= 2) < 0) break;
- c = str.charCodeAt(i);
- hi = c >> 8;
- lo = c % 256;
- byteArray.push(lo);
- byteArray.push(hi);
- }
- return byteArray;
- }
- function base64ToBytes(str) {
- return base64.toByteArray(base64clean(str));
- }
- function blitBuffer(src, dst, offset, length) {
- for (var i = 0; i < length; ++i) {
- if (i + offset >= dst.length || i >= src.length) break;
- dst[i + offset] = src[i];
- }
- return i;
- }
- // ArrayBuffers from another context (i.e. an iframe) do not pass the `instanceof` check
- // but they should be treated as valid. See: https://github.com/feross/buffer/issues/166
- function isArrayBuffer(obj) {
- return (
- obj instanceof ArrayBuffer ||
- (obj != null &&
- obj.constructor != null &&
- obj.constructor.name === "ArrayBuffer" &&
- typeof obj.byteLength === "number")
- );
- }
- // Node 0.10 supports `ArrayBuffer` but lacks `ArrayBuffer.isView`
- function isArrayBufferView(obj) {
- return (
- typeof ArrayBuffer.isView === "function" && ArrayBuffer.isView(obj)
- );
- }
- function numberIsNaN(obj) {
- return obj !== obj; // eslint-disable-line no-self-compare
- }
- },
- { "base64-js": 24, ieee754: 106 },
- ],
- 55: [
- function (require, module, exports) {
- var Buffer = require("safe-buffer").Buffer;
- var Transform = require("stream").Transform;
- var StringDecoder = require("string_decoder").StringDecoder;
- var inherits = require("inherits");
- function CipherBase(hashMode) {
- Transform.call(this);
- this.hashMode = typeof hashMode === "string";
- if (this.hashMode) {
- this[hashMode] = this._finalOrDigest;
- } else {
- this.final = this._finalOrDigest;
- }
- if (this._final) {
- this.__final = this._final;
- this._final = null;
- }
- this._decoder = null;
- this._encoding = null;
- }
- inherits(CipherBase, Transform);
- CipherBase.prototype.update = function (data, inputEnc, outputEnc) {
- if (typeof data === "string") {
- data = Buffer.from(data, inputEnc);
- }
- var outData = this._update(data);
- if (this.hashMode) return this;
- if (outputEnc) {
- outData = this._toString(outData, outputEnc);
- }
- return outData;
- };
- CipherBase.prototype.setAutoPadding = function () {};
- CipherBase.prototype.getAuthTag = function () {
- throw new Error("trying to get auth tag in unsupported state");
- };
- CipherBase.prototype.setAuthTag = function () {
- throw new Error("trying to set auth tag in unsupported state");
- };
- CipherBase.prototype.setAAD = function () {
- throw new Error("trying to set aad in unsupported state");
- };
- CipherBase.prototype._transform = function (data, _, next) {
- var err;
- try {
- if (this.hashMode) {
- this._update(data);
- } else {
- this.push(this._update(data));
- }
- } catch (e) {
- err = e;
- } finally {
- next(err);
- }
- };
- CipherBase.prototype._flush = function (done) {
- var err;
- try {
- this.push(this.__final());
- } catch (e) {
- err = e;
- }
- done(err);
- };
- CipherBase.prototype._finalOrDigest = function (outputEnc) {
- var outData = this.__final() || Buffer.alloc(0);
- if (outputEnc) {
- outData = this._toString(outData, outputEnc, true);
- }
- return outData;
- };
- CipherBase.prototype._toString = function (value, enc, fin) {
- if (!this._decoder) {
- this._decoder = new StringDecoder(enc);
- this._encoding = enc;
- }
- if (this._encoding !== enc) throw new Error("can't switch encodings");
- var out = this._decoder.write(value);
- if (fin) {
- out += this._decoder.end();
- }
- return out;
- };
- module.exports = CipherBase;
- },
- { inherits: 108, "safe-buffer": 148, stream: 157, string_decoder: 158 },
- ],
- 56: [
- function (require, module, exports) {
- (function (Buffer) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- // NOTE: These type checking functions intentionally don't use `instanceof`
- // because it is fragile and can be easily faked with `Object.create()`.
- function isArray(arg) {
- if (Array.isArray) {
- return Array.isArray(arg);
- }
- return objectToString(arg) === "[object Array]";
- }
- exports.isArray = isArray;
- function isBoolean(arg) {
- return typeof arg === "boolean";
- }
- exports.isBoolean = isBoolean;
- function isNull(arg) {
- return arg === null;
- }
- exports.isNull = isNull;
- function isNullOrUndefined(arg) {
- return arg == null;
- }
- exports.isNullOrUndefined = isNullOrUndefined;
- function isNumber(arg) {
- return typeof arg === "number";
- }
- exports.isNumber = isNumber;
- function isString(arg) {
- return typeof arg === "string";
- }
- exports.isString = isString;
- function isSymbol(arg) {
- return typeof arg === "symbol";
- }
- exports.isSymbol = isSymbol;
- function isUndefined(arg) {
- return arg === void 0;
- }
- exports.isUndefined = isUndefined;
- function isRegExp(re) {
- return objectToString(re) === "[object RegExp]";
- }
- exports.isRegExp = isRegExp;
- function isObject(arg) {
- return typeof arg === "object" && arg !== null;
- }
- exports.isObject = isObject;
- function isDate(d) {
- return objectToString(d) === "[object Date]";
- }
- exports.isDate = isDate;
- function isError(e) {
- return objectToString(e) === "[object Error]" || e instanceof Error;
- }
- exports.isError = isError;
- function isFunction(arg) {
- return typeof arg === "function";
- }
- exports.isFunction = isFunction;
- function isPrimitive(arg) {
- return (
- arg === null ||
- typeof arg === "boolean" ||
- typeof arg === "number" ||
- typeof arg === "string" ||
- typeof arg === "symbol" || // ES6 symbol
- typeof arg === "undefined"
- );
- }
- exports.isPrimitive = isPrimitive;
- exports.isBuffer = Buffer.isBuffer;
- function objectToString(o) {
- return Object.prototype.toString.call(o);
- }
- }).call(this, { isBuffer: require("../../is-buffer/index.js") });
- },
- { "../../is-buffer/index.js": 109 },
- ],
- 57: [
- function (require, module, exports) {
- (function (Buffer) {
- var elliptic = require("elliptic");
- var BN = require("bn.js");
- module.exports = function createECDH(curve) {
- return new ECDH(curve);
- };
- var aliases = {
- secp256k1: {
- name: "secp256k1",
- byteLength: 32,
- },
- secp224r1: {
- name: "p224",
- byteLength: 28,
- },
- prime256v1: {
- name: "p256",
- byteLength: 32,
- },
- prime192v1: {
- name: "p192",
- byteLength: 24,
- },
- ed25519: {
- name: "ed25519",
- byteLength: 32,
- },
- secp384r1: {
- name: "p384",
- byteLength: 48,
- },
- secp521r1: {
- name: "p521",
- byteLength: 66,
- },
- };
- aliases.p224 = aliases.secp224r1;
- aliases.p256 = aliases.secp256r1 = aliases.prime256v1;
- aliases.p192 = aliases.secp192r1 = aliases.prime192v1;
- aliases.p384 = aliases.secp384r1;
- aliases.p521 = aliases.secp521r1;
- function ECDH(curve) {
- this.curveType = aliases[curve];
- if (!this.curveType) {
- this.curveType = {
- name: curve,
- };
- }
- this.curve = new elliptic.ec(this.curveType.name);
- this.keys = void 0;
- }
- ECDH.prototype.generateKeys = function (enc, format) {
- this.keys = this.curve.genKeyPair();
- return this.getPublicKey(enc, format);
- };
- ECDH.prototype.computeSecret = function (other, inenc, enc) {
- inenc = inenc || "utf8";
- if (!Buffer.isBuffer(other)) {
- other = new Buffer(other, inenc);
- }
- var otherPub = this.curve.keyFromPublic(other).getPublic();
- var out = otherPub.mul(this.keys.getPrivate()).getX();
- return formatReturnValue(out, enc, this.curveType.byteLength);
- };
- ECDH.prototype.getPublicKey = function (enc, format) {
- var key = this.keys.getPublic(format === "compressed", true);
- if (format === "hybrid") {
- if (key[key.length - 1] % 2) {
- key[0] = 7;
- } else {
- key[0] = 6;
- }
- }
- return formatReturnValue(key, enc);
- };
- ECDH.prototype.getPrivateKey = function (enc) {
- return formatReturnValue(this.keys.getPrivate(), enc);
- };
- ECDH.prototype.setPublicKey = function (pub, enc) {
- enc = enc || "utf8";
- if (!Buffer.isBuffer(pub)) {
- pub = new Buffer(pub, enc);
- }
- this.keys._importPublic(pub);
- return this;
- };
- ECDH.prototype.setPrivateKey = function (priv, enc) {
- enc = enc || "utf8";
- if (!Buffer.isBuffer(priv)) {
- priv = new Buffer(priv, enc);
- }
- var _priv = new BN(priv);
- _priv = _priv.toString(16);
- this.keys._importPrivate(_priv);
- return this;
- };
- function formatReturnValue(bn, enc, len) {
- if (!Array.isArray(bn)) {
- bn = bn.toArray();
- }
- var buf = new Buffer(bn);
- if (len && buf.length < len) {
- var zeros = new Buffer(len - buf.length);
- zeros.fill(0);
- buf = Buffer.concat([zeros, buf]);
- }
- if (!enc) {
- return buf;
- } else {
- return buf.toString(enc);
- }
- }
- }).call(this, require("buffer").Buffer);
- },
- { "bn.js": 25, buffer: 54, elliptic: 74 },
- ],
- 58: [
- function (require, module, exports) {
- (function (Buffer) {
- "use strict";
- var inherits = require("inherits");
- var md5 = require("./md5.js");
- var RIPEMD160 = require("ripemd160");
- var sha = require("sha.js");
- var Base = require("cipher-base");
- function HashNoConstructor(hash) {
- Base.call(this, "digest");
- this._hash = hash;
- this.buffers = [];
- }
- inherits(HashNoConstructor, Base);
- HashNoConstructor.prototype._update = function (data) {
- this.buffers.push(data);
- };
- HashNoConstructor.prototype._final = function () {
- var buf = Buffer.concat(this.buffers);
- var r = this._hash(buf);
- this.buffers = null;
- return r;
- };
- function Hash(hash) {
- Base.call(this, "digest");
- this._hash = hash;
- }
- inherits(Hash, Base);
- Hash.prototype._update = function (data) {
- this._hash.update(data);
- };
- Hash.prototype._final = function () {
- return this._hash.digest();
- };
- module.exports = function createHash(alg) {
- alg = alg.toLowerCase();
- if (alg === "md5") return new HashNoConstructor(md5);
- if (alg === "rmd160" || alg === "ripemd160")
- return new Hash(new RIPEMD160());
- return new Hash(sha(alg));
- };
- }).call(this, require("buffer").Buffer);
- },
- {
- "./md5": 60,
- buffer: 54,
- "cipher-base": 55,
- inherits: 108,
- ripemd160: 147,
- "sha.js": 150,
- },
- ],
- 59: [
- function (require, module, exports) {
- (function (Buffer) {
- "use strict";
- var intSize = 4;
- var zeroBuffer = new Buffer(intSize);
- zeroBuffer.fill(0);
- var charSize = 8;
- var hashSize = 16;
- function toArray(buf) {
- if (buf.length % intSize !== 0) {
- var len = buf.length + (intSize - (buf.length % intSize));
- buf = Buffer.concat([buf, zeroBuffer], len);
- }
- var arr = new Array(buf.length >>> 2);
- for (var i = 0, j = 0; i < buf.length; i += intSize, j++) {
- arr[j] = buf.readInt32LE(i);
- }
- return arr;
- }
- module.exports = function hash(buf, fn) {
- var arr = fn(toArray(buf), buf.length * charSize);
- buf = new Buffer(hashSize);
- for (var i = 0; i < arr.length; i++) {
- buf.writeInt32LE(arr[i], i << 2, true);
- }
- return buf;
- };
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54 },
- ],
- 60: [
- function (require, module, exports) {
- "use strict";
- /*
- * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
- * Digest Algorithm, as defined in RFC 1321.
- * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
- * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
- * Distributed under the BSD License
- * See http://pajhome.org.uk/crypt/md5 for more info.
- */
- var makeHash = require("./make-hash.js");
- /*
- * Calculate the MD5 of an array of little-endian words, and a bit length
- */
- function core_md5(x, len) {
- /* append padding */
- x[len >> 5] |= 0x80 << len % 32;
- x[(((len + 64) >>> 9) << 4) + 14] = len;
- var a = 1732584193;
- var b = -271733879;
- var c = -1732584194;
- var d = 271733878;
- for (var i = 0; i < x.length; i += 16) {
- var olda = a;
- var oldb = b;
- var oldc = c;
- var oldd = d;
- a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
- d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
- c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
- b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
- a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
- d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
- c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
- b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
- a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
- d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
- c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
- b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
- a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
- d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
- c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
- b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
- a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
- d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
- c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
- b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
- a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
- d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
- c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
- b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
- a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
- d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
- c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
- b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
- a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
- d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
- c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
- b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
- a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
- d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
- c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
- b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
- a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
- d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
- c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
- b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
- a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
- d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
- c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
- b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
- a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
- d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
- c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
- b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
- a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
- d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
- c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
- b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
- a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
- d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
- c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
- b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
- a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
- d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
- c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
- b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
- a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
- d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
- c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
- b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
- a = safe_add(a, olda);
- b = safe_add(b, oldb);
- c = safe_add(c, oldc);
- d = safe_add(d, oldd);
- }
- return [a, b, c, d];
- }
- /*
- * These functions implement the four basic operations the algorithm uses.
- */
- function md5_cmn(q, a, b, x, s, t) {
- return safe_add(
- bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),
- b
- );
- }
- function md5_ff(a, b, c, d, x, s, t) {
- return md5_cmn((b & c) | (~b & d), a, b, x, s, t);
- }
- function md5_gg(a, b, c, d, x, s, t) {
- return md5_cmn((b & d) | (c & ~d), a, b, x, s, t);
- }
- function md5_hh(a, b, c, d, x, s, t) {
- return md5_cmn(b ^ c ^ d, a, b, x, s, t);
- }
- function md5_ii(a, b, c, d, x, s, t) {
- return md5_cmn(c ^ (b | ~d), a, b, x, s, t);
- }
- /*
- * Add integers, wrapping at 2^32. This uses 16-bit operations internally
- * to work around bugs in some JS interpreters.
- */
- function safe_add(x, y) {
- var lsw = (x & 0xffff) + (y & 0xffff);
- var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
- return (msw << 16) | (lsw & 0xffff);
- }
- /*
- * Bitwise rotate a 32-bit number to the left.
- */
- function bit_rol(num, cnt) {
- return (num << cnt) | (num >>> (32 - cnt));
- }
- module.exports = function md5(buf) {
- return makeHash(buf, core_md5);
- };
- },
- { "./make-hash": 59 },
- ],
- 61: [
- function (require, module, exports) {
- "use strict";
- var inherits = require("inherits");
- var Legacy = require("./legacy.js");
- var Base = require("cipher-base");
- var Buffer = require("safe-buffer").Buffer;
- var md5 = require("create-hash/md5");
- var RIPEMD160 = require("ripemd160");
- var sha = require("sha.js");
- var ZEROS = Buffer.alloc(128);
- function Hmac(alg, key) {
- Base.call(this, "digest");
- if (typeof key === "string") {
- key = Buffer.from(key);
- }
- var blocksize = alg === "sha512" || alg === "sha384" ? 128 : 64;
- this._alg = alg;
- this._key = key;
- if (key.length > blocksize) {
- var hash = alg === "rmd160" ? new RIPEMD160() : sha(alg);
- key = hash.update(key).digest();
- } else if (key.length < blocksize) {
- key = Buffer.concat([key, ZEROS], blocksize);
- }
- var ipad = (this._ipad = Buffer.allocUnsafe(blocksize));
- var opad = (this._opad = Buffer.allocUnsafe(blocksize));
- for (var i = 0; i < blocksize; i++) {
- ipad[i] = key[i] ^ 0x36;
- opad[i] = key[i] ^ 0x5c;
- }
- this._hash = alg === "rmd160" ? new RIPEMD160() : sha(alg);
- this._hash.update(ipad);
- }
- inherits(Hmac, Base);
- Hmac.prototype._update = function (data) {
- this._hash.update(data);
- };
- Hmac.prototype._final = function () {
- var h = this._hash.digest();
- var hash = this._alg === "rmd160" ? new RIPEMD160() : sha(this._alg);
- return hash.update(this._opad).update(h).digest();
- };
- module.exports = function createHmac(alg, key) {
- alg = alg.toLowerCase();
- if (alg === "rmd160" || alg === "ripemd160") {
- return new Hmac("rmd160", key);
- }
- if (alg === "md5") {
- return new Legacy(md5, key);
- }
- return new Hmac(alg, key);
- };
- },
- {
- "./legacy": 62,
- "cipher-base": 55,
- "create-hash/md5": 60,
- inherits: 108,
- ripemd160: 147,
- "safe-buffer": 148,
- "sha.js": 150,
- },
- ],
- 62: [
- function (require, module, exports) {
- "use strict";
- var inherits = require("inherits");
- var Buffer = require("safe-buffer").Buffer;
- var Base = require("cipher-base");
- var ZEROS = Buffer.alloc(128);
- var blocksize = 64;
- function Hmac(alg, key) {
- Base.call(this, "digest");
- if (typeof key === "string") {
- key = Buffer.from(key);
- }
- this._alg = alg;
- this._key = key;
- if (key.length > blocksize) {
- key = alg(key);
- } else if (key.length < blocksize) {
- key = Buffer.concat([key, ZEROS], blocksize);
- }
- var ipad = (this._ipad = Buffer.allocUnsafe(blocksize));
- var opad = (this._opad = Buffer.allocUnsafe(blocksize));
- for (var i = 0; i < blocksize; i++) {
- ipad[i] = key[i] ^ 0x36;
- opad[i] = key[i] ^ 0x5c;
- }
- this._hash = [ipad];
- }
- inherits(Hmac, Base);
- Hmac.prototype._update = function (data) {
- this._hash.push(data);
- };
- Hmac.prototype._final = function () {
- var h = this._alg(Buffer.concat(this._hash));
- return this._alg(Buffer.concat([this._opad, h]));
- };
- module.exports = Hmac;
- },
- { "cipher-base": 55, inherits: 108, "safe-buffer": 148 },
- ],
- 63: [
- function (require, module, exports) {
- "use strict";
- exports.randomBytes =
- exports.rng =
- exports.pseudoRandomBytes =
- exports.prng =
- require("randombytes");
- exports.createHash = exports.Hash = require("create-hash");
- exports.createHmac = exports.Hmac = require("create-hmac");
- var algos = require("browserify-sign/algos");
- var algoKeys = Object.keys(algos);
- var hashes = [
- "sha1",
- "sha224",
- "sha256",
- "sha384",
- "sha512",
- "md5",
- "rmd160",
- ].concat(algoKeys);
- exports.getHashes = function () {
- return hashes;
- };
- var p = require("pbkdf2");
- exports.pbkdf2 = p.pbkdf2;
- exports.pbkdf2Sync = p.pbkdf2Sync;
- var aes = require("browserify-cipher");
- exports.Cipher = aes.Cipher;
- exports.createCipher = aes.createCipher;
- exports.Cipheriv = aes.Cipheriv;
- exports.createCipheriv = aes.createCipheriv;
- exports.Decipher = aes.Decipher;
- exports.createDecipher = aes.createDecipher;
- exports.Decipheriv = aes.Decipheriv;
- exports.createDecipheriv = aes.createDecipheriv;
- exports.getCiphers = aes.getCiphers;
- exports.listCiphers = aes.listCiphers;
- var dh = require("diffie-hellman");
- exports.DiffieHellmanGroup = dh.DiffieHellmanGroup;
- exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup;
- exports.getDiffieHellman = dh.getDiffieHellman;
- exports.createDiffieHellman = dh.createDiffieHellman;
- exports.DiffieHellman = dh.DiffieHellman;
- var sign = require("browserify-sign");
- exports.createSign = sign.createSign;
- exports.Sign = sign.Sign;
- exports.createVerify = sign.createVerify;
- exports.Verify = sign.Verify;
- exports.createECDH = require("create-ecdh");
- var publicEncrypt = require("public-encrypt");
- exports.publicEncrypt = publicEncrypt.publicEncrypt;
- exports.privateEncrypt = publicEncrypt.privateEncrypt;
- exports.publicDecrypt = publicEncrypt.publicDecrypt;
- exports.privateDecrypt = publicEncrypt.privateDecrypt;
- // the least I can do is make error messages for the rest of the node.js/crypto api.
- // ;[
- // 'createCredentials'
- // ].forEach(function (name) {
- // exports[name] = function () {
- // throw new Error([
- // 'sorry, ' + name + ' is not implemented yet',
- // 'we accept pull requests',
- // 'https://github.com/crypto-browserify/crypto-browserify'
- // ].join('\n'))
- // }
- // })
- exports.createCredentials = function () {
- throw new Error(
- [
- "sorry, createCredentials is not implemented yet",
- "we accept pull requests",
- "https://github.com/crypto-browserify/crypto-browserify",
- ].join("\n")
- );
- };
- exports.constants = {
- DH_CHECK_P_NOT_SAFE_PRIME: 2,
- DH_CHECK_P_NOT_PRIME: 1,
- DH_UNABLE_TO_CHECK_GENERATOR: 4,
- DH_NOT_SUITABLE_GENERATOR: 8,
- NPN_ENABLED: 1,
- ALPN_ENABLED: 1,
- RSA_PKCS1_PADDING: 1,
- RSA_SSLV23_PADDING: 2,
- RSA_NO_PADDING: 3,
- RSA_PKCS1_OAEP_PADDING: 4,
- RSA_X931_PADDING: 5,
- RSA_PKCS1_PSS_PADDING: 6,
- POINT_CONVERSION_COMPRESSED: 2,
- POINT_CONVERSION_UNCOMPRESSED: 4,
- POINT_CONVERSION_HYBRID: 6,
- };
- },
- {
- "browserify-cipher": 43,
- "browserify-sign": 50,
- "browserify-sign/algos": 47,
- "create-ecdh": 57,
- "create-hash": 58,
- "create-hmac": 61,
- "diffie-hellman": 70,
- pbkdf2: 120,
- "public-encrypt": 127,
- randombytes: 133,
- },
- ],
- 64: [
- function (require, module, exports) {
- "use strict";
- exports.utils = require("./des/utils.js");
- exports.Cipher = require("./des/cipher.js");
- exports.DES = require("./des/des.js");
- exports.CBC = require("./des/cbc.js");
- exports.EDE = require("./des/ede.js");
- },
- {
- "./des/cbc": 65,
- "./des/cipher": 66,
- "./des/des": 67,
- "./des/ede": 68,
- "./des/utils": 69,
- },
- ],
- 65: [
- function (require, module, exports) {
- "use strict";
- var assert = require("minimalistic-assert");
- var inherits = require("inherits");
- var proto = {};
- function CBCState(iv) {
- assert.equal(iv.length, 8, "Invalid IV length");
- this.iv = new Array(8);
- for (var i = 0; i < this.iv.length; i++) this.iv[i] = iv[i];
- }
- function instantiate(Base) {
- function CBC(options) {
- Base.call(this, options);
- this._cbcInit();
- }
- inherits(CBC, Base);
- var keys = Object.keys(proto);
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- CBC.prototype[key] = proto[key];
- }
- CBC.create = function create(options) {
- return new CBC(options);
- };
- return CBC;
- }
- exports.instantiate = instantiate;
- proto._cbcInit = function _cbcInit() {
- var state = new CBCState(this.options.iv);
- this._cbcState = state;
- };
- proto._update = function _update(inp, inOff, out, outOff) {
- var state = this._cbcState;
- var superProto = this.constructor.super_.prototype;
- var iv = state.iv;
- if (this.type === "encrypt") {
- for (var i = 0; i < this.blockSize; i++) iv[i] ^= inp[inOff + i];
- superProto._update.call(this, iv, 0, out, outOff);
- for (var i = 0; i < this.blockSize; i++) iv[i] = out[outOff + i];
- } else {
- superProto._update.call(this, inp, inOff, out, outOff);
- for (var i = 0; i < this.blockSize; i++) out[outOff + i] ^= iv[i];
- for (var i = 0; i < this.blockSize; i++) iv[i] = inp[inOff + i];
- }
- };
- },
- { inherits: 108, "minimalistic-assert": 112 },
- ],
- 66: [
- function (require, module, exports) {
- "use strict";
- var assert = require("minimalistic-assert");
- function Cipher(options) {
- this.options = options;
- this.type = this.options.type;
- this.blockSize = 8;
- this._init();
- this.buffer = new Array(this.blockSize);
- this.bufferOff = 0;
- }
- module.exports = Cipher;
- Cipher.prototype._init = function _init() {
- // Might be overrided
- };
- Cipher.prototype.update = function update(data) {
- if (data.length === 0) return [];
- if (this.type === "decrypt") return this._updateDecrypt(data);
- else return this._updateEncrypt(data);
- };
- Cipher.prototype._buffer = function _buffer(data, off) {
- // Append data to buffer
- var min = Math.min(
- this.buffer.length - this.bufferOff,
- data.length - off
- );
- for (var i = 0; i < min; i++)
- this.buffer[this.bufferOff + i] = data[off + i];
- this.bufferOff += min;
- // Shift next
- return min;
- };
- Cipher.prototype._flushBuffer = function _flushBuffer(out, off) {
- this._update(this.buffer, 0, out, off);
- this.bufferOff = 0;
- return this.blockSize;
- };
- Cipher.prototype._updateEncrypt = function _updateEncrypt(data) {
- var inputOff = 0;
- var outputOff = 0;
- var count = ((this.bufferOff + data.length) / this.blockSize) | 0;
- var out = new Array(count * this.blockSize);
- if (this.bufferOff !== 0) {
- inputOff += this._buffer(data, inputOff);
- if (this.bufferOff === this.buffer.length)
- outputOff += this._flushBuffer(out, outputOff);
- }
- // Write blocks
- var max = data.length - ((data.length - inputOff) % this.blockSize);
- for (; inputOff < max; inputOff += this.blockSize) {
- this._update(data, inputOff, out, outputOff);
- outputOff += this.blockSize;
- }
- // Queue rest
- for (; inputOff < data.length; inputOff++, this.bufferOff++)
- this.buffer[this.bufferOff] = data[inputOff];
- return out;
- };
- Cipher.prototype._updateDecrypt = function _updateDecrypt(data) {
- var inputOff = 0;
- var outputOff = 0;
- var count =
- Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;
- var out = new Array(count * this.blockSize);
- // TODO(indutny): optimize it, this is far from optimal
- for (; count > 0; count--) {
- inputOff += this._buffer(data, inputOff);
- outputOff += this._flushBuffer(out, outputOff);
- }
- // Buffer rest of the input
- inputOff += this._buffer(data, inputOff);
- return out;
- };
- Cipher.prototype.final = function final(buffer) {
- var first;
- if (buffer) first = this.update(buffer);
- var last;
- if (this.type === "encrypt") last = this._finalEncrypt();
- else last = this._finalDecrypt();
- if (first) return first.concat(last);
- else return last;
- };
- Cipher.prototype._pad = function _pad(buffer, off) {
- if (off === 0) return false;
- while (off < buffer.length) buffer[off++] = 0;
- return true;
- };
- Cipher.prototype._finalEncrypt = function _finalEncrypt() {
- if (!this._pad(this.buffer, this.bufferOff)) return [];
- var out = new Array(this.blockSize);
- this._update(this.buffer, 0, out, 0);
- return out;
- };
- Cipher.prototype._unpad = function _unpad(buffer) {
- return buffer;
- };
- Cipher.prototype._finalDecrypt = function _finalDecrypt() {
- assert.equal(
- this.bufferOff,
- this.blockSize,
- "Not enough data to decrypt"
- );
- var out = new Array(this.blockSize);
- this._flushBuffer(out, 0);
- return this._unpad(out);
- };
- },
- { "minimalistic-assert": 112 },
- ],
- 67: [
- function (require, module, exports) {
- "use strict";
- var assert = require("minimalistic-assert");
- var inherits = require("inherits");
- var des = require("../des.js");
- var utils = des.utils;
- var Cipher = des.Cipher;
- function DESState() {
- this.tmp = new Array(2);
- this.keys = null;
- }
- function DES(options) {
- Cipher.call(this, options);
- var state = new DESState();
- this._desState = state;
- this.deriveKeys(state, options.key);
- }
- inherits(DES, Cipher);
- module.exports = DES;
- DES.create = function create(options) {
- return new DES(options);
- };
- var shiftTable = [1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1];
- DES.prototype.deriveKeys = function deriveKeys(state, key) {
- state.keys = new Array(16 * 2);
- assert.equal(key.length, this.blockSize, "Invalid key length");
- var kL = utils.readUInt32BE(key, 0);
- var kR = utils.readUInt32BE(key, 4);
- utils.pc1(kL, kR, state.tmp, 0);
- kL = state.tmp[0];
- kR = state.tmp[1];
- for (var i = 0; i < state.keys.length; i += 2) {
- var shift = shiftTable[i >>> 1];
- kL = utils.r28shl(kL, shift);
- kR = utils.r28shl(kR, shift);
- utils.pc2(kL, kR, state.keys, i);
- }
- };
- DES.prototype._update = function _update(inp, inOff, out, outOff) {
- var state = this._desState;
- var l = utils.readUInt32BE(inp, inOff);
- var r = utils.readUInt32BE(inp, inOff + 4);
- // Initial Permutation
- utils.ip(l, r, state.tmp, 0);
- l = state.tmp[0];
- r = state.tmp[1];
- if (this.type === "encrypt") this._encrypt(state, l, r, state.tmp, 0);
- else this._decrypt(state, l, r, state.tmp, 0);
- l = state.tmp[0];
- r = state.tmp[1];
- utils.writeUInt32BE(out, l, outOff);
- utils.writeUInt32BE(out, r, outOff + 4);
- };
- DES.prototype._pad = function _pad(buffer, off) {
- var value = buffer.length - off;
- for (var i = off; i < buffer.length; i++) buffer[i] = value;
- return true;
- };
- DES.prototype._unpad = function _unpad(buffer) {
- var pad = buffer[buffer.length - 1];
- for (var i = buffer.length - pad; i < buffer.length; i++)
- assert.equal(buffer[i], pad);
- return buffer.slice(0, buffer.length - pad);
- };
- DES.prototype._encrypt = function _encrypt(
- state,
- lStart,
- rStart,
- out,
- off
- ) {
- var l = lStart;
- var r = rStart;
- // Apply f() x16 times
- for (var i = 0; i < state.keys.length; i += 2) {
- var keyL = state.keys[i];
- var keyR = state.keys[i + 1];
- // f(r, k)
- utils.expand(r, state.tmp, 0);
- keyL ^= state.tmp[0];
- keyR ^= state.tmp[1];
- var s = utils.substitute(keyL, keyR);
- var f = utils.permute(s);
- var t = r;
- r = (l ^ f) >>> 0;
- l = t;
- }
- // Reverse Initial Permutation
- utils.rip(r, l, out, off);
- };
- DES.prototype._decrypt = function _decrypt(
- state,
- lStart,
- rStart,
- out,
- off
- ) {
- var l = rStart;
- var r = lStart;
- // Apply f() x16 times
- for (var i = state.keys.length - 2; i >= 0; i -= 2) {
- var keyL = state.keys[i];
- var keyR = state.keys[i + 1];
- // f(r, k)
- utils.expand(l, state.tmp, 0);
- keyL ^= state.tmp[0];
- keyR ^= state.tmp[1];
- var s = utils.substitute(keyL, keyR);
- var f = utils.permute(s);
- var t = l;
- l = (r ^ f) >>> 0;
- r = t;
- }
- // Reverse Initial Permutation
- utils.rip(l, r, out, off);
- };
- },
- { "../des": 64, inherits: 108, "minimalistic-assert": 112 },
- ],
- 68: [
- function (require, module, exports) {
- "use strict";
- var assert = require("minimalistic-assert");
- var inherits = require("inherits");
- var des = require("../des.js");
- var Cipher = des.Cipher;
- var DES = des.DES;
- function EDEState(type, key) {
- assert.equal(key.length, 24, "Invalid key length");
- var k1 = key.slice(0, 8);
- var k2 = key.slice(8, 16);
- var k3 = key.slice(16, 24);
- if (type === "encrypt") {
- this.ciphers = [
- DES.create({ type: "encrypt", key: k1 }),
- DES.create({ type: "decrypt", key: k2 }),
- DES.create({ type: "encrypt", key: k3 }),
- ];
- } else {
- this.ciphers = [
- DES.create({ type: "decrypt", key: k3 }),
- DES.create({ type: "encrypt", key: k2 }),
- DES.create({ type: "decrypt", key: k1 }),
- ];
- }
- }
- function EDE(options) {
- Cipher.call(this, options);
- var state = new EDEState(this.type, this.options.key);
- this._edeState = state;
- }
- inherits(EDE, Cipher);
- module.exports = EDE;
- EDE.create = function create(options) {
- return new EDE(options);
- };
- EDE.prototype._update = function _update(inp, inOff, out, outOff) {
- var state = this._edeState;
- state.ciphers[0]._update(inp, inOff, out, outOff);
- state.ciphers[1]._update(out, outOff, out, outOff);
- state.ciphers[2]._update(out, outOff, out, outOff);
- };
- EDE.prototype._pad = DES.prototype._pad;
- EDE.prototype._unpad = DES.prototype._unpad;
- },
- { "../des": 64, inherits: 108, "minimalistic-assert": 112 },
- ],
- 69: [
- function (require, module, exports) {
- "use strict";
- exports.readUInt32BE = function readUInt32BE(bytes, off) {
- var res =
- (bytes[0 + off] << 24) |
- (bytes[1 + off] << 16) |
- (bytes[2 + off] << 8) |
- bytes[3 + off];
- return res >>> 0;
- };
- exports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {
- bytes[0 + off] = value >>> 24;
- bytes[1 + off] = (value >>> 16) & 0xff;
- bytes[2 + off] = (value >>> 8) & 0xff;
- bytes[3 + off] = value & 0xff;
- };
- exports.ip = function ip(inL, inR, out, off) {
- var outL = 0;
- var outR = 0;
- for (var i = 6; i >= 0; i -= 2) {
- for (var j = 0; j <= 24; j += 8) {
- outL <<= 1;
- outL |= (inR >>> (j + i)) & 1;
- }
- for (var j = 0; j <= 24; j += 8) {
- outL <<= 1;
- outL |= (inL >>> (j + i)) & 1;
- }
- }
- for (var i = 6; i >= 0; i -= 2) {
- for (var j = 1; j <= 25; j += 8) {
- outR <<= 1;
- outR |= (inR >>> (j + i)) & 1;
- }
- for (var j = 1; j <= 25; j += 8) {
- outR <<= 1;
- outR |= (inL >>> (j + i)) & 1;
- }
- }
- out[off + 0] = outL >>> 0;
- out[off + 1] = outR >>> 0;
- };
- exports.rip = function rip(inL, inR, out, off) {
- var outL = 0;
- var outR = 0;
- for (var i = 0; i < 4; i++) {
- for (var j = 24; j >= 0; j -= 8) {
- outL <<= 1;
- outL |= (inR >>> (j + i)) & 1;
- outL <<= 1;
- outL |= (inL >>> (j + i)) & 1;
- }
- }
- for (var i = 4; i < 8; i++) {
- for (var j = 24; j >= 0; j -= 8) {
- outR <<= 1;
- outR |= (inR >>> (j + i)) & 1;
- outR <<= 1;
- outR |= (inL >>> (j + i)) & 1;
- }
- }
- out[off + 0] = outL >>> 0;
- out[off + 1] = outR >>> 0;
- };
- exports.pc1 = function pc1(inL, inR, out, off) {
- var outL = 0;
- var outR = 0;
- // 7, 15, 23, 31, 39, 47, 55, 63
- // 6, 14, 22, 30, 39, 47, 55, 63
- // 5, 13, 21, 29, 39, 47, 55, 63
- // 4, 12, 20, 28
- for (var i = 7; i >= 5; i--) {
- for (var j = 0; j <= 24; j += 8) {
- outL <<= 1;
- outL |= (inR >> (j + i)) & 1;
- }
- for (var j = 0; j <= 24; j += 8) {
- outL <<= 1;
- outL |= (inL >> (j + i)) & 1;
- }
- }
- for (var j = 0; j <= 24; j += 8) {
- outL <<= 1;
- outL |= (inR >> (j + i)) & 1;
- }
- // 1, 9, 17, 25, 33, 41, 49, 57
- // 2, 10, 18, 26, 34, 42, 50, 58
- // 3, 11, 19, 27, 35, 43, 51, 59
- // 36, 44, 52, 60
- for (var i = 1; i <= 3; i++) {
- for (var j = 0; j <= 24; j += 8) {
- outR <<= 1;
- outR |= (inR >> (j + i)) & 1;
- }
- for (var j = 0; j <= 24; j += 8) {
- outR <<= 1;
- outR |= (inL >> (j + i)) & 1;
- }
- }
- for (var j = 0; j <= 24; j += 8) {
- outR <<= 1;
- outR |= (inL >> (j + i)) & 1;
- }
- out[off + 0] = outL >>> 0;
- out[off + 1] = outR >>> 0;
- };
- exports.r28shl = function r28shl(num, shift) {
- return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));
- };
- var pc2table = [
- // inL => outL
- 14, 11, 17, 4, 27, 23, 25, 0, 13, 22, 7, 18, 5, 9, 16, 24, 2, 20, 12,
- 21, 1, 8, 15, 26,
- // inR => outR
- 15, 4, 25, 19, 9, 1, 26, 16, 5, 11, 23, 8, 12, 7, 17, 0, 22, 3, 10,
- 14, 6, 20, 27, 24,
- ];
- exports.pc2 = function pc2(inL, inR, out, off) {
- var outL = 0;
- var outR = 0;
- var len = pc2table.length >>> 1;
- for (var i = 0; i < len; i++) {
- outL <<= 1;
- outL |= (inL >>> pc2table[i]) & 0x1;
- }
- for (var i = len; i < pc2table.length; i++) {
- outR <<= 1;
- outR |= (inR >>> pc2table[i]) & 0x1;
- }
- out[off + 0] = outL >>> 0;
- out[off + 1] = outR >>> 0;
- };
- exports.expand = function expand(r, out, off) {
- var outL = 0;
- var outR = 0;
- outL = ((r & 1) << 5) | (r >>> 27);
- for (var i = 23; i >= 15; i -= 4) {
- outL <<= 6;
- outL |= (r >>> i) & 0x3f;
- }
- for (var i = 11; i >= 3; i -= 4) {
- outR |= (r >>> i) & 0x3f;
- outR <<= 6;
- }
- outR |= ((r & 0x1f) << 1) | (r >>> 31);
- out[off + 0] = outL >>> 0;
- out[off + 1] = outR >>> 0;
- };
- var sTable = [
- 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1, 3, 10, 10, 6,
- 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8, 4, 15, 1, 12, 14, 8, 8, 2, 13,
- 4, 6, 9, 2, 1, 11, 7, 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6,
- 0, 13,
- 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14, 9, 12, 7, 0, 2,
- 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5, 0, 13, 14, 8, 7, 10, 11, 1, 10,
- 3, 4, 15, 13, 4, 1, 2, 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14,
- 15, 9,
- 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10, 1, 2, 13, 8, 12,
- 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1, 13, 1, 6, 10, 4, 13, 9, 0, 8, 6,
- 15, 9, 3, 8, 0, 7, 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7,
- 12,
- 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3, 1, 4, 2, 7, 8,
- 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9, 10, 3, 6, 15, 9, 0, 0, 6, 12,
- 10, 11, 1, 7, 13, 13, 8, 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2,
- 4, 14,
- 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1, 8, 5, 5, 0, 3,
- 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6, 4, 11, 2, 8, 1, 12, 11, 7, 10,
- 1, 13, 14, 7, 2, 8, 13, 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5,
- 14, 3,
- 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5, 0, 6, 13, 1, 3,
- 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8, 9, 4, 14, 3, 15, 2, 5, 12, 2, 9,
- 8, 5, 12, 15, 3, 10, 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6,
- 13,
- 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10, 3, 14, 12, 3,
- 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6, 1, 6, 4, 11, 11, 13, 13, 8, 12,
- 1, 3, 4, 7, 10, 14, 7, 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3,
- 2, 12,
- 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4, 10, 12, 9, 5, 3,
- 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2, 7, 2, 11, 1, 4, 14, 1, 7, 9, 4,
- 12, 10, 14, 8, 2, 13, 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6,
- 8, 11,
- ];
- exports.substitute = function substitute(inL, inR) {
- var out = 0;
- for (var i = 0; i < 4; i++) {
- var b = (inL >>> (18 - i * 6)) & 0x3f;
- var sb = sTable[i * 0x40 + b];
- out <<= 4;
- out |= sb;
- }
- for (var i = 0; i < 4; i++) {
- var b = (inR >>> (18 - i * 6)) & 0x3f;
- var sb = sTable[4 * 0x40 + i * 0x40 + b];
- out <<= 4;
- out |= sb;
- }
- return out >>> 0;
- };
- var permuteTable = [
- 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22, 30, 24, 8,
- 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7,
- ];
- exports.permute = function permute(num) {
- var out = 0;
- for (var i = 0; i < permuteTable.length; i++) {
- out <<= 1;
- out |= (num >>> permuteTable[i]) & 0x1;
- }
- return out >>> 0;
- };
- exports.padSplit = function padSplit(num, size, group) {
- var str = num.toString(2);
- while (str.length < size) str = "0" + str;
- var out = [];
- for (var i = 0; i < size; i += group)
- out.push(str.slice(i, i + group));
- return out.join(" ");
- };
- },
- {},
- ],
- 70: [
- function (require, module, exports) {
- (function (Buffer) {
- var generatePrime = require("./lib/generatePrime.js");
- var primes = require("./lib/primes.json");
- var DH = require("./lib/dh.js");
- function getDiffieHellman(mod) {
- var prime = new Buffer(primes[mod].prime, "hex");
- var gen = new Buffer(primes[mod].gen, "hex");
- return new DH(prime, gen);
- }
- var ENCODINGS = {
- binary: true,
- hex: true,
- base64: true,
- };
- function createDiffieHellman(prime, enc, generator, genc) {
- if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {
- return createDiffieHellman(prime, "binary", enc, generator);
- }
- enc = enc || "binary";
- genc = genc || "binary";
- generator = generator || new Buffer([2]);
- if (!Buffer.isBuffer(generator)) {
- generator = new Buffer(generator, genc);
- }
- if (typeof prime === "number") {
- return new DH(generatePrime(prime, generator), generator, true);
- }
- if (!Buffer.isBuffer(prime)) {
- prime = new Buffer(prime, enc);
- }
- return new DH(prime, generator, true);
- }
- exports.DiffieHellmanGroup =
- exports.createDiffieHellmanGroup =
- exports.getDiffieHellman =
- getDiffieHellman;
- exports.createDiffieHellman = exports.DiffieHellman =
- createDiffieHellman;
- }).call(this, require("buffer").Buffer);
- },
- {
- "./lib/dh": 71,
- "./lib/generatePrime": 72,
- "./lib/primes.json": 73,
- buffer: 54,
- },
- ],
- 71: [
- function (require, module, exports) {
- (function (Buffer) {
- var BN = require("bn.js");
- var MillerRabin = require("miller-rabin");
- var millerRabin = new MillerRabin();
- var TWENTYFOUR = new BN(24);
- var ELEVEN = new BN(11);
- var TEN = new BN(10);
- var THREE = new BN(3);
- var SEVEN = new BN(7);
- var primes = require("./generatePrime.js");
- var randomBytes = require("randombytes");
- module.exports = DH;
- function setPublicKey(pub, enc) {
- enc = enc || "utf8";
- if (!Buffer.isBuffer(pub)) {
- pub = new Buffer(pub, enc);
- }
- this._pub = new BN(pub);
- return this;
- }
- function setPrivateKey(priv, enc) {
- enc = enc || "utf8";
- if (!Buffer.isBuffer(priv)) {
- priv = new Buffer(priv, enc);
- }
- this._priv = new BN(priv);
- return this;
- }
- var primeCache = {};
- function checkPrime(prime, generator) {
- var gen = generator.toString("hex");
- var hex = [gen, prime.toString(16)].join("_");
- if (hex in primeCache) {
- return primeCache[hex];
- }
- var error = 0;
- if (
- prime.isEven() ||
- !primes.simpleSieve ||
- !primes.fermatTest(prime) ||
- !millerRabin.test(prime)
- ) {
- //not a prime so +1
- error += 1;
- if (gen === "02" || gen === "05") {
- // we'd be able to check the generator
- // it would fail so +8
- error += 8;
- } else {
- //we wouldn't be able to test the generator
- // so +4
- error += 4;
- }
- primeCache[hex] = error;
- return error;
- }
- if (!millerRabin.test(prime.shrn(1))) {
- //not a safe prime
- error += 2;
- }
- var rem;
- switch (gen) {
- case "02":
- if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {
- // unsuidable generator
- error += 8;
- }
- break;
- case "05":
- rem = prime.mod(TEN);
- if (rem.cmp(THREE) && rem.cmp(SEVEN)) {
- // prime mod 10 needs to equal 3 or 7
- error += 8;
- }
- break;
- default:
- error += 4;
- }
- primeCache[hex] = error;
- return error;
- }
- function DH(prime, generator, malleable) {
- this.setGenerator(generator);
- this.__prime = new BN(prime);
- this._prime = BN.mont(this.__prime);
- this._primeLen = prime.length;
- this._pub = undefined;
- this._priv = undefined;
- this._primeCode = undefined;
- if (malleable) {
- this.setPublicKey = setPublicKey;
- this.setPrivateKey = setPrivateKey;
- } else {
- this._primeCode = 8;
- }
- }
- Object.defineProperty(DH.prototype, "verifyError", {
- enumerable: true,
- get: function () {
- if (typeof this._primeCode !== "number") {
- this._primeCode = checkPrime(this.__prime, this.__gen);
- }
- return this._primeCode;
- },
- });
- DH.prototype.generateKeys = function () {
- if (!this._priv) {
- this._priv = new BN(randomBytes(this._primeLen));
- }
- this._pub = this._gen
- .toRed(this._prime)
- .redPow(this._priv)
- .fromRed();
- return this.getPublicKey();
- };
- DH.prototype.computeSecret = function (other) {
- other = new BN(other);
- other = other.toRed(this._prime);
- var secret = other.redPow(this._priv).fromRed();
- var out = new Buffer(secret.toArray());
- var prime = this.getPrime();
- if (out.length < prime.length) {
- var front = new Buffer(prime.length - out.length);
- front.fill(0);
- out = Buffer.concat([front, out]);
- }
- return out;
- };
- DH.prototype.getPublicKey = function getPublicKey(enc) {
- return formatReturnValue(this._pub, enc);
- };
- DH.prototype.getPrivateKey = function getPrivateKey(enc) {
- return formatReturnValue(this._priv, enc);
- };
- DH.prototype.getPrime = function (enc) {
- return formatReturnValue(this.__prime, enc);
- };
- DH.prototype.getGenerator = function (enc) {
- return formatReturnValue(this._gen, enc);
- };
- DH.prototype.setGenerator = function (gen, enc) {
- enc = enc || "utf8";
- if (!Buffer.isBuffer(gen)) {
- gen = new Buffer(gen, enc);
- }
- this.__gen = gen;
- this._gen = new BN(gen);
- return this;
- };
- function formatReturnValue(bn, enc) {
- var buf = new Buffer(bn.toArray());
- if (!enc) {
- return buf;
- } else {
- return buf.toString(enc);
- }
- }
- }).call(this, require("buffer").Buffer);
- },
- {
- "./generatePrime": 72,
- "bn.js": 25,
- buffer: 54,
- "miller-rabin": 111,
- randombytes: 133,
- },
- ],
- 72: [
- function (require, module, exports) {
- var randomBytes = require("randombytes");
- module.exports = findPrime;
- findPrime.simpleSieve = simpleSieve;
- findPrime.fermatTest = fermatTest;
- var BN = require("bn.js");
- var TWENTYFOUR = new BN(24);
- var MillerRabin = require("miller-rabin");
- var millerRabin = new MillerRabin();
- var ONE = new BN(1);
- var TWO = new BN(2);
- var FIVE = new BN(5);
- var SIXTEEN = new BN(16);
- var EIGHT = new BN(8);
- var TEN = new BN(10);
- var THREE = new BN(3);
- var SEVEN = new BN(7);
- var ELEVEN = new BN(11);
- var FOUR = new BN(4);
- var TWELVE = new BN(12);
- var primes = null;
- function _getPrimes() {
- if (primes !== null) return primes;
- var limit = 0x100000;
- var res = [];
- res[0] = 2;
- for (var i = 1, k = 3; k < limit; k += 2) {
- var sqrt = Math.ceil(Math.sqrt(k));
- for (var j = 0; j < i && res[j] <= sqrt; j++)
- if (k % res[j] === 0) break;
- if (i !== j && res[j] <= sqrt) continue;
- res[i++] = k;
- }
- primes = res;
- return res;
- }
- function simpleSieve(p) {
- var primes = _getPrimes();
- for (var i = 0; i < primes.length; i++)
- if (p.modn(primes[i]) === 0) {
- if (p.cmpn(primes[i]) === 0) {
- return true;
- } else {
- return false;
- }
- }
- return true;
- }
- function fermatTest(p) {
- var red = BN.mont(p);
- return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;
- }
- function findPrime(bits, gen) {
- if (bits < 16) {
- // this is what openssl does
- if (gen === 2 || gen === 5) {
- return new BN([0x8c, 0x7b]);
- } else {
- return new BN([0x8c, 0x27]);
- }
- }
- gen = new BN(gen);
- var num, n2;
- while (true) {
- num = new BN(randomBytes(Math.ceil(bits / 8)));
- while (num.bitLength() > bits) {
- num.ishrn(1);
- }
- if (num.isEven()) {
- num.iadd(ONE);
- }
- if (!num.testn(1)) {
- num.iadd(TWO);
- }
- if (!gen.cmp(TWO)) {
- while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {
- num.iadd(FOUR);
- }
- } else if (!gen.cmp(FIVE)) {
- while (num.mod(TEN).cmp(THREE)) {
- num.iadd(FOUR);
- }
- }
- n2 = num.shrn(1);
- if (
- simpleSieve(n2) &&
- simpleSieve(num) &&
- fermatTest(n2) &&
- fermatTest(num) &&
- millerRabin.test(n2) &&
- millerRabin.test(num)
- ) {
- return num;
- }
- }
- }
- },
- { "bn.js": 25, "miller-rabin": 111, randombytes: 133 },
- ],
- 73: [
- function (require, module, exports) {
- module.exports = {
- modp1: {
- gen: "02",
- prime:
- "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff",
- },
- modp2: {
- gen: "02",
- prime:
- "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff",
- },
- modp5: {
- gen: "02",
- prime:
- "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff",
- },
- modp14: {
- gen: "02",
- prime:
- "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff",
- },
- modp15: {
- gen: "02",
- prime:
- "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff",
- },
- modp16: {
- gen: "02",
- prime:
- "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff",
- },
- modp17: {
- gen: "02",
- prime:
- "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff",
- },
- modp18: {
- gen: "02",
- prime:
- "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff",
- },
- };
- },
- {},
- ],
- 74: [
- function (require, module, exports) {
- "use strict";
- var elliptic = exports;
- elliptic.version = require("../package.json").version;
- elliptic.utils = require("./elliptic/utils.js");
- elliptic.rand = require("brorand");
- elliptic.curve = require("./elliptic/curve.js");
- elliptic.curves = require("./elliptic/curves.js");
- // Protocols
- elliptic.ec = require("./elliptic/ec.js");
- elliptic.eddsa = require("./elliptic/eddsa.js");
- },
- {
- "../package.json": 89,
- "./elliptic/curve": 77,
- "./elliptic/curves": 80,
- "./elliptic/ec": 81,
- "./elliptic/eddsa": 84,
- "./elliptic/utils": 88,
- brorand: 26,
- },
- ],
- 75: [
- function (require, module, exports) {
- "use strict";
- var BN = require("bn.js");
- var elliptic = require("../../elliptic.js");
- var utils = elliptic.utils;
- var getNAF = utils.getNAF;
- var getJSF = utils.getJSF;
- var assert = utils.assert;
- function BaseCurve(type, conf) {
- this.type = type;
- this.p = new BN(conf.p, 16);
- // Use Montgomery, when there is no fast reduction for the prime
- this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);
- // Useful for many curves
- this.zero = new BN(0).toRed(this.red);
- this.one = new BN(1).toRed(this.red);
- this.two = new BN(2).toRed(this.red);
- // Curve configuration, optional
- this.n = conf.n && new BN(conf.n, 16);
- this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);
- // Temporary arrays
- this._wnafT1 = new Array(4);
- this._wnafT2 = new Array(4);
- this._wnafT3 = new Array(4);
- this._wnafT4 = new Array(4);
- // Generalized Greg Maxwell's trick
- var adjustCount = this.n && this.p.div(this.n);
- if (!adjustCount || adjustCount.cmpn(100) > 0) {
- this.redN = null;
- } else {
- this._maxwellTrick = true;
- this.redN = this.n.toRed(this.red);
- }
- }
- module.exports = BaseCurve;
- BaseCurve.prototype.point = function point() {
- throw new Error("Not implemented");
- };
- BaseCurve.prototype.validate = function validate() {
- throw new Error("Not implemented");
- };
- BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {
- assert(p.precomputed);
- var doubles = p._getDoubles();
- var naf = getNAF(k, 1);
- var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);
- I /= 3;
- // Translate into more windowed form
- var repr = [];
- for (var j = 0; j < naf.length; j += doubles.step) {
- var nafW = 0;
- for (var k = j + doubles.step - 1; k >= j; k--)
- nafW = (nafW << 1) + naf[k];
- repr.push(nafW);
- }
- var a = this.jpoint(null, null, null);
- var b = this.jpoint(null, null, null);
- for (var i = I; i > 0; i--) {
- for (var j = 0; j < repr.length; j++) {
- var nafW = repr[j];
- if (nafW === i) b = b.mixedAdd(doubles.points[j]);
- else if (nafW === -i) b = b.mixedAdd(doubles.points[j].neg());
- }
- a = a.add(b);
- }
- return a.toP();
- };
- BaseCurve.prototype._wnafMul = function _wnafMul(p, k) {
- var w = 4;
- // Precompute window
- var nafPoints = p._getNAFPoints(w);
- w = nafPoints.wnd;
- var wnd = nafPoints.points;
- // Get NAF form
- var naf = getNAF(k, w);
- // Add `this`*(N+1) for every w-NAF index
- var acc = this.jpoint(null, null, null);
- for (var i = naf.length - 1; i >= 0; i--) {
- // Count zeroes
- for (var k = 0; i >= 0 && naf[i] === 0; i--) k++;
- if (i >= 0) k++;
- acc = acc.dblp(k);
- if (i < 0) break;
- var z = naf[i];
- assert(z !== 0);
- if (p.type === "affine") {
- // J +- P
- if (z > 0) acc = acc.mixedAdd(wnd[(z - 1) >> 1]);
- else acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());
- } else {
- // J +- J
- if (z > 0) acc = acc.add(wnd[(z - 1) >> 1]);
- else acc = acc.add(wnd[(-z - 1) >> 1].neg());
- }
- }
- return p.type === "affine" ? acc.toP() : acc;
- };
- BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(
- defW,
- points,
- coeffs,
- len,
- jacobianResult
- ) {
- var wndWidth = this._wnafT1;
- var wnd = this._wnafT2;
- var naf = this._wnafT3;
- // Fill all arrays
- var max = 0;
- for (var i = 0; i < len; i++) {
- var p = points[i];
- var nafPoints = p._getNAFPoints(defW);
- wndWidth[i] = nafPoints.wnd;
- wnd[i] = nafPoints.points;
- }
- // Comb small window NAFs
- for (var i = len - 1; i >= 1; i -= 2) {
- var a = i - 1;
- var b = i;
- if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {
- naf[a] = getNAF(coeffs[a], wndWidth[a]);
- naf[b] = getNAF(coeffs[b], wndWidth[b]);
- max = Math.max(naf[a].length, max);
- max = Math.max(naf[b].length, max);
- continue;
- }
- var comb = [
- points[a] /* 1 */,
- null /* 3 */,
- null /* 5 */,
- points[b] /* 7 */,
- ];
- // Try to avoid Projective points, if possible
- if (points[a].y.cmp(points[b].y) === 0) {
- comb[1] = points[a].add(points[b]);
- comb[2] = points[a].toJ().mixedAdd(points[b].neg());
- } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {
- comb[1] = points[a].toJ().mixedAdd(points[b]);
- comb[2] = points[a].add(points[b].neg());
- } else {
- comb[1] = points[a].toJ().mixedAdd(points[b]);
- comb[2] = points[a].toJ().mixedAdd(points[b].neg());
- }
- var index = [
- -3 /* -1 -1 */, -1 /* -1 0 */, -5 /* -1 1 */, -7 /* 0 -1 */,
- 0 /* 0 0 */, 7 /* 0 1 */, 5 /* 1 -1 */, 1 /* 1 0 */, 3 /* 1 1 */,
- ];
- var jsf = getJSF(coeffs[a], coeffs[b]);
- max = Math.max(jsf[0].length, max);
- naf[a] = new Array(max);
- naf[b] = new Array(max);
- for (var j = 0; j < max; j++) {
- var ja = jsf[0][j] | 0;
- var jb = jsf[1][j] | 0;
- naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];
- naf[b][j] = 0;
- wnd[a] = comb;
- }
- }
- var acc = this.jpoint(null, null, null);
- var tmp = this._wnafT4;
- for (var i = max; i >= 0; i--) {
- var k = 0;
- while (i >= 0) {
- var zero = true;
- for (var j = 0; j < len; j++) {
- tmp[j] = naf[j][i] | 0;
- if (tmp[j] !== 0) zero = false;
- }
- if (!zero) break;
- k++;
- i--;
- }
- if (i >= 0) k++;
- acc = acc.dblp(k);
- if (i < 0) break;
- for (var j = 0; j < len; j++) {
- var z = tmp[j];
- var p;
- if (z === 0) continue;
- else if (z > 0) p = wnd[j][(z - 1) >> 1];
- else if (z < 0) p = wnd[j][(-z - 1) >> 1].neg();
- if (p.type === "affine") acc = acc.mixedAdd(p);
- else acc = acc.add(p);
- }
- }
- // Zeroify references
- for (var i = 0; i < len; i++) wnd[i] = null;
- if (jacobianResult) return acc;
- else return acc.toP();
- };
- function BasePoint(curve, type) {
- this.curve = curve;
- this.type = type;
- this.precomputed = null;
- }
- BaseCurve.BasePoint = BasePoint;
- BasePoint.prototype.eq = function eq(/*other*/) {
- throw new Error("Not implemented");
- };
- BasePoint.prototype.validate = function validate() {
- return this.curve.validate(this);
- };
- BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
- bytes = utils.toArray(bytes, enc);
- var len = this.p.byteLength();
- // uncompressed, hybrid-odd, hybrid-even
- if (
- (bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&
- bytes.length - 1 === 2 * len
- ) {
- if (bytes[0] === 0x06) assert(bytes[bytes.length - 1] % 2 === 0);
- else if (bytes[0] === 0x07)
- assert(bytes[bytes.length - 1] % 2 === 1);
- var res = this.point(
- bytes.slice(1, 1 + len),
- bytes.slice(1 + len, 1 + 2 * len)
- );
- return res;
- } else if (
- (bytes[0] === 0x02 || bytes[0] === 0x03) &&
- bytes.length - 1 === len
- ) {
- return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);
- }
- throw new Error("Unknown point format");
- };
- BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {
- return this.encode(enc, true);
- };
- BasePoint.prototype._encode = function _encode(compact) {
- var len = this.curve.p.byteLength();
- var x = this.getX().toArray("be", len);
- if (compact) return [this.getY().isEven() ? 0x02 : 0x03].concat(x);
- return [0x04].concat(x, this.getY().toArray("be", len));
- };
- BasePoint.prototype.encode = function encode(enc, compact) {
- return utils.encode(this._encode(compact), enc);
- };
- BasePoint.prototype.precompute = function precompute(power) {
- if (this.precomputed) return this;
- var precomputed = {
- doubles: null,
- naf: null,
- beta: null,
- };
- precomputed.naf = this._getNAFPoints(8);
- precomputed.doubles = this._getDoubles(4, power);
- precomputed.beta = this._getBeta();
- this.precomputed = precomputed;
- return this;
- };
- BasePoint.prototype._hasDoubles = function _hasDoubles(k) {
- if (!this.precomputed) return false;
- var doubles = this.precomputed.doubles;
- if (!doubles) return false;
- return (
- doubles.points.length >=
- Math.ceil((k.bitLength() + 1) / doubles.step)
- );
- };
- BasePoint.prototype._getDoubles = function _getDoubles(step, power) {
- if (this.precomputed && this.precomputed.doubles)
- return this.precomputed.doubles;
- var doubles = [this];
- var acc = this;
- for (var i = 0; i < power; i += step) {
- for (var j = 0; j < step; j++) acc = acc.dbl();
- doubles.push(acc);
- }
- return {
- step: step,
- points: doubles,
- };
- };
- BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {
- if (this.precomputed && this.precomputed.naf)
- return this.precomputed.naf;
- var res = [this];
- var max = (1 << wnd) - 1;
- var dbl = max === 1 ? null : this.dbl();
- for (var i = 1; i < max; i++) res[i] = res[i - 1].add(dbl);
- return {
- wnd: wnd,
- points: res,
- };
- };
- BasePoint.prototype._getBeta = function _getBeta() {
- return null;
- };
- BasePoint.prototype.dblp = function dblp(k) {
- var r = this;
- for (var i = 0; i < k; i++) r = r.dbl();
- return r;
- };
- },
- { "../../elliptic": 74, "bn.js": 25 },
- ],
- 76: [
- function (require, module, exports) {
- "use strict";
- var curve = require("../curve.js");
- var elliptic = require("../../elliptic.js");
- var BN = require("bn.js");
- var inherits = require("inherits");
- var Base = curve.base;
- var assert = elliptic.utils.assert;
- function EdwardsCurve(conf) {
- // NOTE: Important as we are creating point in Base.call()
- this.twisted = (conf.a | 0) !== 1;
- this.mOneA = this.twisted && (conf.a | 0) === -1;
- this.extended = this.mOneA;
- Base.call(this, "edwards", conf);
- this.a = new BN(conf.a, 16).umod(this.red.m);
- this.a = this.a.toRed(this.red);
- this.c = new BN(conf.c, 16).toRed(this.red);
- this.c2 = this.c.redSqr();
- this.d = new BN(conf.d, 16).toRed(this.red);
- this.dd = this.d.redAdd(this.d);
- assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);
- this.oneC = (conf.c | 0) === 1;
- }
- inherits(EdwardsCurve, Base);
- module.exports = EdwardsCurve;
- EdwardsCurve.prototype._mulA = function _mulA(num) {
- if (this.mOneA) return num.redNeg();
- else return this.a.redMul(num);
- };
- EdwardsCurve.prototype._mulC = function _mulC(num) {
- if (this.oneC) return num;
- else return this.c.redMul(num);
- };
- // Just for compatibility with Short curve
- EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {
- return this.point(x, y, z, t);
- };
- EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {
- x = new BN(x, 16);
- if (!x.red) x = x.toRed(this.red);
- var x2 = x.redSqr();
- var rhs = this.c2.redSub(this.a.redMul(x2));
- var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));
- var y2 = rhs.redMul(lhs.redInvm());
- var y = y2.redSqrt();
- if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
- throw new Error("invalid point");
- var isOdd = y.fromRed().isOdd();
- if ((odd && !isOdd) || (!odd && isOdd)) y = y.redNeg();
- return this.point(x, y);
- };
- EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {
- y = new BN(y, 16);
- if (!y.red) y = y.toRed(this.red);
- // x^2 = (y^2 - 1) / (d y^2 + 1)
- var y2 = y.redSqr();
- var lhs = y2.redSub(this.one);
- var rhs = y2.redMul(this.d).redAdd(this.one);
- var x2 = lhs.redMul(rhs.redInvm());
- if (x2.cmp(this.zero) === 0) {
- if (odd) throw new Error("invalid point");
- else return this.point(this.zero, y);
- }
- var x = x2.redSqrt();
- if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)
- throw new Error("invalid point");
- if (x.isOdd() !== odd) x = x.redNeg();
- return this.point(x, y);
- };
- EdwardsCurve.prototype.validate = function validate(point) {
- if (point.isInfinity()) return true;
- // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)
- point.normalize();
- var x2 = point.x.redSqr();
- var y2 = point.y.redSqr();
- var lhs = x2.redMul(this.a).redAdd(y2);
- var rhs = this.c2.redMul(
- this.one.redAdd(this.d.redMul(x2).redMul(y2))
- );
- return lhs.cmp(rhs) === 0;
- };
- function Point(curve, x, y, z, t) {
- Base.BasePoint.call(this, curve, "projective");
- if (x === null && y === null && z === null) {
- this.x = this.curve.zero;
- this.y = this.curve.one;
- this.z = this.curve.one;
- this.t = this.curve.zero;
- this.zOne = true;
- } else {
- this.x = new BN(x, 16);
- this.y = new BN(y, 16);
- this.z = z ? new BN(z, 16) : this.curve.one;
- this.t = t && new BN(t, 16);
- if (!this.x.red) this.x = this.x.toRed(this.curve.red);
- if (!this.y.red) this.y = this.y.toRed(this.curve.red);
- if (!this.z.red) this.z = this.z.toRed(this.curve.red);
- if (this.t && !this.t.red) this.t = this.t.toRed(this.curve.red);
- this.zOne = this.z === this.curve.one;
- // Use extended coordinates
- if (this.curve.extended && !this.t) {
- this.t = this.x.redMul(this.y);
- if (!this.zOne) this.t = this.t.redMul(this.z.redInvm());
- }
- }
- }
- inherits(Point, Base.BasePoint);
- EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
- return Point.fromJSON(this, obj);
- };
- EdwardsCurve.prototype.point = function point(x, y, z, t) {
- return new Point(this, x, y, z, t);
- };
- Point.fromJSON = function fromJSON(curve, obj) {
- return new Point(curve, obj[0], obj[1], obj[2]);
- };
- Point.prototype.inspect = function inspect() {
- if (this.isInfinity()) return "<EC Point Infinity>";
- return (
- "<EC Point x: " +
- this.x.fromRed().toString(16, 2) +
- " y: " +
- this.y.fromRed().toString(16, 2) +
- " z: " +
- this.z.fromRed().toString(16, 2) +
- ">"
- );
- };
- Point.prototype.isInfinity = function isInfinity() {
- // XXX This code assumes that zero is always zero in red
- return this.x.cmpn(0) === 0 && this.y.cmp(this.z) === 0;
- };
- Point.prototype._extDbl = function _extDbl() {
- // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
- // #doubling-dbl-2008-hwcd
- // 4M + 4S
- // A = X1^2
- var a = this.x.redSqr();
- // B = Y1^2
- var b = this.y.redSqr();
- // C = 2 * Z1^2
- var c = this.z.redSqr();
- c = c.redIAdd(c);
- // D = a * A
- var d = this.curve._mulA(a);
- // E = (X1 + Y1)^2 - A - B
- var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);
- // G = D + B
- var g = d.redAdd(b);
- // F = G - C
- var f = g.redSub(c);
- // H = D - B
- var h = d.redSub(b);
- // X3 = E * F
- var nx = e.redMul(f);
- // Y3 = G * H
- var ny = g.redMul(h);
- // T3 = E * H
- var nt = e.redMul(h);
- // Z3 = F * G
- var nz = f.redMul(g);
- return this.curve.point(nx, ny, nz, nt);
- };
- Point.prototype._projDbl = function _projDbl() {
- // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
- // #doubling-dbl-2008-bbjlp
- // #doubling-dbl-2007-bl
- // and others
- // Generally 3M + 4S or 2M + 4S
- // B = (X1 + Y1)^2
- var b = this.x.redAdd(this.y).redSqr();
- // C = X1^2
- var c = this.x.redSqr();
- // D = Y1^2
- var d = this.y.redSqr();
- var nx;
- var ny;
- var nz;
- if (this.curve.twisted) {
- // E = a * C
- var e = this.curve._mulA(c);
- // F = E + D
- var f = e.redAdd(d);
- if (this.zOne) {
- // X3 = (B - C - D) * (F - 2)
- nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));
- // Y3 = F * (E - D)
- ny = f.redMul(e.redSub(d));
- // Z3 = F^2 - 2 * F
- nz = f.redSqr().redSub(f).redSub(f);
- } else {
- // H = Z1^2
- var h = this.z.redSqr();
- // J = F - 2 * H
- var j = f.redSub(h).redISub(h);
- // X3 = (B-C-D)*J
- nx = b.redSub(c).redISub(d).redMul(j);
- // Y3 = F * (E - D)
- ny = f.redMul(e.redSub(d));
- // Z3 = F * J
- nz = f.redMul(j);
- }
- } else {
- // E = C + D
- var e = c.redAdd(d);
- // H = (c * Z1)^2
- var h = this.curve._mulC(this.c.redMul(this.z)).redSqr();
- // J = E - 2 * H
- var j = e.redSub(h).redSub(h);
- // X3 = c * (B - E) * J
- nx = this.curve._mulC(b.redISub(e)).redMul(j);
- // Y3 = c * E * (C - D)
- ny = this.curve._mulC(e).redMul(c.redISub(d));
- // Z3 = E * J
- nz = e.redMul(j);
- }
- return this.curve.point(nx, ny, nz);
- };
- Point.prototype.dbl = function dbl() {
- if (this.isInfinity()) return this;
- // Double in extended coordinates
- if (this.curve.extended) return this._extDbl();
- else return this._projDbl();
- };
- Point.prototype._extAdd = function _extAdd(p) {
- // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
- // #addition-add-2008-hwcd-3
- // 8M
- // A = (Y1 - X1) * (Y2 - X2)
- var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));
- // B = (Y1 + X1) * (Y2 + X2)
- var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));
- // C = T1 * k * T2
- var c = this.t.redMul(this.curve.dd).redMul(p.t);
- // D = Z1 * 2 * Z2
- var d = this.z.redMul(p.z.redAdd(p.z));
- // E = B - A
- var e = b.redSub(a);
- // F = D - C
- var f = d.redSub(c);
- // G = D + C
- var g = d.redAdd(c);
- // H = B + A
- var h = b.redAdd(a);
- // X3 = E * F
- var nx = e.redMul(f);
- // Y3 = G * H
- var ny = g.redMul(h);
- // T3 = E * H
- var nt = e.redMul(h);
- // Z3 = F * G
- var nz = f.redMul(g);
- return this.curve.point(nx, ny, nz, nt);
- };
- Point.prototype._projAdd = function _projAdd(p) {
- // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
- // #addition-add-2008-bbjlp
- // #addition-add-2007-bl
- // 10M + 1S
- // A = Z1 * Z2
- var a = this.z.redMul(p.z);
- // B = A^2
- var b = a.redSqr();
- // C = X1 * X2
- var c = this.x.redMul(p.x);
- // D = Y1 * Y2
- var d = this.y.redMul(p.y);
- // E = d * C * D
- var e = this.curve.d.redMul(c).redMul(d);
- // F = B - E
- var f = b.redSub(e);
- // G = B + E
- var g = b.redAdd(e);
- // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)
- var tmp = this.x
- .redAdd(this.y)
- .redMul(p.x.redAdd(p.y))
- .redISub(c)
- .redISub(d);
- var nx = a.redMul(f).redMul(tmp);
- var ny;
- var nz;
- if (this.curve.twisted) {
- // Y3 = A * G * (D - a * C)
- ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));
- // Z3 = F * G
- nz = f.redMul(g);
- } else {
- // Y3 = A * G * (D - C)
- ny = a.redMul(g).redMul(d.redSub(c));
- // Z3 = c * F * G
- nz = this.curve._mulC(f).redMul(g);
- }
- return this.curve.point(nx, ny, nz);
- };
- Point.prototype.add = function add(p) {
- if (this.isInfinity()) return p;
- if (p.isInfinity()) return this;
- if (this.curve.extended) return this._extAdd(p);
- else return this._projAdd(p);
- };
- Point.prototype.mul = function mul(k) {
- if (this._hasDoubles(k)) return this.curve._fixedNafMul(this, k);
- else return this.curve._wnafMul(this, k);
- };
- Point.prototype.mulAdd = function mulAdd(k1, p, k2) {
- return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, false);
- };
- Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) {
- return this.curve._wnafMulAdd(1, [this, p], [k1, k2], 2, true);
- };
- Point.prototype.normalize = function normalize() {
- if (this.zOne) return this;
- // Normalize coordinates
- var zi = this.z.redInvm();
- this.x = this.x.redMul(zi);
- this.y = this.y.redMul(zi);
- if (this.t) this.t = this.t.redMul(zi);
- this.z = this.curve.one;
- this.zOne = true;
- return this;
- };
- Point.prototype.neg = function neg() {
- return this.curve.point(
- this.x.redNeg(),
- this.y,
- this.z,
- this.t && this.t.redNeg()
- );
- };
- Point.prototype.getX = function getX() {
- this.normalize();
- return this.x.fromRed();
- };
- Point.prototype.getY = function getY() {
- this.normalize();
- return this.y.fromRed();
- };
- Point.prototype.eq = function eq(other) {
- return (
- this === other ||
- (this.getX().cmp(other.getX()) === 0 &&
- this.getY().cmp(other.getY()) === 0)
- );
- };
- Point.prototype.eqXToP = function eqXToP(x) {
- var rx = x.toRed(this.curve.red).redMul(this.z);
- if (this.x.cmp(rx) === 0) return true;
- var xc = x.clone();
- var t = this.curve.redN.redMul(this.z);
- for (;;) {
- xc.iadd(this.curve.n);
- if (xc.cmp(this.curve.p) >= 0) return false;
- rx.redIAdd(t);
- if (this.x.cmp(rx) === 0) return true;
- }
- return false;
- };
- // Compatibility with BaseCurve
- Point.prototype.toP = Point.prototype.normalize;
- Point.prototype.mixedAdd = Point.prototype.add;
- },
- { "../../elliptic": 74, "../curve": 77, "bn.js": 25, inherits: 108 },
- ],
- 77: [
- function (require, module, exports) {
- "use strict";
- var curve = exports;
- curve.base = require("./base.js");
- curve.short = require("./short.js");
- curve.mont = require("./mont.js");
- curve.edwards = require("./edwards.js");
- },
- { "./base": 75, "./edwards": 76, "./mont": 78, "./short": 79 },
- ],
- 78: [
- function (require, module, exports) {
- "use strict";
- var curve = require("../curve.js");
- var BN = require("bn.js");
- var inherits = require("inherits");
- var Base = curve.base;
- var elliptic = require("../../elliptic.js");
- var utils = elliptic.utils;
- function MontCurve(conf) {
- Base.call(this, "mont", conf);
- this.a = new BN(conf.a, 16).toRed(this.red);
- this.b = new BN(conf.b, 16).toRed(this.red);
- this.i4 = new BN(4).toRed(this.red).redInvm();
- this.two = new BN(2).toRed(this.red);
- this.a24 = this.i4.redMul(this.a.redAdd(this.two));
- }
- inherits(MontCurve, Base);
- module.exports = MontCurve;
- MontCurve.prototype.validate = function validate(point) {
- var x = point.normalize().x;
- var x2 = x.redSqr();
- var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);
- var y = rhs.redSqrt();
- return y.redSqr().cmp(rhs) === 0;
- };
- function Point(curve, x, z) {
- Base.BasePoint.call(this, curve, "projective");
- if (x === null && z === null) {
- this.x = this.curve.one;
- this.z = this.curve.zero;
- } else {
- this.x = new BN(x, 16);
- this.z = new BN(z, 16);
- if (!this.x.red) this.x = this.x.toRed(this.curve.red);
- if (!this.z.red) this.z = this.z.toRed(this.curve.red);
- }
- }
- inherits(Point, Base.BasePoint);
- MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
- return this.point(utils.toArray(bytes, enc), 1);
- };
- MontCurve.prototype.point = function point(x, z) {
- return new Point(this, x, z);
- };
- MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
- return Point.fromJSON(this, obj);
- };
- Point.prototype.precompute = function precompute() {
- // No-op
- };
- Point.prototype._encode = function _encode() {
- return this.getX().toArray("be", this.curve.p.byteLength());
- };
- Point.fromJSON = function fromJSON(curve, obj) {
- return new Point(curve, obj[0], obj[1] || curve.one);
- };
- Point.prototype.inspect = function inspect() {
- if (this.isInfinity()) return "<EC Point Infinity>";
- return (
- "<EC Point x: " +
- this.x.fromRed().toString(16, 2) +
- " z: " +
- this.z.fromRed().toString(16, 2) +
- ">"
- );
- };
- Point.prototype.isInfinity = function isInfinity() {
- // XXX This code assumes that zero is always zero in red
- return this.z.cmpn(0) === 0;
- };
- Point.prototype.dbl = function dbl() {
- // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3
- // 2M + 2S + 4A
- // A = X1 + Z1
- var a = this.x.redAdd(this.z);
- // AA = A^2
- var aa = a.redSqr();
- // B = X1 - Z1
- var b = this.x.redSub(this.z);
- // BB = B^2
- var bb = b.redSqr();
- // C = AA - BB
- var c = aa.redSub(bb);
- // X3 = AA * BB
- var nx = aa.redMul(bb);
- // Z3 = C * (BB + A24 * C)
- var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));
- return this.curve.point(nx, nz);
- };
- Point.prototype.add = function add() {
- throw new Error("Not supported on Montgomery curve");
- };
- Point.prototype.diffAdd = function diffAdd(p, diff) {
- // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3
- // 4M + 2S + 6A
- // A = X2 + Z2
- var a = this.x.redAdd(this.z);
- // B = X2 - Z2
- var b = this.x.redSub(this.z);
- // C = X3 + Z3
- var c = p.x.redAdd(p.z);
- // D = X3 - Z3
- var d = p.x.redSub(p.z);
- // DA = D * A
- var da = d.redMul(a);
- // CB = C * B
- var cb = c.redMul(b);
- // X5 = Z1 * (DA + CB)^2
- var nx = diff.z.redMul(da.redAdd(cb).redSqr());
- // Z5 = X1 * (DA - CB)^2
- var nz = diff.x.redMul(da.redISub(cb).redSqr());
- return this.curve.point(nx, nz);
- };
- Point.prototype.mul = function mul(k) {
- var t = k.clone();
- var a = this; // (N / 2) * Q + Q
- var b = this.curve.point(null, null); // (N / 2) * Q
- var c = this; // Q
- for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))
- bits.push(t.andln(1));
- for (var i = bits.length - 1; i >= 0; i--) {
- if (bits[i] === 0) {
- // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q
- a = a.diffAdd(b, c);
- // N * Q = 2 * ((N / 2) * Q + Q))
- b = b.dbl();
- } else {
- // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)
- b = a.diffAdd(b, c);
- // N * Q + Q = 2 * ((N / 2) * Q + Q)
- a = a.dbl();
- }
- }
- return b;
- };
- Point.prototype.mulAdd = function mulAdd() {
- throw new Error("Not supported on Montgomery curve");
- };
- Point.prototype.jumlAdd = function jumlAdd() {
- throw new Error("Not supported on Montgomery curve");
- };
- Point.prototype.eq = function eq(other) {
- return this.getX().cmp(other.getX()) === 0;
- };
- Point.prototype.normalize = function normalize() {
- this.x = this.x.redMul(this.z.redInvm());
- this.z = this.curve.one;
- return this;
- };
- Point.prototype.getX = function getX() {
- // Normalize coordinates
- this.normalize();
- return this.x.fromRed();
- };
- },
- { "../../elliptic": 74, "../curve": 77, "bn.js": 25, inherits: 108 },
- ],
- 79: [
- function (require, module, exports) {
- "use strict";
- var curve = require("../curve.js");
- var elliptic = require("../../elliptic.js");
- var BN = require("bn.js");
- var inherits = require("inherits");
- var Base = curve.base;
- var assert = elliptic.utils.assert;
- function ShortCurve(conf) {
- Base.call(this, "short", conf);
- this.a = new BN(conf.a, 16).toRed(this.red);
- this.b = new BN(conf.b, 16).toRed(this.red);
- this.tinv = this.two.redInvm();
- this.zeroA = this.a.fromRed().cmpn(0) === 0;
- this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;
- // If the curve is endomorphic, precalculate beta and lambda
- this.endo = this._getEndomorphism(conf);
- this._endoWnafT1 = new Array(4);
- this._endoWnafT2 = new Array(4);
- }
- inherits(ShortCurve, Base);
- module.exports = ShortCurve;
- ShortCurve.prototype._getEndomorphism = function _getEndomorphism(
- conf
- ) {
- // No efficient endomorphism
- if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) return;
- // Compute beta and lambda, that lambda * P = (beta * Px; Py)
- var beta;
- var lambda;
- if (conf.beta) {
- beta = new BN(conf.beta, 16).toRed(this.red);
- } else {
- var betas = this._getEndoRoots(this.p);
- // Choose the smallest beta
- beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];
- beta = beta.toRed(this.red);
- }
- if (conf.lambda) {
- lambda = new BN(conf.lambda, 16);
- } else {
- // Choose the lambda that is matching selected beta
- var lambdas = this._getEndoRoots(this.n);
- if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {
- lambda = lambdas[0];
- } else {
- lambda = lambdas[1];
- assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);
- }
- }
- // Get basis vectors, used for balanced length-two representation
- var basis;
- if (conf.basis) {
- basis = conf.basis.map(function (vec) {
- return {
- a: new BN(vec.a, 16),
- b: new BN(vec.b, 16),
- };
- });
- } else {
- basis = this._getEndoBasis(lambda);
- }
- return {
- beta: beta,
- lambda: lambda,
- basis: basis,
- };
- };
- ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {
- // Find roots of for x^2 + x + 1 in F
- // Root = (-1 +- Sqrt(-3)) / 2
- //
- var red = num === this.p ? this.red : BN.mont(num);
- var tinv = new BN(2).toRed(red).redInvm();
- var ntinv = tinv.redNeg();
- var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);
- var l1 = ntinv.redAdd(s).fromRed();
- var l2 = ntinv.redSub(s).fromRed();
- return [l1, l2];
- };
- ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {
- // aprxSqrt >= sqrt(this.n)
- var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));
- // 3.74
- // Run EGCD, until r(L + 1) < aprxSqrt
- var u = lambda;
- var v = this.n.clone();
- var x1 = new BN(1);
- var y1 = new BN(0);
- var x2 = new BN(0);
- var y2 = new BN(1);
- // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)
- var a0;
- var b0;
- // First vector
- var a1;
- var b1;
- // Second vector
- var a2;
- var b2;
- var prevR;
- var i = 0;
- var r;
- var x;
- while (u.cmpn(0) !== 0) {
- var q = v.div(u);
- r = v.sub(q.mul(u));
- x = x2.sub(q.mul(x1));
- var y = y2.sub(q.mul(y1));
- if (!a1 && r.cmp(aprxSqrt) < 0) {
- a0 = prevR.neg();
- b0 = x1;
- a1 = r.neg();
- b1 = x;
- } else if (a1 && ++i === 2) {
- break;
- }
- prevR = r;
- v = u;
- u = r;
- x2 = x1;
- x1 = x;
- y2 = y1;
- y1 = y;
- }
- a2 = r.neg();
- b2 = x;
- var len1 = a1.sqr().add(b1.sqr());
- var len2 = a2.sqr().add(b2.sqr());
- if (len2.cmp(len1) >= 0) {
- a2 = a0;
- b2 = b0;
- }
- // Normalize signs
- if (a1.negative) {
- a1 = a1.neg();
- b1 = b1.neg();
- }
- if (a2.negative) {
- a2 = a2.neg();
- b2 = b2.neg();
- }
- return [
- { a: a1, b: b1 },
- { a: a2, b: b2 },
- ];
- };
- ShortCurve.prototype._endoSplit = function _endoSplit(k) {
- var basis = this.endo.basis;
- var v1 = basis[0];
- var v2 = basis[1];
- var c1 = v2.b.mul(k).divRound(this.n);
- var c2 = v1.b.neg().mul(k).divRound(this.n);
- var p1 = c1.mul(v1.a);
- var p2 = c2.mul(v2.a);
- var q1 = c1.mul(v1.b);
- var q2 = c2.mul(v2.b);
- // Calculate answer
- var k1 = k.sub(p1).sub(p2);
- var k2 = q1.add(q2).neg();
- return { k1: k1, k2: k2 };
- };
- ShortCurve.prototype.pointFromX = function pointFromX(x, odd) {
- x = new BN(x, 16);
- if (!x.red) x = x.toRed(this.red);
- var y2 = x
- .redSqr()
- .redMul(x)
- .redIAdd(x.redMul(this.a))
- .redIAdd(this.b);
- var y = y2.redSqrt();
- if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
- throw new Error("invalid point");
- // XXX Is there any way to tell if the number is odd without converting it
- // to non-red form?
- var isOdd = y.fromRed().isOdd();
- if ((odd && !isOdd) || (!odd && isOdd)) y = y.redNeg();
- return this.point(x, y);
- };
- ShortCurve.prototype.validate = function validate(point) {
- if (point.inf) return true;
- var x = point.x;
- var y = point.y;
- var ax = this.a.redMul(x);
- var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);
- return y.redSqr().redISub(rhs).cmpn(0) === 0;
- };
- ShortCurve.prototype._endoWnafMulAdd = function _endoWnafMulAdd(
- points,
- coeffs,
- jacobianResult
- ) {
- var npoints = this._endoWnafT1;
- var ncoeffs = this._endoWnafT2;
- for (var i = 0; i < points.length; i++) {
- var split = this._endoSplit(coeffs[i]);
- var p = points[i];
- var beta = p._getBeta();
- if (split.k1.negative) {
- split.k1.ineg();
- p = p.neg(true);
- }
- if (split.k2.negative) {
- split.k2.ineg();
- beta = beta.neg(true);
- }
- npoints[i * 2] = p;
- npoints[i * 2 + 1] = beta;
- ncoeffs[i * 2] = split.k1;
- ncoeffs[i * 2 + 1] = split.k2;
- }
- var res = this._wnafMulAdd(
- 1,
- npoints,
- ncoeffs,
- i * 2,
- jacobianResult
- );
- // Clean-up references to points and coefficients
- for (var j = 0; j < i * 2; j++) {
- npoints[j] = null;
- ncoeffs[j] = null;
- }
- return res;
- };
- function Point(curve, x, y, isRed) {
- Base.BasePoint.call(this, curve, "affine");
- if (x === null && y === null) {
- this.x = null;
- this.y = null;
- this.inf = true;
- } else {
- this.x = new BN(x, 16);
- this.y = new BN(y, 16);
- // Force redgomery representation when loading from JSON
- if (isRed) {
- this.x.forceRed(this.curve.red);
- this.y.forceRed(this.curve.red);
- }
- if (!this.x.red) this.x = this.x.toRed(this.curve.red);
- if (!this.y.red) this.y = this.y.toRed(this.curve.red);
- this.inf = false;
- }
- }
- inherits(Point, Base.BasePoint);
- ShortCurve.prototype.point = function point(x, y, isRed) {
- return new Point(this, x, y, isRed);
- };
- ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {
- return Point.fromJSON(this, obj, red);
- };
- Point.prototype._getBeta = function _getBeta() {
- if (!this.curve.endo) return;
- var pre = this.precomputed;
- if (pre && pre.beta) return pre.beta;
- var beta = this.curve.point(
- this.x.redMul(this.curve.endo.beta),
- this.y
- );
- if (pre) {
- var curve = this.curve;
- var endoMul = function (p) {
- return curve.point(p.x.redMul(curve.endo.beta), p.y);
- };
- pre.beta = beta;
- beta.precomputed = {
- beta: null,
- naf: pre.naf && {
- wnd: pre.naf.wnd,
- points: pre.naf.points.map(endoMul),
- },
- doubles: pre.doubles && {
- step: pre.doubles.step,
- points: pre.doubles.points.map(endoMul),
- },
- };
- }
- return beta;
- };
- Point.prototype.toJSON = function toJSON() {
- if (!this.precomputed) return [this.x, this.y];
- return [
- this.x,
- this.y,
- this.precomputed && {
- doubles: this.precomputed.doubles && {
- step: this.precomputed.doubles.step,
- points: this.precomputed.doubles.points.slice(1),
- },
- naf: this.precomputed.naf && {
- wnd: this.precomputed.naf.wnd,
- points: this.precomputed.naf.points.slice(1),
- },
- },
- ];
- };
- Point.fromJSON = function fromJSON(curve, obj, red) {
- if (typeof obj === "string") obj = JSON.parse(obj);
- var res = curve.point(obj[0], obj[1], red);
- if (!obj[2]) return res;
- function obj2point(obj) {
- return curve.point(obj[0], obj[1], red);
- }
- var pre = obj[2];
- res.precomputed = {
- beta: null,
- doubles: pre.doubles && {
- step: pre.doubles.step,
- points: [res].concat(pre.doubles.points.map(obj2point)),
- },
- naf: pre.naf && {
- wnd: pre.naf.wnd,
- points: [res].concat(pre.naf.points.map(obj2point)),
- },
- };
- return res;
- };
- Point.prototype.inspect = function inspect() {
- if (this.isInfinity()) return "<EC Point Infinity>";
- return (
- "<EC Point x: " +
- this.x.fromRed().toString(16, 2) +
- " y: " +
- this.y.fromRed().toString(16, 2) +
- ">"
- );
- };
- Point.prototype.isInfinity = function isInfinity() {
- return this.inf;
- };
- Point.prototype.add = function add(p) {
- // O + P = P
- if (this.inf) return p;
- // P + O = P
- if (p.inf) return this;
- // P + P = 2P
- if (this.eq(p)) return this.dbl();
- // P + (-P) = O
- if (this.neg().eq(p)) return this.curve.point(null, null);
- // P + Q = O
- if (this.x.cmp(p.x) === 0) return this.curve.point(null, null);
- var c = this.y.redSub(p.y);
- if (c.cmpn(0) !== 0) c = c.redMul(this.x.redSub(p.x).redInvm());
- var nx = c.redSqr().redISub(this.x).redISub(p.x);
- var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
- return this.curve.point(nx, ny);
- };
- Point.prototype.dbl = function dbl() {
- if (this.inf) return this;
- // 2P = O
- var ys1 = this.y.redAdd(this.y);
- if (ys1.cmpn(0) === 0) return this.curve.point(null, null);
- var a = this.curve.a;
- var x2 = this.x.redSqr();
- var dyinv = ys1.redInvm();
- var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);
- var nx = c.redSqr().redISub(this.x.redAdd(this.x));
- var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
- return this.curve.point(nx, ny);
- };
- Point.prototype.getX = function getX() {
- return this.x.fromRed();
- };
- Point.prototype.getY = function getY() {
- return this.y.fromRed();
- };
- Point.prototype.mul = function mul(k) {
- k = new BN(k, 16);
- if (this._hasDoubles(k)) return this.curve._fixedNafMul(this, k);
- else if (this.curve.endo)
- return this.curve._endoWnafMulAdd([this], [k]);
- else return this.curve._wnafMul(this, k);
- };
- Point.prototype.mulAdd = function mulAdd(k1, p2, k2) {
- var points = [this, p2];
- var coeffs = [k1, k2];
- if (this.curve.endo)
- return this.curve._endoWnafMulAdd(points, coeffs);
- else return this.curve._wnafMulAdd(1, points, coeffs, 2);
- };
- Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {
- var points = [this, p2];
- var coeffs = [k1, k2];
- if (this.curve.endo)
- return this.curve._endoWnafMulAdd(points, coeffs, true);
- else return this.curve._wnafMulAdd(1, points, coeffs, 2, true);
- };
- Point.prototype.eq = function eq(p) {
- return (
- this === p ||
- (this.inf === p.inf &&
- (this.inf || (this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0)))
- );
- };
- Point.prototype.neg = function neg(_precompute) {
- if (this.inf) return this;
- var res = this.curve.point(this.x, this.y.redNeg());
- if (_precompute && this.precomputed) {
- var pre = this.precomputed;
- var negate = function (p) {
- return p.neg();
- };
- res.precomputed = {
- naf: pre.naf && {
- wnd: pre.naf.wnd,
- points: pre.naf.points.map(negate),
- },
- doubles: pre.doubles && {
- step: pre.doubles.step,
- points: pre.doubles.points.map(negate),
- },
- };
- }
- return res;
- };
- Point.prototype.toJ = function toJ() {
- if (this.inf) return this.curve.jpoint(null, null, null);
- var res = this.curve.jpoint(this.x, this.y, this.curve.one);
- return res;
- };
- function JPoint(curve, x, y, z) {
- Base.BasePoint.call(this, curve, "jacobian");
- if (x === null && y === null && z === null) {
- this.x = this.curve.one;
- this.y = this.curve.one;
- this.z = new BN(0);
- } else {
- this.x = new BN(x, 16);
- this.y = new BN(y, 16);
- this.z = new BN(z, 16);
- }
- if (!this.x.red) this.x = this.x.toRed(this.curve.red);
- if (!this.y.red) this.y = this.y.toRed(this.curve.red);
- if (!this.z.red) this.z = this.z.toRed(this.curve.red);
- this.zOne = this.z === this.curve.one;
- }
- inherits(JPoint, Base.BasePoint);
- ShortCurve.prototype.jpoint = function jpoint(x, y, z) {
- return new JPoint(this, x, y, z);
- };
- JPoint.prototype.toP = function toP() {
- if (this.isInfinity()) return this.curve.point(null, null);
- var zinv = this.z.redInvm();
- var zinv2 = zinv.redSqr();
- var ax = this.x.redMul(zinv2);
- var ay = this.y.redMul(zinv2).redMul(zinv);
- return this.curve.point(ax, ay);
- };
- JPoint.prototype.neg = function neg() {
- return this.curve.jpoint(this.x, this.y.redNeg(), this.z);
- };
- JPoint.prototype.add = function add(p) {
- // O + P = P
- if (this.isInfinity()) return p;
- // P + O = P
- if (p.isInfinity()) return this;
- // 12M + 4S + 7A
- var pz2 = p.z.redSqr();
- var z2 = this.z.redSqr();
- var u1 = this.x.redMul(pz2);
- var u2 = p.x.redMul(z2);
- var s1 = this.y.redMul(pz2.redMul(p.z));
- var s2 = p.y.redMul(z2.redMul(this.z));
- var h = u1.redSub(u2);
- var r = s1.redSub(s2);
- if (h.cmpn(0) === 0) {
- if (r.cmpn(0) !== 0) return this.curve.jpoint(null, null, null);
- else return this.dbl();
- }
- var h2 = h.redSqr();
- var h3 = h2.redMul(h);
- var v = u1.redMul(h2);
- var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);
- var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));
- var nz = this.z.redMul(p.z).redMul(h);
- return this.curve.jpoint(nx, ny, nz);
- };
- JPoint.prototype.mixedAdd = function mixedAdd(p) {
- // O + P = P
- if (this.isInfinity()) return p.toJ();
- // P + O = P
- if (p.isInfinity()) return this;
- // 8M + 3S + 7A
- var z2 = this.z.redSqr();
- var u1 = this.x;
- var u2 = p.x.redMul(z2);
- var s1 = this.y;
- var s2 = p.y.redMul(z2).redMul(this.z);
- var h = u1.redSub(u2);
- var r = s1.redSub(s2);
- if (h.cmpn(0) === 0) {
- if (r.cmpn(0) !== 0) return this.curve.jpoint(null, null, null);
- else return this.dbl();
- }
- var h2 = h.redSqr();
- var h3 = h2.redMul(h);
- var v = u1.redMul(h2);
- var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);
- var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));
- var nz = this.z.redMul(h);
- return this.curve.jpoint(nx, ny, nz);
- };
- JPoint.prototype.dblp = function dblp(pow) {
- if (pow === 0) return this;
- if (this.isInfinity()) return this;
- if (!pow) return this.dbl();
- if (this.curve.zeroA || this.curve.threeA) {
- var r = this;
- for (var i = 0; i < pow; i++) r = r.dbl();
- return r;
- }
- // 1M + 2S + 1A + N * (4S + 5M + 8A)
- // N = 1 => 6M + 6S + 9A
- var a = this.curve.a;
- var tinv = this.curve.tinv;
- var jx = this.x;
- var jy = this.y;
- var jz = this.z;
- var jz4 = jz.redSqr().redSqr();
- // Reuse results
- var jyd = jy.redAdd(jy);
- for (var i = 0; i < pow; i++) {
- var jx2 = jx.redSqr();
- var jyd2 = jyd.redSqr();
- var jyd4 = jyd2.redSqr();
- var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));
- var t1 = jx.redMul(jyd2);
- var nx = c.redSqr().redISub(t1.redAdd(t1));
- var t2 = t1.redISub(nx);
- var dny = c.redMul(t2);
- dny = dny.redIAdd(dny).redISub(jyd4);
- var nz = jyd.redMul(jz);
- if (i + 1 < pow) jz4 = jz4.redMul(jyd4);
- jx = nx;
- jz = nz;
- jyd = dny;
- }
- return this.curve.jpoint(jx, jyd.redMul(tinv), jz);
- };
- JPoint.prototype.dbl = function dbl() {
- if (this.isInfinity()) return this;
- if (this.curve.zeroA) return this._zeroDbl();
- else if (this.curve.threeA) return this._threeDbl();
- else return this._dbl();
- };
- JPoint.prototype._zeroDbl = function _zeroDbl() {
- var nx;
- var ny;
- var nz;
- // Z = 1
- if (this.zOne) {
- // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html
- // #doubling-mdbl-2007-bl
- // 1M + 5S + 14A
- // XX = X1^2
- var xx = this.x.redSqr();
- // YY = Y1^2
- var yy = this.y.redSqr();
- // YYYY = YY^2
- var yyyy = yy.redSqr();
- // S = 2 * ((X1 + YY)^2 - XX - YYYY)
- var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
- s = s.redIAdd(s);
- // M = 3 * XX + a; a = 0
- var m = xx.redAdd(xx).redIAdd(xx);
- // T = M ^ 2 - 2*S
- var t = m.redSqr().redISub(s).redISub(s);
- // 8 * YYYY
- var yyyy8 = yyyy.redIAdd(yyyy);
- yyyy8 = yyyy8.redIAdd(yyyy8);
- yyyy8 = yyyy8.redIAdd(yyyy8);
- // X3 = T
- nx = t;
- // Y3 = M * (S - T) - 8 * YYYY
- ny = m.redMul(s.redISub(t)).redISub(yyyy8);
- // Z3 = 2*Y1
- nz = this.y.redAdd(this.y);
- } else {
- // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html
- // #doubling-dbl-2009-l
- // 2M + 5S + 13A
- // A = X1^2
- var a = this.x.redSqr();
- // B = Y1^2
- var b = this.y.redSqr();
- // C = B^2
- var c = b.redSqr();
- // D = 2 * ((X1 + B)^2 - A - C)
- var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);
- d = d.redIAdd(d);
- // E = 3 * A
- var e = a.redAdd(a).redIAdd(a);
- // F = E^2
- var f = e.redSqr();
- // 8 * C
- var c8 = c.redIAdd(c);
- c8 = c8.redIAdd(c8);
- c8 = c8.redIAdd(c8);
- // X3 = F - 2 * D
- nx = f.redISub(d).redISub(d);
- // Y3 = E * (D - X3) - 8 * C
- ny = e.redMul(d.redISub(nx)).redISub(c8);
- // Z3 = 2 * Y1 * Z1
- nz = this.y.redMul(this.z);
- nz = nz.redIAdd(nz);
- }
- return this.curve.jpoint(nx, ny, nz);
- };
- JPoint.prototype._threeDbl = function _threeDbl() {
- var nx;
- var ny;
- var nz;
- // Z = 1
- if (this.zOne) {
- // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html
- // #doubling-mdbl-2007-bl
- // 1M + 5S + 15A
- // XX = X1^2
- var xx = this.x.redSqr();
- // YY = Y1^2
- var yy = this.y.redSqr();
- // YYYY = YY^2
- var yyyy = yy.redSqr();
- // S = 2 * ((X1 + YY)^2 - XX - YYYY)
- var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
- s = s.redIAdd(s);
- // M = 3 * XX + a
- var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);
- // T = M^2 - 2 * S
- var t = m.redSqr().redISub(s).redISub(s);
- // X3 = T
- nx = t;
- // Y3 = M * (S - T) - 8 * YYYY
- var yyyy8 = yyyy.redIAdd(yyyy);
- yyyy8 = yyyy8.redIAdd(yyyy8);
- yyyy8 = yyyy8.redIAdd(yyyy8);
- ny = m.redMul(s.redISub(t)).redISub(yyyy8);
- // Z3 = 2 * Y1
- nz = this.y.redAdd(this.y);
- } else {
- // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b
- // 3M + 5S
- // delta = Z1^2
- var delta = this.z.redSqr();
- // gamma = Y1^2
- var gamma = this.y.redSqr();
- // beta = X1 * gamma
- var beta = this.x.redMul(gamma);
- // alpha = 3 * (X1 - delta) * (X1 + delta)
- var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));
- alpha = alpha.redAdd(alpha).redIAdd(alpha);
- // X3 = alpha^2 - 8 * beta
- var beta4 = beta.redIAdd(beta);
- beta4 = beta4.redIAdd(beta4);
- var beta8 = beta4.redAdd(beta4);
- nx = alpha.redSqr().redISub(beta8);
- // Z3 = (Y1 + Z1)^2 - gamma - delta
- nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);
- // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2
- var ggamma8 = gamma.redSqr();
- ggamma8 = ggamma8.redIAdd(ggamma8);
- ggamma8 = ggamma8.redIAdd(ggamma8);
- ggamma8 = ggamma8.redIAdd(ggamma8);
- ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);
- }
- return this.curve.jpoint(nx, ny, nz);
- };
- JPoint.prototype._dbl = function _dbl() {
- var a = this.curve.a;
- // 4M + 6S + 10A
- var jx = this.x;
- var jy = this.y;
- var jz = this.z;
- var jz4 = jz.redSqr().redSqr();
- var jx2 = jx.redSqr();
- var jy2 = jy.redSqr();
- var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));
- var jxd4 = jx.redAdd(jx);
- jxd4 = jxd4.redIAdd(jxd4);
- var t1 = jxd4.redMul(jy2);
- var nx = c.redSqr().redISub(t1.redAdd(t1));
- var t2 = t1.redISub(nx);
- var jyd8 = jy2.redSqr();
- jyd8 = jyd8.redIAdd(jyd8);
- jyd8 = jyd8.redIAdd(jyd8);
- jyd8 = jyd8.redIAdd(jyd8);
- var ny = c.redMul(t2).redISub(jyd8);
- var nz = jy.redAdd(jy).redMul(jz);
- return this.curve.jpoint(nx, ny, nz);
- };
- JPoint.prototype.trpl = function trpl() {
- if (!this.curve.zeroA) return this.dbl().add(this);
- // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl
- // 5M + 10S + ...
- // XX = X1^2
- var xx = this.x.redSqr();
- // YY = Y1^2
- var yy = this.y.redSqr();
- // ZZ = Z1^2
- var zz = this.z.redSqr();
- // YYYY = YY^2
- var yyyy = yy.redSqr();
- // M = 3 * XX + a * ZZ2; a = 0
- var m = xx.redAdd(xx).redIAdd(xx);
- // MM = M^2
- var mm = m.redSqr();
- // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM
- var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
- e = e.redIAdd(e);
- e = e.redAdd(e).redIAdd(e);
- e = e.redISub(mm);
- // EE = E^2
- var ee = e.redSqr();
- // T = 16*YYYY
- var t = yyyy.redIAdd(yyyy);
- t = t.redIAdd(t);
- t = t.redIAdd(t);
- t = t.redIAdd(t);
- // U = (M + E)^2 - MM - EE - T
- var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);
- // X3 = 4 * (X1 * EE - 4 * YY * U)
- var yyu4 = yy.redMul(u);
- yyu4 = yyu4.redIAdd(yyu4);
- yyu4 = yyu4.redIAdd(yyu4);
- var nx = this.x.redMul(ee).redISub(yyu4);
- nx = nx.redIAdd(nx);
- nx = nx.redIAdd(nx);
- // Y3 = 8 * Y1 * (U * (T - U) - E * EE)
- var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));
- ny = ny.redIAdd(ny);
- ny = ny.redIAdd(ny);
- ny = ny.redIAdd(ny);
- // Z3 = (Z1 + E)^2 - ZZ - EE
- var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);
- return this.curve.jpoint(nx, ny, nz);
- };
- JPoint.prototype.mul = function mul(k, kbase) {
- k = new BN(k, kbase);
- return this.curve._wnafMul(this, k);
- };
- JPoint.prototype.eq = function eq(p) {
- if (p.type === "affine") return this.eq(p.toJ());
- if (this === p) return true;
- // x1 * z2^2 == x2 * z1^2
- var z2 = this.z.redSqr();
- var pz2 = p.z.redSqr();
- if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)
- return false;
- // y1 * z2^3 == y2 * z1^3
- var z3 = z2.redMul(this.z);
- var pz3 = pz2.redMul(p.z);
- return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;
- };
- JPoint.prototype.eqXToP = function eqXToP(x) {
- var zs = this.z.redSqr();
- var rx = x.toRed(this.curve.red).redMul(zs);
- if (this.x.cmp(rx) === 0) return true;
- var xc = x.clone();
- var t = this.curve.redN.redMul(zs);
- for (;;) {
- xc.iadd(this.curve.n);
- if (xc.cmp(this.curve.p) >= 0) return false;
- rx.redIAdd(t);
- if (this.x.cmp(rx) === 0) return true;
- }
- return false;
- };
- JPoint.prototype.inspect = function inspect() {
- if (this.isInfinity()) return "<EC JPoint Infinity>";
- return (
- "<EC JPoint x: " +
- this.x.toString(16, 2) +
- " y: " +
- this.y.toString(16, 2) +
- " z: " +
- this.z.toString(16, 2) +
- ">"
- );
- };
- JPoint.prototype.isInfinity = function isInfinity() {
- // XXX This code assumes that zero is always zero in red
- return this.z.cmpn(0) === 0;
- };
- },
- { "../../elliptic": 74, "../curve": 77, "bn.js": 25, inherits: 108 },
- ],
- 80: [
- function (require, module, exports) {
- "use strict";
- var curves = exports;
- var hash = require("hash.js");
- var elliptic = require("../elliptic.js");
- var assert = elliptic.utils.assert;
- function PresetCurve(options) {
- if (options.type === "short")
- this.curve = new elliptic.curve.short(options);
- else if (options.type === "edwards")
- this.curve = new elliptic.curve.edwards(options);
- else this.curve = new elliptic.curve.mont(options);
- this.g = this.curve.g;
- this.n = this.curve.n;
- this.hash = options.hash;
- assert(this.g.validate(), "Invalid curve");
- assert(this.g.mul(this.n).isInfinity(), "Invalid curve, G*N != O");
- }
- curves.PresetCurve = PresetCurve;
- function defineCurve(name, options) {
- Object.defineProperty(curves, name, {
- configurable: true,
- enumerable: true,
- get: function () {
- var curve = new PresetCurve(options);
- Object.defineProperty(curves, name, {
- configurable: true,
- enumerable: true,
- value: curve,
- });
- return curve;
- },
- });
- }
- defineCurve("p192", {
- type: "short",
- prime: "p192",
- p: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",
- a: "ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",
- b: "64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",
- n: "ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",
- hash: hash.sha256,
- gRed: false,
- g: [
- "188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012",
- "07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811",
- ],
- });
- defineCurve("p224", {
- type: "short",
- prime: "p224",
- p: "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",
- a: "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",
- b: "b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",
- n: "ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",
- hash: hash.sha256,
- gRed: false,
- g: [
- "b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21",
- "bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34",
- ],
- });
- defineCurve("p256", {
- type: "short",
- prime: null,
- p: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",
- a: "ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",
- b: "5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",
- n: "ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",
- hash: hash.sha256,
- gRed: false,
- g: [
- "6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296",
- "4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5",
- ],
- });
- defineCurve("p384", {
- type: "short",
- prime: null,
- p:
- "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff " +
- "fffffffe ffffffff 00000000 00000000 ffffffff",
- a:
- "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff " +
- "fffffffe ffffffff 00000000 00000000 fffffffc",
- b:
- "b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f " +
- "5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",
- n:
- "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 " +
- "f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",
- hash: hash.sha384,
- gRed: false,
- g: [
- "aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 " +
- "5502f25d bf55296c 3a545e38 72760ab7",
- "3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 " +
- "0a60b1ce 1d7e819d 7a431d7c 90ea0e5f",
- ],
- });
- defineCurve("p521", {
- type: "short",
- prime: null,
- p:
- "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff " +
- "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff " +
- "ffffffff ffffffff ffffffff ffffffff ffffffff",
- a:
- "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff " +
- "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff " +
- "ffffffff ffffffff ffffffff ffffffff fffffffc",
- b:
- "00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b " +
- "99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd " +
- "3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",
- n:
- "000001ff ffffffff ffffffff ffffffff ffffffff ffffffff " +
- "ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 " +
- "f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",
- hash: hash.sha512,
- gRed: false,
- g: [
- "000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 " +
- "053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 " +
- "a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66",
- "00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 " +
- "579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 " +
- "3fad0761 353c7086 a272c240 88be9476 9fd16650",
- ],
- });
- defineCurve("curve25519", {
- type: "mont",
- prime: "p25519",
- p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",
- a: "76d06",
- b: "1",
- n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",
- hash: hash.sha256,
- gRed: false,
- g: ["9"],
- });
- defineCurve("ed25519", {
- type: "edwards",
- prime: "p25519",
- p: "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",
- a: "-1",
- c: "1",
- // -121665 * (121666^(-1)) (mod P)
- d: "52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",
- n: "1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",
- hash: hash.sha256,
- gRed: false,
- g: [
- "216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a",
- // 4/5
- "6666666666666666666666666666666666666666666666666666666666666658",
- ],
- });
- var pre;
- try {
- pre = require("./precomputed/secp256k1.js");
- } catch (e) {
- pre = undefined;
- }
- defineCurve("secp256k1", {
- type: "short",
- prime: "k256",
- p: "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",
- a: "0",
- b: "7",
- n: "ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",
- h: "1",
- hash: hash.sha256,
- // Precomputed endomorphism
- beta: "7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",
- lambda:
- "5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",
- basis: [
- {
- a: "3086d221a7d46bcde86c90e49284eb15",
- b: "-e4437ed6010e88286f547fa90abfe4c3",
- },
- {
- a: "114ca50f7a8e2f3f657c1108d9d44cfd8",
- b: "3086d221a7d46bcde86c90e49284eb15",
- },
- ],
- gRed: false,
- g: [
- "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
- "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
- pre,
- ],
- });
- },
- { "../elliptic": 74, "./precomputed/secp256k1": 87, "hash.js": 93 },
- ],
- 81: [
- function (require, module, exports) {
- "use strict";
- var BN = require("bn.js");
- var HmacDRBG = require("hmac-drbg");
- var elliptic = require("../../elliptic.js");
- var utils = elliptic.utils;
- var assert = utils.assert;
- var KeyPair = require("./key.js");
- var Signature = require("./signature.js");
- function EC(options) {
- if (!(this instanceof EC)) return new EC(options);
- // Shortcut `elliptic.ec(curve-name)`
- if (typeof options === "string") {
- assert(
- elliptic.curves.hasOwnProperty(options),
- "Unknown curve " + options
- );
- options = elliptic.curves[options];
- }
- // Shortcut for `elliptic.ec(elliptic.curves.curveName)`
- if (options instanceof elliptic.curves.PresetCurve)
- options = { curve: options };
- this.curve = options.curve.curve;
- this.n = this.curve.n;
- this.nh = this.n.ushrn(1);
- this.g = this.curve.g;
- // Point on curve
- this.g = options.curve.g;
- this.g.precompute(options.curve.n.bitLength() + 1);
- // Hash for function for DRBG
- this.hash = options.hash || options.curve.hash;
- }
- module.exports = EC;
- EC.prototype.keyPair = function keyPair(options) {
- return new KeyPair(this, options);
- };
- EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {
- return KeyPair.fromPrivate(this, priv, enc);
- };
- EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {
- return KeyPair.fromPublic(this, pub, enc);
- };
- EC.prototype.genKeyPair = function genKeyPair(options) {
- if (!options) options = {};
- // Instantiate Hmac_DRBG
- var drbg = new HmacDRBG({
- hash: this.hash,
- pers: options.pers,
- persEnc: options.persEnc || "utf8",
- entropy: options.entropy || elliptic.rand(this.hash.hmacStrength),
- entropyEnc: (options.entropy && options.entropyEnc) || "utf8",
- nonce: this.n.toArray(),
- });
- var bytes = this.n.byteLength();
- var ns2 = this.n.sub(new BN(2));
- do {
- var priv = new BN(drbg.generate(bytes));
- if (priv.cmp(ns2) > 0) continue;
- priv.iaddn(1);
- return this.keyFromPrivate(priv);
- } while (true);
- };
- EC.prototype._truncateToN = function truncateToN(msg, truncOnly) {
- var delta = msg.byteLength() * 8 - this.n.bitLength();
- if (delta > 0) msg = msg.ushrn(delta);
- if (!truncOnly && msg.cmp(this.n) >= 0) return msg.sub(this.n);
- else return msg;
- };
- EC.prototype.sign = function sign(msg, key, enc, options) {
- if (typeof enc === "object") {
- options = enc;
- enc = null;
- }
- if (!options) options = {};
- key = this.keyFromPrivate(key, enc);
- msg = this._truncateToN(new BN(msg, 16));
- // Zero-extend key to provide enough entropy
- var bytes = this.n.byteLength();
- var bkey = key.getPrivate().toArray("be", bytes);
- // Zero-extend nonce to have the same byte size as N
- var nonce = msg.toArray("be", bytes);
- // Instantiate Hmac_DRBG
- var drbg = new HmacDRBG({
- hash: this.hash,
- entropy: bkey,
- nonce: nonce,
- pers: options.pers,
- persEnc: options.persEnc || "utf8",
- });
- // Number of bytes to generate
- var ns1 = this.n.sub(new BN(1));
- for (var iter = 0; true; iter++) {
- var k = options.k
- ? options.k(iter)
- : new BN(drbg.generate(this.n.byteLength()));
- k = this._truncateToN(k, true);
- if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) continue;
- var kp = this.g.mul(k);
- if (kp.isInfinity()) continue;
- var kpX = kp.getX();
- var r = kpX.umod(this.n);
- if (r.cmpn(0) === 0) continue;
- var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));
- s = s.umod(this.n);
- if (s.cmpn(0) === 0) continue;
- var recoveryParam =
- (kp.getY().isOdd() ? 1 : 0) | (kpX.cmp(r) !== 0 ? 2 : 0);
- // Use complement of `s`, if it is > `n / 2`
- if (options.canonical && s.cmp(this.nh) > 0) {
- s = this.n.sub(s);
- recoveryParam ^= 1;
- }
- return new Signature({ r: r, s: s, recoveryParam: recoveryParam });
- }
- };
- EC.prototype.verify = function verify(msg, signature, key, enc) {
- msg = this._truncateToN(new BN(msg, 16));
- key = this.keyFromPublic(key, enc);
- signature = new Signature(signature, "hex");
- // Perform primitive values validation
- var r = signature.r;
- var s = signature.s;
- if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0) return false;
- if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0) return false;
- // Validate signature
- var sinv = s.invm(this.n);
- var u1 = sinv.mul(msg).umod(this.n);
- var u2 = sinv.mul(r).umod(this.n);
- if (!this.curve._maxwellTrick) {
- var p = this.g.mulAdd(u1, key.getPublic(), u2);
- if (p.isInfinity()) return false;
- return p.getX().umod(this.n).cmp(r) === 0;
- }
- // NOTE: Greg Maxwell's trick, inspired by:
- // https://git.io/vad3K
- var p = this.g.jmulAdd(u1, key.getPublic(), u2);
- if (p.isInfinity()) return false;
- // Compare `p.x` of Jacobian point with `r`,
- // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the
- // inverse of `p.z^2`
- return p.eqXToP(r);
- };
- EC.prototype.recoverPubKey = function (msg, signature, j, enc) {
- assert((3 & j) === j, "The recovery param is more than two bits");
- signature = new Signature(signature, enc);
- var n = this.n;
- var e = new BN(msg);
- var r = signature.r;
- var s = signature.s;
- // A set LSB signifies that the y-coordinate is odd
- var isYOdd = j & 1;
- var isSecondKey = j >> 1;
- if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)
- throw new Error("Unable to find sencond key candinate");
- // 1.1. Let x = r + jn.
- if (isSecondKey)
- r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);
- else r = this.curve.pointFromX(r, isYOdd);
- var rInv = signature.r.invm(n);
- var s1 = n.sub(e).mul(rInv).umod(n);
- var s2 = s.mul(rInv).umod(n);
- // 1.6.1 Compute Q = r^-1 (sR - eG)
- // Q = r^-1 (sR + -eG)
- return this.g.mulAdd(s1, r, s2);
- };
- EC.prototype.getKeyRecoveryParam = function (e, signature, Q, enc) {
- signature = new Signature(signature, enc);
- if (signature.recoveryParam !== null) return signature.recoveryParam;
- for (var i = 0; i < 4; i++) {
- var Qprime;
- try {
- Qprime = this.recoverPubKey(e, signature, i);
- } catch (e) {
- continue;
- }
- if (Qprime.eq(Q)) return i;
- }
- throw new Error("Unable to find valid recovery factor");
- };
- },
- {
- "../../elliptic": 74,
- "./key": 82,
- "./signature": 83,
- "bn.js": 25,
- "hmac-drbg": 105,
- },
- ],
- 82: [
- function (require, module, exports) {
- "use strict";
- var BN = require("bn.js");
- var elliptic = require("../../elliptic.js");
- var utils = elliptic.utils;
- var assert = utils.assert;
- function KeyPair(ec, options) {
- this.ec = ec;
- this.priv = null;
- this.pub = null;
- // KeyPair(ec, { priv: ..., pub: ... })
- if (options.priv) this._importPrivate(options.priv, options.privEnc);
- if (options.pub) this._importPublic(options.pub, options.pubEnc);
- }
- module.exports = KeyPair;
- KeyPair.fromPublic = function fromPublic(ec, pub, enc) {
- if (pub instanceof KeyPair) return pub;
- return new KeyPair(ec, {
- pub: pub,
- pubEnc: enc,
- });
- };
- KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {
- if (priv instanceof KeyPair) return priv;
- return new KeyPair(ec, {
- priv: priv,
- privEnc: enc,
- });
- };
- KeyPair.prototype.validate = function validate() {
- var pub = this.getPublic();
- if (pub.isInfinity())
- return { result: false, reason: "Invalid public key" };
- if (!pub.validate())
- return { result: false, reason: "Public key is not a point" };
- if (!pub.mul(this.ec.curve.n).isInfinity())
- return { result: false, reason: "Public key * N != O" };
- return { result: true, reason: null };
- };
- KeyPair.prototype.getPublic = function getPublic(compact, enc) {
- // compact is optional argument
- if (typeof compact === "string") {
- enc = compact;
- compact = null;
- }
- if (!this.pub) this.pub = this.ec.g.mul(this.priv);
- if (!enc) return this.pub;
- return this.pub.encode(enc, compact);
- };
- KeyPair.prototype.getPrivate = function getPrivate(enc) {
- if (enc === "hex") return this.priv.toString(16, 2);
- else return this.priv;
- };
- KeyPair.prototype._importPrivate = function _importPrivate(key, enc) {
- this.priv = new BN(key, enc || 16);
- // Ensure that the priv won't be bigger than n, otherwise we may fail
- // in fixed multiplication method
- this.priv = this.priv.umod(this.ec.curve.n);
- };
- KeyPair.prototype._importPublic = function _importPublic(key, enc) {
- if (key.x || key.y) {
- // Montgomery points only have an `x` coordinate.
- // Weierstrass/Edwards points on the other hand have both `x` and
- // `y` coordinates.
- if (this.ec.curve.type === "mont") {
- assert(key.x, "Need x coordinate");
- } else if (
- this.ec.curve.type === "short" ||
- this.ec.curve.type === "edwards"
- ) {
- assert(key.x && key.y, "Need both x and y coordinate");
- }
- this.pub = this.ec.curve.point(key.x, key.y);
- return;
- }
- this.pub = this.ec.curve.decodePoint(key, enc);
- };
- // ECDH
- KeyPair.prototype.derive = function derive(pub) {
- return pub.mul(this.priv).getX();
- };
- // ECDSA
- KeyPair.prototype.sign = function sign(msg, enc, options) {
- return this.ec.sign(msg, this, enc, options);
- };
- KeyPair.prototype.verify = function verify(msg, signature) {
- return this.ec.verify(msg, signature, this);
- };
- KeyPair.prototype.inspect = function inspect() {
- return (
- "<Key priv: " +
- (this.priv && this.priv.toString(16, 2)) +
- " pub: " +
- (this.pub && this.pub.inspect()) +
- " >"
- );
- };
- },
- { "../../elliptic": 74, "bn.js": 25 },
- ],
- 83: [
- function (require, module, exports) {
- "use strict";
- var BN = require("bn.js");
- var elliptic = require("../../elliptic.js");
- var utils = elliptic.utils;
- var assert = utils.assert;
- function Signature(options, enc) {
- if (options instanceof Signature) return options;
- if (this._importDER(options, enc)) return;
- assert(options.r && options.s, "Signature without r or s");
- this.r = new BN(options.r, 16);
- this.s = new BN(options.s, 16);
- if (options.recoveryParam === undefined) this.recoveryParam = null;
- else this.recoveryParam = options.recoveryParam;
- }
- module.exports = Signature;
- function Position() {
- this.place = 0;
- }
- function getLength(buf, p) {
- var initial = buf[p.place++];
- if (!(initial & 0x80)) {
- return initial;
- }
- var octetLen = initial & 0xf;
- var val = 0;
- for (var i = 0, off = p.place; i < octetLen; i++, off++) {
- val <<= 8;
- val |= buf[off];
- }
- p.place = off;
- return val;
- }
- function rmPadding(buf) {
- var i = 0;
- var len = buf.length - 1;
- while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {
- i++;
- }
- if (i === 0) {
- return buf;
- }
- return buf.slice(i);
- }
- Signature.prototype._importDER = function _importDER(data, enc) {
- data = utils.toArray(data, enc);
- var p = new Position();
- if (data[p.place++] !== 0x30) {
- return false;
- }
- var len = getLength(data, p);
- if (len + p.place !== data.length) {
- return false;
- }
- if (data[p.place++] !== 0x02) {
- return false;
- }
- var rlen = getLength(data, p);
- var r = data.slice(p.place, rlen + p.place);
- p.place += rlen;
- if (data[p.place++] !== 0x02) {
- return false;
- }
- var slen = getLength(data, p);
- if (data.length !== slen + p.place) {
- return false;
- }
- var s = data.slice(p.place, slen + p.place);
- if (r[0] === 0 && r[1] & 0x80) {
- r = r.slice(1);
- }
- if (s[0] === 0 && s[1] & 0x80) {
- s = s.slice(1);
- }
- this.r = new BN(r);
- this.s = new BN(s);
- this.recoveryParam = null;
- return true;
- };
- function constructLength(arr, len) {
- if (len < 0x80) {
- arr.push(len);
- return;
- }
- var octets = 1 + ((Math.log(len) / Math.LN2) >>> 3);
- arr.push(octets | 0x80);
- while (--octets) {
- arr.push((len >>> (octets << 3)) & 0xff);
- }
- arr.push(len);
- }
- Signature.prototype.toDER = function toDER(enc) {
- var r = this.r.toArray();
- var s = this.s.toArray();
- // Pad values
- if (r[0] & 0x80) r = [0].concat(r);
- // Pad values
- if (s[0] & 0x80) s = [0].concat(s);
- r = rmPadding(r);
- s = rmPadding(s);
- while (!s[0] && !(s[1] & 0x80)) {
- s = s.slice(1);
- }
- var arr = [0x02];
- constructLength(arr, r.length);
- arr = arr.concat(r);
- arr.push(0x02);
- constructLength(arr, s.length);
- var backHalf = arr.concat(s);
- var res = [0x30];
- constructLength(res, backHalf.length);
- res = res.concat(backHalf);
- return utils.encode(res, enc);
- };
- },
- { "../../elliptic": 74, "bn.js": 25 },
- ],
- 84: [
- function (require, module, exports) {
- "use strict";
- var hash = require("hash.js");
- var elliptic = require("../../elliptic.js");
- var utils = elliptic.utils;
- var assert = utils.assert;
- var parseBytes = utils.parseBytes;
- var KeyPair = require("./key.js");
- var Signature = require("./signature.js");
- function EDDSA(curve) {
- assert(curve === "ed25519", "only tested with ed25519 so far");
- if (!(this instanceof EDDSA)) return new EDDSA(curve);
- var curve = elliptic.curves[curve].curve;
- this.curve = curve;
- this.g = curve.g;
- this.g.precompute(curve.n.bitLength() + 1);
- this.pointClass = curve.point().constructor;
- this.encodingLength = Math.ceil(curve.n.bitLength() / 8);
- this.hash = hash.sha512;
- }
- module.exports = EDDSA;
- /**
- * @param {Array|String} message - message bytes
- * @param {Array|String|KeyPair} secret - secret bytes or a keypair
- * @returns {Signature} - signature
- */
- EDDSA.prototype.sign = function sign(message, secret) {
- message = parseBytes(message);
- var key = this.keyFromSecret(secret);
- var r = this.hashInt(key.messagePrefix(), message);
- var R = this.g.mul(r);
- var Rencoded = this.encodePoint(R);
- var s_ = this.hashInt(Rencoded, key.pubBytes(), message).mul(
- key.priv()
- );
- var S = r.add(s_).umod(this.curve.n);
- return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });
- };
- /**
- * @param {Array} message - message bytes
- * @param {Array|String|Signature} sig - sig bytes
- * @param {Array|String|Point|KeyPair} pub - public key
- * @returns {Boolean} - true if public key matches sig of message
- */
- EDDSA.prototype.verify = function verify(message, sig, pub) {
- message = parseBytes(message);
- sig = this.makeSignature(sig);
- var key = this.keyFromPublic(pub);
- var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);
- var SG = this.g.mul(sig.S());
- var RplusAh = sig.R().add(key.pub().mul(h));
- return RplusAh.eq(SG);
- };
- EDDSA.prototype.hashInt = function hashInt() {
- var hash = this.hash();
- for (var i = 0; i < arguments.length; i++) hash.update(arguments[i]);
- return utils.intFromLE(hash.digest()).umod(this.curve.n);
- };
- EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {
- return KeyPair.fromPublic(this, pub);
- };
- EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {
- return KeyPair.fromSecret(this, secret);
- };
- EDDSA.prototype.makeSignature = function makeSignature(sig) {
- if (sig instanceof Signature) return sig;
- return new Signature(this, sig);
- };
- /**
- * * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2
- *
- * EDDSA defines methods for encoding and decoding points and integers. These are
- * helper convenience methods, that pass along to utility functions implied
- * parameters.
- *
- */
- EDDSA.prototype.encodePoint = function encodePoint(point) {
- var enc = point.getY().toArray("le", this.encodingLength);
- enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;
- return enc;
- };
- EDDSA.prototype.decodePoint = function decodePoint(bytes) {
- bytes = utils.parseBytes(bytes);
- var lastIx = bytes.length - 1;
- var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);
- var xIsOdd = (bytes[lastIx] & 0x80) !== 0;
- var y = utils.intFromLE(normed);
- return this.curve.pointFromY(y, xIsOdd);
- };
- EDDSA.prototype.encodeInt = function encodeInt(num) {
- return num.toArray("le", this.encodingLength);
- };
- EDDSA.prototype.decodeInt = function decodeInt(bytes) {
- return utils.intFromLE(bytes);
- };
- EDDSA.prototype.isPoint = function isPoint(val) {
- return val instanceof this.pointClass;
- };
- },
- { "../../elliptic": 74, "./key": 85, "./signature": 86, "hash.js": 93 },
- ],
- 85: [
- function (require, module, exports) {
- "use strict";
- var elliptic = require("../../elliptic.js");
- var utils = elliptic.utils;
- var assert = utils.assert;
- var parseBytes = utils.parseBytes;
- var cachedProperty = utils.cachedProperty;
- /**
- * @param {EDDSA} eddsa - instance
- * @param {Object} params - public/private key parameters
- *
- * @param {Array<Byte>} [params.secret] - secret seed bytes
- * @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)
- * @param {Array<Byte>} [params.pub] - public key point encoded as bytes
- *
- */
- function KeyPair(eddsa, params) {
- this.eddsa = eddsa;
- this._secret = parseBytes(params.secret);
- if (eddsa.isPoint(params.pub)) this._pub = params.pub;
- else this._pubBytes = parseBytes(params.pub);
- }
- KeyPair.fromPublic = function fromPublic(eddsa, pub) {
- if (pub instanceof KeyPair) return pub;
- return new KeyPair(eddsa, { pub: pub });
- };
- KeyPair.fromSecret = function fromSecret(eddsa, secret) {
- if (secret instanceof KeyPair) return secret;
- return new KeyPair(eddsa, { secret: secret });
- };
- KeyPair.prototype.secret = function secret() {
- return this._secret;
- };
- cachedProperty(KeyPair, "pubBytes", function pubBytes() {
- return this.eddsa.encodePoint(this.pub());
- });
- cachedProperty(KeyPair, "pub", function pub() {
- if (this._pubBytes) return this.eddsa.decodePoint(this._pubBytes);
- return this.eddsa.g.mul(this.priv());
- });
- cachedProperty(KeyPair, "privBytes", function privBytes() {
- var eddsa = this.eddsa;
- var hash = this.hash();
- var lastIx = eddsa.encodingLength - 1;
- var a = hash.slice(0, eddsa.encodingLength);
- a[0] &= 248;
- a[lastIx] &= 127;
- a[lastIx] |= 64;
- return a;
- });
- cachedProperty(KeyPair, "priv", function priv() {
- return this.eddsa.decodeInt(this.privBytes());
- });
- cachedProperty(KeyPair, "hash", function hash() {
- return this.eddsa.hash().update(this.secret()).digest();
- });
- cachedProperty(KeyPair, "messagePrefix", function messagePrefix() {
- return this.hash().slice(this.eddsa.encodingLength);
- });
- KeyPair.prototype.sign = function sign(message) {
- assert(this._secret, "KeyPair can only verify");
- return this.eddsa.sign(message, this);
- };
- KeyPair.prototype.verify = function verify(message, sig) {
- return this.eddsa.verify(message, sig, this);
- };
- KeyPair.prototype.getSecret = function getSecret(enc) {
- assert(this._secret, "KeyPair is public only");
- return utils.encode(this.secret(), enc);
- };
- KeyPair.prototype.getPublic = function getPublic(enc) {
- return utils.encode(this.pubBytes(), enc);
- };
- module.exports = KeyPair;
- },
- { "../../elliptic": 74 },
- ],
- 86: [
- function (require, module, exports) {
- "use strict";
- var BN = require("bn.js");
- var elliptic = require("../../elliptic.js");
- var utils = elliptic.utils;
- var assert = utils.assert;
- var cachedProperty = utils.cachedProperty;
- var parseBytes = utils.parseBytes;
- /**
- * @param {EDDSA} eddsa - eddsa instance
- * @param {Array<Bytes>|Object} sig -
- * @param {Array<Bytes>|Point} [sig.R] - R point as Point or bytes
- * @param {Array<Bytes>|bn} [sig.S] - S scalar as bn or bytes
- * @param {Array<Bytes>} [sig.Rencoded] - R point encoded
- * @param {Array<Bytes>} [sig.Sencoded] - S scalar encoded
- */
- function Signature(eddsa, sig) {
- this.eddsa = eddsa;
- if (typeof sig !== "object") sig = parseBytes(sig);
- if (Array.isArray(sig)) {
- sig = {
- R: sig.slice(0, eddsa.encodingLength),
- S: sig.slice(eddsa.encodingLength),
- };
- }
- assert(sig.R && sig.S, "Signature without R or S");
- if (eddsa.isPoint(sig.R)) this._R = sig.R;
- if (sig.S instanceof BN) this._S = sig.S;
- this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;
- this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;
- }
- cachedProperty(Signature, "S", function S() {
- return this.eddsa.decodeInt(this.Sencoded());
- });
- cachedProperty(Signature, "R", function R() {
- return this.eddsa.decodePoint(this.Rencoded());
- });
- cachedProperty(Signature, "Rencoded", function Rencoded() {
- return this.eddsa.encodePoint(this.R());
- });
- cachedProperty(Signature, "Sencoded", function Sencoded() {
- return this.eddsa.encodeInt(this.S());
- });
- Signature.prototype.toBytes = function toBytes() {
- return this.Rencoded().concat(this.Sencoded());
- };
- Signature.prototype.toHex = function toHex() {
- return utils.encode(this.toBytes(), "hex").toUpperCase();
- };
- module.exports = Signature;
- },
- { "../../elliptic": 74, "bn.js": 25 },
- ],
- 87: [
- function (require, module, exports) {
- module.exports = {
- doubles: {
- step: 4,
- points: [
- [
- "e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a",
- "f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821",
- ],
- [
- "8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508",
- "11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf",
- ],
- [
- "175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739",
- "d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695",
- ],
- [
- "363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640",
- "4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9",
- ],
- [
- "8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c",
- "4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36",
- ],
- [
- "723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda",
- "96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f",
- ],
- [
- "eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa",
- "5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999",
- ],
- [
- "100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0",
- "cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09",
- ],
- [
- "e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d",
- "9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d",
- ],
- [
- "feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d",
- "e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088",
- ],
- [
- "da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1",
- "9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d",
- ],
- [
- "53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0",
- "5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8",
- ],
- [
- "8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047",
- "10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a",
- ],
- [
- "385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862",
- "283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453",
- ],
- [
- "6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7",
- "7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160",
- ],
- [
- "3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd",
- "56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0",
- ],
- [
- "85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83",
- "7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6",
- ],
- [
- "948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a",
- "53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589",
- ],
- [
- "6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8",
- "bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17",
- ],
- [
- "e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d",
- "4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda",
- ],
- [
- "e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725",
- "7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd",
- ],
- [
- "213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754",
- "4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2",
- ],
- [
- "4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c",
- "17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6",
- ],
- [
- "fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6",
- "6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f",
- ],
- [
- "76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39",
- "c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01",
- ],
- [
- "c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891",
- "893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3",
- ],
- [
- "d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b",
- "febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f",
- ],
- [
- "b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03",
- "2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7",
- ],
- [
- "e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d",
- "eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78",
- ],
- [
- "a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070",
- "7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1",
- ],
- [
- "90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4",
- "e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150",
- ],
- [
- "8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da",
- "662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82",
- ],
- [
- "e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11",
- "1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc",
- ],
- [
- "8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e",
- "efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b",
- ],
- [
- "e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41",
- "2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51",
- ],
- [
- "b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef",
- "67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45",
- ],
- [
- "d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8",
- "db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120",
- ],
- [
- "324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d",
- "648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84",
- ],
- [
- "4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96",
- "35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d",
- ],
- [
- "9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd",
- "ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d",
- ],
- [
- "6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5",
- "9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8",
- ],
- [
- "a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266",
- "40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8",
- ],
- [
- "7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71",
- "34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac",
- ],
- [
- "928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac",
- "c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f",
- ],
- [
- "85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751",
- "1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962",
- ],
- [
- "ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e",
- "493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907",
- ],
- [
- "827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241",
- "c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec",
- ],
- [
- "eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3",
- "be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d",
- ],
- [
- "e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f",
- "4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414",
- ],
- [
- "1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19",
- "aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd",
- ],
- [
- "146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be",
- "b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0",
- ],
- [
- "fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9",
- "6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811",
- ],
- [
- "da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2",
- "8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1",
- ],
- [
- "a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13",
- "7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c",
- ],
- [
- "174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c",
- "ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73",
- ],
- [
- "959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba",
- "2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd",
- ],
- [
- "d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151",
- "e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405",
- ],
- [
- "64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073",
- "d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589",
- ],
- [
- "8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458",
- "38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e",
- ],
- [
- "13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b",
- "69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27",
- ],
- [
- "bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366",
- "d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1",
- ],
- [
- "8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa",
- "40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482",
- ],
- [
- "8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0",
- "620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945",
- ],
- [
- "dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787",
- "7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573",
- ],
- [
- "f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e",
- "ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82",
- ],
- ],
- },
- naf: {
- wnd: 7,
- points: [
- [
- "f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9",
- "388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672",
- ],
- [
- "2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4",
- "d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6",
- ],
- [
- "5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc",
- "6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da",
- ],
- [
- "acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe",
- "cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37",
- ],
- [
- "774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb",
- "d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b",
- ],
- [
- "f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8",
- "ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81",
- ],
- [
- "d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e",
- "581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58",
- ],
- [
- "defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34",
- "4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77",
- ],
- [
- "2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c",
- "85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a",
- ],
- [
- "352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5",
- "321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c",
- ],
- [
- "2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f",
- "2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67",
- ],
- [
- "9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714",
- "73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402",
- ],
- [
- "daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729",
- "a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55",
- ],
- [
- "c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db",
- "2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482",
- ],
- [
- "6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4",
- "e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82",
- ],
- [
- "1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5",
- "b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396",
- ],
- [
- "605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479",
- "2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49",
- ],
- [
- "62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d",
- "80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf",
- ],
- [
- "80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f",
- "1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a",
- ],
- [
- "7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb",
- "d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7",
- ],
- [
- "d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9",
- "eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933",
- ],
- [
- "49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963",
- "758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a",
- ],
- [
- "77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74",
- "958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6",
- ],
- [
- "f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530",
- "e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37",
- ],
- [
- "463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b",
- "5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e",
- ],
- [
- "f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247",
- "cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6",
- ],
- [
- "caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1",
- "cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476",
- ],
- [
- "2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120",
- "4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40",
- ],
- [
- "7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435",
- "91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61",
- ],
- [
- "754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18",
- "673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683",
- ],
- [
- "e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8",
- "59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5",
- ],
- [
- "186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb",
- "3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b",
- ],
- [
- "df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f",
- "55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417",
- ],
- [
- "5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143",
- "efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868",
- ],
- [
- "290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba",
- "e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a",
- ],
- [
- "af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45",
- "f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6",
- ],
- [
- "766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a",
- "744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996",
- ],
- [
- "59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e",
- "c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e",
- ],
- [
- "f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8",
- "e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d",
- ],
- [
- "7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c",
- "30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2",
- ],
- [
- "948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519",
- "e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e",
- ],
- [
- "7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab",
- "100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437",
- ],
- [
- "3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca",
- "ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311",
- ],
- [
- "d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf",
- "8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4",
- ],
- [
- "1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610",
- "68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575",
- ],
- [
- "733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4",
- "f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d",
- ],
- [
- "15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c",
- "d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d",
- ],
- [
- "a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940",
- "edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629",
- ],
- [
- "e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980",
- "a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06",
- ],
- [
- "311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3",
- "66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374",
- ],
- [
- "34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf",
- "9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee",
- ],
- [
- "f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63",
- "4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1",
- ],
- [
- "d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448",
- "fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b",
- ],
- [
- "32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf",
- "5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661",
- ],
- [
- "7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5",
- "8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6",
- ],
- [
- "ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6",
- "8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e",
- ],
- [
- "16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5",
- "5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d",
- ],
- [
- "eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99",
- "f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc",
- ],
- [
- "78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51",
- "f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4",
- ],
- [
- "494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5",
- "42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c",
- ],
- [
- "a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5",
- "204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b",
- ],
- [
- "c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997",
- "4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913",
- ],
- [
- "841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881",
- "73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154",
- ],
- [
- "5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5",
- "39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865",
- ],
- [
- "36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66",
- "d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc",
- ],
- [
- "336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726",
- "ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224",
- ],
- [
- "8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede",
- "6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e",
- ],
- [
- "1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94",
- "60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6",
- ],
- [
- "85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31",
- "3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511",
- ],
- [
- "29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51",
- "b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b",
- ],
- [
- "a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252",
- "ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2",
- ],
- [
- "4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5",
- "cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c",
- ],
- [
- "d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b",
- "6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3",
- ],
- [
- "ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4",
- "322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d",
- ],
- [
- "af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f",
- "6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700",
- ],
- [
- "e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889",
- "2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4",
- ],
- [
- "591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246",
- "b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196",
- ],
- [
- "11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984",
- "998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4",
- ],
- [
- "3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a",
- "b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257",
- ],
- [
- "cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030",
- "bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13",
- ],
- [
- "c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197",
- "6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096",
- ],
- [
- "c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593",
- "c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38",
- ],
- [
- "a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef",
- "21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f",
- ],
- [
- "347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38",
- "60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448",
- ],
- [
- "da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a",
- "49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a",
- ],
- [
- "c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111",
- "5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4",
- ],
- [
- "4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502",
- "7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437",
- ],
- [
- "3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea",
- "be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7",
- ],
- [
- "cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26",
- "8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d",
- ],
- [
- "b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986",
- "39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a",
- ],
- [
- "d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e",
- "62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54",
- ],
- [
- "48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4",
- "25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77",
- ],
- [
- "dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda",
- "ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517",
- ],
- [
- "6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859",
- "cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10",
- ],
- [
- "e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f",
- "f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125",
- ],
- [
- "eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c",
- "6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e",
- ],
- [
- "13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942",
- "fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1",
- ],
- [
- "ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a",
- "1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2",
- ],
- [
- "b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80",
- "5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423",
- ],
- [
- "ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d",
- "438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8",
- ],
- [
- "8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1",
- "cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758",
- ],
- [
- "52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63",
- "c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375",
- ],
- [
- "e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352",
- "6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d",
- ],
- [
- "7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193",
- "ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec",
- ],
- [
- "5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00",
- "9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0",
- ],
- [
- "32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58",
- "ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c",
- ],
- [
- "e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7",
- "d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4",
- ],
- [
- "8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8",
- "c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f",
- ],
- [
- "4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e",
- "67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649",
- ],
- [
- "3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d",
- "cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826",
- ],
- [
- "674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b",
- "299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5",
- ],
- [
- "d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f",
- "f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87",
- ],
- [
- "30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6",
- "462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b",
- ],
- [
- "be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297",
- "62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc",
- ],
- [
- "93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a",
- "7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c",
- ],
- [
- "b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c",
- "ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f",
- ],
- [
- "d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52",
- "4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a",
- ],
- [
- "d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb",
- "bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46",
- ],
- [
- "463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065",
- "bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f",
- ],
- [
- "7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917",
- "603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03",
- ],
- [
- "74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9",
- "cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08",
- ],
- [
- "30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3",
- "553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8",
- ],
- [
- "9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57",
- "712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373",
- ],
- [
- "176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66",
- "ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3",
- ],
- [
- "75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8",
- "9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8",
- ],
- [
- "809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721",
- "9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1",
- ],
- [
- "1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180",
- "4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9",
- ],
- ],
- },
- };
- },
- {},
- ],
- 88: [
- function (require, module, exports) {
- "use strict";
- var utils = exports;
- var BN = require("bn.js");
- var minAssert = require("minimalistic-assert");
- var minUtils = require("minimalistic-crypto-utils");
- utils.assert = minAssert;
- utils.toArray = minUtils.toArray;
- utils.zero2 = minUtils.zero2;
- utils.toHex = minUtils.toHex;
- utils.encode = minUtils.encode;
- // Represent num in a w-NAF form
- function getNAF(num, w) {
- var naf = [];
- var ws = 1 << (w + 1);
- var k = num.clone();
- while (k.cmpn(1) >= 0) {
- var z;
- if (k.isOdd()) {
- var mod = k.andln(ws - 1);
- if (mod > (ws >> 1) - 1) z = (ws >> 1) - mod;
- else z = mod;
- k.isubn(z);
- } else {
- z = 0;
- }
- naf.push(z);
- // Optimization, shift by word if possible
- var shift = k.cmpn(0) !== 0 && k.andln(ws - 1) === 0 ? w + 1 : 1;
- for (var i = 1; i < shift; i++) naf.push(0);
- k.iushrn(shift);
- }
- return naf;
- }
- utils.getNAF = getNAF;
- // Represent k1, k2 in a Joint Sparse Form
- function getJSF(k1, k2) {
- var jsf = [[], []];
- k1 = k1.clone();
- k2 = k2.clone();
- var d1 = 0;
- var d2 = 0;
- while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {
- // First phase
- var m14 = (k1.andln(3) + d1) & 3;
- var m24 = (k2.andln(3) + d2) & 3;
- if (m14 === 3) m14 = -1;
- if (m24 === 3) m24 = -1;
- var u1;
- if ((m14 & 1) === 0) {
- u1 = 0;
- } else {
- var m8 = (k1.andln(7) + d1) & 7;
- if ((m8 === 3 || m8 === 5) && m24 === 2) u1 = -m14;
- else u1 = m14;
- }
- jsf[0].push(u1);
- var u2;
- if ((m24 & 1) === 0) {
- u2 = 0;
- } else {
- var m8 = (k2.andln(7) + d2) & 7;
- if ((m8 === 3 || m8 === 5) && m14 === 2) u2 = -m24;
- else u2 = m24;
- }
- jsf[1].push(u2);
- // Second phase
- if (2 * d1 === u1 + 1) d1 = 1 - d1;
- if (2 * d2 === u2 + 1) d2 = 1 - d2;
- k1.iushrn(1);
- k2.iushrn(1);
- }
- return jsf;
- }
- utils.getJSF = getJSF;
- function cachedProperty(obj, name, computer) {
- var key = "_" + name;
- obj.prototype[name] = function cachedProperty() {
- return this[key] !== undefined
- ? this[key]
- : (this[key] = computer.call(this));
- };
- }
- utils.cachedProperty = cachedProperty;
- function parseBytes(bytes) {
- return typeof bytes === "string"
- ? utils.toArray(bytes, "hex")
- : bytes;
- }
- utils.parseBytes = parseBytes;
- function intFromLE(bytes) {
- return new BN(bytes, "hex", "le");
- }
- utils.intFromLE = intFromLE;
- },
- {
- "bn.js": 25,
- "minimalistic-assert": 112,
- "minimalistic-crypto-utils": 113,
- },
- ],
- 89: [
- function (require, module, exports) {
- module.exports = {
- _from: "elliptic@^6.0.0",
- _id: "elliptic@6.4.0",
- _inBundle: false,
- _integrity: "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
- _location: "/browserify/elliptic",
- _phantomChildren: {},
- _requested: {
- type: "range",
- registry: true,
- raw: "elliptic@^6.0.0",
- name: "elliptic",
- escapedName: "elliptic",
- rawSpec: "^6.0.0",
- saveSpec: null,
- fetchSpec: "^6.0.0",
- },
- _requiredBy: [
- "/browserify/browserify-sign",
- "/browserify/create-ecdh",
- ],
- _resolved: "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
- _shasum: "cac9af8762c85836187003c8dfe193e5e2eae5df",
- _spec: "elliptic@^6.0.0",
- _where:
- "/usr/local/lib/node_modules/browserify/node_modules/browserify-sign",
- author: {
- name: "Fedor Indutny",
- email: "fedor@indutny.com",
- },
- bugs: {
- url: "https://github.com/indutny/elliptic/issues",
- },
- bundleDependencies: false,
- dependencies: {
- "bn.js": "^4.4.0",
- brorand: "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- inherits: "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0",
- },
- deprecated: false,
- description: "EC cryptography",
- devDependencies: {
- brfs: "^1.4.3",
- coveralls: "^2.11.3",
- grunt: "^0.4.5",
- "grunt-browserify": "^5.0.0",
- "grunt-cli": "^1.2.0",
- "grunt-contrib-connect": "^1.0.0",
- "grunt-contrib-copy": "^1.0.0",
- "grunt-contrib-uglify": "^1.0.1",
- "grunt-mocha-istanbul": "^3.0.1",
- "grunt-saucelabs": "^8.6.2",
- istanbul: "^0.4.2",
- jscs: "^2.9.0",
- jshint: "^2.6.0",
- mocha: "^2.1.0",
- },
- files: ["lib"],
- homepage: "https://github.com/indutny/elliptic",
- keywords: ["EC", "Elliptic", "curve", "Cryptography"],
- license: "MIT",
- main: "lib/elliptic.js",
- name: "elliptic",
- repository: {
- type: "git",
- url: "git+ssh://git@github.com/indutny/elliptic.git",
- },
- scripts: {
- jscs: "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",
- jshint:
- "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js",
- lint: "npm run jscs && npm run jshint",
- test: "npm run lint && npm run unit",
- unit: "istanbul test _mocha --reporter=spec test/index.js",
- version: "grunt dist && git add dist/",
- },
- version: "6.4.0",
- };
- },
- {},
- ],
- 90: [
- function (require, module, exports) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- function EventEmitter() {
- this._events = this._events || {};
- this._maxListeners = this._maxListeners || undefined;
- }
- module.exports = EventEmitter;
- // Backwards-compat with node 0.10.x
- EventEmitter.EventEmitter = EventEmitter;
- EventEmitter.prototype._events = undefined;
- EventEmitter.prototype._maxListeners = undefined;
- // By default EventEmitters will print a warning if more than 10 listeners are
- // added to it. This is a useful default which helps finding memory leaks.
- EventEmitter.defaultMaxListeners = 10;
- // Obviously not all Emitters should be limited to 10. This function allows
- // that to be increased. Set to zero for unlimited.
- EventEmitter.prototype.setMaxListeners = function (n) {
- if (!isNumber(n) || n < 0 || isNaN(n))
- throw TypeError("n must be a positive number");
- this._maxListeners = n;
- return this;
- };
- EventEmitter.prototype.emit = function (type) {
- var er, handler, len, args, i, listeners;
- if (!this._events) this._events = {};
- // If there is no 'error' event listener then throw.
- if (type === "error") {
- if (
- !this._events.error ||
- (isObject(this._events.error) && !this._events.error.length)
- ) {
- er = arguments[1];
- if (er instanceof Error) {
- throw er; // Unhandled 'error' event
- } else {
- // At least give some kind of context to the user
- var err = new Error(
- 'Uncaught, unspecified "error" event. (' + er + ")"
- );
- err.context = er;
- throw err;
- }
- }
- }
- handler = this._events[type];
- if (isUndefined(handler)) return false;
- if (isFunction(handler)) {
- switch (arguments.length) {
- // fast cases
- case 1:
- handler.call(this);
- break;
- case 2:
- handler.call(this, arguments[1]);
- break;
- case 3:
- handler.call(this, arguments[1], arguments[2]);
- break;
- // slower
- default:
- args = Array.prototype.slice.call(arguments, 1);
- handler.apply(this, args);
- }
- } else if (isObject(handler)) {
- args = Array.prototype.slice.call(arguments, 1);
- listeners = handler.slice();
- len = listeners.length;
- for (i = 0; i < len; i++) listeners[i].apply(this, args);
- }
- return true;
- };
- EventEmitter.prototype.addListener = function (type, listener) {
- var m;
- if (!isFunction(listener))
- throw TypeError("listener must be a function");
- if (!this._events) this._events = {};
- // To avoid recursion in the case that type === "newListener"! Before
- // adding it to the listeners, first emit "newListener".
- if (this._events.newListener)
- this.emit(
- "newListener",
- type,
- isFunction(listener.listener) ? listener.listener : listener
- );
- if (!this._events[type])
- // Optimize the case of one listener. Don't need the extra array object.
- this._events[type] = listener;
- else if (isObject(this._events[type]))
- // If we've already got an array, just append.
- this._events[type].push(listener);
- // Adding the second element, need to change to array.
- else this._events[type] = [this._events[type], listener];
- // Check for listener leak
- if (isObject(this._events[type]) && !this._events[type].warned) {
- if (!isUndefined(this._maxListeners)) {
- m = this._maxListeners;
- } else {
- m = EventEmitter.defaultMaxListeners;
- }
- if (m && m > 0 && this._events[type].length > m) {
- this._events[type].warned = true;
- console.error(
- "(node) warning: possible EventEmitter memory " +
- "leak detected. %d listeners added. " +
- "Use emitter.setMaxListeners() to increase limit.",
- this._events[type].length
- );
- if (typeof console.trace === "function") {
- // not supported in IE 10
- console.trace();
- }
- }
- }
- return this;
- };
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
- EventEmitter.prototype.once = function (type, listener) {
- if (!isFunction(listener))
- throw TypeError("listener must be a function");
- var fired = false;
- function g() {
- this.removeListener(type, g);
- if (!fired) {
- fired = true;
- listener.apply(this, arguments);
- }
- }
- g.listener = listener;
- this.on(type, g);
- return this;
- };
- // emits a 'removeListener' event iff the listener was removed
- EventEmitter.prototype.removeListener = function (type, listener) {
- var list, position, length, i;
- if (!isFunction(listener))
- throw TypeError("listener must be a function");
- if (!this._events || !this._events[type]) return this;
- list = this._events[type];
- length = list.length;
- position = -1;
- if (
- list === listener ||
- (isFunction(list.listener) && list.listener === listener)
- ) {
- delete this._events[type];
- if (this._events.removeListener)
- this.emit("removeListener", type, listener);
- } else if (isObject(list)) {
- for (i = length; i-- > 0; ) {
- if (
- list[i] === listener ||
- (list[i].listener && list[i].listener === listener)
- ) {
- position = i;
- break;
- }
- }
- if (position < 0) return this;
- if (list.length === 1) {
- list.length = 0;
- delete this._events[type];
- } else {
- list.splice(position, 1);
- }
- if (this._events.removeListener)
- this.emit("removeListener", type, listener);
- }
- return this;
- };
- EventEmitter.prototype.removeAllListeners = function (type) {
- var key, listeners;
- if (!this._events) return this;
- // not listening for removeListener, no need to emit
- if (!this._events.removeListener) {
- if (arguments.length === 0) this._events = {};
- else if (this._events[type]) delete this._events[type];
- return this;
- }
- // emit removeListener for all listeners on all events
- if (arguments.length === 0) {
- for (key in this._events) {
- if (key === "removeListener") continue;
- this.removeAllListeners(key);
- }
- this.removeAllListeners("removeListener");
- this._events = {};
- return this;
- }
- listeners = this._events[type];
- if (isFunction(listeners)) {
- this.removeListener(type, listeners);
- } else if (listeners) {
- // LIFO order
- while (listeners.length)
- this.removeListener(type, listeners[listeners.length - 1]);
- }
- delete this._events[type];
- return this;
- };
- EventEmitter.prototype.listeners = function (type) {
- var ret;
- if (!this._events || !this._events[type]) ret = [];
- else if (isFunction(this._events[type])) ret = [this._events[type]];
- else ret = this._events[type].slice();
- return ret;
- };
- EventEmitter.prototype.listenerCount = function (type) {
- if (this._events) {
- var evlistener = this._events[type];
- if (isFunction(evlistener)) return 1;
- else if (evlistener) return evlistener.length;
- }
- return 0;
- };
- EventEmitter.listenerCount = function (emitter, type) {
- return emitter.listenerCount(type);
- };
- function isFunction(arg) {
- return typeof arg === "function";
- }
- function isNumber(arg) {
- return typeof arg === "number";
- }
- function isObject(arg) {
- return typeof arg === "object" && arg !== null;
- }
- function isUndefined(arg) {
- return arg === void 0;
- }
- },
- {},
- ],
- 91: [
- function (require, module, exports) {
- (function (Buffer) {
- var md5 = require("create-hash/md5");
- module.exports = EVP_BytesToKey;
- function EVP_BytesToKey(password, salt, keyLen, ivLen) {
- if (!Buffer.isBuffer(password)) {
- password = new Buffer(password, "binary");
- }
- if (salt && !Buffer.isBuffer(salt)) {
- salt = new Buffer(salt, "binary");
- }
- keyLen = keyLen / 8;
- ivLen = ivLen || 0;
- var ki = 0;
- var ii = 0;
- var key = new Buffer(keyLen);
- var iv = new Buffer(ivLen);
- var addmd = 0;
- var md_buf;
- var i;
- var bufs = [];
- while (true) {
- if (addmd++ > 0) {
- bufs.push(md_buf);
- }
- bufs.push(password);
- if (salt) {
- bufs.push(salt);
- }
- md_buf = md5(Buffer.concat(bufs));
- bufs = [];
- i = 0;
- if (keyLen > 0) {
- while (true) {
- if (keyLen === 0) {
- break;
- }
- if (i === md_buf.length) {
- break;
- }
- key[ki++] = md_buf[i];
- keyLen--;
- i++;
- }
- }
- if (ivLen > 0 && i !== md_buf.length) {
- while (true) {
- if (ivLen === 0) {
- break;
- }
- if (i === md_buf.length) {
- break;
- }
- iv[ii++] = md_buf[i];
- ivLen--;
- i++;
- }
- }
- if (keyLen === 0 && ivLen === 0) {
- break;
- }
- }
- for (i = 0; i < md_buf.length; i++) {
- md_buf[i] = 0;
- }
- return {
- key: key,
- iv: iv,
- };
- }
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54, "create-hash/md5": 60 },
- ],
- 92: [
- function (require, module, exports) {
- (function (Buffer) {
- "use strict";
- var Transform = require("stream").Transform;
- var inherits = require("inherits");
- function HashBase(blockSize) {
- Transform.call(this);
- this._block = new Buffer(blockSize);
- this._blockSize = blockSize;
- this._blockOffset = 0;
- this._length = [0, 0, 0, 0];
- this._finalized = false;
- }
- inherits(HashBase, Transform);
- HashBase.prototype._transform = function (chunk, encoding, callback) {
- var error = null;
- try {
- if (encoding !== "buffer") chunk = new Buffer(chunk, encoding);
- this.update(chunk);
- } catch (err) {
- error = err;
- }
- callback(error);
- };
- HashBase.prototype._flush = function (callback) {
- var error = null;
- try {
- this.push(this._digest());
- } catch (err) {
- error = err;
- }
- callback(error);
- };
- HashBase.prototype.update = function (data, encoding) {
- if (!Buffer.isBuffer(data) && typeof data !== "string")
- throw new TypeError("Data must be a string or a buffer");
- if (this._finalized) throw new Error("Digest already called");
- if (!Buffer.isBuffer(data))
- data = new Buffer(data, encoding || "binary");
- // consume data
- var block = this._block;
- var offset = 0;
- while (
- this._blockOffset + data.length - offset >=
- this._blockSize
- ) {
- for (var i = this._blockOffset; i < this._blockSize; )
- block[i++] = data[offset++];
- this._update();
- this._blockOffset = 0;
- }
- while (offset < data.length)
- block[this._blockOffset++] = data[offset++];
- // update length
- for (var j = 0, carry = data.length * 8; carry > 0; ++j) {
- this._length[j] += carry;
- carry = (this._length[j] / 0x0100000000) | 0;
- if (carry > 0) this._length[j] -= 0x0100000000 * carry;
- }
- return this;
- };
- HashBase.prototype._update = function (data) {
- throw new Error("_update is not implemented");
- };
- HashBase.prototype.digest = function (encoding) {
- if (this._finalized) throw new Error("Digest already called");
- this._finalized = true;
- var digest = this._digest();
- if (encoding !== undefined) digest = digest.toString(encoding);
- return digest;
- };
- HashBase.prototype._digest = function () {
- throw new Error("_digest is not implemented");
- };
- module.exports = HashBase;
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54, inherits: 108, stream: 157 },
- ],
- 93: [
- function (require, module, exports) {
- var hash = exports;
- hash.utils = require("./hash/utils.js");
- hash.common = require("./hash/common.js");
- hash.sha = require("./hash/sha.js");
- hash.ripemd = require("./hash/ripemd.js");
- hash.hmac = require("./hash/hmac.js");
- // Proxy hash functions to the main object
- hash.sha1 = hash.sha.sha1;
- hash.sha256 = hash.sha.sha256;
- hash.sha224 = hash.sha.sha224;
- hash.sha384 = hash.sha.sha384;
- hash.sha512 = hash.sha.sha512;
- hash.ripemd160 = hash.ripemd.ripemd160;
- },
- {
- "./hash/common": 94,
- "./hash/hmac": 95,
- "./hash/ripemd": 96,
- "./hash/sha": 97,
- "./hash/utils": 104,
- },
- ],
- 94: [
- function (require, module, exports) {
- "use strict";
- var utils = require("./utils.js");
- var assert = require("minimalistic-assert");
- function BlockHash() {
- this.pending = null;
- this.pendingTotal = 0;
- this.blockSize = this.constructor.blockSize;
- this.outSize = this.constructor.outSize;
- this.hmacStrength = this.constructor.hmacStrength;
- this.padLength = this.constructor.padLength / 8;
- this.endian = "big";
- this._delta8 = this.blockSize / 8;
- this._delta32 = this.blockSize / 32;
- }
- exports.BlockHash = BlockHash;
- BlockHash.prototype.update = function update(msg, enc) {
- // Convert message to array, pad it, and join into 32bit blocks
- msg = utils.toArray(msg, enc);
- if (!this.pending) this.pending = msg;
- else this.pending = this.pending.concat(msg);
- this.pendingTotal += msg.length;
- // Enough data, try updating
- if (this.pending.length >= this._delta8) {
- msg = this.pending;
- // Process pending data in blocks
- var r = msg.length % this._delta8;
- this.pending = msg.slice(msg.length - r, msg.length);
- if (this.pending.length === 0) this.pending = null;
- msg = utils.join32(msg, 0, msg.length - r, this.endian);
- for (var i = 0; i < msg.length; i += this._delta32)
- this._update(msg, i, i + this._delta32);
- }
- return this;
- };
- BlockHash.prototype.digest = function digest(enc) {
- this.update(this._pad());
- assert(this.pending === null);
- return this._digest(enc);
- };
- BlockHash.prototype._pad = function pad() {
- var len = this.pendingTotal;
- var bytes = this._delta8;
- var k = bytes - ((len + this.padLength) % bytes);
- var res = new Array(k + this.padLength);
- res[0] = 0x80;
- for (var i = 1; i < k; i++) res[i] = 0;
- // Append length
- len <<= 3;
- if (this.endian === "big") {
- for (var t = 8; t < this.padLength; t++) res[i++] = 0;
- res[i++] = 0;
- res[i++] = 0;
- res[i++] = 0;
- res[i++] = 0;
- res[i++] = (len >>> 24) & 0xff;
- res[i++] = (len >>> 16) & 0xff;
- res[i++] = (len >>> 8) & 0xff;
- res[i++] = len & 0xff;
- } else {
- res[i++] = len & 0xff;
- res[i++] = (len >>> 8) & 0xff;
- res[i++] = (len >>> 16) & 0xff;
- res[i++] = (len >>> 24) & 0xff;
- res[i++] = 0;
- res[i++] = 0;
- res[i++] = 0;
- res[i++] = 0;
- for (t = 8; t < this.padLength; t++) res[i++] = 0;
- }
- return res;
- };
- },
- { "./utils": 104, "minimalistic-assert": 112 },
- ],
- 95: [
- function (require, module, exports) {
- "use strict";
- var utils = require("./utils.js");
- var assert = require("minimalistic-assert");
- function Hmac(hash, key, enc) {
- if (!(this instanceof Hmac)) return new Hmac(hash, key, enc);
- this.Hash = hash;
- this.blockSize = hash.blockSize / 8;
- this.outSize = hash.outSize / 8;
- this.inner = null;
- this.outer = null;
- this._init(utils.toArray(key, enc));
- }
- module.exports = Hmac;
- Hmac.prototype._init = function init(key) {
- // Shorten key, if needed
- if (key.length > this.blockSize)
- key = new this.Hash().update(key).digest();
- assert(key.length <= this.blockSize);
- // Add padding to key
- for (var i = key.length; i < this.blockSize; i++) key.push(0);
- for (i = 0; i < key.length; i++) key[i] ^= 0x36;
- this.inner = new this.Hash().update(key);
- // 0x36 ^ 0x5c = 0x6a
- for (i = 0; i < key.length; i++) key[i] ^= 0x6a;
- this.outer = new this.Hash().update(key);
- };
- Hmac.prototype.update = function update(msg, enc) {
- this.inner.update(msg, enc);
- return this;
- };
- Hmac.prototype.digest = function digest(enc) {
- this.outer.update(this.inner.digest());
- return this.outer.digest(enc);
- };
- },
- { "./utils": 104, "minimalistic-assert": 112 },
- ],
- 96: [
- function (require, module, exports) {
- "use strict";
- var utils = require("./utils.js");
- var common = require("./common.js");
- var rotl32 = utils.rotl32;
- var sum32 = utils.sum32;
- var sum32_3 = utils.sum32_3;
- var sum32_4 = utils.sum32_4;
- var BlockHash = common.BlockHash;
- function RIPEMD160() {
- if (!(this instanceof RIPEMD160)) return new RIPEMD160();
- BlockHash.call(this);
- this.h = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];
- this.endian = "little";
- }
- utils.inherits(RIPEMD160, BlockHash);
- exports.ripemd160 = RIPEMD160;
- RIPEMD160.blockSize = 512;
- RIPEMD160.outSize = 160;
- RIPEMD160.hmacStrength = 192;
- RIPEMD160.padLength = 64;
- RIPEMD160.prototype._update = function update(msg, start) {
- var A = this.h[0];
- var B = this.h[1];
- var C = this.h[2];
- var D = this.h[3];
- var E = this.h[4];
- var Ah = A;
- var Bh = B;
- var Ch = C;
- var Dh = D;
- var Eh = E;
- for (var j = 0; j < 80; j++) {
- var T = sum32(
- rotl32(sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)), s[j]),
- E
- );
- A = E;
- E = D;
- D = rotl32(C, 10);
- C = B;
- B = T;
- T = sum32(
- rotl32(
- sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),
- sh[j]
- ),
- Eh
- );
- Ah = Eh;
- Eh = Dh;
- Dh = rotl32(Ch, 10);
- Ch = Bh;
- Bh = T;
- }
- T = sum32_3(this.h[1], C, Dh);
- this.h[1] = sum32_3(this.h[2], D, Eh);
- this.h[2] = sum32_3(this.h[3], E, Ah);
- this.h[3] = sum32_3(this.h[4], A, Bh);
- this.h[4] = sum32_3(this.h[0], B, Ch);
- this.h[0] = T;
- };
- RIPEMD160.prototype._digest = function digest(enc) {
- if (enc === "hex") return utils.toHex32(this.h, "little");
- else return utils.split32(this.h, "little");
- };
- function f(j, x, y, z) {
- if (j <= 15) return x ^ y ^ z;
- else if (j <= 31) return (x & y) | (~x & z);
- else if (j <= 47) return (x | ~y) ^ z;
- else if (j <= 63) return (x & z) | (y & ~z);
- else return x ^ (y | ~z);
- }
- function K(j) {
- if (j <= 15) return 0x00000000;
- else if (j <= 31) return 0x5a827999;
- else if (j <= 47) return 0x6ed9eba1;
- else if (j <= 63) return 0x8f1bbcdc;
- else return 0xa953fd4e;
- }
- function Kh(j) {
- if (j <= 15) return 0x50a28be6;
- else if (j <= 31) return 0x5c4dd124;
- else if (j <= 47) return 0x6d703ef3;
- else if (j <= 63) return 0x7a6d76e9;
- else return 0x00000000;
- }
- var r = [
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10,
- 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7,
- 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5,
- 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13,
- ];
- var rh = [
- 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0,
- 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8,
- 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10,
- 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11,
- ];
- var s = [
- 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13,
- 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13,
- 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5,
- 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5,
- 6,
- ];
- var sh = [
- 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7,
- 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14,
- 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9,
- 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11,
- ];
- },
- { "./common": 94, "./utils": 104 },
- ],
- 97: [
- function (require, module, exports) {
- "use strict";
- exports.sha1 = require("./sha/1.js");
- exports.sha224 = require("./sha/224.js");
- exports.sha256 = require("./sha/256.js");
- exports.sha384 = require("./sha/384.js");
- exports.sha512 = require("./sha/512.js");
- },
- {
- "./sha/1": 98,
- "./sha/224": 99,
- "./sha/256": 100,
- "./sha/384": 101,
- "./sha/512": 102,
- },
- ],
- 98: [
- function (require, module, exports) {
- "use strict";
- var utils = require("../utils.js");
- var common = require("../common.js");
- var shaCommon = require("./common.js");
- var rotl32 = utils.rotl32;
- var sum32 = utils.sum32;
- var sum32_5 = utils.sum32_5;
- var ft_1 = shaCommon.ft_1;
- var BlockHash = common.BlockHash;
- var sha1_K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];
- function SHA1() {
- if (!(this instanceof SHA1)) return new SHA1();
- BlockHash.call(this);
- this.h = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];
- this.W = new Array(80);
- }
- utils.inherits(SHA1, BlockHash);
- module.exports = SHA1;
- SHA1.blockSize = 512;
- SHA1.outSize = 160;
- SHA1.hmacStrength = 80;
- SHA1.padLength = 64;
- SHA1.prototype._update = function _update(msg, start) {
- var W = this.W;
- for (var i = 0; i < 16; i++) W[i] = msg[start + i];
- for (; i < W.length; i++)
- W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);
- var a = this.h[0];
- var b = this.h[1];
- var c = this.h[2];
- var d = this.h[3];
- var e = this.h[4];
- for (i = 0; i < W.length; i++) {
- var s = ~~(i / 20);
- var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);
- e = d;
- d = c;
- c = rotl32(b, 30);
- b = a;
- a = t;
- }
- this.h[0] = sum32(this.h[0], a);
- this.h[1] = sum32(this.h[1], b);
- this.h[2] = sum32(this.h[2], c);
- this.h[3] = sum32(this.h[3], d);
- this.h[4] = sum32(this.h[4], e);
- };
- SHA1.prototype._digest = function digest(enc) {
- if (enc === "hex") return utils.toHex32(this.h, "big");
- else return utils.split32(this.h, "big");
- };
- },
- { "../common": 94, "../utils": 104, "./common": 103 },
- ],
- 99: [
- function (require, module, exports) {
- "use strict";
- var utils = require("../utils.js");
- var SHA256 = require("./256.js");
- function SHA224() {
- if (!(this instanceof SHA224)) return new SHA224();
- SHA256.call(this);
- this.h = [
- 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31,
- 0x68581511, 0x64f98fa7, 0xbefa4fa4,
- ];
- }
- utils.inherits(SHA224, SHA256);
- module.exports = SHA224;
- SHA224.blockSize = 512;
- SHA224.outSize = 224;
- SHA224.hmacStrength = 192;
- SHA224.padLength = 64;
- SHA224.prototype._digest = function digest(enc) {
- // Just truncate output
- if (enc === "hex") return utils.toHex32(this.h.slice(0, 7), "big");
- else return utils.split32(this.h.slice(0, 7), "big");
- };
- },
- { "../utils": 104, "./256": 100 },
- ],
- 100: [
- function (require, module, exports) {
- "use strict";
- var utils = require("../utils.js");
- var common = require("../common.js");
- var shaCommon = require("./common.js");
- var assert = require("minimalistic-assert");
- var sum32 = utils.sum32;
- var sum32_4 = utils.sum32_4;
- var sum32_5 = utils.sum32_5;
- var ch32 = shaCommon.ch32;
- var maj32 = shaCommon.maj32;
- var s0_256 = shaCommon.s0_256;
- var s1_256 = shaCommon.s1_256;
- var g0_256 = shaCommon.g0_256;
- var g1_256 = shaCommon.g1_256;
- var BlockHash = common.BlockHash;
- var sha256_K = [
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,
- 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,
- 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,
- 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
- 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,
- 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
- 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,
- 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
- 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,
- 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,
- 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,
- 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
- 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
- ];
- function SHA256() {
- if (!(this instanceof SHA256)) return new SHA256();
- BlockHash.call(this);
- this.h = [
- 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f,
- 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
- ];
- this.k = sha256_K;
- this.W = new Array(64);
- }
- utils.inherits(SHA256, BlockHash);
- module.exports = SHA256;
- SHA256.blockSize = 512;
- SHA256.outSize = 256;
- SHA256.hmacStrength = 192;
- SHA256.padLength = 64;
- SHA256.prototype._update = function _update(msg, start) {
- var W = this.W;
- for (var i = 0; i < 16; i++) W[i] = msg[start + i];
- for (; i < W.length; i++)
- W[i] = sum32_4(
- g1_256(W[i - 2]),
- W[i - 7],
- g0_256(W[i - 15]),
- W[i - 16]
- );
- var a = this.h[0];
- var b = this.h[1];
- var c = this.h[2];
- var d = this.h[3];
- var e = this.h[4];
- var f = this.h[5];
- var g = this.h[6];
- var h = this.h[7];
- assert(this.k.length === W.length);
- for (i = 0; i < W.length; i++) {
- var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);
- var T2 = sum32(s0_256(a), maj32(a, b, c));
- h = g;
- g = f;
- f = e;
- e = sum32(d, T1);
- d = c;
- c = b;
- b = a;
- a = sum32(T1, T2);
- }
- this.h[0] = sum32(this.h[0], a);
- this.h[1] = sum32(this.h[1], b);
- this.h[2] = sum32(this.h[2], c);
- this.h[3] = sum32(this.h[3], d);
- this.h[4] = sum32(this.h[4], e);
- this.h[5] = sum32(this.h[5], f);
- this.h[6] = sum32(this.h[6], g);
- this.h[7] = sum32(this.h[7], h);
- };
- SHA256.prototype._digest = function digest(enc) {
- if (enc === "hex") return utils.toHex32(this.h, "big");
- else return utils.split32(this.h, "big");
- };
- },
- {
- "../common": 94,
- "../utils": 104,
- "./common": 103,
- "minimalistic-assert": 112,
- },
- ],
- 101: [
- function (require, module, exports) {
- "use strict";
- var utils = require("../utils.js");
- var SHA512 = require("./512.js");
- function SHA384() {
- if (!(this instanceof SHA384)) return new SHA384();
- SHA512.call(this);
- this.h = [
- 0xcbbb9d5d, 0xc1059ed8, 0x629a292a, 0x367cd507, 0x9159015a,
- 0x3070dd17, 0x152fecd8, 0xf70e5939, 0x67332667, 0xffc00b31,
- 0x8eb44a87, 0x68581511, 0xdb0c2e0d, 0x64f98fa7, 0x47b5481d,
- 0xbefa4fa4,
- ];
- }
- utils.inherits(SHA384, SHA512);
- module.exports = SHA384;
- SHA384.blockSize = 1024;
- SHA384.outSize = 384;
- SHA384.hmacStrength = 192;
- SHA384.padLength = 128;
- SHA384.prototype._digest = function digest(enc) {
- if (enc === "hex") return utils.toHex32(this.h.slice(0, 12), "big");
- else return utils.split32(this.h.slice(0, 12), "big");
- };
- },
- { "../utils": 104, "./512": 102 },
- ],
- 102: [
- function (require, module, exports) {
- "use strict";
- var utils = require("../utils.js");
- var common = require("../common.js");
- var assert = require("minimalistic-assert");
- var rotr64_hi = utils.rotr64_hi;
- var rotr64_lo = utils.rotr64_lo;
- var shr64_hi = utils.shr64_hi;
- var shr64_lo = utils.shr64_lo;
- var sum64 = utils.sum64;
- var sum64_hi = utils.sum64_hi;
- var sum64_lo = utils.sum64_lo;
- var sum64_4_hi = utils.sum64_4_hi;
- var sum64_4_lo = utils.sum64_4_lo;
- var sum64_5_hi = utils.sum64_5_hi;
- var sum64_5_lo = utils.sum64_5_lo;
- var BlockHash = common.BlockHash;
- var sha512_K = [
- 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf,
- 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538,
- 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5,
- 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
- 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74,
- 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235,
- 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786,
- 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
- 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc,
- 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab,
- 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7,
- 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
- 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85,
- 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed,
- 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb,
- 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
- 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70,
- 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218,
- 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070,
- 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
- 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3,
- 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373,
- 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f,
- 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
- 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7,
- 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c,
- 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f,
- 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
- 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5,
- 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc,
- 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c,
- 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817,
- ];
- function SHA512() {
- if (!(this instanceof SHA512)) return new SHA512();
- BlockHash.call(this);
- this.h = [
- 0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372,
- 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1, 0x510e527f, 0xade682d1,
- 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19,
- 0x137e2179,
- ];
- this.k = sha512_K;
- this.W = new Array(160);
- }
- utils.inherits(SHA512, BlockHash);
- module.exports = SHA512;
- SHA512.blockSize = 1024;
- SHA512.outSize = 512;
- SHA512.hmacStrength = 192;
- SHA512.padLength = 128;
- SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {
- var W = this.W;
- // 32 x 32bit words
- for (var i = 0; i < 32; i++) W[i] = msg[start + i];
- for (; i < W.length; i += 2) {
- var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2
- var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);
- var c1_hi = W[i - 14]; // i - 7
- var c1_lo = W[i - 13];
- var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15
- var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);
- var c3_hi = W[i - 32]; // i - 16
- var c3_lo = W[i - 31];
- W[i] = sum64_4_hi(
- c0_hi,
- c0_lo,
- c1_hi,
- c1_lo,
- c2_hi,
- c2_lo,
- c3_hi,
- c3_lo
- );
- W[i + 1] = sum64_4_lo(
- c0_hi,
- c0_lo,
- c1_hi,
- c1_lo,
- c2_hi,
- c2_lo,
- c3_hi,
- c3_lo
- );
- }
- };
- SHA512.prototype._update = function _update(msg, start) {
- this._prepareBlock(msg, start);
- var W = this.W;
- var ah = this.h[0];
- var al = this.h[1];
- var bh = this.h[2];
- var bl = this.h[3];
- var ch = this.h[4];
- var cl = this.h[5];
- var dh = this.h[6];
- var dl = this.h[7];
- var eh = this.h[8];
- var el = this.h[9];
- var fh = this.h[10];
- var fl = this.h[11];
- var gh = this.h[12];
- var gl = this.h[13];
- var hh = this.h[14];
- var hl = this.h[15];
- assert(this.k.length === W.length);
- for (var i = 0; i < W.length; i += 2) {
- var c0_hi = hh;
- var c0_lo = hl;
- var c1_hi = s1_512_hi(eh, el);
- var c1_lo = s1_512_lo(eh, el);
- var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);
- var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);
- var c3_hi = this.k[i];
- var c3_lo = this.k[i + 1];
- var c4_hi = W[i];
- var c4_lo = W[i + 1];
- var T1_hi = sum64_5_hi(
- c0_hi,
- c0_lo,
- c1_hi,
- c1_lo,
- c2_hi,
- c2_lo,
- c3_hi,
- c3_lo,
- c4_hi,
- c4_lo
- );
- var T1_lo = sum64_5_lo(
- c0_hi,
- c0_lo,
- c1_hi,
- c1_lo,
- c2_hi,
- c2_lo,
- c3_hi,
- c3_lo,
- c4_hi,
- c4_lo
- );
- c0_hi = s0_512_hi(ah, al);
- c0_lo = s0_512_lo(ah, al);
- c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);
- c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);
- var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);
- var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);
- hh = gh;
- hl = gl;
- gh = fh;
- gl = fl;
- fh = eh;
- fl = el;
- eh = sum64_hi(dh, dl, T1_hi, T1_lo);
- el = sum64_lo(dl, dl, T1_hi, T1_lo);
- dh = ch;
- dl = cl;
- ch = bh;
- cl = bl;
- bh = ah;
- bl = al;
- ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);
- al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);
- }
- sum64(this.h, 0, ah, al);
- sum64(this.h, 2, bh, bl);
- sum64(this.h, 4, ch, cl);
- sum64(this.h, 6, dh, dl);
- sum64(this.h, 8, eh, el);
- sum64(this.h, 10, fh, fl);
- sum64(this.h, 12, gh, gl);
- sum64(this.h, 14, hh, hl);
- };
- SHA512.prototype._digest = function digest(enc) {
- if (enc === "hex") return utils.toHex32(this.h, "big");
- else return utils.split32(this.h, "big");
- };
- function ch64_hi(xh, xl, yh, yl, zh) {
- var r = (xh & yh) ^ (~xh & zh);
- if (r < 0) r += 0x100000000;
- return r;
- }
- function ch64_lo(xh, xl, yh, yl, zh, zl) {
- var r = (xl & yl) ^ (~xl & zl);
- if (r < 0) r += 0x100000000;
- return r;
- }
- function maj64_hi(xh, xl, yh, yl, zh) {
- var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);
- if (r < 0) r += 0x100000000;
- return r;
- }
- function maj64_lo(xh, xl, yh, yl, zh, zl) {
- var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);
- if (r < 0) r += 0x100000000;
- return r;
- }
- function s0_512_hi(xh, xl) {
- var c0_hi = rotr64_hi(xh, xl, 28);
- var c1_hi = rotr64_hi(xl, xh, 2); // 34
- var c2_hi = rotr64_hi(xl, xh, 7); // 39
- var r = c0_hi ^ c1_hi ^ c2_hi;
- if (r < 0) r += 0x100000000;
- return r;
- }
- function s0_512_lo(xh, xl) {
- var c0_lo = rotr64_lo(xh, xl, 28);
- var c1_lo = rotr64_lo(xl, xh, 2); // 34
- var c2_lo = rotr64_lo(xl, xh, 7); // 39
- var r = c0_lo ^ c1_lo ^ c2_lo;
- if (r < 0) r += 0x100000000;
- return r;
- }
- function s1_512_hi(xh, xl) {
- var c0_hi = rotr64_hi(xh, xl, 14);
- var c1_hi = rotr64_hi(xh, xl, 18);
- var c2_hi = rotr64_hi(xl, xh, 9); // 41
- var r = c0_hi ^ c1_hi ^ c2_hi;
- if (r < 0) r += 0x100000000;
- return r;
- }
- function s1_512_lo(xh, xl) {
- var c0_lo = rotr64_lo(xh, xl, 14);
- var c1_lo = rotr64_lo(xh, xl, 18);
- var c2_lo = rotr64_lo(xl, xh, 9); // 41
- var r = c0_lo ^ c1_lo ^ c2_lo;
- if (r < 0) r += 0x100000000;
- return r;
- }
- function g0_512_hi(xh, xl) {
- var c0_hi = rotr64_hi(xh, xl, 1);
- var c1_hi = rotr64_hi(xh, xl, 8);
- var c2_hi = shr64_hi(xh, xl, 7);
- var r = c0_hi ^ c1_hi ^ c2_hi;
- if (r < 0) r += 0x100000000;
- return r;
- }
- function g0_512_lo(xh, xl) {
- var c0_lo = rotr64_lo(xh, xl, 1);
- var c1_lo = rotr64_lo(xh, xl, 8);
- var c2_lo = shr64_lo(xh, xl, 7);
- var r = c0_lo ^ c1_lo ^ c2_lo;
- if (r < 0) r += 0x100000000;
- return r;
- }
- function g1_512_hi(xh, xl) {
- var c0_hi = rotr64_hi(xh, xl, 19);
- var c1_hi = rotr64_hi(xl, xh, 29); // 61
- var c2_hi = shr64_hi(xh, xl, 6);
- var r = c0_hi ^ c1_hi ^ c2_hi;
- if (r < 0) r += 0x100000000;
- return r;
- }
- function g1_512_lo(xh, xl) {
- var c0_lo = rotr64_lo(xh, xl, 19);
- var c1_lo = rotr64_lo(xl, xh, 29); // 61
- var c2_lo = shr64_lo(xh, xl, 6);
- var r = c0_lo ^ c1_lo ^ c2_lo;
- if (r < 0) r += 0x100000000;
- return r;
- }
- },
- { "../common": 94, "../utils": 104, "minimalistic-assert": 112 },
- ],
- 103: [
- function (require, module, exports) {
- "use strict";
- var utils = require("../utils.js");
- var rotr32 = utils.rotr32;
- function ft_1(s, x, y, z) {
- if (s === 0) return ch32(x, y, z);
- if (s === 1 || s === 3) return p32(x, y, z);
- if (s === 2) return maj32(x, y, z);
- }
- exports.ft_1 = ft_1;
- function ch32(x, y, z) {
- return (x & y) ^ (~x & z);
- }
- exports.ch32 = ch32;
- function maj32(x, y, z) {
- return (x & y) ^ (x & z) ^ (y & z);
- }
- exports.maj32 = maj32;
- function p32(x, y, z) {
- return x ^ y ^ z;
- }
- exports.p32 = p32;
- function s0_256(x) {
- return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);
- }
- exports.s0_256 = s0_256;
- function s1_256(x) {
- return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);
- }
- exports.s1_256 = s1_256;
- function g0_256(x) {
- return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);
- }
- exports.g0_256 = g0_256;
- function g1_256(x) {
- return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);
- }
- exports.g1_256 = g1_256;
- },
- { "../utils": 104 },
- ],
- 104: [
- function (require, module, exports) {
- "use strict";
- var assert = require("minimalistic-assert");
- var inherits = require("inherits");
- exports.inherits = inherits;
- function toArray(msg, enc) {
- if (Array.isArray(msg)) return msg.slice();
- if (!msg) return [];
- var res = [];
- if (typeof msg === "string") {
- if (!enc) {
- for (var i = 0; i < msg.length; i++) {
- var c = msg.charCodeAt(i);
- var hi = c >> 8;
- var lo = c & 0xff;
- if (hi) res.push(hi, lo);
- else res.push(lo);
- }
- } else if (enc === "hex") {
- msg = msg.replace(/[^a-z0-9]+/gi, "");
- if (msg.length % 2 !== 0) msg = "0" + msg;
- for (i = 0; i < msg.length; i += 2)
- res.push(parseInt(msg[i] + msg[i + 1], 16));
- }
- } else {
- for (i = 0; i < msg.length; i++) res[i] = msg[i] | 0;
- }
- return res;
- }
- exports.toArray = toArray;
- function toHex(msg) {
- var res = "";
- for (var i = 0; i < msg.length; i++)
- res += zero2(msg[i].toString(16));
- return res;
- }
- exports.toHex = toHex;
- function htonl(w) {
- var res =
- (w >>> 24) |
- ((w >>> 8) & 0xff00) |
- ((w << 8) & 0xff0000) |
- ((w & 0xff) << 24);
- return res >>> 0;
- }
- exports.htonl = htonl;
- function toHex32(msg, endian) {
- var res = "";
- for (var i = 0; i < msg.length; i++) {
- var w = msg[i];
- if (endian === "little") w = htonl(w);
- res += zero8(w.toString(16));
- }
- return res;
- }
- exports.toHex32 = toHex32;
- function zero2(word) {
- if (word.length === 1) return "0" + word;
- else return word;
- }
- exports.zero2 = zero2;
- function zero8(word) {
- if (word.length === 7) return "0" + word;
- else if (word.length === 6) return "00" + word;
- else if (word.length === 5) return "000" + word;
- else if (word.length === 4) return "0000" + word;
- else if (word.length === 3) return "00000" + word;
- else if (word.length === 2) return "000000" + word;
- else if (word.length === 1) return "0000000" + word;
- else return word;
- }
- exports.zero8 = zero8;
- function join32(msg, start, end, endian) {
- var len = end - start;
- assert(len % 4 === 0);
- var res = new Array(len / 4);
- for (var i = 0, k = start; i < res.length; i++, k += 4) {
- var w;
- if (endian === "big")
- w =
- (msg[k] << 24) |
- (msg[k + 1] << 16) |
- (msg[k + 2] << 8) |
- msg[k + 3];
- else
- w =
- (msg[k + 3] << 24) |
- (msg[k + 2] << 16) |
- (msg[k + 1] << 8) |
- msg[k];
- res[i] = w >>> 0;
- }
- return res;
- }
- exports.join32 = join32;
- function split32(msg, endian) {
- var res = new Array(msg.length * 4);
- for (var i = 0, k = 0; i < msg.length; i++, k += 4) {
- var m = msg[i];
- if (endian === "big") {
- res[k] = m >>> 24;
- res[k + 1] = (m >>> 16) & 0xff;
- res[k + 2] = (m >>> 8) & 0xff;
- res[k + 3] = m & 0xff;
- } else {
- res[k + 3] = m >>> 24;
- res[k + 2] = (m >>> 16) & 0xff;
- res[k + 1] = (m >>> 8) & 0xff;
- res[k] = m & 0xff;
- }
- }
- return res;
- }
- exports.split32 = split32;
- function rotr32(w, b) {
- return (w >>> b) | (w << (32 - b));
- }
- exports.rotr32 = rotr32;
- function rotl32(w, b) {
- return (w << b) | (w >>> (32 - b));
- }
- exports.rotl32 = rotl32;
- function sum32(a, b) {
- return (a + b) >>> 0;
- }
- exports.sum32 = sum32;
- function sum32_3(a, b, c) {
- return (a + b + c) >>> 0;
- }
- exports.sum32_3 = sum32_3;
- function sum32_4(a, b, c, d) {
- return (a + b + c + d) >>> 0;
- }
- exports.sum32_4 = sum32_4;
- function sum32_5(a, b, c, d, e) {
- return (a + b + c + d + e) >>> 0;
- }
- exports.sum32_5 = sum32_5;
- function sum64(buf, pos, ah, al) {
- var bh = buf[pos];
- var bl = buf[pos + 1];
- var lo = (al + bl) >>> 0;
- var hi = (lo < al ? 1 : 0) + ah + bh;
- buf[pos] = hi >>> 0;
- buf[pos + 1] = lo;
- }
- exports.sum64 = sum64;
- function sum64_hi(ah, al, bh, bl) {
- var lo = (al + bl) >>> 0;
- var hi = (lo < al ? 1 : 0) + ah + bh;
- return hi >>> 0;
- }
- exports.sum64_hi = sum64_hi;
- function sum64_lo(ah, al, bh, bl) {
- var lo = al + bl;
- return lo >>> 0;
- }
- exports.sum64_lo = sum64_lo;
- function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {
- var carry = 0;
- var lo = al;
- lo = (lo + bl) >>> 0;
- carry += lo < al ? 1 : 0;
- lo = (lo + cl) >>> 0;
- carry += lo < cl ? 1 : 0;
- lo = (lo + dl) >>> 0;
- carry += lo < dl ? 1 : 0;
- var hi = ah + bh + ch + dh + carry;
- return hi >>> 0;
- }
- exports.sum64_4_hi = sum64_4_hi;
- function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {
- var lo = al + bl + cl + dl;
- return lo >>> 0;
- }
- exports.sum64_4_lo = sum64_4_lo;
- function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
- var carry = 0;
- var lo = al;
- lo = (lo + bl) >>> 0;
- carry += lo < al ? 1 : 0;
- lo = (lo + cl) >>> 0;
- carry += lo < cl ? 1 : 0;
- lo = (lo + dl) >>> 0;
- carry += lo < dl ? 1 : 0;
- lo = (lo + el) >>> 0;
- carry += lo < el ? 1 : 0;
- var hi = ah + bh + ch + dh + eh + carry;
- return hi >>> 0;
- }
- exports.sum64_5_hi = sum64_5_hi;
- function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
- var lo = al + bl + cl + dl + el;
- return lo >>> 0;
- }
- exports.sum64_5_lo = sum64_5_lo;
- function rotr64_hi(ah, al, num) {
- var r = (al << (32 - num)) | (ah >>> num);
- return r >>> 0;
- }
- exports.rotr64_hi = rotr64_hi;
- function rotr64_lo(ah, al, num) {
- var r = (ah << (32 - num)) | (al >>> num);
- return r >>> 0;
- }
- exports.rotr64_lo = rotr64_lo;
- function shr64_hi(ah, al, num) {
- return ah >>> num;
- }
- exports.shr64_hi = shr64_hi;
- function shr64_lo(ah, al, num) {
- var r = (ah << (32 - num)) | (al >>> num);
- return r >>> 0;
- }
- exports.shr64_lo = shr64_lo;
- },
- { inherits: 108, "minimalistic-assert": 112 },
- ],
- 105: [
- function (require, module, exports) {
- "use strict";
- var hash = require("hash.js");
- var utils = require("minimalistic-crypto-utils");
- var assert = require("minimalistic-assert");
- function HmacDRBG(options) {
- if (!(this instanceof HmacDRBG)) return new HmacDRBG(options);
- this.hash = options.hash;
- this.predResist = !!options.predResist;
- this.outLen = this.hash.outSize;
- this.minEntropy = options.minEntropy || this.hash.hmacStrength;
- this._reseed = null;
- this.reseedInterval = null;
- this.K = null;
- this.V = null;
- var entropy = utils.toArray(
- options.entropy,
- options.entropyEnc || "hex"
- );
- var nonce = utils.toArray(options.nonce, options.nonceEnc || "hex");
- var pers = utils.toArray(options.pers, options.persEnc || "hex");
- assert(
- entropy.length >= this.minEntropy / 8,
- "Not enough entropy. Minimum is: " + this.minEntropy + " bits"
- );
- this._init(entropy, nonce, pers);
- }
- module.exports = HmacDRBG;
- HmacDRBG.prototype._init = function init(entropy, nonce, pers) {
- var seed = entropy.concat(nonce).concat(pers);
- this.K = new Array(this.outLen / 8);
- this.V = new Array(this.outLen / 8);
- for (var i = 0; i < this.V.length; i++) {
- this.K[i] = 0x00;
- this.V[i] = 0x01;
- }
- this._update(seed);
- this._reseed = 1;
- this.reseedInterval = 0x1000000000000; // 2^48
- };
- HmacDRBG.prototype._hmac = function hmac() {
- return new hash.hmac(this.hash, this.K);
- };
- HmacDRBG.prototype._update = function update(seed) {
- var kmac = this._hmac().update(this.V).update([0x00]);
- if (seed) kmac = kmac.update(seed);
- this.K = kmac.digest();
- this.V = this._hmac().update(this.V).digest();
- if (!seed) return;
- this.K = this._hmac()
- .update(this.V)
- .update([0x01])
- .update(seed)
- .digest();
- this.V = this._hmac().update(this.V).digest();
- };
- HmacDRBG.prototype.reseed = function reseed(
- entropy,
- entropyEnc,
- add,
- addEnc
- ) {
- // Optional entropy enc
- if (typeof entropyEnc !== "string") {
- addEnc = add;
- add = entropyEnc;
- entropyEnc = null;
- }
- entropy = utils.toArray(entropy, entropyEnc);
- add = utils.toArray(add, addEnc);
- assert(
- entropy.length >= this.minEntropy / 8,
- "Not enough entropy. Minimum is: " + this.minEntropy + " bits"
- );
- this._update(entropy.concat(add || []));
- this._reseed = 1;
- };
- HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {
- if (this._reseed > this.reseedInterval)
- throw new Error("Reseed is required");
- // Optional encoding
- if (typeof enc !== "string") {
- addEnc = add;
- add = enc;
- enc = null;
- }
- // Optional additional data
- if (add) {
- add = utils.toArray(add, addEnc || "hex");
- this._update(add);
- }
- var temp = [];
- while (temp.length < len) {
- this.V = this._hmac().update(this.V).digest();
- temp = temp.concat(this.V);
- }
- var res = temp.slice(0, len);
- this._update(add);
- this._reseed++;
- return utils.encode(res, enc);
- };
- },
- {
- "hash.js": 93,
- "minimalistic-assert": 112,
- "minimalistic-crypto-utils": 113,
- },
- ],
- 106: [
- function (require, module, exports) {
- exports.read = function (buffer, offset, isLE, mLen, nBytes) {
- var e, m;
- var eLen = nBytes * 8 - mLen - 1;
- var eMax = (1 << eLen) - 1;
- var eBias = eMax >> 1;
- var nBits = -7;
- var i = isLE ? nBytes - 1 : 0;
- var d = isLE ? -1 : 1;
- var s = buffer[offset + i];
- i += d;
- e = s & ((1 << -nBits) - 1);
- s >>= -nBits;
- nBits += eLen;
- for (
- ;
- nBits > 0;
- e = e * 256 + buffer[offset + i], i += d, nBits -= 8
- ) {}
- m = e & ((1 << -nBits) - 1);
- e >>= -nBits;
- nBits += mLen;
- for (
- ;
- nBits > 0;
- m = m * 256 + buffer[offset + i], i += d, nBits -= 8
- ) {}
- if (e === 0) {
- e = 1 - eBias;
- } else if (e === eMax) {
- return m ? NaN : (s ? -1 : 1) * Infinity;
- } else {
- m = m + Math.pow(2, mLen);
- e = e - eBias;
- }
- return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
- };
- exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
- var e, m, c;
- var eLen = nBytes * 8 - mLen - 1;
- var eMax = (1 << eLen) - 1;
- var eBias = eMax >> 1;
- var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
- var i = isLE ? 0 : nBytes - 1;
- var d = isLE ? 1 : -1;
- var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
- value = Math.abs(value);
- if (isNaN(value) || value === Infinity) {
- m = isNaN(value) ? 1 : 0;
- e = eMax;
- } else {
- e = Math.floor(Math.log(value) / Math.LN2);
- if (value * (c = Math.pow(2, -e)) < 1) {
- e--;
- c *= 2;
- }
- if (e + eBias >= 1) {
- value += rt / c;
- } else {
- value += rt * Math.pow(2, 1 - eBias);
- }
- if (value * c >= 2) {
- e++;
- c /= 2;
- }
- if (e + eBias >= eMax) {
- m = 0;
- e = eMax;
- } else if (e + eBias >= 1) {
- m = (value * c - 1) * Math.pow(2, mLen);
- e = e + eBias;
- } else {
- m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
- e = 0;
- }
- }
- for (
- ;
- mLen >= 8;
- buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8
- ) {}
- e = (e << mLen) | m;
- eLen += mLen;
- for (
- ;
- eLen > 0;
- buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8
- ) {}
- buffer[offset + i - d] |= s * 128;
- };
- },
- {},
- ],
- 107: [
- function (require, module, exports) {
- var indexOf = [].indexOf;
- module.exports = function (arr, obj) {
- if (indexOf) return arr.indexOf(obj);
- for (var i = 0; i < arr.length; ++i) {
- if (arr[i] === obj) return i;
- }
- return -1;
- };
- },
- {},
- ],
- 108: [
- function (require, module, exports) {
- if (typeof Object.create === "function") {
- // implementation from standard node.js 'util' module
- module.exports = function inherits(ctor, superCtor) {
- ctor.super_ = superCtor;
- ctor.prototype = Object.create(superCtor.prototype, {
- constructor: {
- value: ctor,
- enumerable: false,
- writable: true,
- configurable: true,
- },
- });
- };
- } else {
- // old school shim for old browsers
- module.exports = function inherits(ctor, superCtor) {
- ctor.super_ = superCtor;
- var TempCtor = function () {};
- TempCtor.prototype = superCtor.prototype;
- ctor.prototype = new TempCtor();
- ctor.prototype.constructor = ctor;
- };
- }
- },
- {},
- ],
- 109: [
- function (require, module, exports) {
- /*!
- * Determine if an object is a Buffer
- *
- * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
- * @license MIT
- */
- // The _isBuffer check is for Safari 5-7 support, because it's missing
- // Object.prototype.constructor. Remove this eventually
- module.exports = function (obj) {
- return (
- obj != null &&
- (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
- );
- };
- function isBuffer(obj) {
- return (
- !!obj.constructor &&
- typeof obj.constructor.isBuffer === "function" &&
- obj.constructor.isBuffer(obj)
- );
- }
- // For Node v0.10 support. Remove this eventually.
- function isSlowBuffer(obj) {
- return (
- typeof obj.readFloatLE === "function" &&
- typeof obj.slice === "function" &&
- isBuffer(obj.slice(0, 0))
- );
- }
- },
- {},
- ],
- 110: [
- function (require, module, exports) {
- var toString = {}.toString;
- module.exports =
- Array.isArray ||
- function (arr) {
- return toString.call(arr) == "[object Array]";
- };
- },
- {},
- ],
- 111: [
- function (require, module, exports) {
- var bn = require("bn.js");
- var brorand = require("brorand");
- function MillerRabin(rand) {
- this.rand = rand || new brorand.Rand();
- }
- module.exports = MillerRabin;
- MillerRabin.create = function create(rand) {
- return new MillerRabin(rand);
- };
- MillerRabin.prototype._rand = function _rand(n) {
- var len = n.bitLength();
- var buf = this.rand.generate(Math.ceil(len / 8));
- // Set low bits
- buf[0] |= 3;
- // Mask high bits
- var mask = len & 0x7;
- if (mask !== 0) buf[buf.length - 1] >>= 7 - mask;
- return new bn(buf);
- };
- MillerRabin.prototype.test = function test(n, k, cb) {
- var len = n.bitLength();
- var red = bn.mont(n);
- var rone = new bn(1).toRed(red);
- if (!k) k = Math.max(1, (len / 48) | 0);
- // Find d and s, (n - 1) = (2 ^ s) * d;
- var n1 = n.subn(1);
- var n2 = n1.subn(1);
- for (var s = 0; !n1.testn(s); s++) {}
- var d = n.shrn(s);
- var rn1 = n1.toRed(red);
- var prime = true;
- for (; k > 0; k--) {
- var a = this._rand(n2);
- if (cb) cb(a);
- var x = a.toRed(red).redPow(d);
- if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) continue;
- for (var i = 1; i < s; i++) {
- x = x.redSqr();
- if (x.cmp(rone) === 0) return false;
- if (x.cmp(rn1) === 0) break;
- }
- if (i === s) return false;
- }
- return prime;
- };
- MillerRabin.prototype.getDivisor = function getDivisor(n, k) {
- var len = n.bitLength();
- var red = bn.mont(n);
- var rone = new bn(1).toRed(red);
- if (!k) k = Math.max(1, (len / 48) | 0);
- // Find d and s, (n - 1) = (2 ^ s) * d;
- var n1 = n.subn(1);
- var n2 = n1.subn(1);
- for (var s = 0; !n1.testn(s); s++) {}
- var d = n.shrn(s);
- var rn1 = n1.toRed(red);
- for (; k > 0; k--) {
- var a = this._rand(n2);
- var g = n.gcd(a);
- if (g.cmpn(1) !== 0) return g;
- var x = a.toRed(red).redPow(d);
- if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) continue;
- for (var i = 1; i < s; i++) {
- x = x.redSqr();
- if (x.cmp(rone) === 0) return x.fromRed().subn(1).gcd(n);
- if (x.cmp(rn1) === 0) break;
- }
- if (i === s) {
- x = x.redSqr();
- return x.fromRed().subn(1).gcd(n);
- }
- }
- return false;
- };
- },
- { "bn.js": 25, brorand: 26 },
- ],
- 112: [
- function (require, module, exports) {
- module.exports = assert;
- function assert(val, msg) {
- if (!val) throw new Error(msg || "Assertion failed");
- }
- assert.equal = function assertEqual(l, r, msg) {
- if (l != r)
- throw new Error(msg || "Assertion failed: " + l + " != " + r);
- };
- },
- {},
- ],
- 113: [
- function (require, module, exports) {
- "use strict";
- var utils = exports;
- function toArray(msg, enc) {
- if (Array.isArray(msg)) return msg.slice();
- if (!msg) return [];
- var res = [];
- if (typeof msg !== "string") {
- for (var i = 0; i < msg.length; i++) res[i] = msg[i] | 0;
- return res;
- }
- if (enc === "hex") {
- msg = msg.replace(/[^a-z0-9]+/gi, "");
- if (msg.length % 2 !== 0) msg = "0" + msg;
- for (var i = 0; i < msg.length; i += 2)
- res.push(parseInt(msg[i] + msg[i + 1], 16));
- } else {
- for (var i = 0; i < msg.length; i++) {
- var c = msg.charCodeAt(i);
- var hi = c >> 8;
- var lo = c & 0xff;
- if (hi) res.push(hi, lo);
- else res.push(lo);
- }
- }
- return res;
- }
- utils.toArray = toArray;
- function zero2(word) {
- if (word.length === 1) return "0" + word;
- else return word;
- }
- utils.zero2 = zero2;
- function toHex(msg) {
- var res = "";
- for (var i = 0; i < msg.length; i++)
- res += zero2(msg[i].toString(16));
- return res;
- }
- utils.toHex = toHex;
- utils.encode = function encode(arr, enc) {
- if (enc === "hex") return toHex(arr);
- else return arr;
- };
- },
- {},
- ],
- 114: [
- function (require, module, exports) {
- module.exports = {
- "2.16.840.1.101.3.4.1.1": "aes-128-ecb",
- "2.16.840.1.101.3.4.1.2": "aes-128-cbc",
- "2.16.840.1.101.3.4.1.3": "aes-128-ofb",
- "2.16.840.1.101.3.4.1.4": "aes-128-cfb",
- "2.16.840.1.101.3.4.1.21": "aes-192-ecb",
- "2.16.840.1.101.3.4.1.22": "aes-192-cbc",
- "2.16.840.1.101.3.4.1.23": "aes-192-ofb",
- "2.16.840.1.101.3.4.1.24": "aes-192-cfb",
- "2.16.840.1.101.3.4.1.41": "aes-256-ecb",
- "2.16.840.1.101.3.4.1.42": "aes-256-cbc",
- "2.16.840.1.101.3.4.1.43": "aes-256-ofb",
- "2.16.840.1.101.3.4.1.44": "aes-256-cfb",
- };
- },
- {},
- ],
- 115: [
- function (require, module, exports) {
- // from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js
- // Fedor, you are amazing.
- "use strict";
- var asn1 = require("asn1.js");
- exports.certificate = require("./certificate.js");
- var RSAPrivateKey = asn1.define("RSAPrivateKey", function () {
- this.seq().obj(
- this.key("version").int(),
- this.key("modulus").int(),
- this.key("publicExponent").int(),
- this.key("privateExponent").int(),
- this.key("prime1").int(),
- this.key("prime2").int(),
- this.key("exponent1").int(),
- this.key("exponent2").int(),
- this.key("coefficient").int()
- );
- });
- exports.RSAPrivateKey = RSAPrivateKey;
- var RSAPublicKey = asn1.define("RSAPublicKey", function () {
- this.seq().obj(
- this.key("modulus").int(),
- this.key("publicExponent").int()
- );
- });
- exports.RSAPublicKey = RSAPublicKey;
- var PublicKey = asn1.define("SubjectPublicKeyInfo", function () {
- this.seq().obj(
- this.key("algorithm").use(AlgorithmIdentifier),
- this.key("subjectPublicKey").bitstr()
- );
- });
- exports.PublicKey = PublicKey;
- var AlgorithmIdentifier = asn1.define(
- "AlgorithmIdentifier",
- function () {
- this.seq().obj(
- this.key("algorithm").objid(),
- this.key("none").null_().optional(),
- this.key("curve").objid().optional(),
- this.key("params")
- .seq()
- .obj(
- this.key("p").int(),
- this.key("q").int(),
- this.key("g").int()
- )
- .optional()
- );
- }
- );
- var PrivateKeyInfo = asn1.define("PrivateKeyInfo", function () {
- this.seq().obj(
- this.key("version").int(),
- this.key("algorithm").use(AlgorithmIdentifier),
- this.key("subjectPrivateKey").octstr()
- );
- });
- exports.PrivateKey = PrivateKeyInfo;
- var EncryptedPrivateKeyInfo = asn1.define(
- "EncryptedPrivateKeyInfo",
- function () {
- this.seq().obj(
- this.key("algorithm")
- .seq()
- .obj(
- this.key("id").objid(),
- this.key("decrypt")
- .seq()
- .obj(
- this.key("kde")
- .seq()
- .obj(
- this.key("id").objid(),
- this.key("kdeparams")
- .seq()
- .obj(
- this.key("salt").octstr(),
- this.key("iters").int()
- )
- ),
- this.key("cipher")
- .seq()
- .obj(this.key("algo").objid(), this.key("iv").octstr())
- )
- ),
- this.key("subjectPrivateKey").octstr()
- );
- }
- );
- exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo;
- var DSAPrivateKey = asn1.define("DSAPrivateKey", function () {
- this.seq().obj(
- this.key("version").int(),
- this.key("p").int(),
- this.key("q").int(),
- this.key("g").int(),
- this.key("pub_key").int(),
- this.key("priv_key").int()
- );
- });
- exports.DSAPrivateKey = DSAPrivateKey;
- exports.DSAparam = asn1.define("DSAparam", function () {
- this.int();
- });
- var ECPrivateKey = asn1.define("ECPrivateKey", function () {
- this.seq().obj(
- this.key("version").int(),
- this.key("privateKey").octstr(),
- this.key("parameters").optional().explicit(0).use(ECParameters),
- this.key("publicKey").optional().explicit(1).bitstr()
- );
- });
- exports.ECPrivateKey = ECPrivateKey;
- var ECParameters = asn1.define("ECParameters", function () {
- this.choice({
- namedCurve: this.objid(),
- });
- });
- exports.signature = asn1.define("signature", function () {
- this.seq().obj(this.key("r").int(), this.key("s").int());
- });
- },
- { "./certificate": 116, "asn1.js": 10 },
- ],
- 116: [
- function (require, module, exports) {
- // from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js
- // thanks to @Rantanen
- "use strict";
- var asn = require("asn1.js");
- var Time = asn.define("Time", function () {
- this.choice({
- utcTime: this.utctime(),
- generalTime: this.gentime(),
- });
- });
- var AttributeTypeValue = asn.define("AttributeTypeValue", function () {
- this.seq().obj(this.key("type").objid(), this.key("value").any());
- });
- var AlgorithmIdentifier = asn.define(
- "AlgorithmIdentifier",
- function () {
- this.seq().obj(
- this.key("algorithm").objid(),
- this.key("parameters").optional()
- );
- }
- );
- var SubjectPublicKeyInfo = asn.define(
- "SubjectPublicKeyInfo",
- function () {
- this.seq().obj(
- this.key("algorithm").use(AlgorithmIdentifier),
- this.key("subjectPublicKey").bitstr()
- );
- }
- );
- var RelativeDistinguishedName = asn.define(
- "RelativeDistinguishedName",
- function () {
- this.setof(AttributeTypeValue);
- }
- );
- var RDNSequence = asn.define("RDNSequence", function () {
- this.seqof(RelativeDistinguishedName);
- });
- var Name = asn.define("Name", function () {
- this.choice({
- rdnSequence: this.use(RDNSequence),
- });
- });
- var Validity = asn.define("Validity", function () {
- this.seq().obj(
- this.key("notBefore").use(Time),
- this.key("notAfter").use(Time)
- );
- });
- var Extension = asn.define("Extension", function () {
- this.seq().obj(
- this.key("extnID").objid(),
- this.key("critical").bool().def(false),
- this.key("extnValue").octstr()
- );
- });
- var TBSCertificate = asn.define("TBSCertificate", function () {
- this.seq().obj(
- this.key("version").explicit(0).int(),
- this.key("serialNumber").int(),
- this.key("signature").use(AlgorithmIdentifier),
- this.key("issuer").use(Name),
- this.key("validity").use(Validity),
- this.key("subject").use(Name),
- this.key("subjectPublicKeyInfo").use(SubjectPublicKeyInfo),
- this.key("issuerUniqueID").implicit(1).bitstr().optional(),
- this.key("subjectUniqueID").implicit(2).bitstr().optional(),
- this.key("extensions").explicit(3).seqof(Extension).optional()
- );
- });
- var X509Certificate = asn.define("X509Certificate", function () {
- this.seq().obj(
- this.key("tbsCertificate").use(TBSCertificate),
- this.key("signatureAlgorithm").use(AlgorithmIdentifier),
- this.key("signatureValue").bitstr()
- );
- });
- module.exports = X509Certificate;
- },
- { "asn1.js": 10 },
- ],
- 117: [
- function (require, module, exports) {
- (function (Buffer) {
- // adapted from https://github.com/apatil/pemstrip
- var findProc =
- /Proc-Type: 4,ENCRYPTED\n\r?DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)\n\r?\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?/m;
- var startRegex = /^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n/m;
- var fullRegex =
- /^-----BEGIN ((?:.* KEY)|CERTIFICATE)-----\n\r?([0-9A-z\n\r\+\/\=]+)\n\r?-----END \1-----$/m;
- var evp = require("evp_bytestokey");
- var ciphers = require("browserify-aes");
- module.exports = function (okey, password) {
- var key = okey.toString();
- var match = key.match(findProc);
- var decrypted;
- if (!match) {
- var match2 = key.match(fullRegex);
- decrypted = new Buffer(match2[2].replace(/\r?\n/g, ""), "base64");
- } else {
- var suite = "aes" + match[1];
- var iv = new Buffer(match[2], "hex");
- var cipherText = new Buffer(
- match[3].replace(/\r?\n/g, ""),
- "base64"
- );
- var cipherKey = evp(
- password,
- iv.slice(0, 8),
- parseInt(match[1], 10)
- ).key;
- var out = [];
- var cipher = ciphers.createDecipheriv(suite, cipherKey, iv);
- out.push(cipher.update(cipherText));
- out.push(cipher.final());
- decrypted = Buffer.concat(out);
- }
- var tag = key.match(startRegex)[1];
- return {
- tag: tag,
- data: decrypted,
- };
- };
- }).call(this, require("buffer").Buffer);
- },
- { "browserify-aes": 30, buffer: 54, evp_bytestokey: 91 },
- ],
- 118: [
- function (require, module, exports) {
- (function (Buffer) {
- var asn1 = require("./asn1.js");
- var aesid = require("./aesid.json");
- var fixProc = require("./fixProc.js");
- var ciphers = require("browserify-aes");
- var compat = require("pbkdf2");
- module.exports = parseKeys;
- function parseKeys(buffer) {
- var password;
- if (typeof buffer === "object" && !Buffer.isBuffer(buffer)) {
- password = buffer.passphrase;
- buffer = buffer.key;
- }
- if (typeof buffer === "string") {
- buffer = new Buffer(buffer);
- }
- var stripped = fixProc(buffer, password);
- var type = stripped.tag;
- var data = stripped.data;
- var subtype, ndata;
- switch (type) {
- case "CERTIFICATE":
- ndata = asn1.certificate.decode(data, "der").tbsCertificate
- .subjectPublicKeyInfo;
- // falls through
- case "PUBLIC KEY":
- if (!ndata) {
- ndata = asn1.PublicKey.decode(data, "der");
- }
- subtype = ndata.algorithm.algorithm.join(".");
- switch (subtype) {
- case "1.2.840.113549.1.1.1":
- return asn1.RSAPublicKey.decode(
- ndata.subjectPublicKey.data,
- "der"
- );
- case "1.2.840.10045.2.1":
- ndata.subjectPrivateKey = ndata.subjectPublicKey;
- return {
- type: "ec",
- data: ndata,
- };
- case "1.2.840.10040.4.1":
- ndata.algorithm.params.pub_key = asn1.DSAparam.decode(
- ndata.subjectPublicKey.data,
- "der"
- );
- return {
- type: "dsa",
- data: ndata.algorithm.params,
- };
- default:
- throw new Error("unknown key id " + subtype);
- }
- throw new Error("unknown key type " + type);
- case "ENCRYPTED PRIVATE KEY":
- data = asn1.EncryptedPrivateKey.decode(data, "der");
- data = decrypt(data, password);
- // falls through
- case "PRIVATE KEY":
- ndata = asn1.PrivateKey.decode(data, "der");
- subtype = ndata.algorithm.algorithm.join(".");
- switch (subtype) {
- case "1.2.840.113549.1.1.1":
- return asn1.RSAPrivateKey.decode(
- ndata.subjectPrivateKey,
- "der"
- );
- case "1.2.840.10045.2.1":
- return {
- curve: ndata.algorithm.curve,
- privateKey: asn1.ECPrivateKey.decode(
- ndata.subjectPrivateKey,
- "der"
- ).privateKey,
- };
- case "1.2.840.10040.4.1":
- ndata.algorithm.params.priv_key = asn1.DSAparam.decode(
- ndata.subjectPrivateKey,
- "der"
- );
- return {
- type: "dsa",
- params: ndata.algorithm.params,
- };
- default:
- throw new Error("unknown key id " + subtype);
- }
- throw new Error("unknown key type " + type);
- case "RSA PUBLIC KEY":
- return asn1.RSAPublicKey.decode(data, "der");
- case "RSA PRIVATE KEY":
- return asn1.RSAPrivateKey.decode(data, "der");
- case "DSA PRIVATE KEY":
- return {
- type: "dsa",
- params: asn1.DSAPrivateKey.decode(data, "der"),
- };
- case "EC PRIVATE KEY":
- data = asn1.ECPrivateKey.decode(data, "der");
- return {
- curve: data.parameters.value,
- privateKey: data.privateKey,
- };
- default:
- throw new Error("unknown key type " + type);
- }
- }
- parseKeys.signature = asn1.signature;
- function decrypt(data, password) {
- var salt = data.algorithm.decrypt.kde.kdeparams.salt;
- var iters = parseInt(
- data.algorithm.decrypt.kde.kdeparams.iters.toString(),
- 10
- );
- var algo = aesid[data.algorithm.decrypt.cipher.algo.join(".")];
- var iv = data.algorithm.decrypt.cipher.iv;
- var cipherText = data.subjectPrivateKey;
- var keylen = parseInt(algo.split("-")[1], 10) / 8;
- var key = compat.pbkdf2Sync(password, salt, iters, keylen);
- var cipher = ciphers.createDecipheriv(algo, key, iv);
- var out = [];
- out.push(cipher.update(cipherText));
- out.push(cipher.final());
- return Buffer.concat(out);
- }
- }).call(this, require("buffer").Buffer);
- },
- {
- "./aesid.json": 114,
- "./asn1": 115,
- "./fixProc": 117,
- "browserify-aes": 30,
- buffer: 54,
- pbkdf2: 120,
- },
- ],
- 119: [
- function (require, module, exports) {
- (function (process) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- // resolves . and .. elements in a path array with directory names there
- // must be no slashes, empty elements, or device names (c:\) in the array
- // (so also no leading and trailing slashes - it does not distinguish
- // relative and absolute paths)
- function normalizeArray(parts, allowAboveRoot) {
- // if the path tries to go above the root, `up` ends up > 0
- var up = 0;
- for (var i = parts.length - 1; i >= 0; i--) {
- var last = parts[i];
- if (last === ".") {
- parts.splice(i, 1);
- } else if (last === "..") {
- parts.splice(i, 1);
- up++;
- } else if (up) {
- parts.splice(i, 1);
- up--;
- }
- }
- // if the path is allowed to go above the root, restore leading ..s
- if (allowAboveRoot) {
- for (; up--; up) {
- parts.unshift("..");
- }
- }
- return parts;
- }
- // Split a filename into [root, dir, basename, ext], unix version
- // 'root' is just a slash, or nothing.
- var splitPathRe =
- /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
- var splitPath = function (filename) {
- return splitPathRe.exec(filename).slice(1);
- };
- // path.resolve([from ...], to)
- // posix version
- exports.resolve = function () {
- var resolvedPath = "",
- resolvedAbsolute = false;
- for (
- var i = arguments.length - 1;
- i >= -1 && !resolvedAbsolute;
- i--
- ) {
- var path = i >= 0 ? arguments[i] : process.cwd();
- // Skip empty and invalid entries
- if (typeof path !== "string") {
- throw new TypeError(
- "Arguments to path.resolve must be strings"
- );
- } else if (!path) {
- continue;
- }
- resolvedPath = path + "/" + resolvedPath;
- resolvedAbsolute = path.charAt(0) === "/";
- }
- // At this point the path should be resolved to a full absolute path, but
- // handle relative paths to be safe (might happen when process.cwd() fails)
- // Normalize the path
- resolvedPath = normalizeArray(
- filter(resolvedPath.split("/"), function (p) {
- return !!p;
- }),
- !resolvedAbsolute
- ).join("/");
- return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";
- };
- // path.normalize(path)
- // posix version
- exports.normalize = function (path) {
- var isAbsolute = exports.isAbsolute(path),
- trailingSlash = substr(path, -1) === "/";
- // Normalize the path
- path = normalizeArray(
- filter(path.split("/"), function (p) {
- return !!p;
- }),
- !isAbsolute
- ).join("/");
- if (!path && !isAbsolute) {
- path = ".";
- }
- if (path && trailingSlash) {
- path += "/";
- }
- return (isAbsolute ? "/" : "") + path;
- };
- // posix version
- exports.isAbsolute = function (path) {
- return path.charAt(0) === "/";
- };
- // posix version
- exports.join = function () {
- var paths = Array.prototype.slice.call(arguments, 0);
- return exports.normalize(
- filter(paths, function (p, index) {
- if (typeof p !== "string") {
- throw new TypeError("Arguments to path.join must be strings");
- }
- return p;
- }).join("/")
- );
- };
- // path.relative(from, to)
- // posix version
- exports.relative = function (from, to) {
- from = exports.resolve(from).substr(1);
- to = exports.resolve(to).substr(1);
- function trim(arr) {
- var start = 0;
- for (; start < arr.length; start++) {
- if (arr[start] !== "") break;
- }
- var end = arr.length - 1;
- for (; end >= 0; end--) {
- if (arr[end] !== "") break;
- }
- if (start > end) return [];
- return arr.slice(start, end - start + 1);
- }
- var fromParts = trim(from.split("/"));
- var toParts = trim(to.split("/"));
- var length = Math.min(fromParts.length, toParts.length);
- var samePartsLength = length;
- for (var i = 0; i < length; i++) {
- if (fromParts[i] !== toParts[i]) {
- samePartsLength = i;
- break;
- }
- }
- var outputParts = [];
- for (var i = samePartsLength; i < fromParts.length; i++) {
- outputParts.push("..");
- }
- outputParts = outputParts.concat(toParts.slice(samePartsLength));
- return outputParts.join("/");
- };
- exports.sep = "/";
- exports.delimiter = ":";
- exports.dirname = function (path) {
- var result = splitPath(path),
- root = result[0],
- dir = result[1];
- if (!root && !dir) {
- // No dirname whatsoever
- return ".";
- }
- if (dir) {
- // It has a dirname, strip trailing slash
- dir = dir.substr(0, dir.length - 1);
- }
- return root + dir;
- };
- exports.basename = function (path, ext) {
- var f = splitPath(path)[2];
- // TODO: make this comparison case-insensitive on windows?
- if (ext && f.substr(-1 * ext.length) === ext) {
- f = f.substr(0, f.length - ext.length);
- }
- return f;
- };
- exports.extname = function (path) {
- return splitPath(path)[3];
- };
- function filter(xs, f) {
- if (xs.filter) return xs.filter(f);
- var res = [];
- for (var i = 0; i < xs.length; i++) {
- if (f(xs[i], i, xs)) res.push(xs[i]);
- }
- return res;
- }
- // String.prototype.substr - negative index don't work in IE8
- var substr =
- "ab".substr(-1) === "b"
- ? function (str, start, len) {
- return str.substr(start, len);
- }
- : function (str, start, len) {
- if (start < 0) start = str.length + start;
- return str.substr(start, len);
- };
- }).call(this, require("_process"));
- },
- { _process: 126 },
- ],
- 120: [
- function (require, module, exports) {
- exports.pbkdf2 = require("./lib/async.js");
- exports.pbkdf2Sync = require("./lib/sync.js");
- },
- { "./lib/async": 121, "./lib/sync": 124 },
- ],
- 121: [
- function (require, module, exports) {
- (function (process, global) {
- var checkParameters = require("./precondition.js");
- var defaultEncoding = require("./default-encoding.js");
- var sync = require("./sync.js");
- var Buffer = require("safe-buffer").Buffer;
- var ZERO_BUF;
- var subtle = global.crypto && global.crypto.subtle;
- var toBrowser = {
- sha: "SHA-1",
- "sha-1": "SHA-1",
- sha1: "SHA-1",
- sha256: "SHA-256",
- "sha-256": "SHA-256",
- sha384: "SHA-384",
- "sha-384": "SHA-384",
- "sha-512": "SHA-512",
- sha512: "SHA-512",
- };
- var checks = [];
- function checkNative(algo) {
- if (global.process && !global.process.browser) {
- return Promise.resolve(false);
- }
- if (!subtle || !subtle.importKey || !subtle.deriveBits) {
- return Promise.resolve(false);
- }
- if (checks[algo] !== undefined) {
- return checks[algo];
- }
- ZERO_BUF = ZERO_BUF || Buffer.alloc(8);
- var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)
- .then(function () {
- return true;
- })
- .catch(function () {
- return false;
- });
- checks[algo] = prom;
- return prom;
- }
- function browserPbkdf2(password, salt, iterations, length, algo) {
- return subtle
- .importKey("raw", password, { name: "PBKDF2" }, false, [
- "deriveBits",
- ])
- .then(function (key) {
- return subtle.deriveBits(
- {
- name: "PBKDF2",
- salt: salt,
- iterations: iterations,
- hash: {
- name: algo,
- },
- },
- key,
- length << 3
- );
- })
- .then(function (res) {
- return Buffer.from(res);
- });
- }
- function resolvePromise(promise, callback) {
- promise.then(
- function (out) {
- process.nextTick(function () {
- callback(null, out);
- });
- },
- function (e) {
- process.nextTick(function () {
- callback(e);
- });
- }
- );
- }
- module.exports = function (
- password,
- salt,
- iterations,
- keylen,
- digest,
- callback
- ) {
- if (!Buffer.isBuffer(password))
- password = Buffer.from(password, defaultEncoding);
- if (!Buffer.isBuffer(salt))
- salt = Buffer.from(salt, defaultEncoding);
- checkParameters(iterations, keylen);
- if (typeof digest === "function") {
- callback = digest;
- digest = undefined;
- }
- if (typeof callback !== "function")
- throw new Error("No callback provided to pbkdf2");
- digest = digest || "sha1";
- var algo = toBrowser[digest.toLowerCase()];
- if (!algo || typeof global.Promise !== "function") {
- return process.nextTick(function () {
- var out;
- try {
- out = sync(password, salt, iterations, keylen, digest);
- } catch (e) {
- return callback(e);
- }
- callback(null, out);
- });
- }
- resolvePromise(
- checkNative(algo).then(function (resp) {
- if (resp) {
- return browserPbkdf2(
- password,
- salt,
- iterations,
- keylen,
- algo
- );
- } else {
- return sync(password, salt, iterations, keylen, digest);
- }
- }),
- callback
- );
- };
- }).call(
- this,
- require("_process"),
- typeof global !== "undefined"
- ? global
- : typeof self !== "undefined"
- ? self
- : typeof window !== "undefined"
- ? window
- : {}
- );
- },
- {
- "./default-encoding": 122,
- "./precondition": 123,
- "./sync": 124,
- _process: 126,
- "safe-buffer": 148,
- },
- ],
- 122: [
- function (require, module, exports) {
- (function (process) {
- var defaultEncoding;
- /* istanbul ignore next */
- if (process.browser) {
- defaultEncoding = "utf-8";
- } else {
- var pVersionMajor = parseInt(
- process.version.split(".")[0].slice(1),
- 10
- );
- defaultEncoding = pVersionMajor >= 6 ? "utf-8" : "binary";
- }
- module.exports = defaultEncoding;
- }).call(this, require("_process"));
- },
- { _process: 126 },
- ],
- 123: [
- function (require, module, exports) {
- var MAX_ALLOC = Math.pow(2, 30) - 1; // default in iojs
- module.exports = function (iterations, keylen) {
- if (typeof iterations !== "number") {
- throw new TypeError("Iterations not a number");
- }
- if (iterations < 0) {
- throw new TypeError("Bad iterations");
- }
- if (typeof keylen !== "number") {
- throw new TypeError("Key length not a number");
- }
- if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) {
- /* eslint no-self-compare: 0 */
- throw new TypeError("Bad key length");
- }
- };
- },
- {},
- ],
- 124: [
- function (require, module, exports) {
- var md5 = require("create-hash/md5");
- var rmd160 = require("ripemd160");
- var sha = require("sha.js");
- var checkParameters = require("./precondition.js");
- var defaultEncoding = require("./default-encoding.js");
- var Buffer = require("safe-buffer").Buffer;
- var ZEROS = Buffer.alloc(128);
- var sizes = {
- md5: 16,
- sha1: 20,
- sha224: 28,
- sha256: 32,
- sha384: 48,
- sha512: 64,
- rmd160: 20,
- ripemd160: 20,
- };
- function Hmac(alg, key, saltLen) {
- var hash = getDigest(alg);
- var blocksize = alg === "sha512" || alg === "sha384" ? 128 : 64;
- if (key.length > blocksize) {
- key = hash(key);
- } else if (key.length < blocksize) {
- key = Buffer.concat([key, ZEROS], blocksize);
- }
- var ipad = Buffer.allocUnsafe(blocksize + sizes[alg]);
- var opad = Buffer.allocUnsafe(blocksize + sizes[alg]);
- for (var i = 0; i < blocksize; i++) {
- ipad[i] = key[i] ^ 0x36;
- opad[i] = key[i] ^ 0x5c;
- }
- var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4);
- ipad.copy(ipad1, 0, 0, blocksize);
- this.ipad1 = ipad1;
- this.ipad2 = ipad;
- this.opad = opad;
- this.alg = alg;
- this.blocksize = blocksize;
- this.hash = hash;
- this.size = sizes[alg];
- }
- Hmac.prototype.run = function (data, ipad) {
- data.copy(ipad, this.blocksize);
- var h = this.hash(ipad);
- h.copy(this.opad, this.blocksize);
- return this.hash(this.opad);
- };
- function getDigest(alg) {
- function shaFunc(data) {
- return sha(alg).update(data).digest();
- }
- if (alg === "rmd160" || alg === "ripemd160") return rmd160;
- if (alg === "md5") return md5;
- return shaFunc;
- }
- function pbkdf2(password, salt, iterations, keylen, digest) {
- if (!Buffer.isBuffer(password))
- password = Buffer.from(password, defaultEncoding);
- if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, defaultEncoding);
- checkParameters(iterations, keylen);
- digest = digest || "sha1";
- var hmac = new Hmac(digest, password, salt.length);
- var DK = Buffer.allocUnsafe(keylen);
- var block1 = Buffer.allocUnsafe(salt.length + 4);
- salt.copy(block1, 0, 0, salt.length);
- var destPos = 0;
- var hLen = sizes[digest];
- var l = Math.ceil(keylen / hLen);
- for (var i = 1; i <= l; i++) {
- block1.writeUInt32BE(i, salt.length);
- var T = hmac.run(block1, hmac.ipad1);
- var U = T;
- for (var j = 1; j < iterations; j++) {
- U = hmac.run(U, hmac.ipad2);
- for (var k = 0; k < hLen; k++) T[k] ^= U[k];
- }
- T.copy(DK, destPos);
- destPos += hLen;
- }
- return DK;
- }
- module.exports = pbkdf2;
- },
- {
- "./default-encoding": 122,
- "./precondition": 123,
- "create-hash/md5": 60,
- ripemd160: 147,
- "safe-buffer": 148,
- "sha.js": 150,
- },
- ],
- 125: [
- function (require, module, exports) {
- (function (process) {
- "use strict";
- if (
- !process.version ||
- process.version.indexOf("v0.") === 0 ||
- (process.version.indexOf("v1.") === 0 &&
- process.version.indexOf("v1.8.") !== 0)
- ) {
- module.exports = nextTick;
- } else {
- module.exports = process.nextTick;
- }
- function nextTick(fn, arg1, arg2, arg3) {
- if (typeof fn !== "function") {
- throw new TypeError('"callback" argument must be a function');
- }
- var len = arguments.length;
- var args, i;
- switch (len) {
- case 0:
- case 1:
- return process.nextTick(fn);
- case 2:
- return process.nextTick(function afterTickOne() {
- fn.call(null, arg1);
- });
- case 3:
- return process.nextTick(function afterTickTwo() {
- fn.call(null, arg1, arg2);
- });
- case 4:
- return process.nextTick(function afterTickThree() {
- fn.call(null, arg1, arg2, arg3);
- });
- default:
- args = new Array(len - 1);
- i = 0;
- while (i < args.length) {
- args[i++] = arguments[i];
- }
- return process.nextTick(function afterTick() {
- fn.apply(null, args);
- });
- }
- }
- }).call(this, require("_process"));
- },
- { _process: 126 },
- ],
- 126: [
- function (require, module, exports) {
- // shim for using process in browser
- var process = (module.exports = {});
- // cached from whatever global is present so that test runners that stub it
- // don't break things. But we need to wrap it in a try catch in case it is
- // wrapped in strict mode code which doesn't define any globals. It's inside a
- // function because try/catches deoptimize in certain engines.
- var cachedSetTimeout;
- var cachedClearTimeout;
- function defaultSetTimout() {
- throw new Error("setTimeout has not been defined");
- }
- function defaultClearTimeout() {
- throw new Error("clearTimeout has not been defined");
- }
- (function () {
- try {
- if (typeof setTimeout === "function") {
- cachedSetTimeout = setTimeout;
- } else {
- cachedSetTimeout = defaultSetTimout;
- }
- } catch (e) {
- cachedSetTimeout = defaultSetTimout;
- }
- try {
- if (typeof clearTimeout === "function") {
- cachedClearTimeout = clearTimeout;
- } else {
- cachedClearTimeout = defaultClearTimeout;
- }
- } catch (e) {
- cachedClearTimeout = defaultClearTimeout;
- }
- })();
- function runTimeout(fun) {
- if (cachedSetTimeout === setTimeout) {
- //normal enviroments in sane situations
- return setTimeout(fun, 0);
- }
- // if setTimeout wasn't available but was latter defined
- if (
- (cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) &&
- setTimeout
- ) {
- cachedSetTimeout = setTimeout;
- return setTimeout(fun, 0);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedSetTimeout(fun, 0);
- } catch (e) {
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedSetTimeout.call(null, fun, 0);
- } catch (e) {
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
- return cachedSetTimeout.call(this, fun, 0);
- }
- }
- }
- function runClearTimeout(marker) {
- if (cachedClearTimeout === clearTimeout) {
- //normal enviroments in sane situations
- return clearTimeout(marker);
- }
- // if clearTimeout wasn't available but was latter defined
- if (
- (cachedClearTimeout === defaultClearTimeout ||
- !cachedClearTimeout) &&
- clearTimeout
- ) {
- cachedClearTimeout = clearTimeout;
- return clearTimeout(marker);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedClearTimeout(marker);
- } catch (e) {
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedClearTimeout.call(null, marker);
- } catch (e) {
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
- return cachedClearTimeout.call(this, marker);
- }
- }
- }
- var queue = [];
- var draining = false;
- var currentQueue;
- var queueIndex = -1;
- function cleanUpNextTick() {
- if (!draining || !currentQueue) {
- return;
- }
- draining = false;
- if (currentQueue.length) {
- queue = currentQueue.concat(queue);
- } else {
- queueIndex = -1;
- }
- if (queue.length) {
- drainQueue();
- }
- }
- function drainQueue() {
- if (draining) {
- return;
- }
- var timeout = runTimeout(cleanUpNextTick);
- draining = true;
- var len = queue.length;
- while (len) {
- currentQueue = queue;
- queue = [];
- while (++queueIndex < len) {
- if (currentQueue) {
- currentQueue[queueIndex].run();
- }
- }
- queueIndex = -1;
- len = queue.length;
- }
- currentQueue = null;
- draining = false;
- runClearTimeout(timeout);
- }
- process.nextTick = function (fun) {
- var args = new Array(arguments.length - 1);
- if (arguments.length > 1) {
- for (var i = 1; i < arguments.length; i++) {
- args[i - 1] = arguments[i];
- }
- }
- queue.push(new Item(fun, args));
- if (queue.length === 1 && !draining) {
- runTimeout(drainQueue);
- }
- };
- // v8 likes predictible objects
- function Item(fun, array) {
- this.fun = fun;
- this.array = array;
- }
- Item.prototype.run = function () {
- this.fun.apply(null, this.array);
- };
- process.title = "browser";
- process.browser = true;
- process.env = {};
- process.argv = [];
- process.version = ""; // empty string to avoid regexp issues
- process.versions = {};
- function noop() {}
- process.on = noop;
- process.addListener = noop;
- process.once = noop;
- process.off = noop;
- process.removeListener = noop;
- process.removeAllListeners = noop;
- process.emit = noop;
- process.prependListener = noop;
- process.prependOnceListener = noop;
- process.listeners = function (name) {
- return [];
- };
- process.binding = function (name) {
- throw new Error("process.binding is not supported");
- };
- process.cwd = function () {
- return "/";
- };
- process.chdir = function (dir) {
- throw new Error("process.chdir is not supported");
- };
- process.umask = function () {
- return 0;
- };
- },
- {},
- ],
- 127: [
- function (require, module, exports) {
- exports.publicEncrypt = require("./publicEncrypt.js");
- exports.privateDecrypt = require("./privateDecrypt.js");
- exports.privateEncrypt = function privateEncrypt(key, buf) {
- return exports.publicEncrypt(key, buf, true);
- };
- exports.publicDecrypt = function publicDecrypt(key, buf) {
- return exports.privateDecrypt(key, buf, true);
- };
- },
- { "./privateDecrypt": 129, "./publicEncrypt": 130 },
- ],
- 128: [
- function (require, module, exports) {
- (function (Buffer) {
- var createHash = require("create-hash");
- module.exports = function (seed, len) {
- var t = new Buffer("");
- var i = 0,
- c;
- while (t.length < len) {
- c = i2ops(i++);
- t = Buffer.concat([
- t,
- createHash("sha1").update(seed).update(c).digest(),
- ]);
- }
- return t.slice(0, len);
- };
- function i2ops(c) {
- var out = new Buffer(4);
- out.writeUInt32BE(c, 0);
- return out;
- }
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54, "create-hash": 58 },
- ],
- 129: [
- function (require, module, exports) {
- (function (Buffer) {
- var parseKeys = require("parse-asn1");
- var mgf = require("./mgf.js");
- var xor = require("./xor.js");
- var bn = require("bn.js");
- var crt = require("browserify-rsa");
- var createHash = require("create-hash");
- var withPublic = require("./withPublic.js");
- module.exports = function privateDecrypt(private_key, enc, reverse) {
- var padding;
- if (private_key.padding) {
- padding = private_key.padding;
- } else if (reverse) {
- padding = 1;
- } else {
- padding = 4;
- }
- var key = parseKeys(private_key);
- var k = key.modulus.byteLength();
- if (enc.length > k || new bn(enc).cmp(key.modulus) >= 0) {
- throw new Error("decryption error");
- }
- var msg;
- if (reverse) {
- msg = withPublic(new bn(enc), key);
- } else {
- msg = crt(enc, key);
- }
- var zBuffer = new Buffer(k - msg.length);
- zBuffer.fill(0);
- msg = Buffer.concat([zBuffer, msg], k);
- if (padding === 4) {
- return oaep(key, msg);
- } else if (padding === 1) {
- return pkcs1(key, msg, reverse);
- } else if (padding === 3) {
- return msg;
- } else {
- throw new Error("unknown padding");
- }
- };
- function oaep(key, msg) {
- var n = key.modulus;
- var k = key.modulus.byteLength();
- var mLen = msg.length;
- var iHash = createHash("sha1").update(new Buffer("")).digest();
- var hLen = iHash.length;
- var hLen2 = 2 * hLen;
- if (msg[0] !== 0) {
- throw new Error("decryption error");
- }
- var maskedSeed = msg.slice(1, hLen + 1);
- var maskedDb = msg.slice(hLen + 1);
- var seed = xor(maskedSeed, mgf(maskedDb, hLen));
- var db = xor(maskedDb, mgf(seed, k - hLen - 1));
- if (compare(iHash, db.slice(0, hLen))) {
- throw new Error("decryption error");
- }
- var i = hLen;
- while (db[i] === 0) {
- i++;
- }
- if (db[i++] !== 1) {
- throw new Error("decryption error");
- }
- return db.slice(i);
- }
- function pkcs1(key, msg, reverse) {
- var p1 = msg.slice(0, 2);
- var i = 2;
- var status = 0;
- while (msg[i++] !== 0) {
- if (i >= msg.length) {
- status++;
- break;
- }
- }
- var ps = msg.slice(2, i - 1);
- var p2 = msg.slice(i - 1, i);
- if (
- (p1.toString("hex") !== "0002" && !reverse) ||
- (p1.toString("hex") !== "0001" && reverse)
- ) {
- status++;
- }
- if (ps.length < 8) {
- status++;
- }
- if (status) {
- throw new Error("decryption error");
- }
- return msg.slice(i);
- }
- function compare(a, b) {
- a = new Buffer(a);
- b = new Buffer(b);
- var dif = 0;
- var len = a.length;
- if (a.length !== b.length) {
- dif++;
- len = Math.min(a.length, b.length);
- }
- var i = -1;
- while (++i < len) {
- dif += a[i] ^ b[i];
- }
- return dif;
- }
- }).call(this, require("buffer").Buffer);
- },
- {
- "./mgf": 128,
- "./withPublic": 131,
- "./xor": 132,
- "bn.js": 25,
- "browserify-rsa": 46,
- buffer: 54,
- "create-hash": 58,
- "parse-asn1": 118,
- },
- ],
- 130: [
- function (require, module, exports) {
- (function (Buffer) {
- var parseKeys = require("parse-asn1");
- var randomBytes = require("randombytes");
- var createHash = require("create-hash");
- var mgf = require("./mgf.js");
- var xor = require("./xor.js");
- var bn = require("bn.js");
- var withPublic = require("./withPublic.js");
- var crt = require("browserify-rsa");
- var constants = {
- RSA_PKCS1_OAEP_PADDING: 4,
- RSA_PKCS1_PADDIN: 1,
- RSA_NO_PADDING: 3,
- };
- module.exports = function publicEncrypt(public_key, msg, reverse) {
- var padding;
- if (public_key.padding) {
- padding = public_key.padding;
- } else if (reverse) {
- padding = 1;
- } else {
- padding = 4;
- }
- var key = parseKeys(public_key);
- var paddedMsg;
- if (padding === 4) {
- paddedMsg = oaep(key, msg);
- } else if (padding === 1) {
- paddedMsg = pkcs1(key, msg, reverse);
- } else if (padding === 3) {
- paddedMsg = new bn(msg);
- if (paddedMsg.cmp(key.modulus) >= 0) {
- throw new Error("data too long for modulus");
- }
- } else {
- throw new Error("unknown padding");
- }
- if (reverse) {
- return crt(paddedMsg, key);
- } else {
- return withPublic(paddedMsg, key);
- }
- };
- function oaep(key, msg) {
- var k = key.modulus.byteLength();
- var mLen = msg.length;
- var iHash = createHash("sha1").update(new Buffer("")).digest();
- var hLen = iHash.length;
- var hLen2 = 2 * hLen;
- if (mLen > k - hLen2 - 2) {
- throw new Error("message too long");
- }
- var ps = new Buffer(k - mLen - hLen2 - 2);
- ps.fill(0);
- var dblen = k - hLen - 1;
- var seed = randomBytes(hLen);
- var maskedDb = xor(
- Buffer.concat([iHash, ps, new Buffer([1]), msg], dblen),
- mgf(seed, dblen)
- );
- var maskedSeed = xor(seed, mgf(maskedDb, hLen));
- return new bn(
- Buffer.concat([new Buffer([0]), maskedSeed, maskedDb], k)
- );
- }
- function pkcs1(key, msg, reverse) {
- var mLen = msg.length;
- var k = key.modulus.byteLength();
- if (mLen > k - 11) {
- throw new Error("message too long");
- }
- var ps;
- if (reverse) {
- ps = new Buffer(k - mLen - 3);
- ps.fill(0xff);
- } else {
- ps = nonZero(k - mLen - 3);
- }
- return new bn(
- Buffer.concat(
- [new Buffer([0, reverse ? 1 : 2]), ps, new Buffer([0]), msg],
- k
- )
- );
- }
- function nonZero(len, crypto) {
- var out = new Buffer(len);
- var i = 0;
- var cache = randomBytes(len * 2);
- var cur = 0;
- var num;
- while (i < len) {
- if (cur === cache.length) {
- cache = randomBytes(len * 2);
- cur = 0;
- }
- num = cache[cur++];
- if (num) {
- out[i++] = num;
- }
- }
- return out;
- }
- }).call(this, require("buffer").Buffer);
- },
- {
- "./mgf": 128,
- "./withPublic": 131,
- "./xor": 132,
- "bn.js": 25,
- "browserify-rsa": 46,
- buffer: 54,
- "create-hash": 58,
- "parse-asn1": 118,
- randombytes: 133,
- },
- ],
- 131: [
- function (require, module, exports) {
- (function (Buffer) {
- var bn = require("bn.js");
- function withPublic(paddedMsg, key) {
- return new Buffer(
- paddedMsg
- .toRed(bn.mont(key.modulus))
- .redPow(new bn(key.publicExponent))
- .fromRed()
- .toArray()
- );
- }
- module.exports = withPublic;
- }).call(this, require("buffer").Buffer);
- },
- { "bn.js": 25, buffer: 54 },
- ],
- 132: [
- function (require, module, exports) {
- module.exports = function xor(a, b) {
- var len = a.length;
- var i = -1;
- while (++i < len) {
- a[i] ^= b[i];
- }
- return a;
- };
- },
- {},
- ],
- 133: [
- function (require, module, exports) {
- (function (process, global) {
- "use strict";
- function oldBrowser() {
- throw new Error(
- "secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11"
- );
- }
- var Buffer = require("safe-buffer").Buffer;
- var crypto = global.crypto || global.msCrypto;
- if (crypto && crypto.getRandomValues) {
- module.exports = randomBytes;
- } else {
- module.exports = oldBrowser;
- }
- function randomBytes(size, cb) {
- // phantomjs needs to throw
- if (size > 65536)
- throw new Error("requested too many random bytes");
- // in case browserify isn't using the Uint8Array version
- var rawBytes = new global.Uint8Array(size);
- // This will not work in older browsers.
- // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
- if (size > 0) {
- // getRandomValues fails on IE if size == 0
- crypto.getRandomValues(rawBytes);
- }
- // XXX: phantomjs doesn't like a buffer being passed here
- var bytes = Buffer.from(rawBytes.buffer);
- if (typeof cb === "function") {
- return process.nextTick(function () {
- cb(null, bytes);
- });
- }
- return bytes;
- }
- }).call(
- this,
- require("_process"),
- typeof global !== "undefined"
- ? global
- : typeof self !== "undefined"
- ? self
- : typeof window !== "undefined"
- ? window
- : {}
- );
- },
- { _process: 126, "safe-buffer": 148 },
- ],
- 134: [
- function (require, module, exports) {
- module.exports = require("./lib/_stream_duplex.js");
- },
- { "./lib/_stream_duplex.js": 135 },
- ],
- 135: [
- function (require, module, exports) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- // a duplex stream is just a stream that is both readable and writable.
- // Since JS doesn't have multiple prototypal inheritance, this class
- // prototypally inherits from Readable, and then parasitically from
- // Writable.
- "use strict";
- /*<replacement>*/
- var processNextTick = require("process-nextick-args");
- /*</replacement>*/
- /*<replacement>*/
- var objectKeys =
- Object.keys ||
- function (obj) {
- var keys = [];
- for (var key in obj) {
- keys.push(key);
- }
- return keys;
- };
- /*</replacement>*/
- module.exports = Duplex;
- /*<replacement>*/
- var util = require("core-util-is");
- util.inherits = require("inherits");
- /*</replacement>*/
- var Readable = require("./_stream_readable.js");
- var Writable = require("./_stream_writable.js");
- util.inherits(Duplex, Readable);
- var keys = objectKeys(Writable.prototype);
- for (var v = 0; v < keys.length; v++) {
- var method = keys[v];
- if (!Duplex.prototype[method])
- Duplex.prototype[method] = Writable.prototype[method];
- }
- function Duplex(options) {
- if (!(this instanceof Duplex)) return new Duplex(options);
- Readable.call(this, options);
- Writable.call(this, options);
- if (options && options.readable === false) this.readable = false;
- if (options && options.writable === false) this.writable = false;
- this.allowHalfOpen = true;
- if (options && options.allowHalfOpen === false)
- this.allowHalfOpen = false;
- this.once("end", onend);
- }
- // the no-half-open enforcer
- function onend() {
- // if we allow half-open state, or if the writable side ended,
- // then we're ok.
- if (this.allowHalfOpen || this._writableState.ended) return;
- // no more data can be written.
- // But allow more writes to happen in this tick.
- processNextTick(onEndNT, this);
- }
- function onEndNT(self) {
- self.end();
- }
- Object.defineProperty(Duplex.prototype, "destroyed", {
- get: function () {
- if (
- this._readableState === undefined ||
- this._writableState === undefined
- ) {
- return false;
- }
- return (
- this._readableState.destroyed && this._writableState.destroyed
- );
- },
- set: function (value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (
- this._readableState === undefined ||
- this._writableState === undefined
- ) {
- return;
- }
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- this._writableState.destroyed = value;
- },
- });
- Duplex.prototype._destroy = function (err, cb) {
- this.push(null);
- this.end();
- processNextTick(cb, err);
- };
- function forEach(xs, f) {
- for (var i = 0, l = xs.length; i < l; i++) {
- f(xs[i], i);
- }
- }
- },
- {
- "./_stream_readable": 137,
- "./_stream_writable": 139,
- "core-util-is": 56,
- inherits: 108,
- "process-nextick-args": 125,
- },
- ],
- 136: [
- function (require, module, exports) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- // a passthrough stream.
- // basically just the most minimal sort of Transform stream.
- // Every written chunk gets output as-is.
- "use strict";
- module.exports = PassThrough;
- var Transform = require("./_stream_transform.js");
- /*<replacement>*/
- var util = require("core-util-is");
- util.inherits = require("inherits");
- /*</replacement>*/
- util.inherits(PassThrough, Transform);
- function PassThrough(options) {
- if (!(this instanceof PassThrough)) return new PassThrough(options);
- Transform.call(this, options);
- }
- PassThrough.prototype._transform = function (chunk, encoding, cb) {
- cb(null, chunk);
- };
- },
- { "./_stream_transform": 138, "core-util-is": 56, inherits: 108 },
- ],
- 137: [
- function (require, module, exports) {
- (function (process, global) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- "use strict";
- /*<replacement>*/
- var processNextTick = require("process-nextick-args");
- /*</replacement>*/
- module.exports = Readable;
- /*<replacement>*/
- var isArray = require("isarray");
- /*</replacement>*/
- /*<replacement>*/
- var Duplex;
- /*</replacement>*/
- Readable.ReadableState = ReadableState;
- /*<replacement>*/
- var EE = require("events").EventEmitter;
- var EElistenerCount = function (emitter, type) {
- return emitter.listeners(type).length;
- };
- /*</replacement>*/
- /*<replacement>*/
- var Stream = require("./internal/streams/stream.js");
- /*</replacement>*/
- // TODO(bmeurer): Change this back to const once hole checks are
- // properly optimized away early in Ignition+TurboFan.
- /*<replacement>*/
- var Buffer = require("safe-buffer").Buffer;
- var OurUint8Array = global.Uint8Array || function () {};
- function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
- }
- function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
- }
- /*</replacement>*/
- /*<replacement>*/
- var util = require("core-util-is");
- util.inherits = require("inherits");
- /*</replacement>*/
- /*<replacement>*/
- var debugUtil = require("util");
- var debug = void 0;
- if (debugUtil && debugUtil.debuglog) {
- debug = debugUtil.debuglog("stream");
- } else {
- debug = function () {};
- }
- /*</replacement>*/
- var BufferList = require("./internal/streams/BufferList.js");
- var destroyImpl = require("./internal/streams/destroy.js");
- var StringDecoder;
- util.inherits(Readable, Stream);
- var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
- function prependListener(emitter, event, fn) {
- // Sadly this is not cacheable as some libraries bundle their own
- // event emitter implementation with them.
- if (typeof emitter.prependListener === "function") {
- return emitter.prependListener(event, fn);
- } else {
- // This is a hack to make sure that our error handler is attached before any
- // userland ones. NEVER DO THIS. This is here only because this code needs
- // to continue to work with older versions of Node.js that do not include
- // the prependListener() method. The goal is to eventually remove this hack.
- if (!emitter._events || !emitter._events[event])
- emitter.on(event, fn);
- else if (isArray(emitter._events[event]))
- emitter._events[event].unshift(fn);
- else emitter._events[event] = [fn, emitter._events[event]];
- }
- }
- function ReadableState(options, stream) {
- Duplex = Duplex || require("./_stream_duplex.js");
- options = options || {};
- // object stream flag. Used to make read(n) ignore n and to
- // make all the buffer merging and length checks go away
- this.objectMode = !!options.objectMode;
- if (stream instanceof Duplex)
- this.objectMode = this.objectMode || !!options.readableObjectMode;
- // the point at which it stops calling _read() to fill the buffer
- // Note: 0 is a valid value, means "don't call _read preemptively ever"
- var hwm = options.highWaterMark;
- var defaultHwm = this.objectMode ? 16 : 16 * 1024;
- this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
- // cast to ints.
- this.highWaterMark = Math.floor(this.highWaterMark);
- // A linked list is used to store data chunks instead of an array because the
- // linked list can remove elements from the beginning faster than
- // array.shift()
- this.buffer = new BufferList();
- this.length = 0;
- this.pipes = null;
- this.pipesCount = 0;
- this.flowing = null;
- this.ended = false;
- this.endEmitted = false;
- this.reading = false;
- // a flag to be able to tell if the event 'readable'/'data' is emitted
- // immediately, or on a later tick. We set this to true at first, because
- // any actions that shouldn't happen until "later" should generally also
- // not happen before the first read call.
- this.sync = true;
- // whenever we return null, then we set a flag to say
- // that we're awaiting a 'readable' event emission.
- this.needReadable = false;
- this.emittedReadable = false;
- this.readableListening = false;
- this.resumeScheduled = false;
- // has it been destroyed
- this.destroyed = false;
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || "utf8";
- // the number of writers that are awaiting a drain event in .pipe()s
- this.awaitDrain = 0;
- // if true, a maybeReadMore has been scheduled
- this.readingMore = false;
- this.decoder = null;
- this.encoding = null;
- if (options.encoding) {
- if (!StringDecoder)
- StringDecoder = require("string_decoder/").StringDecoder;
- this.decoder = new StringDecoder(options.encoding);
- this.encoding = options.encoding;
- }
- }
- function Readable(options) {
- Duplex = Duplex || require("./_stream_duplex.js");
- if (!(this instanceof Readable)) return new Readable(options);
- this._readableState = new ReadableState(options, this);
- // legacy
- this.readable = true;
- if (options) {
- if (typeof options.read === "function") this._read = options.read;
- if (typeof options.destroy === "function")
- this._destroy = options.destroy;
- }
- Stream.call(this);
- }
- Object.defineProperty(Readable.prototype, "destroyed", {
- get: function () {
- if (this._readableState === undefined) {
- return false;
- }
- return this._readableState.destroyed;
- },
- set: function (value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._readableState) {
- return;
- }
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._readableState.destroyed = value;
- },
- });
- Readable.prototype.destroy = destroyImpl.destroy;
- Readable.prototype._undestroy = destroyImpl.undestroy;
- Readable.prototype._destroy = function (err, cb) {
- this.push(null);
- cb(err);
- };
- // Manually shove something into the read() buffer.
- // This returns true if the highWaterMark has not been hit yet,
- // similar to how Writable.write() returns true if you should
- // write() some more.
- Readable.prototype.push = function (chunk, encoding) {
- var state = this._readableState;
- var skipChunkCheck;
- if (!state.objectMode) {
- if (typeof chunk === "string") {
- encoding = encoding || state.defaultEncoding;
- if (encoding !== state.encoding) {
- chunk = Buffer.from(chunk, encoding);
- encoding = "";
- }
- skipChunkCheck = true;
- }
- } else {
- skipChunkCheck = true;
- }
- return readableAddChunk(
- this,
- chunk,
- encoding,
- false,
- skipChunkCheck
- );
- };
- // Unshift should *always* be something directly out of read()
- Readable.prototype.unshift = function (chunk) {
- return readableAddChunk(this, chunk, null, true, false);
- };
- function readableAddChunk(
- stream,
- chunk,
- encoding,
- addToFront,
- skipChunkCheck
- ) {
- var state = stream._readableState;
- if (chunk === null) {
- state.reading = false;
- onEofChunk(stream, state);
- } else {
- var er;
- if (!skipChunkCheck) er = chunkInvalid(state, chunk);
- if (er) {
- stream.emit("error", er);
- } else if (state.objectMode || (chunk && chunk.length > 0)) {
- if (
- typeof chunk !== "string" &&
- !state.objectMode &&
- Object.getPrototypeOf(chunk) !== Buffer.prototype
- ) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
- if (addToFront) {
- if (state.endEmitted)
- stream.emit(
- "error",
- new Error("stream.unshift() after end event")
- );
- else addChunk(stream, state, chunk, true);
- } else if (state.ended) {
- stream.emit("error", new Error("stream.push() after EOF"));
- } else {
- state.reading = false;
- if (state.decoder && !encoding) {
- chunk = state.decoder.write(chunk);
- if (state.objectMode || chunk.length !== 0)
- addChunk(stream, state, chunk, false);
- else maybeReadMore(stream, state);
- } else {
- addChunk(stream, state, chunk, false);
- }
- }
- } else if (!addToFront) {
- state.reading = false;
- }
- }
- return needMoreData(state);
- }
- function addChunk(stream, state, chunk, addToFront) {
- if (state.flowing && state.length === 0 && !state.sync) {
- stream.emit("data", chunk);
- stream.read(0);
- } else {
- // update the buffer info.
- state.length += state.objectMode ? 1 : chunk.length;
- if (addToFront) state.buffer.unshift(chunk);
- else state.buffer.push(chunk);
- if (state.needReadable) emitReadable(stream);
- }
- maybeReadMore(stream, state);
- }
- function chunkInvalid(state, chunk) {
- var er;
- if (
- !_isUint8Array(chunk) &&
- typeof chunk !== "string" &&
- chunk !== undefined &&
- !state.objectMode
- ) {
- er = new TypeError("Invalid non-string/buffer chunk");
- }
- return er;
- }
- // if it's past the high water mark, we can push in some more.
- // Also, if we have no data yet, we can stand some
- // more bytes. This is to work around cases where hwm=0,
- // such as the repl. Also, if the push() triggered a
- // readable event, and the user called read(largeNumber) such that
- // needReadable was set, then we ought to push more, so that another
- // 'readable' event will be triggered.
- function needMoreData(state) {
- return (
- !state.ended &&
- (state.needReadable ||
- state.length < state.highWaterMark ||
- state.length === 0)
- );
- }
- Readable.prototype.isPaused = function () {
- return this._readableState.flowing === false;
- };
- // backwards compatibility.
- Readable.prototype.setEncoding = function (enc) {
- if (!StringDecoder)
- StringDecoder = require("string_decoder/").StringDecoder;
- this._readableState.decoder = new StringDecoder(enc);
- this._readableState.encoding = enc;
- return this;
- };
- // Don't raise the hwm > 8MB
- var MAX_HWM = 0x800000;
- function computeNewHighWaterMark(n) {
- if (n >= MAX_HWM) {
- n = MAX_HWM;
- } else {
- // Get the next highest power of 2 to prevent increasing hwm excessively in
- // tiny amounts
- n--;
- n |= n >>> 1;
- n |= n >>> 2;
- n |= n >>> 4;
- n |= n >>> 8;
- n |= n >>> 16;
- n++;
- }
- return n;
- }
- // This function is designed to be inlinable, so please take care when making
- // changes to the function body.
- function howMuchToRead(n, state) {
- if (n <= 0 || (state.length === 0 && state.ended)) return 0;
- if (state.objectMode) return 1;
- if (n !== n) {
- // Only flow one buffer at a time
- if (state.flowing && state.length)
- return state.buffer.head.data.length;
- else return state.length;
- }
- // If we're asking for more than the current hwm, then raise the hwm.
- if (n > state.highWaterMark)
- state.highWaterMark = computeNewHighWaterMark(n);
- if (n <= state.length) return n;
- // Don't have enough
- if (!state.ended) {
- state.needReadable = true;
- return 0;
- }
- return state.length;
- }
- // you can override either this method, or the async _read(n) below.
- Readable.prototype.read = function (n) {
- debug("read", n);
- n = parseInt(n, 10);
- var state = this._readableState;
- var nOrig = n;
- if (n !== 0) state.emittedReadable = false;
- // if we're doing read(0) to trigger a readable event, but we
- // already have a bunch of data in the buffer, then just trigger
- // the 'readable' event and move on.
- if (
- n === 0 &&
- state.needReadable &&
- (state.length >= state.highWaterMark || state.ended)
- ) {
- debug("read: emitReadable", state.length, state.ended);
- if (state.length === 0 && state.ended) endReadable(this);
- else emitReadable(this);
- return null;
- }
- n = howMuchToRead(n, state);
- // if we've ended, and we're now clear, then finish it up.
- if (n === 0 && state.ended) {
- if (state.length === 0) endReadable(this);
- return null;
- }
- // All the actual chunk generation logic needs to be
- // *below* the call to _read. The reason is that in certain
- // synthetic stream cases, such as passthrough streams, _read
- // may be a completely synchronous operation which may change
- // the state of the read buffer, providing enough data when
- // before there was *not* enough.
- //
- // So, the steps are:
- // 1. Figure out what the state of things will be after we do
- // a read from the buffer.
- //
- // 2. If that resulting state will trigger a _read, then call _read.
- // Note that this may be asynchronous, or synchronous. Yes, it is
- // deeply ugly to write APIs this way, but that still doesn't mean
- // that the Readable class should behave improperly, as streams are
- // designed to be sync/async agnostic.
- // Take note if the _read call is sync or async (ie, if the read call
- // has returned yet), so that we know whether or not it's safe to emit
- // 'readable' etc.
- //
- // 3. Actually pull the requested chunks out of the buffer and return.
- // if we need a readable event, then we need to do some reading.
- var doRead = state.needReadable;
- debug("need readable", doRead);
- // if we currently have less than the highWaterMark, then also read some
- if (state.length === 0 || state.length - n < state.highWaterMark) {
- doRead = true;
- debug("length less than watermark", doRead);
- }
- // however, if we've ended, then there's no point, and if we're already
- // reading, then it's unnecessary.
- if (state.ended || state.reading) {
- doRead = false;
- debug("reading or ended", doRead);
- } else if (doRead) {
- debug("do read");
- state.reading = true;
- state.sync = true;
- // if the length is currently zero, then we *need* a readable event.
- if (state.length === 0) state.needReadable = true;
- // call internal read method
- this._read(state.highWaterMark);
- state.sync = false;
- // If _read pushed data synchronously, then `reading` will be false,
- // and we need to re-evaluate how much data we can return to the user.
- if (!state.reading) n = howMuchToRead(nOrig, state);
- }
- var ret;
- if (n > 0) ret = fromList(n, state);
- else ret = null;
- if (ret === null) {
- state.needReadable = true;
- n = 0;
- } else {
- state.length -= n;
- }
- if (state.length === 0) {
- // If we have nothing in the buffer, then we want to know
- // as soon as we *do* get something into the buffer.
- if (!state.ended) state.needReadable = true;
- // If we tried to read() past the EOF, then emit end on the next tick.
- if (nOrig !== n && state.ended) endReadable(this);
- }
- if (ret !== null) this.emit("data", ret);
- return ret;
- };
- function onEofChunk(stream, state) {
- if (state.ended) return;
- if (state.decoder) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) {
- state.buffer.push(chunk);
- state.length += state.objectMode ? 1 : chunk.length;
- }
- }
- state.ended = true;
- // emit 'readable' now to make sure it gets picked up.
- emitReadable(stream);
- }
- // Don't emit readable right away in sync mode, because this can trigger
- // another read() call => stack overflow. This way, it might trigger
- // a nextTick recursion warning, but that's not so bad.
- function emitReadable(stream) {
- var state = stream._readableState;
- state.needReadable = false;
- if (!state.emittedReadable) {
- debug("emitReadable", state.flowing);
- state.emittedReadable = true;
- if (state.sync) processNextTick(emitReadable_, stream);
- else emitReadable_(stream);
- }
- }
- function emitReadable_(stream) {
- debug("emit readable");
- stream.emit("readable");
- flow(stream);
- }
- // at this point, the user has presumably seen the 'readable' event,
- // and called read() to consume some data. that may have triggered
- // in turn another _read(n) call, in which case reading = true if
- // it's in progress.
- // However, if we're not ended, or reading, and the length < hwm,
- // then go ahead and try to read some more preemptively.
- function maybeReadMore(stream, state) {
- if (!state.readingMore) {
- state.readingMore = true;
- processNextTick(maybeReadMore_, stream, state);
- }
- }
- function maybeReadMore_(stream, state) {
- var len = state.length;
- while (
- !state.reading &&
- !state.flowing &&
- !state.ended &&
- state.length < state.highWaterMark
- ) {
- debug("maybeReadMore read 0");
- stream.read(0);
- if (len === state.length)
- // didn't get any data, stop spinning.
- break;
- else len = state.length;
- }
- state.readingMore = false;
- }
- // abstract method. to be overridden in specific implementation classes.
- // call cb(er, data) where data is <= n in length.
- // for virtual (non-string, non-buffer) streams, "length" is somewhat
- // arbitrary, and perhaps not very meaningful.
- Readable.prototype._read = function (n) {
- this.emit("error", new Error("_read() is not implemented"));
- };
- Readable.prototype.pipe = function (dest, pipeOpts) {
- var src = this;
- var state = this._readableState;
- switch (state.pipesCount) {
- case 0:
- state.pipes = dest;
- break;
- case 1:
- state.pipes = [state.pipes, dest];
- break;
- default:
- state.pipes.push(dest);
- break;
- }
- state.pipesCount += 1;
- debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
- var doEnd =
- (!pipeOpts || pipeOpts.end !== false) &&
- dest !== process.stdout &&
- dest !== process.stderr;
- var endFn = doEnd ? onend : unpipe;
- if (state.endEmitted) processNextTick(endFn);
- else src.once("end", endFn);
- dest.on("unpipe", onunpipe);
- function onunpipe(readable, unpipeInfo) {
- debug("onunpipe");
- if (readable === src) {
- if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
- unpipeInfo.hasUnpiped = true;
- cleanup();
- }
- }
- }
- function onend() {
- debug("onend");
- dest.end();
- }
- // when the dest drains, it reduces the awaitDrain counter
- // on the source. This would be more elegant with a .once()
- // handler in flow(), but adding and removing repeatedly is
- // too slow.
- var ondrain = pipeOnDrain(src);
- dest.on("drain", ondrain);
- var cleanedUp = false;
- function cleanup() {
- debug("cleanup");
- // cleanup event handlers once the pipe is broken
- dest.removeListener("close", onclose);
- dest.removeListener("finish", onfinish);
- dest.removeListener("drain", ondrain);
- dest.removeListener("error", onerror);
- dest.removeListener("unpipe", onunpipe);
- src.removeListener("end", onend);
- src.removeListener("end", unpipe);
- src.removeListener("data", ondata);
- cleanedUp = true;
- // if the reader is waiting for a drain event from this
- // specific writer, then it would cause it to never start
- // flowing again.
- // So, if this is awaiting a drain, then we just call it now.
- // If we don't know, then assume that we are waiting for one.
- if (
- state.awaitDrain &&
- (!dest._writableState || dest._writableState.needDrain)
- )
- ondrain();
- }
- // If the user pushes more data while we're writing to dest then we'll end up
- // in ondata again. However, we only want to increase awaitDrain once because
- // dest will only emit one 'drain' event for the multiple writes.
- // => Introduce a guard on increasing awaitDrain.
- var increasedAwaitDrain = false;
- src.on("data", ondata);
- function ondata(chunk) {
- debug("ondata");
- increasedAwaitDrain = false;
- var ret = dest.write(chunk);
- if (false === ret && !increasedAwaitDrain) {
- // If the user unpiped during `dest.write()`, it is possible
- // to get stuck in a permanently paused state if that write
- // also returned false.
- // => Check whether `dest` is still a piping destination.
- if (
- ((state.pipesCount === 1 && state.pipes === dest) ||
- (state.pipesCount > 1 &&
- indexOf(state.pipes, dest) !== -1)) &&
- !cleanedUp
- ) {
- debug(
- "false write response, pause",
- src._readableState.awaitDrain
- );
- src._readableState.awaitDrain++;
- increasedAwaitDrain = true;
- }
- src.pause();
- }
- }
- // if the dest has an error, then stop piping into it.
- // however, don't suppress the throwing behavior for this.
- function onerror(er) {
- debug("onerror", er);
- unpipe();
- dest.removeListener("error", onerror);
- if (EElistenerCount(dest, "error") === 0) dest.emit("error", er);
- }
- // Make sure our error handler is attached before userland ones.
- prependListener(dest, "error", onerror);
- // Both close and finish should trigger unpipe, but only once.
- function onclose() {
- dest.removeListener("finish", onfinish);
- unpipe();
- }
- dest.once("close", onclose);
- function onfinish() {
- debug("onfinish");
- dest.removeListener("close", onclose);
- unpipe();
- }
- dest.once("finish", onfinish);
- function unpipe() {
- debug("unpipe");
- src.unpipe(dest);
- }
- // tell the dest that it's being piped to
- dest.emit("pipe", src);
- // start the flow if it hasn't been started already.
- if (!state.flowing) {
- debug("pipe resume");
- src.resume();
- }
- return dest;
- };
- function pipeOnDrain(src) {
- return function () {
- var state = src._readableState;
- debug("pipeOnDrain", state.awaitDrain);
- if (state.awaitDrain) state.awaitDrain--;
- if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
- state.flowing = true;
- flow(src);
- }
- };
- }
- Readable.prototype.unpipe = function (dest) {
- var state = this._readableState;
- var unpipeInfo = { hasUnpiped: false };
- // if we're not piping anywhere, then do nothing.
- if (state.pipesCount === 0) return this;
- // just one destination. most common case.
- if (state.pipesCount === 1) {
- // passed in one, but it's not the right one.
- if (dest && dest !== state.pipes) return this;
- if (!dest) dest = state.pipes;
- // got a match.
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- if (dest) dest.emit("unpipe", this, unpipeInfo);
- return this;
- }
- // slow case. multiple pipe destinations.
- if (!dest) {
- // remove all.
- var dests = state.pipes;
- var len = state.pipesCount;
- state.pipes = null;
- state.pipesCount = 0;
- state.flowing = false;
- for (var i = 0; i < len; i++) {
- dests[i].emit("unpipe", this, unpipeInfo);
- }
- return this;
- }
- // try to find the right one.
- var index = indexOf(state.pipes, dest);
- if (index === -1) return this;
- state.pipes.splice(index, 1);
- state.pipesCount -= 1;
- if (state.pipesCount === 1) state.pipes = state.pipes[0];
- dest.emit("unpipe", this, unpipeInfo);
- return this;
- };
- // set up data events if they are asked for
- // Ensure readable listeners eventually get something
- Readable.prototype.on = function (ev, fn) {
- var res = Stream.prototype.on.call(this, ev, fn);
- if (ev === "data") {
- // Start flowing on next tick if stream isn't explicitly paused
- if (this._readableState.flowing !== false) this.resume();
- } else if (ev === "readable") {
- var state = this._readableState;
- if (!state.endEmitted && !state.readableListening) {
- state.readableListening = state.needReadable = true;
- state.emittedReadable = false;
- if (!state.reading) {
- processNextTick(nReadingNextTick, this);
- } else if (state.length) {
- emitReadable(this);
- }
- }
- }
- return res;
- };
- Readable.prototype.addListener = Readable.prototype.on;
- function nReadingNextTick(self) {
- debug("readable nexttick read 0");
- self.read(0);
- }
- // pause() and resume() are remnants of the legacy readable stream API
- // If the user uses them, then switch into old mode.
- Readable.prototype.resume = function () {
- var state = this._readableState;
- if (!state.flowing) {
- debug("resume");
- state.flowing = true;
- resume(this, state);
- }
- return this;
- };
- function resume(stream, state) {
- if (!state.resumeScheduled) {
- state.resumeScheduled = true;
- processNextTick(resume_, stream, state);
- }
- }
- function resume_(stream, state) {
- if (!state.reading) {
- debug("resume read 0");
- stream.read(0);
- }
- state.resumeScheduled = false;
- state.awaitDrain = 0;
- stream.emit("resume");
- flow(stream);
- if (state.flowing && !state.reading) stream.read(0);
- }
- Readable.prototype.pause = function () {
- debug("call pause flowing=%j", this._readableState.flowing);
- if (false !== this._readableState.flowing) {
- debug("pause");
- this._readableState.flowing = false;
- this.emit("pause");
- }
- return this;
- };
- function flow(stream) {
- var state = stream._readableState;
- debug("flow", state.flowing);
- while (state.flowing && stream.read() !== null) {}
- }
- // wrap an old-style stream as the async data source.
- // This is *not* part of the readable stream interface.
- // It is an ugly unfortunate mess of history.
- Readable.prototype.wrap = function (stream) {
- var state = this._readableState;
- var paused = false;
- var self = this;
- stream.on("end", function () {
- debug("wrapped end");
- if (state.decoder && !state.ended) {
- var chunk = state.decoder.end();
- if (chunk && chunk.length) self.push(chunk);
- }
- self.push(null);
- });
- stream.on("data", function (chunk) {
- debug("wrapped data");
- if (state.decoder) chunk = state.decoder.write(chunk);
- // don't skip over falsy values in objectMode
- if (state.objectMode && (chunk === null || chunk === undefined))
- return;
- else if (!state.objectMode && (!chunk || !chunk.length)) return;
- var ret = self.push(chunk);
- if (!ret) {
- paused = true;
- stream.pause();
- }
- });
- // proxy all the other methods.
- // important when wrapping filters and duplexes.
- for (var i in stream) {
- if (this[i] === undefined && typeof stream[i] === "function") {
- this[i] = (function (method) {
- return function () {
- return stream[method].apply(stream, arguments);
- };
- })(i);
- }
- }
- // proxy certain important events.
- for (var n = 0; n < kProxyEvents.length; n++) {
- stream.on(kProxyEvents[n], self.emit.bind(self, kProxyEvents[n]));
- }
- // when we try to consume some more bytes, simply unpause the
- // underlying stream.
- self._read = function (n) {
- debug("wrapped _read", n);
- if (paused) {
- paused = false;
- stream.resume();
- }
- };
- return self;
- };
- // exposed for testing purposes only.
- Readable._fromList = fromList;
- // Pluck off n bytes from an array of buffers.
- // Length is the combined lengths of all the buffers in the list.
- // This function is designed to be inlinable, so please take care when making
- // changes to the function body.
- function fromList(n, state) {
- // nothing buffered
- if (state.length === 0) return null;
- var ret;
- if (state.objectMode) ret = state.buffer.shift();
- else if (!n || n >= state.length) {
- // read it all, truncate the list
- if (state.decoder) ret = state.buffer.join("");
- else if (state.buffer.length === 1) ret = state.buffer.head.data;
- else ret = state.buffer.concat(state.length);
- state.buffer.clear();
- } else {
- // read part of list
- ret = fromListPartial(n, state.buffer, state.decoder);
- }
- return ret;
- }
- // Extracts only enough buffered data to satisfy the amount requested.
- // This function is designed to be inlinable, so please take care when making
- // changes to the function body.
- function fromListPartial(n, list, hasStrings) {
- var ret;
- if (n < list.head.data.length) {
- // slice is the same for buffers and strings
- ret = list.head.data.slice(0, n);
- list.head.data = list.head.data.slice(n);
- } else if (n === list.head.data.length) {
- // first chunk is a perfect match
- ret = list.shift();
- } else {
- // result spans more than one buffer
- ret = hasStrings
- ? copyFromBufferString(n, list)
- : copyFromBuffer(n, list);
- }
- return ret;
- }
- // Copies a specified amount of characters from the list of buffered data
- // chunks.
- // This function is designed to be inlinable, so please take care when making
- // changes to the function body.
- function copyFromBufferString(n, list) {
- var p = list.head;
- var c = 1;
- var ret = p.data;
- n -= ret.length;
- while ((p = p.next)) {
- var str = p.data;
- var nb = n > str.length ? str.length : n;
- if (nb === str.length) ret += str;
- else ret += str.slice(0, n);
- n -= nb;
- if (n === 0) {
- if (nb === str.length) {
- ++c;
- if (p.next) list.head = p.next;
- else list.head = list.tail = null;
- } else {
- list.head = p;
- p.data = str.slice(nb);
- }
- break;
- }
- ++c;
- }
- list.length -= c;
- return ret;
- }
- // Copies a specified amount of bytes from the list of buffered data chunks.
- // This function is designed to be inlinable, so please take care when making
- // changes to the function body.
- function copyFromBuffer(n, list) {
- var ret = Buffer.allocUnsafe(n);
- var p = list.head;
- var c = 1;
- p.data.copy(ret);
- n -= p.data.length;
- while ((p = p.next)) {
- var buf = p.data;
- var nb = n > buf.length ? buf.length : n;
- buf.copy(ret, ret.length - n, 0, nb);
- n -= nb;
- if (n === 0) {
- if (nb === buf.length) {
- ++c;
- if (p.next) list.head = p.next;
- else list.head = list.tail = null;
- } else {
- list.head = p;
- p.data = buf.slice(nb);
- }
- break;
- }
- ++c;
- }
- list.length -= c;
- return ret;
- }
- function endReadable(stream) {
- var state = stream._readableState;
- // If we get here before consuming all the bytes, then that is a
- // bug in node. Should never happen.
- if (state.length > 0)
- throw new Error('"endReadable()" called on non-empty stream');
- if (!state.endEmitted) {
- state.ended = true;
- processNextTick(endReadableNT, state, stream);
- }
- }
- function endReadableNT(state, stream) {
- // Check that we didn't get one last unshift.
- if (!state.endEmitted && state.length === 0) {
- state.endEmitted = true;
- stream.readable = false;
- stream.emit("end");
- }
- }
- function forEach(xs, f) {
- for (var i = 0, l = xs.length; i < l; i++) {
- f(xs[i], i);
- }
- }
- function indexOf(xs, x) {
- for (var i = 0, l = xs.length; i < l; i++) {
- if (xs[i] === x) return i;
- }
- return -1;
- }
- }).call(
- this,
- require("_process"),
- typeof global !== "undefined"
- ? global
- : typeof self !== "undefined"
- ? self
- : typeof window !== "undefined"
- ? window
- : {}
- );
- },
- {
- "./_stream_duplex": 135,
- "./internal/streams/BufferList": 140,
- "./internal/streams/destroy": 141,
- "./internal/streams/stream": 142,
- _process: 126,
- "core-util-is": 56,
- events: 90,
- inherits: 108,
- isarray: 110,
- "process-nextick-args": 125,
- "safe-buffer": 148,
- "string_decoder/": 158,
- util: 27,
- },
- ],
- 138: [
- function (require, module, exports) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- // a transform stream is a readable/writable stream where you do
- // something with the data. Sometimes it's called a "filter",
- // but that's not a great name for it, since that implies a thing where
- // some bits pass through, and others are simply ignored. (That would
- // be a valid example of a transform, of course.)
- //
- // While the output is causally related to the input, it's not a
- // necessarily symmetric or synchronous transformation. For example,
- // a zlib stream might take multiple plain-text writes(), and then
- // emit a single compressed chunk some time in the future.
- //
- // Here's how this works:
- //
- // The Transform stream has all the aspects of the readable and writable
- // stream classes. When you write(chunk), that calls _write(chunk,cb)
- // internally, and returns false if there's a lot of pending writes
- // buffered up. When you call read(), that calls _read(n) until
- // there's enough pending readable data buffered up.
- //
- // In a transform stream, the written data is placed in a buffer. When
- // _read(n) is called, it transforms the queued up data, calling the
- // buffered _write cb's as it consumes chunks. If consuming a single
- // written chunk would result in multiple output chunks, then the first
- // outputted bit calls the readcb, and subsequent chunks just go into
- // the read buffer, and will cause it to emit 'readable' if necessary.
- //
- // This way, back-pressure is actually determined by the reading side,
- // since _read has to be called to start processing a new chunk. However,
- // a pathological inflate type of transform can cause excessive buffering
- // here. For example, imagine a stream where every byte of input is
- // interpreted as an integer from 0-255, and then results in that many
- // bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
- // 1kb of data being output. In this case, you could write a very small
- // amount of input, and end up with a very large amount of output. In
- // such a pathological inflating mechanism, there'd be no way to tell
- // the system to stop doing the transform. A single 4MB write could
- // cause the system to run out of memory.
- //
- // However, even in such a pathological case, only a single written chunk
- // would be consumed, and then the rest would wait (un-transformed) until
- // the results of the previous transformed chunk were consumed.
- "use strict";
- module.exports = Transform;
- var Duplex = require("./_stream_duplex.js");
- /*<replacement>*/
- var util = require("core-util-is");
- util.inherits = require("inherits");
- /*</replacement>*/
- util.inherits(Transform, Duplex);
- function TransformState(stream) {
- this.afterTransform = function (er, data) {
- return afterTransform(stream, er, data);
- };
- this.needTransform = false;
- this.transforming = false;
- this.writecb = null;
- this.writechunk = null;
- this.writeencoding = null;
- }
- function afterTransform(stream, er, data) {
- var ts = stream._transformState;
- ts.transforming = false;
- var cb = ts.writecb;
- if (!cb) {
- return stream.emit(
- "error",
- new Error("write callback called multiple times")
- );
- }
- ts.writechunk = null;
- ts.writecb = null;
- if (data !== null && data !== undefined) stream.push(data);
- cb(er);
- var rs = stream._readableState;
- rs.reading = false;
- if (rs.needReadable || rs.length < rs.highWaterMark) {
- stream._read(rs.highWaterMark);
- }
- }
- function Transform(options) {
- if (!(this instanceof Transform)) return new Transform(options);
- Duplex.call(this, options);
- this._transformState = new TransformState(this);
- var stream = this;
- // start out asking for a readable event once data is transformed.
- this._readableState.needReadable = true;
- // we have implemented the _read method, and done the other things
- // that Readable wants before the first _read call, so unset the
- // sync guard flag.
- this._readableState.sync = false;
- if (options) {
- if (typeof options.transform === "function")
- this._transform = options.transform;
- if (typeof options.flush === "function")
- this._flush = options.flush;
- }
- // When the writable side finishes, then flush out anything remaining.
- this.once("prefinish", function () {
- if (typeof this._flush === "function")
- this._flush(function (er, data) {
- done(stream, er, data);
- });
- else done(stream);
- });
- }
- Transform.prototype.push = function (chunk, encoding) {
- this._transformState.needTransform = false;
- return Duplex.prototype.push.call(this, chunk, encoding);
- };
- // This is the part where you do stuff!
- // override this function in implementation classes.
- // 'chunk' is an input chunk.
- //
- // Call `push(newChunk)` to pass along transformed output
- // to the readable side. You may call 'push' zero or more times.
- //
- // Call `cb(err)` when you are done with this chunk. If you pass
- // an error, then that'll put the hurt on the whole operation. If you
- // never call cb(), then you'll never get another chunk.
- Transform.prototype._transform = function (chunk, encoding, cb) {
- throw new Error("_transform() is not implemented");
- };
- Transform.prototype._write = function (chunk, encoding, cb) {
- var ts = this._transformState;
- ts.writecb = cb;
- ts.writechunk = chunk;
- ts.writeencoding = encoding;
- if (!ts.transforming) {
- var rs = this._readableState;
- if (
- ts.needTransform ||
- rs.needReadable ||
- rs.length < rs.highWaterMark
- )
- this._read(rs.highWaterMark);
- }
- };
- // Doesn't matter what the args are here.
- // _transform does all the work.
- // That we got here means that the readable side wants more data.
- Transform.prototype._read = function (n) {
- var ts = this._transformState;
- if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
- ts.transforming = true;
- this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
- } else {
- // mark that we need a transform, so that any data that comes in
- // will get processed, now that we've asked for it.
- ts.needTransform = true;
- }
- };
- Transform.prototype._destroy = function (err, cb) {
- var _this = this;
- Duplex.prototype._destroy.call(this, err, function (err2) {
- cb(err2);
- _this.emit("close");
- });
- };
- function done(stream, er, data) {
- if (er) return stream.emit("error", er);
- if (data !== null && data !== undefined) stream.push(data);
- // if there's nothing in the write buffer, then that means
- // that nothing more will ever be provided
- var ws = stream._writableState;
- var ts = stream._transformState;
- if (ws.length)
- throw new Error("Calling transform done when ws.length != 0");
- if (ts.transforming)
- throw new Error("Calling transform done when still transforming");
- return stream.push(null);
- }
- },
- { "./_stream_duplex": 135, "core-util-is": 56, inherits: 108 },
- ],
- 139: [
- function (require, module, exports) {
- (function (process, global) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- // A bit simpler than readable streams.
- // Implement an async ._write(chunk, encoding, cb), and it'll handle all
- // the drain event emission and buffering.
- "use strict";
- /*<replacement>*/
- var processNextTick = require("process-nextick-args");
- /*</replacement>*/
- module.exports = Writable;
- /* <replacement> */
- function WriteReq(chunk, encoding, cb) {
- this.chunk = chunk;
- this.encoding = encoding;
- this.callback = cb;
- this.next = null;
- }
- // It seems a linked list but it is not
- // there will be only 2 of these for each stream
- function CorkedRequest(state) {
- var _this = this;
- this.next = null;
- this.entry = null;
- this.finish = function () {
- onCorkedFinish(_this, state);
- };
- }
- /* </replacement> */
- /*<replacement>*/
- var asyncWrite =
- !process.browser &&
- ["v0.10", "v0.9."].indexOf(process.version.slice(0, 5)) > -1
- ? setImmediate
- : processNextTick;
- /*</replacement>*/
- /*<replacement>*/
- var Duplex;
- /*</replacement>*/
- Writable.WritableState = WritableState;
- /*<replacement>*/
- var util = require("core-util-is");
- util.inherits = require("inherits");
- /*</replacement>*/
- /*<replacement>*/
- var internalUtil = {
- deprecate: require("util-deprecate"),
- };
- /*</replacement>*/
- /*<replacement>*/
- var Stream = require("./internal/streams/stream.js");
- /*</replacement>*/
- /*<replacement>*/
- var Buffer = require("safe-buffer").Buffer;
- var OurUint8Array = global.Uint8Array || function () {};
- function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
- }
- function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
- }
- /*</replacement>*/
- var destroyImpl = require("./internal/streams/destroy.js");
- util.inherits(Writable, Stream);
- function nop() {}
- function WritableState(options, stream) {
- Duplex = Duplex || require("./_stream_duplex.js");
- options = options || {};
- // object stream flag to indicate whether or not this stream
- // contains buffers or objects.
- this.objectMode = !!options.objectMode;
- if (stream instanceof Duplex)
- this.objectMode = this.objectMode || !!options.writableObjectMode;
- // the point at which write() starts returning false
- // Note: 0 is a valid value, means that we always return false if
- // the entire buffer is not flushed immediately on write()
- var hwm = options.highWaterMark;
- var defaultHwm = this.objectMode ? 16 : 16 * 1024;
- this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm;
- // cast to ints.
- this.highWaterMark = Math.floor(this.highWaterMark);
- // if _final has been called
- this.finalCalled = false;
- // drain event flag.
- this.needDrain = false;
- // at the start of calling end()
- this.ending = false;
- // when end() has been called, and returned
- this.ended = false;
- // when 'finish' is emitted
- this.finished = false;
- // has it been destroyed
- this.destroyed = false;
- // should we decode strings into buffers before passing to _write?
- // this is here so that some node-core streams can optimize string
- // handling at a lower level.
- var noDecode = options.decodeStrings === false;
- this.decodeStrings = !noDecode;
- // Crypto is kind of old and crusty. Historically, its default string
- // encoding is 'binary' so we have to make this configurable.
- // Everything else in the universe uses 'utf8', though.
- this.defaultEncoding = options.defaultEncoding || "utf8";
- // not an actual buffer we keep track of, but a measurement
- // of how much we're waiting to get pushed to some underlying
- // socket or file.
- this.length = 0;
- // a flag to see when we're in the middle of a write.
- this.writing = false;
- // when true all writes will be buffered until .uncork() call
- this.corked = 0;
- // a flag to be able to tell if the onwrite cb is called immediately,
- // or on a later tick. We set this to true at first, because any
- // actions that shouldn't happen until "later" should generally also
- // not happen before the first write call.
- this.sync = true;
- // a flag to know if we're processing previously buffered items, which
- // may call the _write() callback in the same tick, so that we don't
- // end up in an overlapped onwrite situation.
- this.bufferProcessing = false;
- // the callback that's passed to _write(chunk,cb)
- this.onwrite = function (er) {
- onwrite(stream, er);
- };
- // the callback that the user supplies to write(chunk,encoding,cb)
- this.writecb = null;
- // the amount that is being written when _write is called.
- this.writelen = 0;
- this.bufferedRequest = null;
- this.lastBufferedRequest = null;
- // number of pending user-supplied write callbacks
- // this must be 0 before 'finish' can be emitted
- this.pendingcb = 0;
- // emit prefinish if the only thing we're waiting for is _write cbs
- // This is relevant for synchronous Transform streams
- this.prefinished = false;
- // True if the error was already emitted and should not be thrown again
- this.errorEmitted = false;
- // count buffered requests
- this.bufferedRequestCount = 0;
- // allocate the first CorkedRequest, there is always
- // one allocated and free to use, and we maintain at most two
- this.corkedRequestsFree = new CorkedRequest(this);
- }
- WritableState.prototype.getBuffer = function getBuffer() {
- var current = this.bufferedRequest;
- var out = [];
- while (current) {
- out.push(current);
- current = current.next;
- }
- return out;
- };
- (function () {
- try {
- Object.defineProperty(WritableState.prototype, "buffer", {
- get: internalUtil.deprecate(
- function () {
- return this.getBuffer();
- },
- "_writableState.buffer is deprecated. Use _writableState.getBuffer " +
- "instead.",
- "DEP0003"
- ),
- });
- } catch (_) {}
- })();
- // Test _writableState for inheritance to account for Duplex streams,
- // whose prototype chain only points to Readable.
- var realHasInstance;
- if (
- typeof Symbol === "function" &&
- Symbol.hasInstance &&
- typeof Function.prototype[Symbol.hasInstance] === "function"
- ) {
- realHasInstance = Function.prototype[Symbol.hasInstance];
- Object.defineProperty(Writable, Symbol.hasInstance, {
- value: function (object) {
- if (realHasInstance.call(this, object)) return true;
- return object && object._writableState instanceof WritableState;
- },
- });
- } else {
- realHasInstance = function (object) {
- return object instanceof this;
- };
- }
- function Writable(options) {
- Duplex = Duplex || require("./_stream_duplex.js");
- // Writable ctor is applied to Duplexes, too.
- // `realHasInstance` is necessary because using plain `instanceof`
- // would return false, as no `_writableState` property is attached.
- // Trying to use the custom `instanceof` for Writable here will also break the
- // Node.js LazyTransform implementation, which has a non-trivial getter for
- // `_writableState` that would lead to infinite recursion.
- if (
- !realHasInstance.call(Writable, this) &&
- !(this instanceof Duplex)
- ) {
- return new Writable(options);
- }
- this._writableState = new WritableState(options, this);
- // legacy.
- this.writable = true;
- if (options) {
- if (typeof options.write === "function")
- this._write = options.write;
- if (typeof options.writev === "function")
- this._writev = options.writev;
- if (typeof options.destroy === "function")
- this._destroy = options.destroy;
- if (typeof options.final === "function")
- this._final = options.final;
- }
- Stream.call(this);
- }
- // Otherwise people can pipe Writable streams, which is just wrong.
- Writable.prototype.pipe = function () {
- this.emit("error", new Error("Cannot pipe, not readable"));
- };
- function writeAfterEnd(stream, cb) {
- var er = new Error("write after end");
- // TODO: defer error events consistently everywhere, not just the cb
- stream.emit("error", er);
- processNextTick(cb, er);
- }
- // Checks that a user-supplied chunk is valid, especially for the particular
- // mode the stream is in. Currently this means that `null` is never accepted
- // and undefined/non-string values are only allowed in object mode.
- function validChunk(stream, state, chunk, cb) {
- var valid = true;
- var er = false;
- if (chunk === null) {
- er = new TypeError("May not write null values to stream");
- } else if (
- typeof chunk !== "string" &&
- chunk !== undefined &&
- !state.objectMode
- ) {
- er = new TypeError("Invalid non-string/buffer chunk");
- }
- if (er) {
- stream.emit("error", er);
- processNextTick(cb, er);
- valid = false;
- }
- return valid;
- }
- Writable.prototype.write = function (chunk, encoding, cb) {
- var state = this._writableState;
- var ret = false;
- var isBuf = _isUint8Array(chunk) && !state.objectMode;
- if (isBuf && !Buffer.isBuffer(chunk)) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
- if (typeof encoding === "function") {
- cb = encoding;
- encoding = null;
- }
- if (isBuf) encoding = "buffer";
- else if (!encoding) encoding = state.defaultEncoding;
- if (typeof cb !== "function") cb = nop;
- if (state.ended) writeAfterEnd(this, cb);
- else if (isBuf || validChunk(this, state, chunk, cb)) {
- state.pendingcb++;
- ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
- }
- return ret;
- };
- Writable.prototype.cork = function () {
- var state = this._writableState;
- state.corked++;
- };
- Writable.prototype.uncork = function () {
- var state = this._writableState;
- if (state.corked) {
- state.corked--;
- if (
- !state.writing &&
- !state.corked &&
- !state.finished &&
- !state.bufferProcessing &&
- state.bufferedRequest
- )
- clearBuffer(this, state);
- }
- };
- Writable.prototype.setDefaultEncoding = function setDefaultEncoding(
- encoding
- ) {
- // node::ParseEncoding() requires lower case.
- if (typeof encoding === "string") encoding = encoding.toLowerCase();
- if (
- !(
- [
- "hex",
- "utf8",
- "utf-8",
- "ascii",
- "binary",
- "base64",
- "ucs2",
- "ucs-2",
- "utf16le",
- "utf-16le",
- "raw",
- ].indexOf((encoding + "").toLowerCase()) > -1
- )
- )
- throw new TypeError("Unknown encoding: " + encoding);
- this._writableState.defaultEncoding = encoding;
- return this;
- };
- function decodeChunk(state, chunk, encoding) {
- if (
- !state.objectMode &&
- state.decodeStrings !== false &&
- typeof chunk === "string"
- ) {
- chunk = Buffer.from(chunk, encoding);
- }
- return chunk;
- }
- // if we're already writing something, then just put this
- // in the queue, and wait our turn. Otherwise, call _write
- // If we return false, then we need a drain event, so set that flag.
- function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
- if (!isBuf) {
- var newChunk = decodeChunk(state, chunk, encoding);
- if (chunk !== newChunk) {
- isBuf = true;
- encoding = "buffer";
- chunk = newChunk;
- }
- }
- var len = state.objectMode ? 1 : chunk.length;
- state.length += len;
- var ret = state.length < state.highWaterMark;
- // we must ensure that previous needDrain will not be reset to false.
- if (!ret) state.needDrain = true;
- if (state.writing || state.corked) {
- var last = state.lastBufferedRequest;
- state.lastBufferedRequest = {
- chunk: chunk,
- encoding: encoding,
- isBuf: isBuf,
- callback: cb,
- next: null,
- };
- if (last) {
- last.next = state.lastBufferedRequest;
- } else {
- state.bufferedRequest = state.lastBufferedRequest;
- }
- state.bufferedRequestCount += 1;
- } else {
- doWrite(stream, state, false, len, chunk, encoding, cb);
- }
- return ret;
- }
- function doWrite(stream, state, writev, len, chunk, encoding, cb) {
- state.writelen = len;
- state.writecb = cb;
- state.writing = true;
- state.sync = true;
- if (writev) stream._writev(chunk, state.onwrite);
- else stream._write(chunk, encoding, state.onwrite);
- state.sync = false;
- }
- function onwriteError(stream, state, sync, er, cb) {
- --state.pendingcb;
- if (sync) {
- // defer the callback if we are being called synchronously
- // to avoid piling up things on the stack
- processNextTick(cb, er);
- // this can emit finish, and it will always happen
- // after error
- processNextTick(finishMaybe, stream, state);
- stream._writableState.errorEmitted = true;
- stream.emit("error", er);
- } else {
- // the caller expect this to happen before if
- // it is async
- cb(er);
- stream._writableState.errorEmitted = true;
- stream.emit("error", er);
- // this can emit finish, but finish must
- // always follow error
- finishMaybe(stream, state);
- }
- }
- function onwriteStateUpdate(state) {
- state.writing = false;
- state.writecb = null;
- state.length -= state.writelen;
- state.writelen = 0;
- }
- function onwrite(stream, er) {
- var state = stream._writableState;
- var sync = state.sync;
- var cb = state.writecb;
- onwriteStateUpdate(state);
- if (er) onwriteError(stream, state, sync, er, cb);
- else {
- // Check if we're actually ready to finish, but don't emit yet
- var finished = needFinish(state);
- if (
- !finished &&
- !state.corked &&
- !state.bufferProcessing &&
- state.bufferedRequest
- ) {
- clearBuffer(stream, state);
- }
- if (sync) {
- /*<replacement>*/
- asyncWrite(afterWrite, stream, state, finished, cb);
- /*</replacement>*/
- } else {
- afterWrite(stream, state, finished, cb);
- }
- }
- }
- function afterWrite(stream, state, finished, cb) {
- if (!finished) onwriteDrain(stream, state);
- state.pendingcb--;
- cb();
- finishMaybe(stream, state);
- }
- // Must force callback to be called on nextTick, so that we don't
- // emit 'drain' before the write() consumer gets the 'false' return
- // value, and has a chance to attach a 'drain' listener.
- function onwriteDrain(stream, state) {
- if (state.length === 0 && state.needDrain) {
- state.needDrain = false;
- stream.emit("drain");
- }
- }
- // if there's something in the buffer waiting, then process it
- function clearBuffer(stream, state) {
- state.bufferProcessing = true;
- var entry = state.bufferedRequest;
- if (stream._writev && entry && entry.next) {
- // Fast case, write everything using _writev()
- var l = state.bufferedRequestCount;
- var buffer = new Array(l);
- var holder = state.corkedRequestsFree;
- holder.entry = entry;
- var count = 0;
- var allBuffers = true;
- while (entry) {
- buffer[count] = entry;
- if (!entry.isBuf) allBuffers = false;
- entry = entry.next;
- count += 1;
- }
- buffer.allBuffers = allBuffers;
- doWrite(
- stream,
- state,
- true,
- state.length,
- buffer,
- "",
- holder.finish
- );
- // doWrite is almost always async, defer these to save a bit of time
- // as the hot path ends with doWrite
- state.pendingcb++;
- state.lastBufferedRequest = null;
- if (holder.next) {
- state.corkedRequestsFree = holder.next;
- holder.next = null;
- } else {
- state.corkedRequestsFree = new CorkedRequest(state);
- }
- } else {
- // Slow case, write chunks one-by-one
- while (entry) {
- var chunk = entry.chunk;
- var encoding = entry.encoding;
- var cb = entry.callback;
- var len = state.objectMode ? 1 : chunk.length;
- doWrite(stream, state, false, len, chunk, encoding, cb);
- entry = entry.next;
- // if we didn't call the onwrite immediately, then
- // it means that we need to wait until it does.
- // also, that means that the chunk and cb are currently
- // being processed, so move the buffer counter past them.
- if (state.writing) {
- break;
- }
- }
- if (entry === null) state.lastBufferedRequest = null;
- }
- state.bufferedRequestCount = 0;
- state.bufferedRequest = entry;
- state.bufferProcessing = false;
- }
- Writable.prototype._write = function (chunk, encoding, cb) {
- cb(new Error("_write() is not implemented"));
- };
- Writable.prototype._writev = null;
- Writable.prototype.end = function (chunk, encoding, cb) {
- var state = this._writableState;
- if (typeof chunk === "function") {
- cb = chunk;
- chunk = null;
- encoding = null;
- } else if (typeof encoding === "function") {
- cb = encoding;
- encoding = null;
- }
- if (chunk !== null && chunk !== undefined)
- this.write(chunk, encoding);
- // .end() fully uncorks
- if (state.corked) {
- state.corked = 1;
- this.uncork();
- }
- // ignore unnecessary end() calls.
- if (!state.ending && !state.finished) endWritable(this, state, cb);
- };
- function needFinish(state) {
- return (
- state.ending &&
- state.length === 0 &&
- state.bufferedRequest === null &&
- !state.finished &&
- !state.writing
- );
- }
- function callFinal(stream, state) {
- stream._final(function (err) {
- state.pendingcb--;
- if (err) {
- stream.emit("error", err);
- }
- state.prefinished = true;
- stream.emit("prefinish");
- finishMaybe(stream, state);
- });
- }
- function prefinish(stream, state) {
- if (!state.prefinished && !state.finalCalled) {
- if (typeof stream._final === "function") {
- state.pendingcb++;
- state.finalCalled = true;
- processNextTick(callFinal, stream, state);
- } else {
- state.prefinished = true;
- stream.emit("prefinish");
- }
- }
- }
- function finishMaybe(stream, state) {
- var need = needFinish(state);
- if (need) {
- prefinish(stream, state);
- if (state.pendingcb === 0) {
- state.finished = true;
- stream.emit("finish");
- }
- }
- return need;
- }
- function endWritable(stream, state, cb) {
- state.ending = true;
- finishMaybe(stream, state);
- if (cb) {
- if (state.finished) processNextTick(cb);
- else stream.once("finish", cb);
- }
- state.ended = true;
- stream.writable = false;
- }
- function onCorkedFinish(corkReq, state, err) {
- var entry = corkReq.entry;
- corkReq.entry = null;
- while (entry) {
- var cb = entry.callback;
- state.pendingcb--;
- cb(err);
- entry = entry.next;
- }
- if (state.corkedRequestsFree) {
- state.corkedRequestsFree.next = corkReq;
- } else {
- state.corkedRequestsFree = corkReq;
- }
- }
- Object.defineProperty(Writable.prototype, "destroyed", {
- get: function () {
- if (this._writableState === undefined) {
- return false;
- }
- return this._writableState.destroyed;
- },
- set: function (value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._writableState) {
- return;
- }
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._writableState.destroyed = value;
- },
- });
- Writable.prototype.destroy = destroyImpl.destroy;
- Writable.prototype._undestroy = destroyImpl.undestroy;
- Writable.prototype._destroy = function (err, cb) {
- this.end();
- cb(err);
- };
- }).call(
- this,
- require("_process"),
- typeof global !== "undefined"
- ? global
- : typeof self !== "undefined"
- ? self
- : typeof window !== "undefined"
- ? window
- : {}
- );
- },
- {
- "./_stream_duplex": 135,
- "./internal/streams/destroy": 141,
- "./internal/streams/stream": 142,
- _process: 126,
- "core-util-is": 56,
- inherits: 108,
- "process-nextick-args": 125,
- "safe-buffer": 148,
- "util-deprecate": 159,
- },
- ],
- 140: [
- function (require, module, exports) {
- "use strict";
- /*<replacement>*/
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- var Buffer = require("safe-buffer").Buffer;
- /*</replacement>*/
- function copyBuffer(src, target, offset) {
- src.copy(target, offset);
- }
- module.exports = (function () {
- function BufferList() {
- _classCallCheck(this, BufferList);
- this.head = null;
- this.tail = null;
- this.length = 0;
- }
- BufferList.prototype.push = function push(v) {
- var entry = { data: v, next: null };
- if (this.length > 0) this.tail.next = entry;
- else this.head = entry;
- this.tail = entry;
- ++this.length;
- };
- BufferList.prototype.unshift = function unshift(v) {
- var entry = { data: v, next: this.head };
- if (this.length === 0) this.tail = entry;
- this.head = entry;
- ++this.length;
- };
- BufferList.prototype.shift = function shift() {
- if (this.length === 0) return;
- var ret = this.head.data;
- if (this.length === 1) this.head = this.tail = null;
- else this.head = this.head.next;
- --this.length;
- return ret;
- };
- BufferList.prototype.clear = function clear() {
- this.head = this.tail = null;
- this.length = 0;
- };
- BufferList.prototype.join = function join(s) {
- if (this.length === 0) return "";
- var p = this.head;
- var ret = "" + p.data;
- while ((p = p.next)) {
- ret += s + p.data;
- }
- return ret;
- };
- BufferList.prototype.concat = function concat(n) {
- if (this.length === 0) return Buffer.alloc(0);
- if (this.length === 1) return this.head.data;
- var ret = Buffer.allocUnsafe(n >>> 0);
- var p = this.head;
- var i = 0;
- while (p) {
- copyBuffer(p.data, ret, i);
- i += p.data.length;
- p = p.next;
- }
- return ret;
- };
- return BufferList;
- })();
- },
- { "safe-buffer": 148 },
- ],
- 141: [
- function (require, module, exports) {
- "use strict";
- /*<replacement>*/
- var processNextTick = require("process-nextick-args");
- /*</replacement>*/
- // undocumented cb() API, needed for core, not for public API
- function destroy(err, cb) {
- var _this = this;
- var readableDestroyed =
- this._readableState && this._readableState.destroyed;
- var writableDestroyed =
- this._writableState && this._writableState.destroyed;
- if (readableDestroyed || writableDestroyed) {
- if (cb) {
- cb(err);
- } else if (
- err &&
- (!this._writableState || !this._writableState.errorEmitted)
- ) {
- processNextTick(emitErrorNT, this, err);
- }
- return;
- }
- // we set destroyed to true before firing error callbacks in order
- // to make it re-entrance safe in case destroy() is called within callbacks
- if (this._readableState) {
- this._readableState.destroyed = true;
- }
- // if this is a duplex stream mark the writable part as destroyed as well
- if (this._writableState) {
- this._writableState.destroyed = true;
- }
- this._destroy(err || null, function (err) {
- if (!cb && err) {
- processNextTick(emitErrorNT, _this, err);
- if (_this._writableState) {
- _this._writableState.errorEmitted = true;
- }
- } else if (cb) {
- cb(err);
- }
- });
- }
- function undestroy() {
- if (this._readableState) {
- this._readableState.destroyed = false;
- this._readableState.reading = false;
- this._readableState.ended = false;
- this._readableState.endEmitted = false;
- }
- if (this._writableState) {
- this._writableState.destroyed = false;
- this._writableState.ended = false;
- this._writableState.ending = false;
- this._writableState.finished = false;
- this._writableState.errorEmitted = false;
- }
- }
- function emitErrorNT(self, err) {
- self.emit("error", err);
- }
- module.exports = {
- destroy: destroy,
- undestroy: undestroy,
- };
- },
- { "process-nextick-args": 125 },
- ],
- 142: [
- function (require, module, exports) {
- module.exports = require("events").EventEmitter;
- },
- { events: 90 },
- ],
- 143: [
- function (require, module, exports) {
- module.exports = require("./readable.js").PassThrough;
- },
- { "./readable": 144 },
- ],
- 144: [
- function (require, module, exports) {
- exports = module.exports = require("./lib/_stream_readable.js");
- exports.Stream = exports;
- exports.Readable = exports;
- exports.Writable = require("./lib/_stream_writable.js");
- exports.Duplex = require("./lib/_stream_duplex.js");
- exports.Transform = require("./lib/_stream_transform.js");
- exports.PassThrough = require("./lib/_stream_passthrough.js");
- },
- {
- "./lib/_stream_duplex.js": 135,
- "./lib/_stream_passthrough.js": 136,
- "./lib/_stream_readable.js": 137,
- "./lib/_stream_transform.js": 138,
- "./lib/_stream_writable.js": 139,
- },
- ],
- 145: [
- function (require, module, exports) {
- module.exports = require("./readable.js").Transform;
- },
- { "./readable": 144 },
- ],
- 146: [
- function (require, module, exports) {
- module.exports = require("./lib/_stream_writable.js");
- },
- { "./lib/_stream_writable.js": 139 },
- ],
- 147: [
- function (require, module, exports) {
- (function (Buffer) {
- "use strict";
- var inherits = require("inherits");
- var HashBase = require("hash-base");
- function RIPEMD160() {
- HashBase.call(this, 64);
- // state
- this._a = 0x67452301;
- this._b = 0xefcdab89;
- this._c = 0x98badcfe;
- this._d = 0x10325476;
- this._e = 0xc3d2e1f0;
- }
- inherits(RIPEMD160, HashBase);
- RIPEMD160.prototype._update = function () {
- var m = new Array(16);
- for (var i = 0; i < 16; ++i) m[i] = this._block.readInt32LE(i * 4);
- var al = this._a;
- var bl = this._b;
- var cl = this._c;
- var dl = this._d;
- var el = this._e;
- // Mj = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
- // K = 0x00000000
- // Sj = 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8
- al = fn1(al, bl, cl, dl, el, m[0], 0x00000000, 11);
- cl = rotl(cl, 10);
- el = fn1(el, al, bl, cl, dl, m[1], 0x00000000, 14);
- bl = rotl(bl, 10);
- dl = fn1(dl, el, al, bl, cl, m[2], 0x00000000, 15);
- al = rotl(al, 10);
- cl = fn1(cl, dl, el, al, bl, m[3], 0x00000000, 12);
- el = rotl(el, 10);
- bl = fn1(bl, cl, dl, el, al, m[4], 0x00000000, 5);
- dl = rotl(dl, 10);
- al = fn1(al, bl, cl, dl, el, m[5], 0x00000000, 8);
- cl = rotl(cl, 10);
- el = fn1(el, al, bl, cl, dl, m[6], 0x00000000, 7);
- bl = rotl(bl, 10);
- dl = fn1(dl, el, al, bl, cl, m[7], 0x00000000, 9);
- al = rotl(al, 10);
- cl = fn1(cl, dl, el, al, bl, m[8], 0x00000000, 11);
- el = rotl(el, 10);
- bl = fn1(bl, cl, dl, el, al, m[9], 0x00000000, 13);
- dl = rotl(dl, 10);
- al = fn1(al, bl, cl, dl, el, m[10], 0x00000000, 14);
- cl = rotl(cl, 10);
- el = fn1(el, al, bl, cl, dl, m[11], 0x00000000, 15);
- bl = rotl(bl, 10);
- dl = fn1(dl, el, al, bl, cl, m[12], 0x00000000, 6);
- al = rotl(al, 10);
- cl = fn1(cl, dl, el, al, bl, m[13], 0x00000000, 7);
- el = rotl(el, 10);
- bl = fn1(bl, cl, dl, el, al, m[14], 0x00000000, 9);
- dl = rotl(dl, 10);
- al = fn1(al, bl, cl, dl, el, m[15], 0x00000000, 8);
- cl = rotl(cl, 10);
- // Mj = 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8
- // K = 0x5a827999
- // Sj = 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12
- el = fn2(el, al, bl, cl, dl, m[7], 0x5a827999, 7);
- bl = rotl(bl, 10);
- dl = fn2(dl, el, al, bl, cl, m[4], 0x5a827999, 6);
- al = rotl(al, 10);
- cl = fn2(cl, dl, el, al, bl, m[13], 0x5a827999, 8);
- el = rotl(el, 10);
- bl = fn2(bl, cl, dl, el, al, m[1], 0x5a827999, 13);
- dl = rotl(dl, 10);
- al = fn2(al, bl, cl, dl, el, m[10], 0x5a827999, 11);
- cl = rotl(cl, 10);
- el = fn2(el, al, bl, cl, dl, m[6], 0x5a827999, 9);
- bl = rotl(bl, 10);
- dl = fn2(dl, el, al, bl, cl, m[15], 0x5a827999, 7);
- al = rotl(al, 10);
- cl = fn2(cl, dl, el, al, bl, m[3], 0x5a827999, 15);
- el = rotl(el, 10);
- bl = fn2(bl, cl, dl, el, al, m[12], 0x5a827999, 7);
- dl = rotl(dl, 10);
- al = fn2(al, bl, cl, dl, el, m[0], 0x5a827999, 12);
- cl = rotl(cl, 10);
- el = fn2(el, al, bl, cl, dl, m[9], 0x5a827999, 15);
- bl = rotl(bl, 10);
- dl = fn2(dl, el, al, bl, cl, m[5], 0x5a827999, 9);
- al = rotl(al, 10);
- cl = fn2(cl, dl, el, al, bl, m[2], 0x5a827999, 11);
- el = rotl(el, 10);
- bl = fn2(bl, cl, dl, el, al, m[14], 0x5a827999, 7);
- dl = rotl(dl, 10);
- al = fn2(al, bl, cl, dl, el, m[11], 0x5a827999, 13);
- cl = rotl(cl, 10);
- el = fn2(el, al, bl, cl, dl, m[8], 0x5a827999, 12);
- bl = rotl(bl, 10);
- // Mj = 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12
- // K = 0x6ed9eba1
- // Sj = 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5
- dl = fn3(dl, el, al, bl, cl, m[3], 0x6ed9eba1, 11);
- al = rotl(al, 10);
- cl = fn3(cl, dl, el, al, bl, m[10], 0x6ed9eba1, 13);
- el = rotl(el, 10);
- bl = fn3(bl, cl, dl, el, al, m[14], 0x6ed9eba1, 6);
- dl = rotl(dl, 10);
- al = fn3(al, bl, cl, dl, el, m[4], 0x6ed9eba1, 7);
- cl = rotl(cl, 10);
- el = fn3(el, al, bl, cl, dl, m[9], 0x6ed9eba1, 14);
- bl = rotl(bl, 10);
- dl = fn3(dl, el, al, bl, cl, m[15], 0x6ed9eba1, 9);
- al = rotl(al, 10);
- cl = fn3(cl, dl, el, al, bl, m[8], 0x6ed9eba1, 13);
- el = rotl(el, 10);
- bl = fn3(bl, cl, dl, el, al, m[1], 0x6ed9eba1, 15);
- dl = rotl(dl, 10);
- al = fn3(al, bl, cl, dl, el, m[2], 0x6ed9eba1, 14);
- cl = rotl(cl, 10);
- el = fn3(el, al, bl, cl, dl, m[7], 0x6ed9eba1, 8);
- bl = rotl(bl, 10);
- dl = fn3(dl, el, al, bl, cl, m[0], 0x6ed9eba1, 13);
- al = rotl(al, 10);
- cl = fn3(cl, dl, el, al, bl, m[6], 0x6ed9eba1, 6);
- el = rotl(el, 10);
- bl = fn3(bl, cl, dl, el, al, m[13], 0x6ed9eba1, 5);
- dl = rotl(dl, 10);
- al = fn3(al, bl, cl, dl, el, m[11], 0x6ed9eba1, 12);
- cl = rotl(cl, 10);
- el = fn3(el, al, bl, cl, dl, m[5], 0x6ed9eba1, 7);
- bl = rotl(bl, 10);
- dl = fn3(dl, el, al, bl, cl, m[12], 0x6ed9eba1, 5);
- al = rotl(al, 10);
- // Mj = 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2
- // K = 0x8f1bbcdc
- // Sj = 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12
- cl = fn4(cl, dl, el, al, bl, m[1], 0x8f1bbcdc, 11);
- el = rotl(el, 10);
- bl = fn4(bl, cl, dl, el, al, m[9], 0x8f1bbcdc, 12);
- dl = rotl(dl, 10);
- al = fn4(al, bl, cl, dl, el, m[11], 0x8f1bbcdc, 14);
- cl = rotl(cl, 10);
- el = fn4(el, al, bl, cl, dl, m[10], 0x8f1bbcdc, 15);
- bl = rotl(bl, 10);
- dl = fn4(dl, el, al, bl, cl, m[0], 0x8f1bbcdc, 14);
- al = rotl(al, 10);
- cl = fn4(cl, dl, el, al, bl, m[8], 0x8f1bbcdc, 15);
- el = rotl(el, 10);
- bl = fn4(bl, cl, dl, el, al, m[12], 0x8f1bbcdc, 9);
- dl = rotl(dl, 10);
- al = fn4(al, bl, cl, dl, el, m[4], 0x8f1bbcdc, 8);
- cl = rotl(cl, 10);
- el = fn4(el, al, bl, cl, dl, m[13], 0x8f1bbcdc, 9);
- bl = rotl(bl, 10);
- dl = fn4(dl, el, al, bl, cl, m[3], 0x8f1bbcdc, 14);
- al = rotl(al, 10);
- cl = fn4(cl, dl, el, al, bl, m[7], 0x8f1bbcdc, 5);
- el = rotl(el, 10);
- bl = fn4(bl, cl, dl, el, al, m[15], 0x8f1bbcdc, 6);
- dl = rotl(dl, 10);
- al = fn4(al, bl, cl, dl, el, m[14], 0x8f1bbcdc, 8);
- cl = rotl(cl, 10);
- el = fn4(el, al, bl, cl, dl, m[5], 0x8f1bbcdc, 6);
- bl = rotl(bl, 10);
- dl = fn4(dl, el, al, bl, cl, m[6], 0x8f1bbcdc, 5);
- al = rotl(al, 10);
- cl = fn4(cl, dl, el, al, bl, m[2], 0x8f1bbcdc, 12);
- el = rotl(el, 10);
- // Mj = 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
- // K = 0xa953fd4e
- // Sj = 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
- bl = fn5(bl, cl, dl, el, al, m[4], 0xa953fd4e, 9);
- dl = rotl(dl, 10);
- al = fn5(al, bl, cl, dl, el, m[0], 0xa953fd4e, 15);
- cl = rotl(cl, 10);
- el = fn5(el, al, bl, cl, dl, m[5], 0xa953fd4e, 5);
- bl = rotl(bl, 10);
- dl = fn5(dl, el, al, bl, cl, m[9], 0xa953fd4e, 11);
- al = rotl(al, 10);
- cl = fn5(cl, dl, el, al, bl, m[7], 0xa953fd4e, 6);
- el = rotl(el, 10);
- bl = fn5(bl, cl, dl, el, al, m[12], 0xa953fd4e, 8);
- dl = rotl(dl, 10);
- al = fn5(al, bl, cl, dl, el, m[2], 0xa953fd4e, 13);
- cl = rotl(cl, 10);
- el = fn5(el, al, bl, cl, dl, m[10], 0xa953fd4e, 12);
- bl = rotl(bl, 10);
- dl = fn5(dl, el, al, bl, cl, m[14], 0xa953fd4e, 5);
- al = rotl(al, 10);
- cl = fn5(cl, dl, el, al, bl, m[1], 0xa953fd4e, 12);
- el = rotl(el, 10);
- bl = fn5(bl, cl, dl, el, al, m[3], 0xa953fd4e, 13);
- dl = rotl(dl, 10);
- al = fn5(al, bl, cl, dl, el, m[8], 0xa953fd4e, 14);
- cl = rotl(cl, 10);
- el = fn5(el, al, bl, cl, dl, m[11], 0xa953fd4e, 11);
- bl = rotl(bl, 10);
- dl = fn5(dl, el, al, bl, cl, m[6], 0xa953fd4e, 8);
- al = rotl(al, 10);
- cl = fn5(cl, dl, el, al, bl, m[15], 0xa953fd4e, 5);
- el = rotl(el, 10);
- bl = fn5(bl, cl, dl, el, al, m[13], 0xa953fd4e, 6);
- dl = rotl(dl, 10);
- var ar = this._a;
- var br = this._b;
- var cr = this._c;
- var dr = this._d;
- var er = this._e;
- // M'j = 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12
- // K' = 0x50a28be6
- // S'j = 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6
- ar = fn5(ar, br, cr, dr, er, m[5], 0x50a28be6, 8);
- cr = rotl(cr, 10);
- er = fn5(er, ar, br, cr, dr, m[14], 0x50a28be6, 9);
- br = rotl(br, 10);
- dr = fn5(dr, er, ar, br, cr, m[7], 0x50a28be6, 9);
- ar = rotl(ar, 10);
- cr = fn5(cr, dr, er, ar, br, m[0], 0x50a28be6, 11);
- er = rotl(er, 10);
- br = fn5(br, cr, dr, er, ar, m[9], 0x50a28be6, 13);
- dr = rotl(dr, 10);
- ar = fn5(ar, br, cr, dr, er, m[2], 0x50a28be6, 15);
- cr = rotl(cr, 10);
- er = fn5(er, ar, br, cr, dr, m[11], 0x50a28be6, 15);
- br = rotl(br, 10);
- dr = fn5(dr, er, ar, br, cr, m[4], 0x50a28be6, 5);
- ar = rotl(ar, 10);
- cr = fn5(cr, dr, er, ar, br, m[13], 0x50a28be6, 7);
- er = rotl(er, 10);
- br = fn5(br, cr, dr, er, ar, m[6], 0x50a28be6, 7);
- dr = rotl(dr, 10);
- ar = fn5(ar, br, cr, dr, er, m[15], 0x50a28be6, 8);
- cr = rotl(cr, 10);
- er = fn5(er, ar, br, cr, dr, m[8], 0x50a28be6, 11);
- br = rotl(br, 10);
- dr = fn5(dr, er, ar, br, cr, m[1], 0x50a28be6, 14);
- ar = rotl(ar, 10);
- cr = fn5(cr, dr, er, ar, br, m[10], 0x50a28be6, 14);
- er = rotl(er, 10);
- br = fn5(br, cr, dr, er, ar, m[3], 0x50a28be6, 12);
- dr = rotl(dr, 10);
- ar = fn5(ar, br, cr, dr, er, m[12], 0x50a28be6, 6);
- cr = rotl(cr, 10);
- // M'j = 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2
- // K' = 0x5c4dd124
- // S'j = 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11
- er = fn4(er, ar, br, cr, dr, m[6], 0x5c4dd124, 9);
- br = rotl(br, 10);
- dr = fn4(dr, er, ar, br, cr, m[11], 0x5c4dd124, 13);
- ar = rotl(ar, 10);
- cr = fn4(cr, dr, er, ar, br, m[3], 0x5c4dd124, 15);
- er = rotl(er, 10);
- br = fn4(br, cr, dr, er, ar, m[7], 0x5c4dd124, 7);
- dr = rotl(dr, 10);
- ar = fn4(ar, br, cr, dr, er, m[0], 0x5c4dd124, 12);
- cr = rotl(cr, 10);
- er = fn4(er, ar, br, cr, dr, m[13], 0x5c4dd124, 8);
- br = rotl(br, 10);
- dr = fn4(dr, er, ar, br, cr, m[5], 0x5c4dd124, 9);
- ar = rotl(ar, 10);
- cr = fn4(cr, dr, er, ar, br, m[10], 0x5c4dd124, 11);
- er = rotl(er, 10);
- br = fn4(br, cr, dr, er, ar, m[14], 0x5c4dd124, 7);
- dr = rotl(dr, 10);
- ar = fn4(ar, br, cr, dr, er, m[15], 0x5c4dd124, 7);
- cr = rotl(cr, 10);
- er = fn4(er, ar, br, cr, dr, m[8], 0x5c4dd124, 12);
- br = rotl(br, 10);
- dr = fn4(dr, er, ar, br, cr, m[12], 0x5c4dd124, 7);
- ar = rotl(ar, 10);
- cr = fn4(cr, dr, er, ar, br, m[4], 0x5c4dd124, 6);
- er = rotl(er, 10);
- br = fn4(br, cr, dr, er, ar, m[9], 0x5c4dd124, 15);
- dr = rotl(dr, 10);
- ar = fn4(ar, br, cr, dr, er, m[1], 0x5c4dd124, 13);
- cr = rotl(cr, 10);
- er = fn4(er, ar, br, cr, dr, m[2], 0x5c4dd124, 11);
- br = rotl(br, 10);
- // M'j = 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13
- // K' = 0x6d703ef3
- // S'j = 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5
- dr = fn3(dr, er, ar, br, cr, m[15], 0x6d703ef3, 9);
- ar = rotl(ar, 10);
- cr = fn3(cr, dr, er, ar, br, m[5], 0x6d703ef3, 7);
- er = rotl(er, 10);
- br = fn3(br, cr, dr, er, ar, m[1], 0x6d703ef3, 15);
- dr = rotl(dr, 10);
- ar = fn3(ar, br, cr, dr, er, m[3], 0x6d703ef3, 11);
- cr = rotl(cr, 10);
- er = fn3(er, ar, br, cr, dr, m[7], 0x6d703ef3, 8);
- br = rotl(br, 10);
- dr = fn3(dr, er, ar, br, cr, m[14], 0x6d703ef3, 6);
- ar = rotl(ar, 10);
- cr = fn3(cr, dr, er, ar, br, m[6], 0x6d703ef3, 6);
- er = rotl(er, 10);
- br = fn3(br, cr, dr, er, ar, m[9], 0x6d703ef3, 14);
- dr = rotl(dr, 10);
- ar = fn3(ar, br, cr, dr, er, m[11], 0x6d703ef3, 12);
- cr = rotl(cr, 10);
- er = fn3(er, ar, br, cr, dr, m[8], 0x6d703ef3, 13);
- br = rotl(br, 10);
- dr = fn3(dr, er, ar, br, cr, m[12], 0x6d703ef3, 5);
- ar = rotl(ar, 10);
- cr = fn3(cr, dr, er, ar, br, m[2], 0x6d703ef3, 14);
- er = rotl(er, 10);
- br = fn3(br, cr, dr, er, ar, m[10], 0x6d703ef3, 13);
- dr = rotl(dr, 10);
- ar = fn3(ar, br, cr, dr, er, m[0], 0x6d703ef3, 13);
- cr = rotl(cr, 10);
- er = fn3(er, ar, br, cr, dr, m[4], 0x6d703ef3, 7);
- br = rotl(br, 10);
- dr = fn3(dr, er, ar, br, cr, m[13], 0x6d703ef3, 5);
- ar = rotl(ar, 10);
- // M'j = 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14
- // K' = 0x7a6d76e9
- // S'j = 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8
- cr = fn2(cr, dr, er, ar, br, m[8], 0x7a6d76e9, 15);
- er = rotl(er, 10);
- br = fn2(br, cr, dr, er, ar, m[6], 0x7a6d76e9, 5);
- dr = rotl(dr, 10);
- ar = fn2(ar, br, cr, dr, er, m[4], 0x7a6d76e9, 8);
- cr = rotl(cr, 10);
- er = fn2(er, ar, br, cr, dr, m[1], 0x7a6d76e9, 11);
- br = rotl(br, 10);
- dr = fn2(dr, er, ar, br, cr, m[3], 0x7a6d76e9, 14);
- ar = rotl(ar, 10);
- cr = fn2(cr, dr, er, ar, br, m[11], 0x7a6d76e9, 14);
- er = rotl(er, 10);
- br = fn2(br, cr, dr, er, ar, m[15], 0x7a6d76e9, 6);
- dr = rotl(dr, 10);
- ar = fn2(ar, br, cr, dr, er, m[0], 0x7a6d76e9, 14);
- cr = rotl(cr, 10);
- er = fn2(er, ar, br, cr, dr, m[5], 0x7a6d76e9, 6);
- br = rotl(br, 10);
- dr = fn2(dr, er, ar, br, cr, m[12], 0x7a6d76e9, 9);
- ar = rotl(ar, 10);
- cr = fn2(cr, dr, er, ar, br, m[2], 0x7a6d76e9, 12);
- er = rotl(er, 10);
- br = fn2(br, cr, dr, er, ar, m[13], 0x7a6d76e9, 9);
- dr = rotl(dr, 10);
- ar = fn2(ar, br, cr, dr, er, m[9], 0x7a6d76e9, 12);
- cr = rotl(cr, 10);
- er = fn2(er, ar, br, cr, dr, m[7], 0x7a6d76e9, 5);
- br = rotl(br, 10);
- dr = fn2(dr, er, ar, br, cr, m[10], 0x7a6d76e9, 15);
- ar = rotl(ar, 10);
- cr = fn2(cr, dr, er, ar, br, m[14], 0x7a6d76e9, 8);
- er = rotl(er, 10);
- // M'j = 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
- // K' = 0x00000000
- // S'j = 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
- br = fn1(br, cr, dr, er, ar, m[12], 0x00000000, 8);
- dr = rotl(dr, 10);
- ar = fn1(ar, br, cr, dr, er, m[15], 0x00000000, 5);
- cr = rotl(cr, 10);
- er = fn1(er, ar, br, cr, dr, m[10], 0x00000000, 12);
- br = rotl(br, 10);
- dr = fn1(dr, er, ar, br, cr, m[4], 0x00000000, 9);
- ar = rotl(ar, 10);
- cr = fn1(cr, dr, er, ar, br, m[1], 0x00000000, 12);
- er = rotl(er, 10);
- br = fn1(br, cr, dr, er, ar, m[5], 0x00000000, 5);
- dr = rotl(dr, 10);
- ar = fn1(ar, br, cr, dr, er, m[8], 0x00000000, 14);
- cr = rotl(cr, 10);
- er = fn1(er, ar, br, cr, dr, m[7], 0x00000000, 6);
- br = rotl(br, 10);
- dr = fn1(dr, er, ar, br, cr, m[6], 0x00000000, 8);
- ar = rotl(ar, 10);
- cr = fn1(cr, dr, er, ar, br, m[2], 0x00000000, 13);
- er = rotl(er, 10);
- br = fn1(br, cr, dr, er, ar, m[13], 0x00000000, 6);
- dr = rotl(dr, 10);
- ar = fn1(ar, br, cr, dr, er, m[14], 0x00000000, 5);
- cr = rotl(cr, 10);
- er = fn1(er, ar, br, cr, dr, m[0], 0x00000000, 15);
- br = rotl(br, 10);
- dr = fn1(dr, er, ar, br, cr, m[3], 0x00000000, 13);
- ar = rotl(ar, 10);
- cr = fn1(cr, dr, er, ar, br, m[9], 0x00000000, 11);
- er = rotl(er, 10);
- br = fn1(br, cr, dr, er, ar, m[11], 0x00000000, 11);
- dr = rotl(dr, 10);
- // change state
- var t = (this._b + cl + dr) | 0;
- this._b = (this._c + dl + er) | 0;
- this._c = (this._d + el + ar) | 0;
- this._d = (this._e + al + br) | 0;
- this._e = (this._a + bl + cr) | 0;
- this._a = t;
- };
- RIPEMD160.prototype._digest = function () {
- // create padding and handle blocks
- this._block[this._blockOffset++] = 0x80;
- if (this._blockOffset > 56) {
- this._block.fill(0, this._blockOffset, 64);
- this._update();
- this._blockOffset = 0;
- }
- this._block.fill(0, this._blockOffset, 56);
- this._block.writeUInt32LE(this._length[0], 56);
- this._block.writeUInt32LE(this._length[1], 60);
- this._update();
- // produce result
- var buffer = new Buffer(20);
- buffer.writeInt32LE(this._a, 0);
- buffer.writeInt32LE(this._b, 4);
- buffer.writeInt32LE(this._c, 8);
- buffer.writeInt32LE(this._d, 12);
- buffer.writeInt32LE(this._e, 16);
- return buffer;
- };
- function rotl(x, n) {
- return (x << n) | (x >>> (32 - n));
- }
- function fn1(a, b, c, d, e, m, k, s) {
- return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0;
- }
- function fn2(a, b, c, d, e, m, k, s) {
- return (rotl((a + ((b & c) | (~b & d)) + m + k) | 0, s) + e) | 0;
- }
- function fn3(a, b, c, d, e, m, k, s) {
- return (rotl((a + ((b | ~c) ^ d) + m + k) | 0, s) + e) | 0;
- }
- function fn4(a, b, c, d, e, m, k, s) {
- return (rotl((a + ((b & d) | (c & ~d)) + m + k) | 0, s) + e) | 0;
- }
- function fn5(a, b, c, d, e, m, k, s) {
- return (rotl((a + (b ^ (c | ~d)) + m + k) | 0, s) + e) | 0;
- }
- module.exports = RIPEMD160;
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54, "hash-base": 92, inherits: 108 },
- ],
- 148: [
- function (require, module, exports) {
- /* eslint-disable node/no-deprecated-api */
- var buffer = require("buffer");
- var Buffer = buffer.Buffer;
- // alternative to using Object.keys for old browsers
- function copyProps(src, dst) {
- for (var key in src) {
- dst[key] = src[key];
- }
- }
- if (
- Buffer.from &&
- Buffer.alloc &&
- Buffer.allocUnsafe &&
- Buffer.allocUnsafeSlow
- ) {
- module.exports = buffer;
- } else {
- // Copy properties from require('buffer')
- copyProps(buffer, exports);
- exports.Buffer = SafeBuffer;
- }
- function SafeBuffer(arg, encodingOrOffset, length) {
- return Buffer(arg, encodingOrOffset, length);
- }
- // Copy static methods from Buffer
- copyProps(Buffer, SafeBuffer);
- SafeBuffer.from = function (arg, encodingOrOffset, length) {
- if (typeof arg === "number") {
- throw new TypeError("Argument must not be a number");
- }
- return Buffer(arg, encodingOrOffset, length);
- };
- SafeBuffer.alloc = function (size, fill, encoding) {
- if (typeof size !== "number") {
- throw new TypeError("Argument must be a number");
- }
- var buf = Buffer(size);
- if (fill !== undefined) {
- if (typeof encoding === "string") {
- buf.fill(fill, encoding);
- } else {
- buf.fill(fill);
- }
- } else {
- buf.fill(0);
- }
- return buf;
- };
- SafeBuffer.allocUnsafe = function (size) {
- if (typeof size !== "number") {
- throw new TypeError("Argument must be a number");
- }
- return Buffer(size);
- };
- SafeBuffer.allocUnsafeSlow = function (size) {
- if (typeof size !== "number") {
- throw new TypeError("Argument must be a number");
- }
- return buffer.SlowBuffer(size);
- };
- },
- { buffer: 54 },
- ],
- 149: [
- function (require, module, exports) {
- (function (Buffer) {
- // prototype class for hash functions
- function Hash(blockSize, finalSize) {
- this._block = new Buffer(blockSize);
- this._finalSize = finalSize;
- this._blockSize = blockSize;
- this._len = 0;
- this._s = 0;
- }
- Hash.prototype.update = function (data, enc) {
- if (typeof data === "string") {
- enc = enc || "utf8";
- data = new Buffer(data, enc);
- }
- var l = (this._len += data.length);
- var s = this._s || 0;
- var f = 0;
- var buffer = this._block;
- while (s < l) {
- var t = Math.min(
- data.length,
- f + this._blockSize - (s % this._blockSize)
- );
- var ch = t - f;
- for (var i = 0; i < ch; i++) {
- buffer[(s % this._blockSize) + i] = data[i + f];
- }
- s += ch;
- f += ch;
- if (s % this._blockSize === 0) {
- this._update(buffer);
- }
- }
- this._s = s;
- return this;
- };
- Hash.prototype.digest = function (enc) {
- // Suppose the length of the message M, in bits, is l
- var l = this._len * 8;
- // Append the bit 1 to the end of the message
- this._block[this._len % this._blockSize] = 0x80;
- // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
- this._block.fill(0, (this._len % this._blockSize) + 1);
- if (l % (this._blockSize * 8) >= this._finalSize * 8) {
- this._update(this._block);
- this._block.fill(0);
- }
- // to this append the block which is equal to the number l written in binary
- // TODO: handle case where l is > Math.pow(2, 29)
- this._block.writeInt32BE(l, this._blockSize - 4);
- var hash = this._update(this._block) || this._hash();
- return enc ? hash.toString(enc) : hash;
- };
- Hash.prototype._update = function () {
- throw new Error("_update must be implemented by subclass");
- };
- module.exports = Hash;
- }).call(this, require("buffer").Buffer);
- },
- { buffer: 54 },
- ],
- 150: [
- function (require, module, exports) {
- var exports = (module.exports = function SHA(algorithm) {
- algorithm = algorithm.toLowerCase();
- var Algorithm = exports[algorithm];
- if (!Algorithm)
- throw new Error(
- algorithm + " is not supported (we accept pull requests)"
- );
- return new Algorithm();
- });
- exports.sha = require("./sha.js");
- exports.sha1 = require("./sha1.js");
- exports.sha224 = require("./sha224.js");
- exports.sha256 = require("./sha256.js");
- exports.sha384 = require("./sha384.js");
- exports.sha512 = require("./sha512.js");
- },
- {
- "./sha": 151,
- "./sha1": 152,
- "./sha224": 153,
- "./sha256": 154,
- "./sha384": 155,
- "./sha512": 156,
- },
- ],
- 151: [
- function (require, module, exports) {
- (function (Buffer) {
- /*
- * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
- * in FIPS PUB 180-1
- * This source code is derived from sha1.js of the same repository.
- * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
- * operation was added.
- */
- var inherits = require("inherits");
- var Hash = require("./hash.js");
- var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0];
- var W = new Array(80);
- function Sha() {
- this.init();
- this._w = W;
- Hash.call(this, 64, 56);
- }
- inherits(Sha, Hash);
- Sha.prototype.init = function () {
- this._a = 0x67452301;
- this._b = 0xefcdab89;
- this._c = 0x98badcfe;
- this._d = 0x10325476;
- this._e = 0xc3d2e1f0;
- return this;
- };
- function rotl5(num) {
- return (num << 5) | (num >>> 27);
- }
- function rotl30(num) {
- return (num << 30) | (num >>> 2);
- }
- function ft(s, b, c, d) {
- if (s === 0) return (b & c) | (~b & d);
- if (s === 2) return (b & c) | (b & d) | (c & d);
- return b ^ c ^ d;
- }
- Sha.prototype._update = function (M) {
- var W = this._w;
- var a = this._a | 0;
- var b = this._b | 0;
- var c = this._c | 0;
- var d = this._d | 0;
- var e = this._e | 0;
- for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4);
- for (; i < 80; ++i)
- W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
- for (var j = 0; j < 80; ++j) {
- var s = ~~(j / 20);
- var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0;
- e = d;
- d = c;
- c = rotl30(b);
- b = a;
- a = t;
- }
- this._a = (a + this._a) | 0;
- this._b = (b + this._b) | 0;
- this._c = (c + this._c) | 0;
- this._d = (d + this._d) | 0;
- this._e = (e + this._e) | 0;
- };
- Sha.prototype._hash = function () {
- var H = new Buffer(20);
- H.writeInt32BE(this._a | 0, 0);
- H.writeInt32BE(this._b | 0, 4);
- H.writeInt32BE(this._c | 0, 8);
- H.writeInt32BE(this._d | 0, 12);
- H.writeInt32BE(this._e | 0, 16);
- return H;
- };
- module.exports = Sha;
- }).call(this, require("buffer").Buffer);
- },
- { "./hash": 149, buffer: 54, inherits: 108 },
- ],
- 152: [
- function (require, module, exports) {
- (function (Buffer) {
- /*
- * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
- * in FIPS PUB 180-1
- * Version 2.1a Copyright Paul Johnston 2000 - 2002.
- * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
- * Distributed under the BSD License
- * See http://pajhome.org.uk/crypt/md5 for details.
- */
- var inherits = require("inherits");
- var Hash = require("./hash.js");
- var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0];
- var W = new Array(80);
- function Sha1() {
- this.init();
- this._w = W;
- Hash.call(this, 64, 56);
- }
- inherits(Sha1, Hash);
- Sha1.prototype.init = function () {
- this._a = 0x67452301;
- this._b = 0xefcdab89;
- this._c = 0x98badcfe;
- this._d = 0x10325476;
- this._e = 0xc3d2e1f0;
- return this;
- };
- function rotl1(num) {
- return (num << 1) | (num >>> 31);
- }
- function rotl5(num) {
- return (num << 5) | (num >>> 27);
- }
- function rotl30(num) {
- return (num << 30) | (num >>> 2);
- }
- function ft(s, b, c, d) {
- if (s === 0) return (b & c) | (~b & d);
- if (s === 2) return (b & c) | (b & d) | (c & d);
- return b ^ c ^ d;
- }
- Sha1.prototype._update = function (M) {
- var W = this._w;
- var a = this._a | 0;
- var b = this._b | 0;
- var c = this._c | 0;
- var d = this._d | 0;
- var e = this._e | 0;
- for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4);
- for (; i < 80; ++i)
- W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]);
- for (var j = 0; j < 80; ++j) {
- var s = ~~(j / 20);
- var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0;
- e = d;
- d = c;
- c = rotl30(b);
- b = a;
- a = t;
- }
- this._a = (a + this._a) | 0;
- this._b = (b + this._b) | 0;
- this._c = (c + this._c) | 0;
- this._d = (d + this._d) | 0;
- this._e = (e + this._e) | 0;
- };
- Sha1.prototype._hash = function () {
- var H = new Buffer(20);
- H.writeInt32BE(this._a | 0, 0);
- H.writeInt32BE(this._b | 0, 4);
- H.writeInt32BE(this._c | 0, 8);
- H.writeInt32BE(this._d | 0, 12);
- H.writeInt32BE(this._e | 0, 16);
- return H;
- };
- module.exports = Sha1;
- }).call(this, require("buffer").Buffer);
- },
- { "./hash": 149, buffer: 54, inherits: 108 },
- ],
- 153: [
- function (require, module, exports) {
- (function (Buffer) {
- /**
- * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
- * in FIPS 180-2
- * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
- * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
- *
- */
- var inherits = require("inherits");
- var Sha256 = require("./sha256.js");
- var Hash = require("./hash.js");
- var W = new Array(64);
- function Sha224() {
- this.init();
- this._w = W; // new Array(64)
- Hash.call(this, 64, 56);
- }
- inherits(Sha224, Sha256);
- Sha224.prototype.init = function () {
- this._a = 0xc1059ed8;
- this._b = 0x367cd507;
- this._c = 0x3070dd17;
- this._d = 0xf70e5939;
- this._e = 0xffc00b31;
- this._f = 0x68581511;
- this._g = 0x64f98fa7;
- this._h = 0xbefa4fa4;
- return this;
- };
- Sha224.prototype._hash = function () {
- var H = new Buffer(28);
- H.writeInt32BE(this._a, 0);
- H.writeInt32BE(this._b, 4);
- H.writeInt32BE(this._c, 8);
- H.writeInt32BE(this._d, 12);
- H.writeInt32BE(this._e, 16);
- H.writeInt32BE(this._f, 20);
- H.writeInt32BE(this._g, 24);
- return H;
- };
- module.exports = Sha224;
- }).call(this, require("buffer").Buffer);
- },
- { "./hash": 149, "./sha256": 154, buffer: 54, inherits: 108 },
- ],
- 154: [
- function (require, module, exports) {
- (function (Buffer) {
- /**
- * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
- * in FIPS 180-2
- * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
- * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
- *
- */
- var inherits = require("inherits");
- var Hash = require("./hash.js");
- var K = [
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,
- 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,
- 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,
- 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
- 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,
- 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
- 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,
- 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
- 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,
- 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,
- 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,
- 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
- 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
- ];
- var W = new Array(64);
- function Sha256() {
- this.init();
- this._w = W; // new Array(64)
- Hash.call(this, 64, 56);
- }
- inherits(Sha256, Hash);
- Sha256.prototype.init = function () {
- this._a = 0x6a09e667;
- this._b = 0xbb67ae85;
- this._c = 0x3c6ef372;
- this._d = 0xa54ff53a;
- this._e = 0x510e527f;
- this._f = 0x9b05688c;
- this._g = 0x1f83d9ab;
- this._h = 0x5be0cd19;
- return this;
- };
- function ch(x, y, z) {
- return z ^ (x & (y ^ z));
- }
- function maj(x, y, z) {
- return (x & y) | (z & (x | y));
- }
- function sigma0(x) {
- return (
- ((x >>> 2) | (x << 30)) ^
- ((x >>> 13) | (x << 19)) ^
- ((x >>> 22) | (x << 10))
- );
- }
- function sigma1(x) {
- return (
- ((x >>> 6) | (x << 26)) ^
- ((x >>> 11) | (x << 21)) ^
- ((x >>> 25) | (x << 7))
- );
- }
- function gamma0(x) {
- return (
- ((x >>> 7) | (x << 25)) ^ ((x >>> 18) | (x << 14)) ^ (x >>> 3)
- );
- }
- function gamma1(x) {
- return (
- ((x >>> 17) | (x << 15)) ^ ((x >>> 19) | (x << 13)) ^ (x >>> 10)
- );
- }
- Sha256.prototype._update = function (M) {
- var W = this._w;
- var a = this._a | 0;
- var b = this._b | 0;
- var c = this._c | 0;
- var d = this._d | 0;
- var e = this._e | 0;
- var f = this._f | 0;
- var g = this._g | 0;
- var h = this._h | 0;
- for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4);
- for (; i < 64; ++i)
- W[i] =
- (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) |
- 0;
- for (var j = 0; j < 64; ++j) {
- var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0;
- var T2 = (sigma0(a) + maj(a, b, c)) | 0;
- h = g;
- g = f;
- f = e;
- e = (d + T1) | 0;
- d = c;
- c = b;
- b = a;
- a = (T1 + T2) | 0;
- }
- this._a = (a + this._a) | 0;
- this._b = (b + this._b) | 0;
- this._c = (c + this._c) | 0;
- this._d = (d + this._d) | 0;
- this._e = (e + this._e) | 0;
- this._f = (f + this._f) | 0;
- this._g = (g + this._g) | 0;
- this._h = (h + this._h) | 0;
- };
- Sha256.prototype._hash = function () {
- var H = new Buffer(32);
- H.writeInt32BE(this._a, 0);
- H.writeInt32BE(this._b, 4);
- H.writeInt32BE(this._c, 8);
- H.writeInt32BE(this._d, 12);
- H.writeInt32BE(this._e, 16);
- H.writeInt32BE(this._f, 20);
- H.writeInt32BE(this._g, 24);
- H.writeInt32BE(this._h, 28);
- return H;
- };
- module.exports = Sha256;
- }).call(this, require("buffer").Buffer);
- },
- { "./hash": 149, buffer: 54, inherits: 108 },
- ],
- 155: [
- function (require, module, exports) {
- (function (Buffer) {
- var inherits = require("inherits");
- var SHA512 = require("./sha512.js");
- var Hash = require("./hash.js");
- var W = new Array(160);
- function Sha384() {
- this.init();
- this._w = W;
- Hash.call(this, 128, 112);
- }
- inherits(Sha384, SHA512);
- Sha384.prototype.init = function () {
- this._ah = 0xcbbb9d5d;
- this._bh = 0x629a292a;
- this._ch = 0x9159015a;
- this._dh = 0x152fecd8;
- this._eh = 0x67332667;
- this._fh = 0x8eb44a87;
- this._gh = 0xdb0c2e0d;
- this._hh = 0x47b5481d;
- this._al = 0xc1059ed8;
- this._bl = 0x367cd507;
- this._cl = 0x3070dd17;
- this._dl = 0xf70e5939;
- this._el = 0xffc00b31;
- this._fl = 0x68581511;
- this._gl = 0x64f98fa7;
- this._hl = 0xbefa4fa4;
- return this;
- };
- Sha384.prototype._hash = function () {
- var H = new Buffer(48);
- function writeInt64BE(h, l, offset) {
- H.writeInt32BE(h, offset);
- H.writeInt32BE(l, offset + 4);
- }
- writeInt64BE(this._ah, this._al, 0);
- writeInt64BE(this._bh, this._bl, 8);
- writeInt64BE(this._ch, this._cl, 16);
- writeInt64BE(this._dh, this._dl, 24);
- writeInt64BE(this._eh, this._el, 32);
- writeInt64BE(this._fh, this._fl, 40);
- return H;
- };
- module.exports = Sha384;
- }).call(this, require("buffer").Buffer);
- },
- { "./hash": 149, "./sha512": 156, buffer: 54, inherits: 108 },
- ],
- 156: [
- function (require, module, exports) {
- (function (Buffer) {
- var inherits = require("inherits");
- var Hash = require("./hash.js");
- var K = [
- 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf,
- 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538,
- 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5,
- 0xda6d8118, 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
- 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2, 0x72be5d74,
- 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235,
- 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786,
- 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
- 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc,
- 0xbd41fbd4, 0x76f988da, 0x831153b5, 0x983e5152, 0xee66dfab,
- 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7,
- 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
- 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85,
- 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed,
- 0x53380d13, 0x9d95b3df, 0x650a7354, 0x8baf63de, 0x766a0abb,
- 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
- 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70,
- 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218,
- 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070,
- 0x32bbd1b8, 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
- 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3,
- 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373,
- 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc, 0x78a5636f,
- 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
- 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7,
- 0xb2c67915, 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c,
- 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f,
- 0xee6ed178, 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
- 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b, 0x28db77f5,
- 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc,
- 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c,
- 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817,
- ];
- var W = new Array(160);
- function Sha512() {
- this.init();
- this._w = W;
- Hash.call(this, 128, 112);
- }
- inherits(Sha512, Hash);
- Sha512.prototype.init = function () {
- this._ah = 0x6a09e667;
- this._bh = 0xbb67ae85;
- this._ch = 0x3c6ef372;
- this._dh = 0xa54ff53a;
- this._eh = 0x510e527f;
- this._fh = 0x9b05688c;
- this._gh = 0x1f83d9ab;
- this._hh = 0x5be0cd19;
- this._al = 0xf3bcc908;
- this._bl = 0x84caa73b;
- this._cl = 0xfe94f82b;
- this._dl = 0x5f1d36f1;
- this._el = 0xade682d1;
- this._fl = 0x2b3e6c1f;
- this._gl = 0xfb41bd6b;
- this._hl = 0x137e2179;
- return this;
- };
- function Ch(x, y, z) {
- return z ^ (x & (y ^ z));
- }
- function maj(x, y, z) {
- return (x & y) | (z & (x | y));
- }
- function sigma0(x, xl) {
- return (
- ((x >>> 28) | (xl << 4)) ^
- ((xl >>> 2) | (x << 30)) ^
- ((xl >>> 7) | (x << 25))
- );
- }
- function sigma1(x, xl) {
- return (
- ((x >>> 14) | (xl << 18)) ^
- ((x >>> 18) | (xl << 14)) ^
- ((xl >>> 9) | (x << 23))
- );
- }
- function Gamma0(x, xl) {
- return (
- ((x >>> 1) | (xl << 31)) ^ ((x >>> 8) | (xl << 24)) ^ (x >>> 7)
- );
- }
- function Gamma0l(x, xl) {
- return (
- ((x >>> 1) | (xl << 31)) ^
- ((x >>> 8) | (xl << 24)) ^
- ((x >>> 7) | (xl << 25))
- );
- }
- function Gamma1(x, xl) {
- return (
- ((x >>> 19) | (xl << 13)) ^ ((xl >>> 29) | (x << 3)) ^ (x >>> 6)
- );
- }
- function Gamma1l(x, xl) {
- return (
- ((x >>> 19) | (xl << 13)) ^
- ((xl >>> 29) | (x << 3)) ^
- ((x >>> 6) | (xl << 26))
- );
- }
- function getCarry(a, b) {
- return a >>> 0 < b >>> 0 ? 1 : 0;
- }
- Sha512.prototype._update = function (M) {
- var W = this._w;
- var ah = this._ah | 0;
- var bh = this._bh | 0;
- var ch = this._ch | 0;
- var dh = this._dh | 0;
- var eh = this._eh | 0;
- var fh = this._fh | 0;
- var gh = this._gh | 0;
- var hh = this._hh | 0;
- var al = this._al | 0;
- var bl = this._bl | 0;
- var cl = this._cl | 0;
- var dl = this._dl | 0;
- var el = this._el | 0;
- var fl = this._fl | 0;
- var gl = this._gl | 0;
- var hl = this._hl | 0;
- for (var i = 0; i < 32; i += 2) {
- W[i] = M.readInt32BE(i * 4);
- W[i + 1] = M.readInt32BE(i * 4 + 4);
- }
- for (; i < 160; i += 2) {
- var xh = W[i - 15 * 2];
- var xl = W[i - 15 * 2 + 1];
- var gamma0 = Gamma0(xh, xl);
- var gamma0l = Gamma0l(xl, xh);
- xh = W[i - 2 * 2];
- xl = W[i - 2 * 2 + 1];
- var gamma1 = Gamma1(xh, xl);
- var gamma1l = Gamma1l(xl, xh);
- // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
- var Wi7h = W[i - 7 * 2];
- var Wi7l = W[i - 7 * 2 + 1];
- var Wi16h = W[i - 16 * 2];
- var Wi16l = W[i - 16 * 2 + 1];
- var Wil = (gamma0l + Wi7l) | 0;
- var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0;
- Wil = (Wil + gamma1l) | 0;
- Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0;
- Wil = (Wil + Wi16l) | 0;
- Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0;
- W[i] = Wih;
- W[i + 1] = Wil;
- }
- for (var j = 0; j < 160; j += 2) {
- Wih = W[j];
- Wil = W[j + 1];
- var majh = maj(ah, bh, ch);
- var majl = maj(al, bl, cl);
- var sigma0h = sigma0(ah, al);
- var sigma0l = sigma0(al, ah);
- var sigma1h = sigma1(eh, el);
- var sigma1l = sigma1(el, eh);
- // t1 = h + sigma1 + ch + K[j] + W[j]
- var Kih = K[j];
- var Kil = K[j + 1];
- var chh = Ch(eh, fh, gh);
- var chl = Ch(el, fl, gl);
- var t1l = (hl + sigma1l) | 0;
- var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0;
- t1l = (t1l + chl) | 0;
- t1h = (t1h + chh + getCarry(t1l, chl)) | 0;
- t1l = (t1l + Kil) | 0;
- t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0;
- t1l = (t1l + Wil) | 0;
- t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0;
- // t2 = sigma0 + maj
- var t2l = (sigma0l + majl) | 0;
- var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0;
- hh = gh;
- hl = gl;
- gh = fh;
- gl = fl;
- fh = eh;
- fl = el;
- el = (dl + t1l) | 0;
- eh = (dh + t1h + getCarry(el, dl)) | 0;
- dh = ch;
- dl = cl;
- ch = bh;
- cl = bl;
- bh = ah;
- bl = al;
- al = (t1l + t2l) | 0;
- ah = (t1h + t2h + getCarry(al, t1l)) | 0;
- }
- this._al = (this._al + al) | 0;
- this._bl = (this._bl + bl) | 0;
- this._cl = (this._cl + cl) | 0;
- this._dl = (this._dl + dl) | 0;
- this._el = (this._el + el) | 0;
- this._fl = (this._fl + fl) | 0;
- this._gl = (this._gl + gl) | 0;
- this._hl = (this._hl + hl) | 0;
- this._ah = (this._ah + ah + getCarry(this._al, al)) | 0;
- this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0;
- this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0;
- this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0;
- this._eh = (this._eh + eh + getCarry(this._el, el)) | 0;
- this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0;
- this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0;
- this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0;
- };
- Sha512.prototype._hash = function () {
- var H = new Buffer(64);
- function writeInt64BE(h, l, offset) {
- H.writeInt32BE(h, offset);
- H.writeInt32BE(l, offset + 4);
- }
- writeInt64BE(this._ah, this._al, 0);
- writeInt64BE(this._bh, this._bl, 8);
- writeInt64BE(this._ch, this._cl, 16);
- writeInt64BE(this._dh, this._dl, 24);
- writeInt64BE(this._eh, this._el, 32);
- writeInt64BE(this._fh, this._fl, 40);
- writeInt64BE(this._gh, this._gl, 48);
- writeInt64BE(this._hh, this._hl, 56);
- return H;
- };
- module.exports = Sha512;
- }).call(this, require("buffer").Buffer);
- },
- { "./hash": 149, buffer: 54, inherits: 108 },
- ],
- 157: [
- function (require, module, exports) {
- // Copyright Joyent, Inc. and other Node contributors.
- //
- // Permission is hereby granted, free of charge, to any person obtaining a
- // copy of this software and associated documentation files (the
- // "Software"), to deal in the Software without restriction, including
- // without limitation the rights to use, copy, modify, merge, publish,
- // distribute, sublicense, and/or sell copies of the Software, and to permit
- // persons to whom the Software is furnished to do so, subject to the
- // following conditions:
- //
- // The above copyright notice and this permission notice shall be included
- // in all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
- // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
- module.exports = Stream;
- var EE = require("events").EventEmitter;
- var inherits = require("inherits");
- inherits(Stream, EE);
- Stream.Readable = require("readable-stream/readable.js");
- Stream.Writable = require("readable-stream/writable.js");
- Stream.Duplex = require("readable-stream/duplex.js");
- Stream.Transform = require("readable-stream/transform.js");
- Stream.PassThrough = require("readable-stream/passthrough.js");
- // Backwards-compat with node 0.4.x
- Stream.Stream = Stream;
- // old-style streams. Note that the pipe method (the only relevant
- // part of this class) is overridden in the Readable class.
- function Stream() {
- EE.call(this);
- }
- Stream.prototype.pipe = function (dest, options) {
- var source = this;
- function ondata(chunk) {
- if (dest.writable) {
- if (false === dest.write(chunk) && source.pause) {
- source.pause();
- }
- }
- }
- source.on("data", ondata);
- function ondrain() {
- if (source.readable && source.resume) {
- source.resume();
- }
- }
- dest.on("drain", ondrain);
- // If the 'end' option is not supplied, dest.end() will be called when
- // source gets the 'end' or 'close' events. Only dest.end() once.
- if (!dest._isStdio && (!options || options.end !== false)) {
- source.on("end", onend);
- source.on("close", onclose);
- }
- var didOnEnd = false;
- function onend() {
- if (didOnEnd) return;
- didOnEnd = true;
- dest.end();
- }
- function onclose() {
- if (didOnEnd) return;
- didOnEnd = true;
- if (typeof dest.destroy === "function") dest.destroy();
- }
- // don't leave dangling pipes when there are errors.
- function onerror(er) {
- cleanup();
- if (EE.listenerCount(this, "error") === 0) {
- throw er; // Unhandled stream error in pipe.
- }
- }
- source.on("error", onerror);
- dest.on("error", onerror);
- // remove all the event listeners that were added.
- function cleanup() {
- source.removeListener("data", ondata);
- dest.removeListener("drain", ondrain);
- source.removeListener("end", onend);
- source.removeListener("close", onclose);
- source.removeListener("error", onerror);
- dest.removeListener("error", onerror);
- source.removeListener("end", cleanup);
- source.removeListener("close", cleanup);
- dest.removeListener("close", cleanup);
- }
- source.on("end", cleanup);
- source.on("close", cleanup);
- dest.on("close", cleanup);
- dest.emit("pipe", source);
- // Allow for unix-like usage: A.pipe(B).pipe(C)
- return dest;
- };
- },
- {
- events: 90,
- inherits: 108,
- "readable-stream/duplex.js": 134,
- "readable-stream/passthrough.js": 143,
- "readable-stream/readable.js": 144,
- "readable-stream/transform.js": 145,
- "readable-stream/writable.js": 146,
- },
- ],
- 158: [
- function (require, module, exports) {
- "use strict";
- var Buffer = require("safe-buffer").Buffer;
- var isEncoding =
- Buffer.isEncoding ||
- function (encoding) {
- encoding = "" + encoding;
- switch (encoding && encoding.toLowerCase()) {
- case "hex":
- case "utf8":
- case "utf-8":
- case "ascii":
- case "binary":
- case "base64":
- case "ucs2":
- case "ucs-2":
- case "utf16le":
- case "utf-16le":
- case "raw":
- return true;
- default:
- return false;
- }
- };
- function _normalizeEncoding(enc) {
- if (!enc) return "utf8";
- var retried;
- while (true) {
- switch (enc) {
- case "utf8":
- case "utf-8":
- return "utf8";
- case "ucs2":
- case "ucs-2":
- case "utf16le":
- case "utf-16le":
- return "utf16le";
- case "latin1":
- case "binary":
- return "latin1";
- case "base64":
- case "ascii":
- case "hex":
- return enc;
- default:
- if (retried) return; // undefined
- enc = ("" + enc).toLowerCase();
- retried = true;
- }
- }
- }
- // Do not cache `Buffer.isEncoding` when checking encoding names as some
- // modules monkey-patch it to support additional encodings
- function normalizeEncoding(enc) {
- var nenc = _normalizeEncoding(enc);
- if (
- typeof nenc !== "string" &&
- (Buffer.isEncoding === isEncoding || !isEncoding(enc))
- )
- throw new Error("Unknown encoding: " + enc);
- return nenc || enc;
- }
- // StringDecoder provides an interface for efficiently splitting a series of
- // buffers into a series of JS strings without breaking apart multi-byte
- // characters.
- exports.StringDecoder = StringDecoder;
- function StringDecoder(encoding) {
- this.encoding = normalizeEncoding(encoding);
- var nb;
- switch (this.encoding) {
- case "utf16le":
- this.text = utf16Text;
- this.end = utf16End;
- nb = 4;
- break;
- case "utf8":
- this.fillLast = utf8FillLast;
- nb = 4;
- break;
- case "base64":
- this.text = base64Text;
- this.end = base64End;
- nb = 3;
- break;
- default:
- this.write = simpleWrite;
- this.end = simpleEnd;
- return;
- }
- this.lastNeed = 0;
- this.lastTotal = 0;
- this.lastChar = Buffer.allocUnsafe(nb);
- }
- StringDecoder.prototype.write = function (buf) {
- if (buf.length === 0) return "";
- var r;
- var i;
- if (this.lastNeed) {
- r = this.fillLast(buf);
- if (r === undefined) return "";
- i = this.lastNeed;
- this.lastNeed = 0;
- } else {
- i = 0;
- }
- if (i < buf.length)
- return r ? r + this.text(buf, i) : this.text(buf, i);
- return r || "";
- };
- StringDecoder.prototype.end = utf8End;
- // Returns only complete characters in a Buffer
- StringDecoder.prototype.text = utf8Text;
- // Attempts to complete a partial non-UTF-8 character using bytes from a Buffer
- StringDecoder.prototype.fillLast = function (buf) {
- if (this.lastNeed <= buf.length) {
- buf.copy(
- this.lastChar,
- this.lastTotal - this.lastNeed,
- 0,
- this.lastNeed
- );
- return this.lastChar.toString(this.encoding, 0, this.lastTotal);
- }
- buf.copy(
- this.lastChar,
- this.lastTotal - this.lastNeed,
- 0,
- buf.length
- );
- this.lastNeed -= buf.length;
- };
- // Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a
- // continuation byte.
- function utf8CheckByte(byte) {
- if (byte <= 0x7f) return 0;
- else if (byte >> 5 === 0x06) return 2;
- else if (byte >> 4 === 0x0e) return 3;
- else if (byte >> 3 === 0x1e) return 4;
- return -1;
- }
- // Checks at most 3 bytes at the end of a Buffer in order to detect an
- // incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)
- // needed to complete the UTF-8 character (if applicable) are returned.
- function utf8CheckIncomplete(self, buf, i) {
- var j = buf.length - 1;
- if (j < i) return 0;
- var nb = utf8CheckByte(buf[j]);
- if (nb >= 0) {
- if (nb > 0) self.lastNeed = nb - 1;
- return nb;
- }
- if (--j < i) return 0;
- nb = utf8CheckByte(buf[j]);
- if (nb >= 0) {
- if (nb > 0) self.lastNeed = nb - 2;
- return nb;
- }
- if (--j < i) return 0;
- nb = utf8CheckByte(buf[j]);
- if (nb >= 0) {
- if (nb > 0) {
- if (nb === 2) nb = 0;
- else self.lastNeed = nb - 3;
- }
- return nb;
- }
- return 0;
- }
- // Validates as many continuation bytes for a multi-byte UTF-8 character as
- // needed or are available. If we see a non-continuation byte where we expect
- // one, we "replace" the validated continuation bytes we've seen so far with
- // UTF-8 replacement characters ('\ufffd'), to match v8's UTF-8 decoding
- // behavior. The continuation byte check is included three times in the case
- // where all of the continuation bytes for a character exist in the same buffer.
- // It is also done this way as a slight performance increase instead of using a
- // loop.
- function utf8CheckExtraBytes(self, buf, p) {
- if ((buf[0] & 0xc0) !== 0x80) {
- self.lastNeed = 0;
- return "\ufffd".repeat(p);
- }
- if (self.lastNeed > 1 && buf.length > 1) {
- if ((buf[1] & 0xc0) !== 0x80) {
- self.lastNeed = 1;
- return "\ufffd".repeat(p + 1);
- }
- if (self.lastNeed > 2 && buf.length > 2) {
- if ((buf[2] & 0xc0) !== 0x80) {
- self.lastNeed = 2;
- return "\ufffd".repeat(p + 2);
- }
- }
- }
- }
- // Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.
- function utf8FillLast(buf) {
- var p = this.lastTotal - this.lastNeed;
- var r = utf8CheckExtraBytes(this, buf, p);
- if (r !== undefined) return r;
- if (this.lastNeed <= buf.length) {
- buf.copy(this.lastChar, p, 0, this.lastNeed);
- return this.lastChar.toString(this.encoding, 0, this.lastTotal);
- }
- buf.copy(this.lastChar, p, 0, buf.length);
- this.lastNeed -= buf.length;
- }
- // Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a
- // partial character, the character's bytes are buffered until the required
- // number of bytes are available.
- function utf8Text(buf, i) {
- var total = utf8CheckIncomplete(this, buf, i);
- if (!this.lastNeed) return buf.toString("utf8", i);
- this.lastTotal = total;
- var end = buf.length - (total - this.lastNeed);
- buf.copy(this.lastChar, 0, end);
- return buf.toString("utf8", i, end);
- }
- // For UTF-8, a replacement character for each buffered byte of a (partial)
- // character needs to be added to the output.
- function utf8End(buf) {
- var r = buf && buf.length ? this.write(buf) : "";
- if (this.lastNeed)
- return r + "\ufffd".repeat(this.lastTotal - this.lastNeed);
- return r;
- }
- // UTF-16LE typically needs two bytes per character, but even if we have an even
- // number of bytes available, we need to check if we end on a leading/high
- // surrogate. In that case, we need to wait for the next two bytes in order to
- // decode the last character properly.
- function utf16Text(buf, i) {
- if ((buf.length - i) % 2 === 0) {
- var r = buf.toString("utf16le", i);
- if (r) {
- var c = r.charCodeAt(r.length - 1);
- if (c >= 0xd800 && c <= 0xdbff) {
- this.lastNeed = 2;
- this.lastTotal = 4;
- this.lastChar[0] = buf[buf.length - 2];
- this.lastChar[1] = buf[buf.length - 1];
- return r.slice(0, -1);
- }
- }
- return r;
- }
- this.lastNeed = 1;
- this.lastTotal = 2;
- this.lastChar[0] = buf[buf.length - 1];
- return buf.toString("utf16le", i, buf.length - 1);
- }
- // For UTF-16LE we do not explicitly append special replacement characters if we
- // end on a partial character, we simply let v8 handle that.
- function utf16End(buf) {
- var r = buf && buf.length ? this.write(buf) : "";
- if (this.lastNeed) {
- var end = this.lastTotal - this.lastNeed;
- return r + this.lastChar.toString("utf16le", 0, end);
- }
- return r;
- }
- function base64Text(buf, i) {
- var n = (buf.length - i) % 3;
- if (n === 0) return buf.toString("base64", i);
- this.lastNeed = 3 - n;
- this.lastTotal = 3;
- if (n === 1) {
- this.lastChar[0] = buf[buf.length - 1];
- } else {
- this.lastChar[0] = buf[buf.length - 2];
- this.lastChar[1] = buf[buf.length - 1];
- }
- return buf.toString("base64", i, buf.length - n);
- }
- function base64End(buf) {
- var r = buf && buf.length ? this.write(buf) : "";
- if (this.lastNeed)
- return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
- return r;
- }
- // Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)
- function simpleWrite(buf) {
- return buf.toString(this.encoding);
- }
- function simpleEnd(buf) {
- return buf && buf.length ? this.write(buf) : "";
- }
- },
- { "safe-buffer": 148 },
- ],
- 159: [
- function (require, module, exports) {
- (function (global) {
- /**
- * Module exports.
- */
- module.exports = deprecate;
- /**
- * Mark that a method should not be used.
- * Returns a modified function which warns once by default.
- *
- * If `localStorage.noDeprecation = true` is set, then it is a no-op.
- *
- * If `localStorage.throwDeprecation = true` is set, then deprecated functions
- * will throw an Error when invoked.
- *
- * If `localStorage.traceDeprecation = true` is set, then deprecated functions
- * will invoke `console.trace()` instead of `console.error()`.
- *
- * @param {Function} fn - the function to deprecate
- * @param {String} msg - the string to print to the console when `fn` is invoked
- * @returns {Function} a new "deprecated" version of `fn`
- * @api public
- */
- function deprecate(fn, msg) {
- if (config("noDeprecation")) {
- return fn;
- }
- var warned = false;
- function deprecated() {
- if (!warned) {
- if (config("throwDeprecation")) {
- throw new Error(msg);
- } else if (config("traceDeprecation")) {
- console.trace(msg);
- } else {
- console.warn(msg);
- }
- warned = true;
- }
- return fn.apply(this, arguments);
- }
- return deprecated;
- }
- /**
- * Checks `localStorage` for boolean values for the given `name`.
- *
- * @param {String} name
- * @returns {Boolean}
- * @api private
- */
- function config(name) {
- // accessing global.localStorage can trigger a DOMException in sandboxed iframes
- try {
- if (!global.localStorage) return false;
- } catch (_) {
- return false;
- }
- var val = global.localStorage[name];
- if (null == val) return false;
- return String(val).toLowerCase() === "true";
- }
- }).call(
- this,
- typeof global !== "undefined"
- ? global
- : typeof self !== "undefined"
- ? self
- : typeof window !== "undefined"
- ? window
- : {}
- );
- },
- {},
- ],
- 160: [
- function (require, module, exports) {
- var indexOf = require("indexof");
- var Object_keys = function (obj) {
- if (Object.keys) return Object.keys(obj);
- else {
- var res = [];
- for (var key in obj) res.push(key);
- return res;
- }
- };
- var forEach = function (xs, fn) {
- if (xs.forEach) return xs.forEach(fn);
- else
- for (var i = 0; i < xs.length; i++) {
- fn(xs[i], i, xs);
- }
- };
- var defineProp = (function () {
- try {
- Object.defineProperty({}, "_", {});
- return function (obj, name, value) {
- Object.defineProperty(obj, name, {
- writable: true,
- enumerable: false,
- configurable: true,
- value: value,
- });
- };
- } catch (e) {
- return function (obj, name, value) {
- obj[name] = value;
- };
- }
- })();
- var globals = [
- "Array",
- "Boolean",
- "Date",
- "Error",
- "EvalError",
- "Function",
- "Infinity",
- "JSON",
- "Math",
- "NaN",
- "Number",
- "Object",
- "RangeError",
- "ReferenceError",
- "RegExp",
- "String",
- "SyntaxError",
- "TypeError",
- "URIError",
- "decodeURI",
- "decodeURIComponent",
- "encodeURI",
- "encodeURIComponent",
- "escape",
- "eval",
- "isFinite",
- "isNaN",
- "parseFloat",
- "parseInt",
- "undefined",
- "unescape",
- ];
- function Context() {}
- Context.prototype = {};
- var Script = (exports.Script = function NodeScript(code) {
- if (!(this instanceof Script)) return new Script(code);
- this.code = code;
- });
- Script.prototype.runInContext = function (context) {
- if (!(context instanceof Context)) {
- throw new TypeError("needs a 'context' argument.");
- }
- var iframe = document.createElement("iframe");
- if (!iframe.style) iframe.style = {};
- iframe.style.display = "none";
- document.body.appendChild(iframe);
- var win = iframe.contentWindow;
- var wEval = win.eval,
- wExecScript = win.execScript;
- if (!wEval && wExecScript) {
- // win.eval() magically appears when this is called in IE:
- wExecScript.call(win, "null");
- wEval = win.eval;
- }
- forEach(Object_keys(context), function (key) {
- win[key] = context[key];
- });
- forEach(globals, function (key) {
- if (context[key]) {
- win[key] = context[key];
- }
- });
- var winKeys = Object_keys(win);
- var res = wEval.call(win, this.code);
- forEach(Object_keys(win), function (key) {
- // Avoid copying circular objects like `top` and `window` by only
- // updating existing context properties or new properties in the `win`
- // that was only introduced after the eval.
- if (key in context || indexOf(winKeys, key) === -1) {
- context[key] = win[key];
- }
- });
- forEach(globals, function (key) {
- if (!(key in context)) {
- defineProp(context, key, win[key]);
- }
- });
- document.body.removeChild(iframe);
- return res;
- };
- Script.prototype.runInThisContext = function () {
- return eval(this.code); // maybe...
- };
- Script.prototype.runInNewContext = function (context) {
- var ctx = Script.createContext(context);
- var res = this.runInContext(ctx);
- forEach(Object_keys(ctx), function (key) {
- context[key] = ctx[key];
- });
- return res;
- };
- forEach(Object_keys(Script.prototype), function (name) {
- exports[name] = Script[name] = function (code) {
- var s = Script(code);
- return s[name].apply(s, [].slice.call(arguments, 1));
- };
- });
- exports.createScript = function (code) {
- return exports.Script(code);
- };
- exports.createContext = Script.createContext = function (context) {
- var copy = new Context();
- if (typeof context === "object") {
- forEach(Object_keys(context), function (key) {
- copy[key] = context[key];
- });
- }
- return copy;
- };
- },
- { indexof: 107 },
- ],
- },
- {},
- [1]
- );
|